본문으로 건너뛰기

AutoGen: 금융 AI를 위한 멀티 에이전트 대화 프레임워크

· 약 5분
Mike Thrift
Mike Thrift
Marketing Manager

Gorilla가 단일 LLM이 수천 개의 API를 정확하게 호출하는 법을 배울 수 있음을 보여준 후, 자연스럽게 따라오는 질문은 이것입니다. 여러 개의 LLM에게 각각 고유한 역할을 부여하고 서로 대화하게 하면 어떤 일이 벌어질까요? AutoGen(Wu et al., 2023)은 멀티 에이전트 대화를 위한 프레임워크를 구축함으로써 그 답을 제시합니다. 지금 이 논문을 읽는 것은 매우 시의적절해 보입니다. 현재 설계되고 있는 대부분의 상용 금융 AI 시스템은 기본적으로 최소 3개의 에이전트를 포함하고 있기 때문입니다.

논문 소개

2026-05-04-autogen-multi-agent-conversation-framework

AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation (Wu, Bansal, Zhang et al., Microsoft Research, 2023)은 "대화 가능한 에이전트(conversable agents)" — 각 에이전트는 LLM, 도구, 인간의 입력이 조합되어 작동함 — 가 작업이 완료될 때까지 서로 메시지를 보내는 프레임워크를 제안합니다. 이 프레임워크는 두 가지 내장 에이전트 유형인 AssistantAgent(LLM에 의해 구동됨)와 UserProxyAgent(코드를 실행하고 인간의 입력을 전달할 수 있음), 그리고 대규모 앙상블에서 차례를 제어하는 GroupChatManager를 도입합니다.

핵심 아이디어는 저자들이 "대화 프로그래밍(conversation programming)"이라고 부르는 것입니다. 코드에 오케스트레이션 로직을 직접 작성하는 대신, 자연어 시스템 프롬프트를 통해 각 에이전트가 수행해야 할 작업을 지정하고 메시지 전달을 통해 제어 흐름을 처리하게 합니다. 이 논문은 수학 문제 해결, 검색 증강 QA, ALFWorld 의사 결정, 그리고 OptiGuide라고 불리는 운영 연구(operations-research) 응용 프로그램을 통해 이를 입증합니다.

주요 아이디어

  • MATH 벤치마크 정확도 향상: 2개 에이전트 AutoGen 설정(LLM 어시스턴트 + 코드 실행 프록시)은 MATH 테스트 세트에서 69.48%에 도달했으며, 이는 GPT-4 단독 사용 시의 55.18%와 비교해 코드 실행 피드백 추가만으로 14포인트 상승한 결과입니다.
  • 일급 객체로서의 인간 참여(Human-in-the-loop): UserProxyAgent에는 설정 가능한 human_input_mode(ALWAYS, NEVER, TERMINATE)가 있어, 에이전트의 로직을 변경하지 않고도 감독 수준을 조절할 수 있습니다.
  • 동적 그룹 채팅: GroupChatManager는 고정된 라운드 로빈 방식이 아닌 대화 상태를 기반으로 다음 화자를 선택하므로, 결과에 따라 워크플로우를 유연하게 분기할 수 있습니다.
  • OptiGuide 안전성 향상: 공급망 최적화 워크플로우에 SafeGuard 에이전트를 추가한 결과, 안전하지 않은 코드 탐지 F1 점수가 GPT-4에서는 8포인트, GPT-3.5에서는 35포인트 향상되었으며, 사용자 코드 베이스는 430라인에서 100라인으로 줄어들었습니다.
  • 대화형 검색: QA 작업에서 어시스턴트 에이전트는 UPDATE CONTEXT 신호를 보내 추가 컨텍스트를 요청할 수 있었습니다. 이는 Natural Questions의 질문 중 약 19.4%에서 발생했으며, 전체 F1 점수는 23.40%를 기록했습니다.
  • 설계에 의한 구성 가능성(Composability): 모든 AutoGen 에이전트는 그 자체로 다른 에이전트가 호출할 수 있는 유효한 "도구"가 되므로, 특별한 연결 코드 없이도 계층적 파이프라인을 구성할 수 있습니다.

성과와 한계

MATH 및 ALFWorld 결과는 신뢰할 만합니다. 실제 벤치마크를 통해 명시된 베이스라인과 통제되고 재현 가능한 비교를 수행했습니다. 69.48%라는 수치는 구조화된 대화 루프 내에서 코드 실행 피드백의 이점을 분리해 보여주기 때문에 의미가 큽니다.

아쉬운 점은 비용 및 지연 시간 분석이 부족하거나 아예 없다는 점입니다. GroupChat의 모든 차례는 누적된 대화 기록과 함께 전체 LLM 호출을 유발합니다. 10개 라운드가 진행되는 4개 에이전트 워크플로우는 컨텍스트 윈도우가 계속 커지는 상황에서 최소 40번의 LLM 호출을 의미합니다. 논문은 어떤 애플리케이션에 대해서도 토큰 비용이나 지연 시간을 보고하지 않았습니다. 수천 개의 트랜잭션을 처리하는 실시간 회계 파이프라인에서 이러한 누락은 이론적인 문제를 넘어, 이 방식의 실행 가능성 여부를 결정짓는 중요한 요소입니다.

대화 프로그래밍 비유 또한 데모에서 보이는 것보다 취약합니다. GroupChatManager는 LLM에게 에이전트 목록 중 하나를 선택하도록 프롬프트를 보내 다음 화자를 선택합니다. 이 선택 자체도 확률적인 텍스트 생성 단계이므로, 예외를 발생시키지 않으면서도 미묘하게 제어 흐름이 잘못될 수 있습니다. 작업 순서가 중요하고 도구 호출 하나가 잘못되어 장부 기입(journal entry)을 손상시킬 수 있는 원장 쓰기 에이전트의 경우, 비결정론적인 화자 선택은 실질적인 위험 요소입니다.

마지막으로, 평가 작업이 모두 단일 세션이며 짧은 호흡으로 구성되어 있습니다. 에이전트가 며칠에 걸쳐 상태를 축적하거나, 모순된 지침을 처리하거나, 오래된 에이전트 메모리와 최신 원장 기록 간의 충돌을 해결해야 하는 실험은 없습니다. 이는 실제 회계 워크플로우에서 정확히 발생하는 시나리오들입니다.

금융 AI에 중요한 이유

멀티 에이전트 시스템에 대한 금융 AI의 사용 사례는 명확합니다. 대조(reconciliation), 전기(posting), 보고(reporting)는 본질적으로 분리된 관심사입니다. Beancount 파이프라인은 원장을 읽기 전용으로 쿼리하는 LedgerReaderAgent, 트랜잭션을 은행 명세서와 비교하는 ReconcilerAgent, 새로운 기입 항목을 제안하는 WriterAgent, 그리고 쓰기가 실행되기 전 계정 체계(chart-of-accounts) 규칙에 따라 이를 검토하는 ReviewerAgent를 가질 수 있습니다. AutoGen의 UserProxyAgent 패턴은 WriterAgent를 위한 적절한 추상화입니다. 이는 실제 원장 쓰기를 실행하고 그 결과를 ReviewerAgent가 검사할 수 있는 메시지로 반환할 수 있습니다.

OptiGuide SafeGuard 결과는 가장 직접적으로 활용 가능한 발견입니다. 안전하지 않은 작업을 잡아내기 위해 전용 검증 에이전트를 추가함으로써 탐지 성능이 실질적으로 향상되었으며, 검증은 사후 감사가 아닌 대화 루프 내부에서 이루어졌습니다. 그 아키텍처는 Beancount 쓰기 작업의 안전성을 위해 매우 이상적입니다. 즉, 사후에 알림을 주는 것이 아니라 커밋을 사전에 차단하는 검증기 역할을 할 수 있습니다.

비결정론적 화자 선택 문제는 해결 가능합니다. 메시지 내용에 따라 라우팅하는 결정론적인 Python 함수로 GroupChatManager를 오버라이드할 수 있습니다. 하지만 사용자가 이를 인지하고 직접 구현해야 하며, 논문에서는 이를 주요 관심사로 다루지 않았습니다.

더 읽어볼 거리

  • AgentBench: Evaluating LLMs as Agents (Liu et al., arXiv:2308.03688, ICLR 2024) — 웹 브라우징, 코딩, 데이터베이스 조작을 포함한 8가지 에이전트 환경에서 LLM을 벤치마킹합니다. 상용 모델과 오픈 소스 모델 간의 격차가 주요 발견 사항이며, 이는 금융 에이전트 파이프라인에 어떤 베이스 모델을 사용할지 직접적인 정보를 제공합니다.
  • TradingAgents: Multi-Agents LLM Financial Trading Framework (arXiv:2412.20138) — 전문 분석가, 연구원, 트레이더 및 리스크 관리 에이전트를 통해 금융 시장에 AutoGen 패턴을 직접 적용했습니다. 샤프 지수(Sharpe ratio)와 최대 낙폭(max drawdown) 결과는 멀티 에이전트 금융 시스템에 대한 최초의 실질적인 성능 수치를 제공합니다.
  • AGENTLESS: Demystifying LLM-based Software Engineering Agents (Xia et al., arXiv:2407.01514) — 복잡한 멀티 에이전트 프레임워크보다 단순한 에이전트리스(agentless) 2단계 접근 방식(현지화 후 복구)이 SWE-bench에서 더 나은 성능을 보인다고 주장합니다. 에이전트가 많을수록 항상 도움이 될 것이라는 가정에 대한 유용한 반론을 제시합니다.