멀티 에이전트 시스템 활용한 AI 아키텍처가 주목받고 있습니다. Anthropic은 Opus 4를 리드 에이전트로, Sonnet 4를 서브 에이전트로 활용해 단일 시스템보다 90.2% 더 높은 성능을 기록했습니다.

Anthropic의 멀티 에이전트 시스템 구축 방법에 대한 핵심 내용은 무엇인가?
멀티 에이전트 시스템은 병렬화에 적합한 AI 아키텍처입니다. Anthropic은 이를 기반으로 Opus 4를 리드 오케스트레이터로, Sonnet 4를 하위 에이전트로 활용해 높은 성능을 달성했습니다. Anthropic은 연구와 같이 병렬화에 적합한 작업에 대해 Opus 4 모델을 리드 오케스트레이터로, Sonnet 4 모델을 하위 에이전트로 활용하는 멀티 에이전트 시스템을 구축했으며, 이는 단일 에이전트 시스템보다 90.2% 더 나은 성능을 보였다는 것입니다.

💡 멀티 에이전트 시스템 구축 시 고려해야 할 주요 사항은 무엇인가?
- 모든 작업에 멀티 에이전트 시스템이 필요한 것은 아니며, 특히 에이전트 간 실시간 컨텍스트 공유나 많은 종속성이 필요한 코딩 작업에는 적합하지 않다.
- 에이전트의 성능은 사용된 토큰 수, 도구 호출 수, 모델 선택에 따라 달라지며, 특히 토큰 수가 가장 중요하다.
- 효과적인 프롬프트 엔지니어링을 위해 에이전트의 작동 방식을 이해하고, 오케스트레이터에게 작업 위임 방법, 도구 사용 방법 등을 명확하게 지시해야 한다.
- 에이전트 평가 시 개발 초기부터 시작하고, LLM을 평가 도구로 활용하며, 인간 평가를 통해 LLM이 놓치는 부분을 보완해야 한다.
- 프로덕션 환경에서는 오류 발생 시 재시작 대신 중단된 부분부터 재개할 수 있는 시스템을 구축하고, 안정적인 추적 및 모니터링 시스템을 갖추는 것이 필수적이다.
anthropic에서 발표한 멀티 에이전트 시스템 구축 방법에 대한 논문을 요약한 영상입니다. 이 영상은 멀티 에이전트 시스템의 이점, 아키텍처 개요, 효과적인 에이전트 평가 방법, 그리고 프롬프트 엔지니어링 팁을 제공합니다. 특히, claude opus 4를 리드 에이전트로, claude sonnet 4를 서브 에이전트로 구성했을 때 단일 에이전트보다 90.2% 더 나은 성능을 보였다는 점이 강조됩니다. 이 영상은 멀티 에이전트 시스템을 구축하고 개선하는 데 필요한 실질적인 지침을 제공하여, AI 연구 및 개발에 종사하는 사람들에게 큰 도움이 될 것입니다. 이처럼 멀티 에이전트 시스템은 다양한 도구 호출과 역할 분담을 통해 작업의 효율을 극대화할 수 있습니다.

1. 멀티 에이전트 시스템의 필요성과 이점
- 멀티 에이전트 시스템은 특정 작업에 있어서 병렬화와 효율적임이 강조된다 .
- Claude Opus 4를 리드 에이전트, Claude Sonnet 4를 서브 에이전트로 구성했을 때 90.2% 성능 향상이 있었다 .
- 연구와 같은 병렬 처리가 가능한 작업에 멀티 에이전트 시스템이 유리하다 .
- 코딩 작업은 단일 에이전트가 더 효율적임; 이 작업에서는 실시간 문맥 공유가 중요하기 때문이다 .
- 작업 결과의 질은 사용된 토큰 수, 사용 가능한 도구 수, 그리고 모델 선택에 가장 크게 영향을 받는다 .

2. Anthropic의 멀티 에이전트 시스템 아키텍처 분석
- Anthropic의 멀티 에이전트 시스템은 클라이언트와 리드 에이전트 오케스트레이터로 구성된다 .
- 리드 에이전트는 도구와 메모리에 접근하여 여러 서브 에이전트를 생성하고 그들에게 목표나 프롬프트를 제공한다 .
- 시스템은 사용자의 질의를 시작으로 반복적 프로세스를 진행하며 계획을 메모리에 저장하여 컨텍스트 부족을 방지한다 .
- 리드 에이전트는 연구 작업을 완료하기 위해 필요한 단계를 정의하고, 서브 에이전트들이 연구 주제에 대한 반응을 찾도록 초기화한다 .
- 인용 서브 에이전트가 각 서브 에이전트의 결과가 실제 출처와 연구로 뒷받침되는지를 확인하는 추가 단계가 포함되어 있다 .

3. 효과적인 멀티 에이전트 시스템 구축을 위한 프롬프트 전략
- 에이전트의 명확한 관찰 플랫폼을 구축하여 개발 초기 단계에서 에이전트의 행동을 파악하는 것의 중요성이 강조된다.
- 오케스트레이터에게 서브 에이전트에게 명확한 목표, 출력 형식, 도구 사용 범위, 명확한 작업 한계를 제공하여 작업을 적절히 분배할 수 있도록 프롬프트를 추가하는 것이 필요하다.
- 간단한 작업에는 하나의 에이전트와 소수의 도구 목표를 사용하고, 복잡한 연구에는 10 개 이상의 서브 에이전트를 사용하는 프롬프트 전략을 통해 에이전트 활용의 효율성이 극대화된다.
- 도구를 사용할 때 사용자 의도를 반영하고, 특화된 도구를 선호하되 명확한 도구 설명을 작성하는 것이 중요하다.
- 에이전트가 자기 개선을 통해 도구 설명을 재작성하게 하여 향후 작업 완료 시간이 40% 증가하는 등의 성과를 얻었다.
3.1. 개선된 멀티 에이전트 시스템 프롬프트 전략
- 멀티 에이전트 시스템을 위한 프롬프트 개선을 위해 두 가지 주요 추천 사항을 제시한다.
- 첫 번째 추천 사항은 에이전트처럼 사고하기로, 개발 과정 초기부터 관찰 플랫폼을 설치하여 에이전트의 행동과 프롬프트 효과성을 이해하는 것이 중요하다.
- 두 번째 추천 사항은 작업 관리자에게 위임 방법을 가르치는 것으로, 각 서브 에이전트에게 명확한 목적, 출력 형식, 사용할 도구 및 자원을 안내하며 명확한 작업 경계를 설정해야 한다.
- 시작 단계에서 어려운 작업을 판단하거나 필요한 에이전트 수를 결정하기 어려운 경우가 있는데, 이를 개선하기 위해 간단한 사실 탐구는 한 에이전트만 사용하고 복잡한 연구에는 10개 이상의 에이전트를 사용하라는 규칙을 추가한다.
- 이러한 지침들은 조직자가 적절한 에이전트를 생성하고 관리할 수 있도록 프롬프트에 추가되어야 한다.
3.2. 에이전트의 도구 선택 및 자기 개선 방안
- 에이전트를 프롬프트할 때, 먼저 사용 가능한 도구를 검토하고 사용자 의도에 맞춰 도구 사용을 조정하도록 지시해야 한다.
- 도구의 설명은 매우 명확하게 작성해야 하며, 에이전트가 사용 가능한 모든 도구 중 최적의 도구를 선택하도록 구체적으로 지시해야 한다.
- 도구를 만들 때 Python 함수 코드 자체가 아니라 그 함수의 설명 문자열을 에이전트가 본다는 점을 고려해야 한다.
- 도구 설명은 명확한 목표 지향적 문구로 작성되어야 하며, 사용자 작업의 특정 요소를 직접 명시하는 것이 중요하다.
- 에이전트 자기 개선의 일환으로, 잘못된 도구 설명을 수정하여 도구의 사용성을 향상시키는 방식이 40%의 작업 완료 시간 절감 효과를 가져왔다.
3.3. 에이전트의 사고 능력과 질문 개선 전략
- 에이전트에 적용할 프롬프트 전략으로 “넓게 시작하여 좁혀가기” 방법을 사용한다.
- 에이전트는 종종 지나치게 긴 구체적인 질문을 통해 적은 결과만 반환하는데, 이를 해결하기 위해 짧고 넓은 질문으로 시작해 점진적으로 초점을 좁히도록 한다.
- 에이전트의 이해 능력을 향상시키기 위해 ‘사고(Thinking)‘ 구성 요소를 추가한다.
- Claude Opus 4의 확장 사고 모드를 활용해 도구 적합성, 질문 복잡도, 서브에이전트 수, 각 서브에이전트 역할을 평가하며 계획을 수립한다.
- 사고 프로세스를 통해 에이전트의 instruction 준수, 추론, 효율성이 향상된다.
3.4. ReAct 프롬프트 패턴과 병렬 도구 호출의 중요성
- ReAct 프롬프트 패턴은 대규모 언어 모델에게 작업을 이해시키고 지시를 따르게 하는 기술로, reasoning, action, observation의 세 단계를 포함한다.
- ReAct 패턴을 사용할 때 시스템은 쿼리를 받은 후 그것에 대해 생각하고, 사용 가능한 도구를 식별하고 적절한 작업을 수행한다.
- 병렬 도구 호출은 다중 에이전트 시스템의 속도와 성능을 변형시킬 수 있다.
- 에이전트 시스템을 설계할 때 경직된 규칙보다는 좋은 휴리스틱을 구현하여 에이전트가 유연하고 적응할 수 있도록 해야 한다.
- 다중 에이전트 시스템은 도구의 결과에 따라 적절한 반응을 하도록 설계되어야 한다.
프로덕션 환경에서도 멀티 에이전트 시스템은 유연한 에러 복구와 추적 기능을 통해 안정적인 성능을 유지합니다.
4. 에이전트 시스템의 평가 및 개선 방법
- 에이전트 시스템의 평가는 어렵지만 유연한 평가 도구를 사용하여 올바른 결과를 얻었는지를 판단할 필요가 있다 .
- 개발 초기에 많은 변화를 주면 성공률을 크게 개선할 수 있으므로 초기 평가를 시작하는 것이 중요하다 .
- LLM을 심판으로 활용하는 접근 방식은 고정된 평가 시험 사례에서 매우 효과적이며, 인간의 판단과 일치하는 결과를 제공한다 .
- 인간 평가를 통해 에이전트가 SEO 최적화된 콘텐츠 팜을 선호하는 문제를 해결할 수 있으며, 이는 인간이 작은 실수를 식별할 수 있어서 가능하다 .
- 에이전트 시스템의 프로덕션 과정에서는 오류 발생 시 시스템을 재시작하지 않고, 에이전트가 오류가 발생한 지점에서 다시 시작할 수 있도록 지원하는 시스템을 구축해야 한다 .
4.1. AI 에이전트 평가의 어려움과 해결책
- 에이전트는 블랙박스로 정의되기 때문에 평가가 어려운 작업이다.
- 시스템 내 여러 블랙박스들이 서로 상호작용을 하거나 반복구조를 가질 때 평가가 매우 어렵다.
- 에이전트가 사전에 정해진 절차를 따르는지 여부를 확인하는 것이 힘들다.
- 따라서, 올바른 결과를 도출하고 합리적인 프로세스를 따르는지 평가할 수 있는 유연한 평가 도구가 필요하다.
- 에이전트 평가의 유효성을 확보하기 위한 몇 가지 조언이 제공된다.
4.2. 초기 평가의 중요성과 LLM 심판 패러다임
- 에이전트 개발 초기에 평가를 시작하는 것이 중요하다 이는 초기 단계에서 간단한 프롬프트 조정으로 성공률을 30%에서 80%로 크게 향상시킬 수 있다는 것을 의미한다.
- 초기 에이전트 개발에서는 실제 사용 패턴을 반영한 약 20개의 쿼리 세트를 테스트하여 작은 변화가 미치는 영향을 평가했다 이는 에코시스템 내에서 흔히 있는 대규모 평가 필요성에 대한 일반적인 의견과 대조된다.
- 초기에 수백 가지의 테스트 케이스가 아니라 간단한 프롬프트 목록을 사용하여 시스템 개선이 가능하다.
- LLM 심판 패러다임은 언어 모델이 다른 언어 모델의 응답을 평가하고 피드백을 제공하여 최종 사용자에게 적절한 응답을 전달하는 절차로 구성되어 있다.
- 언어 모델이 부적절한 응답을 보내면 피드백을 제공하여 수정할 수 있도록 하는데, 적절한 반응이 나올 때까지 언어 모델의 응답 능력을 강화할 수 있다.
4.3. ️ LLM을 이용한 평가와 인간의 검증
- 여러 접근 방법을 테스트했으며, 각각의 구성 요소를 평가하기 위해 다수의 판정을 시도했지만, 단일 LLM 호출이 가장 일관되었다는 사실이 밝혀졌다.
- 이 방법은 평가 테스트 케이스에 명확한 정답이 있을 때 특히 탁월했으며, LLM을 판정자로 사용하여 정답 여부를 간단히 확인할 수 있었다.
- 답변 평가 기준은 사실 정확성, 인용 정확성, 완전성 등 다양한 측면을 포함하며, 각 항목에서 합격 점수를 받으면 최종 사용자 또는 조정자에게 전달된다.
- 그러나 인간 평가가 중요하게 여겨지며, LLM은 언어 모델들이 놓치는 엣지 케이스를 발견하는 데 한계가 있으므로, 인간 평가가 이를 보완할 수 있다.
- 인간 테스터가 초기 에이전트가 저작권 있는 PDF보다 SEO 최적화된 콘텐츠 팜을 자주 선택하는 문제를 발견하여 이를 해결하기 위한 프롬프트 수정이 필요했다.
4.4. 에이전트의 프로덕션 도입과 모니터링 시스템 구축
- 효과적인 프롬프트는 엄격한 지시보다는 협업 방식과 문제 해결 접근 방식을 정의하는 것이 중요하다.
- 오픈 소스 프롬프트의 예시를 제공하여 실질적인 활용 방식을 알 수 있도록 설명서 링크를 제공한다.
- 에이전트 구축에는 예측할 수 없는 오류 처리 방안이 필요하며, 시스템 재시작이 아닌 오류 발생 시점에서 복구하는 방식을 채택해야 한다.
- 추적 및 모니터링 시스템을 구축함으로써 오류 발생 시 에이전트의 상태를 확인하고 체계적으로 문제를 해결할 수 있다.
- 관찰 가능성 플랫폼을 통해 에이전트의 결정을 모니터링하는 것이 중요하며, 이는 에이전트 시스템 구축에 필수적이다.
4.5. AI 에이전트 시스템 배포 전략 및 프로덕션 도전과제
- 에이전트 시스템은 소프트 프롬프트, 도구, 실행 논리가 거의 지속적으로 작동하는 상태의 웹이다.
- Rainbow 배포를 활용하여, 실행 중인 에이전트를 방해하지 않으면서 오래된 버전에서 새 버전으로 트래픽을 점진적으로 전환하여 배포를 진행한다.
- 동기적 실행은 병목 현상을 초래할 수 있으며, 병렬성을 극대화하여 이러한 문제를 해결하고자 한다.
- AI 에이전트 구축에서 프로토타입과 실제 프로덕션 간의 격차는 예상보다 넓어질 수 있으며, 이는 소프트웨어 및 에이전트 시스템의 복합적인 오류로 인해 발생할 수 있다.
- 에이전트가 프로덕션 환경에서 더욱 흔하게 사용되고 있으며, 사용자가 만든 시스템에 대한 피드백과 의견을 요청하고 있다.
