효과적인 에이전트 구축 방법 - Anthropic
Anthropic은 지난 1년간 여러 산업 분야에서 대형 언어 모델(LLM) 에이전트를 구축한 수많은 팀들과 협력해 왔습니다.
가장 성공적인 구현은 복잡한 프레임워크나 특수 라이브러리를 사용하지 않고, 단순하고 조합 가능한 패턴을 사용했습니다.
에이전트란 여러 방식으로 정의될 수 있으며, 모두 에이전틱 시스템으로 분류되지만 워크플로우와 에이전트를 구분합니다.
워크플로우는 LLM과 도구들이 사전 정의된 코드 경로를 통해 오케스트레이션되는 시스템입니다.
에이전트는 LLM이 자신의 프로세스와 도구 사용을 동적으로 지시하며 작업을 수행합니다.
에이전틱 시스템을 사용해야 할 때와 사용하지 말아야 할 때를 구별하고, 간단한 솔루션을 우선 시 해야 합니다.
여러 프레임워크가 에이전틱 시스템을 쉽게 구현할 수 있도록 도와주지만, 과도한 복잡성을 초래할 수 있습니다.
간단한 API 호출부터 시작해 하위 코드를 이해하는 것이 중요합니다.
에이전틱 시스템의 공통 패턴으로, 증강된 LLM, 프롬프트 체이닝, 라우팅, 병렬 처리, 오케스트레이터-워커, 평가자-최적화자 워크플로우 등을 다룹니다.
증강된 LLM
프롬프트 체이닝
라우팅
병렬 처리
오케스트레이터-워커
평가자-최적화자 워크플로우
에이전트는 LLM이 이해, 추론, 계획, 도구 사용, 오류 복구 등의 주요 기능에서 성숙할 때 프로덕션에 등장합니다.
에이전트는 명령이나 사용자와의 상호작용으로 작업을 시작해 독립적으로 계획하고 실행하며, 필요시 인간의 피드백을 얻습니다.
성공적인 에이전트 구축 원칙으로는 설계를 단순하게 유지, 투명성을 유지, 적절한 도구 문서를 통해 에이전트-컴퓨터 인터페이스(ACI)를 세심하게 개발하는 것이 있습니다.
프레임워크가 초기에 유용할 수 있지만, 생산 단계에서는 기본 구성 요소를 사용해 단순화할 것을 권장합니다.
실제 사례로, 고객 지원과 코딩 에이전트를 통해 에이전트가 실질적인 가치를 제공할 수 있음을 보여줍니다.
도구 정의와 명세는 전체 프롬프트와 같은 주의로 다루어야 하며, 도구의 사용 방법을 명확히 설명해야 합니다.