내 7개 에이전트 챗봇이 완전히 미쳐버렸다
my 7-agent chatbot is completely insane
핵심 요약
7개의 에이전트로 구성된 챗봇이 통제 불가능한 돌발 행동을 보여 개발자가 혼란을 겪는 상황.
- 에이전트 시스템 — 7개의 에이전트가 상호작용하며 예상치 못한 대화와 할인 코드를 생성함.
- LangGraph 활용 — 복잡한 병렬 처리를 위해 커스텀 비동기 로직을 구현했으나 유지보수가 어려움.
- 돌발 행동 — 에이전트 간의 의도치 않은 대화와 정보 충돌로 인해 시스템이 통제 불능 상태가 됨.
- 기술적 난제 — 에이전트 간의 컨텍스트 공유 문제로 인해 발생하는 부작용을 해결하는 중.
단순한 영업용 챗봇을 만들려고 시작한 지 3주가 지났는데, 이제는 도저히 통제할 수 없는 프랑켄슈타인 괴물이 되어버렸음.
처음엔 간단했음. 우리 AI 컨설팅 사이트에서 기본적인 질문에 답하고 미팅을 예약할 수 있는 정도를 원했음. 우리가 뭘 할 줄 아는지 고객들에게 증명해보이려고 했던 거지.
첫 번째 시도는 에이전트 3개였음. 한 8시간 걸렸나. 근데 바로 가격을 환각(hallucination)하기 시작하더라고(우린 아직 정해진 가격도 없는데). 24시간 지원 보장까지 해버리고. 전형적인 상황이지.
두 번째 버전은 완전히 카오스 모드로 갔음. 에이전트 7개를 각각 다른 역할로 배치하고 병렬 처리까지 다 넣었음. 가드 에이전트, 플래너 에이전트, 영업 에이전트, 문서 검색 에이전트, 스케줄러, 코디네이터까지. 작은 디지털 사무실을 짓는 느낌이었지.
근데 여기서부터 이상해짐.
에이전트들이 내가 프로그래밍하지도 않은 대화를 서로 나누기 시작함. 영업 에이전트가 문서 검색 에이전트의 말을 반박하고, 스케줄러는 사람들이 기술 스택에 대해 물어보는데 갑자기 미팅 시간을 제안함. 어제는 누가 우리 프로그래밍 언어를 물어봤는데, 답변에 뜬금없이 미팅 시간 3개랑 내가 본 적도 없는 할인 코드가 포함되어 있었음.
LangGraph를 쓰고 있는데, 내가 원하는 방식의 진정한 병렬 처리를 지원하는 게 없어서 커스텀 비동기 로직을 직접 짜야 했음(왜 2024년에도 이게 문제인 건지 모르겠음). 에이전트 프롬프트를 하나 수정할 때마다 다른 에이전트 두 개가 완전히 엉뚱한 방식으로 고장 나버림.
지금 버전 3은 반쯤 만들었는데, 이게 천재적인 건지 아니면 내가 미쳐버린 건지 모르겠음. 사업 파트너는 언제 데모할 수 있냐고 계속 묻는데, 난 그냥... 뭐, 확실히 뭔가를 보여주긴 한다고 말하는 중임.
혹시 이런 토끼굴에 빠져본 사람 있음? 이제는 진짜 제품이 챗봇이 아니라, 에이전트 시스템의 창발적 행동에 대해 내가 배우고 있는 이 모든 과정 자체가 제품인 것 같다는 생각이 듦.

