langchain

2 개의 포스트

line원문

문의 대응을 효율화하기 위한 RAG 기반 봇 도입하기 (새 탭에서 열림)

LY 주식회사의 SR(Service Reliability) 팀은 반복되는 AWX 플랫폼 관련 문의를 효율적으로 처리하기 위해 RAG(검색 증강 생성) 기반의 지원 봇을 도입했습니다. 이 시스템은 사용자가 방대한 가이드 문서를 읽지 않고 중복된 질문을 던질 때 발생하는 운영 리소스 소모 문제를 해결하기 위해 고안되었습니다. 사내 위키와 과거 상담 이력을 활용해 정확도 높은 답변을 생성함으로써 관리자의 개입 없이도 사용자 문제를 신속하게 해결하는 성과를 거두었습니다. **AWX 지원 봇의 기술 스택 및 구성** - **LLM 및 프레임워크:** OpenAI의 GPT 모델을 메인 엔진으로 사용하며, LangChain 프레임워크를 통해 전체적인 워크플로를 관리합니다. Slack과의 연동은 Bolt for Python을 활용했습니다. - **임베딩 모델:** 다국어 지원 및 문장 비교 성능이 뛰어난 'paraphrase-multilingual-mpnet-base-v2' 모델(SBERT)을 선택하여 글로벌 임직원의 다양한 언어 문의에 대응합니다. - **벡터 데이터베이스:** 사내에서 PaaS 형태로 제공되어 접근성이 높은 OpenSearch를 사용하며, 텍스트 데이터를 고차원 벡터로 변환하여 저장하고 검색합니다. **RAG 및 벡터 검색을 통한 답변 정확도 향상** - **LLM의 한계 극복:** 학습되지 않은 최신 정보 부재나 허위 정보 생성(Hallucination) 문제를 해결하기 위해, 질문과 관련된 신뢰할 수 있는 컨텍스트를 LLM에 함께 전달하는 RAG 기법을 적용했습니다. - **벡터 검색 원리:** 사용자의 질문을 임베딩하여 벡터화한 뒤, 벡터 DB 내에서 의미적으로 유사한 문장들을 k-NN(최근접 이웃) 방식으로 검색하여 최적의 참고 자료를 추출합니다. - **유사도 기반 추출:** 단순 키워드 매칭이 아닌 의미적 유사성을 판단하므로, 'Buy'와 'Purchase'처럼 단어는 달라도 맥락이 같은 정보를 정확히 찾아낼 수 있습니다. **봇 워크플로 및 데이터 활용 전략** - **사용자 상호작용:** 사용자가 Slack으로 문의하면 봇이 사내 위키와 과거 Slack 스레드 데이터를 검색합니다. 추출된 데이터를 바탕으로 LLM이 1차 답변을 제공하며, 해결되지 않을 경우에만 '관리자 호출' 버튼을 통해 담당자를 연결합니다. - **데이터 소스 다각화:** 공식 가이드 문서뿐만 아니라 실제 사용자들이 겪었던 문제와 해결책이 담긴 'Slack 문의 스레드 데이터'를 함께 인덱싱하여 실무적인 답변이 가능하도록 구성했습니다. - **리소스 최적화:** 봇의 자동 응답을 통해 단순 반복 문의에 대한 관리자의 수동 대응 시간을 줄이고, 개발 조직이 서비스 운영 본연의 업무에 더 집중할 수 있는 환경을 조성했습니다. RAG 기반 시스템을 구축할 때 가장 중요한 것은 신뢰할 수 있는 데이터 소스의 확보입니다. LY의 사례처럼 공식 문서와 실제 상담 이력을 병행 활용하면 LLM이 훨씬 구체적이고 실무에 유효한 답변을 생성할 수 있습니다. 운영 중인 서비스의 문의 대응 리소스가 부담된다면, 익숙한 벡터 DB와 오픈소스 임베딩 모델을 조합한 RAG 봇 도입을 적극 추천합니다.

figma3분 읽기큐레이션 요약

Jambot으로 아이디어

Jambot은 ChatGPT의 생성 능력을 FigJam의 멀티플레이어 캔버스에 결합한 위젯이다. Figma 팀은 선형적인 채팅 인터페이스만으로는 아이디어를 분기하고 연결하거나 여러 사람이 함께 발전시키기 어렵다고 보고, 시각적이고 공간적인 AI 상호작용 방식을 만들었다. 이를 통해 FigJam에서 아이디어를 발산하고, 요약하며, 대화를 확장할 수 있도록 했다. ## 선형 채팅 인터페이스의 한계 - ChatGPT는 아이디어를 주고받으며 즉흥적으로 발전시키는 데 강점이 있다. - 그러나 대화가 한 줄로 이어지는 구조라 여러 선택지를 동시에 비교하거나 주제를 분기하기 어렵다. - 이전에 제시된 다른 선택지로 돌아가려면 대화 기록을 위로 스크롤하고 질문을 반복해야 한다. - 서로 다른 아이디어 간의 관계를 시각적으로 파악하거나, 여러 방향을 병렬로 실험하기에도 적합하지 않다. ## 네트워크형 사고와 시각적 AI - Jambot의 초기 아이디어는 Figma의 AI 해커톤에서 “시각적 버전의 ChatGPT”라는 형태로 제안됐다. - Roam Research와 Logseq 같은 네트워크형 사고 도구에서 영감을 얻었다. - 페이지를 서로 연결할 수 있다. - 아이디어를 조직하고 추적할 수 있다. - 하나의 주제에서 관련 주제로 자연스럽게 이동할 수 있다. - Albus처럼 AI와의 상호작용을 시각적으로 구성하는 도구도 디자인 방향에 영향을 주었다. - 핵심은 채팅 기록을 순서대로 읽는 대신, 아이디어를 캔버스 위에 배치하고 연결하며 확장하는 것이다. ## FigJam과 ChatGPT의 결합 - Jambot은 FigJam 파일 안에서 ChatGPT의 생성 기능을 사용할 수 있게 한다. - 사용자는 다음과 같은 작업을 수행할 수 있다. - 새로운 아이디어 발상 - 아이디어나 회의 내용 요약 - 기존 생각을 다른 방향으로 확장 - AI와 함께 가볍게 브레인스토밍하고 실험 - FigJam의 협업 캔버스 위에서 작동하므로, AI와의 상호작용 결과를 팀원들과 함께 보고 수정할 수 있다. - 개인용 챗봇을 넘어 여러 사람이 함께 사용하는 “멀티플레이어 ChatGPT”를 지향한다. ## 코딩 도구가 아닌 시각적 구성 도구 - Sam Dixon은 LangChain처럼 의미론적·객체지향적인 방식으로 AI를 다루는 도구에서 영감을 받았다. - LangChain은 강력하지만 활용하려면 프로그래밍 지식이 필요하다. - Jambot은 이러한 개념을 코드 대신 시각적이고 직관적인 방식으로 제공하려는 시도다. - 사용자가 AI 시스템의 내부 구조를 직접 프로그래밍하지 않아도, 캔버스에서 결과를 보고 조작하며 아이디어를 발전시킬 수 있도록 한다. ## AI 인터페이스를 다시 설계하기 - Aosheng Ran은 현재의 AI 서비스가 지나치게 채팅창에 의존한다고 지적한다. - ChatGPT는 감정이나 정체성을 가진 것처럼 대화하지만, 실제로는 맥락과 역할을 충분히 드러내지 못하는 경우가 있다. - 과거의 GUI는 커서, 창, 화면 같은 요소를 통해 컴퓨터를 더 쉽게 사용할 수 있게 만들었다. - 반면 현재의 LLM 인터페이스는 초기 운영체제나 명령줄 환경처럼, 대부분 텍스트 입력과 출력에 머물러 있다. - Jambot은 AI와 상호작용하는 새로운 GUI 요소를 탐색하며, AI를 더 공간적이고 협업적인 환경으로 옮기려는 사례다. ## 실용적인 의미 Jambot의 핵심 가치는 AI가 답을 제공하는 데서 끝나지 않고, 팀이 아이디어를 함께 배치하고 비교하며 발전시키도록 돕는 데 있다. 복잡한 브레인스토밍이나 회의에서는 선형 채팅보다 캔버스 기반 AI가 더 적합할 수 있으므로, 여러 방향의 아이디어를 동시에 탐색해야 하는 작업에 유용한 접근이다.

원문 읽기(새 탭에서 열림)