본문으로 건너뛰기
News고급

멀티 에이전트는 거의 항상 틀린 답이다 — 단일 에이전트+컨텍스트 엔지니어링 반론

'전문 에이전트를 여러 개 두고 매니저가 위임한다'는 멀티 에이전트 환상에 대한 강한 반론이 업계 엔지니어링 블로그를 중심으로 굳어졌다. 핵심 비판은 두 가지다. 첫째, 서브에이전트끼리 컨텍스트를 공유하지 못하면 같은 사실을 서로 다르게 가정해 결과가 충돌하고(컨텍스트 단절), 둘째 한 에이전트의 출력을 다른 에이전트의 입력으로 넘기는 핸드오프 지점마다 정보가 압축·소실되어 오류가 누적된다. 결정은 분산되는데 결정에 필요한 맥락은 분산되지 않으므로, 병렬 작성자(writer) 여러 명이 서로 모순되는 보고서를 만드는 전형적 실패가 나온다. 대안으로 제시되는 건 '단일 스레드 에이전트 + 컨텍스트 엔지니어링'이다. 작업을 쪼개되 결정권은 한 곳에 모으고, 긴 컨텍스트를 압축·요약해 단일 에이전트가 전체 맥락을 유지하게 한다. 멀티 에이전트가 정당화되는 경우는 읽기 전용 병렬 조사처럼 결과를 합치기만 하면 되는, 쓰기 충돌이 없는 작업으로 좁혀진다.

한국 스타트업이 '에이전트 오케스트라'를 마케팅 문구로 앞세우지만, 실제로는 토큰 비용 N배에 디버깅 불가능한 분산 실패만 떠안는 경우가 많다. 이 반론의 실무 지침은 명확하다. 멀티 에이전트로 가기 전에 '이 작업에 진짜 쓰기 충돌이 없는 병렬성이 있는가'를 먼저 물어라. 대부분의 비즈니스 워크플로(고객 응대, 문서 생성, 코드 수정)는 결정이 한 곳에 모여야 일관성이 유지되며, 멀티 에이전트는 비용·지연·복잡도만 늘린다. 오케스트레이션 설계의 기본값은 단일 에이전트로 두고, 병렬화는 예외로 정당화하는 편이 안전하다.

NewsOrchestration중급·

오케스트레이션이 '코드'에서 '프로토콜'로 — MCP·A2A가 핸드오프를 표준화한다

지금까지 에이전트 오케스트레이션은 각 프레임워크(LangGraph, CrewAI, Agno 등)가 자기 방식으로 도구 호출과 에이전트 간 위임을 코드로 묶는 식이었다. 이 구도가 두 표준으로 분리되며 일하는 방식 자체가 바뀌고 있다. MCP(Model Context Protocol)는 에이전트와 도구·데이터 소스 사이의 연결을 표준화해, 어떤 프레임워크로 짠 에이전트든 동일한 MCP 서버를 붙여 쓸 수 있게 한다. A2A(Agent-to-Agent) 계열 프로토콜은 한 발 더 나아가 서로 다른 벤더·런타임의 에이전트가 능력(capability)을 광고하고 작업을 위임·수신하는 핸드오프 규약을 노린다. 결과적으로 오케스트레이션 로직이 특정 프레임워크 코드에 박히는 대신, 프로토콜 경계로 빠진다. CrewAI의 역할 기반 팀, Agno의 경량 멀티 에이전트 같은 상위 추상화는 유지되더라도, 그 아래 도구 연결층은 MCP로 수렴하는 흐름이다. 즉 '무엇을 오케스트레이션하느냐'는 프레임워크가 정하고, '어떻게 붙이느냐'는 프로토콜이 정한다.

프레임워크를 LangGraph로 갈지 CrewAI로 갈지 고민하던 한국 팀에게 의사결정 축이 바뀐다. 도구·데이터 연동을 MCP 서버로 한 번 만들어두면 프레임워크 교체 비용이 크게 떨어지므로, '프레임워크 선택'보다 'MCP 경계를 어디에 그을 것인가'가 더 중요한 아키텍처 결정이 된다. 또 사내 에이전트가 외부 벤더 에이전트와 협업해야 하는 시나리오(예: 결제·검색·물류 에이전트 연동)에서 A2A류 표준이 정착하면 직접 어댑터를 짜던 통합 작업이 사라진다. 지금 단계에서는 핵심 도구를 MCP로 노출시켜 프레임워크 종속을 줄이는 것이 가장 실리적인 베팅이다.

Anthropic MCP / 에이전트 상호운용 프로토콜 생태계원문
NewsOrchestration중급·

LangGraph가 노드 단위 '결정적 제어'를 전면에 내세운 이유

오케스트레이션 프레임워크 경쟁이 'LLM이 알아서 다음 단계를 고르게 하느냐(에이전트 자율)' 대 '개발자가 그래프로 흐름을 못 박느냐(결정적 제어)'의 축으로 재편됐다. LangGraph는 상태(state)를 명시적 스키마로 두고, 노드(작업 단위)와 엣지(전이)를 코드로 선언한 뒤, 분기만 LLM에게 맡기는 'conditional edge' 모델을 핵심으로 민다. 즉 라우팅 판단은 LLM이 하되, 어떤 노드가 실행 가능한지의 위상은 개발자가 고정한다. 여기에 체크포인터(checkpointer)로 그래프 상태를 영속화해 중단·재개(human-in-the-loop, time-travel)를 1급 기능으로 끌어올렸다. 핵심 주장은 단순하다. 프로덕션 에이전트의 버그 대부분은 모델이 아니라 '제어 흐름이 불투명해서 재현·디버깅이 안 되는 것'이며, 그래프로 만들면 어느 노드에서 어떤 상태로 멈췄는지 로그가 결정적으로 남는다. 자율 ReAct 루프 한 덩어리로 돌릴 때와 달리, 각 전이가 검사 가능한 경계가 된다.

한국 개발팀이 'AutoGPT식 자율 에이전트'를 프로덕션에 올렸다가 무한 루프·비결정적 실패로 데뷔거하는 일이 반복된다. LangGraph의 그래프+체크포인터 모델은 '에이전트를 워크플로 엔진처럼 다뤄라'는 실무 합의를 코드로 강제한다. 상태 스키마를 먼저 설계하고 LLM 판단은 분기점에만 국소화하면, 장애 시 체크포인트에서 재현·재개가 되어 운영 부담이 급감한다. 자율성은 멋있지만 SLA·감사 로그가 필요한 실제 서비스에서는 결정적 골격 위에 LLM을 얹는 설계가 정답에 가깝다.

LangChain (LangGraph 공식 문서)원문

이 브리핑에 대한 Q&A

이 브리핑에 질문하기

이 브리핑에서 궁금한 점이 있다면 먼저 질문을 남겨보세요.

댓글

첫 댓글을 남겨보세요.

중요한 AI 소식만, 메일로 받아보세요

매일 쏟아지는 소식 중 꼭 봐야 할 것만 골라 실무 가이드와 함께 보냅니다.

핵심 뉴스 5 · 추천 가이드 3 · 인기 Q&A

구독 시 개인정보 수집·이용에 동의하게 됩니다. 자세한 내용은 개인정보처리방침에서 확인할 수 있으며, 언제든 수신 해지할 수 있습니다.