01_Agent design foundations

에이전트 설계의 기본 요소는 에이전트의 가장 근본적인 형태를 구성하는 세 가지 핵심 구성 요소를 다룹니다.
에이전트 설계의 기본 요소 (Agent design foundations)
에이전트는 세 가지 핵심 구성 요소, 즉 모델 (Model), 도구 (Tools), 그리고 **지침 (Instructions)**으로 구성됩니다.
구성 요소 | 설명 |
---|---|
모델 (Model) | 에이전트의 추론 및 의사 결정을 지원하는 LLM (Large Language Model). |
도구 (Tools) | 에이전트가 조치를 취하는 데 사용할 수 있는 외부 함수 또는 API. |
지침 (Instructions) | 에이전트가 행동하는 방식을 정의하는 명시적인 가이드라인 및 가드레일. |
1. 모델 (Selecting your models)
모델은 에이전트의 추론 및 의사 결정을 지원하는 LLM입니다. 다양한 모델은 작업 복잡성, 지연 시간, 비용과 관련된 다양한 강점과 장단점을 가지고 있습니다.
- 모델 선택 원칙:
- 모든 작업에 가장 똑똑한 모델이 필요한 것은 아닙니다. 간단한 검색이나 의도 분류와 같은 작업은 더 작고 빠른 모델로 처리될 수 있습니다.
- 환불 승인과 같은 더 어려운 작업은 더 유능한 모델의 이점을 얻을 수 있습니다.
- 성능 최적화 접근법:
- 가장 유능한 모델로 에이전트 프로토타입을 구축하여 **성능 기준선 (performance baseline)**을 설정합니다.
- 이 기준선을 충족하는 데 중점을 둡니다.
- 이후 더 작은 모델로 교체하여 허용 가능한 결과를 달성하는지 확인하고, 가능하다면 비용과 지연 시간을 최적화합니다.
2. 도구 정의 (Defining tools)
도구는 기본 애플리케이션이나 시스템의 API를 사용하여 에이전트의 역량을 확장합니다. API가 없는 레거시 시스템의 경우, 에이전트는 컴퓨터 사용 모델(computer-use models)에 의존하여 인간과 마찬가지로 웹 및 애플리케이션 UI를 통해 시스템과 직접 상호 작용할 수 있습니다.
- 도구 정의의 중요성: 각 도구는 표준화된 정의를 가져야 하며, 잘 문서화되고 철저히 테스트되었으며 재사용 가능한 도구는 발견 용이성을 개선하고 버전 관리를 단순화하며 중복 정의를 방지합니다.
- 도구의 세 가지 유형: 에이전트에게 필요한 도구는 크게 세 가지로 분류됩니다.
유형 | 설명 | 예시 |
---|---|---|
데이터 도구 (Data Tools) | 워크플로우 실행에 필요한 컨텍스트와 정보를 검색할 수 있도록 합니다. | 거래 데이터베이스 또는 CRM과 같은 시스템 쿼리, PDF 문서 읽기, 웹 검색. |
액션 도구 (Action Tools) | 데이터베이스에 새 정보 추가, 기록 업데이트, 메시지 전송 등 시스템과 상호 작용하여 조치를 취할 수 있도록 합니다. | 이메일 및 문자 보내기, CRM 기록 업데이트, 고객 서비스 티켓을 사람에게 인계. |
오케스트레이션 도구 (Orchestration Tools) | 에이전트 자체가 다른 에이전트의 도구 역할을 할 수 있도록 합니다. (오케스트레이션 섹션의 Manager Pattern 참고) | 환불 에이전트, 연구 에이전트, 작성 에이전트. |
필요한 도구의 수가 증가함에 따라 작업을 여러 에이전트로 분할하는 것을 고려할 수 있습니다.
3. 지침 구성 (Configuring instructions)
고품질 지침은 모든 LLM 기반 애플리케이션, 특히 에이전트에게 필수적입니다. 명확한 지침은 모호함을 줄이고 에이전트의 의사 결정을 개선하여 워크플로우 실행을 원활하게 하고 오류를 줄입니다.
- 에이전트 지침을 위한 모범 사례:
- 기존 문서 활용: 기존 운영 절차, 지원 스크립트 또는 정책 문서를 사용하여 LLM 친화적인 루틴을 만듭니다.
- 작업 분해 지시: 밀도가 높은 자료를 더 작고 명확한 단계로 나누도록 에이전트에게 지시하면 모호성이 최소화되고 모델이 지침을 더 잘 따르도록 돕습니다.
- 명확한 조치 정의: 루틴의 모든 단계가 특정 조치나 출력(예: 사용자에게 주문 번호를 요청하거나 API를 호출하여 계정 세부 정보를 검색)에 해당하도록 명시합니다. 이는 해석 오류의 여지를 줄입니다.
- 예외 상황 포착 (Edge Cases): 사용자가 불완전한 정보를 제공하거나 예상치 못한 질문을 할 때와 같은 일반적인 변수를 예상하고, 필요한 정보가 누락된 경우 대체 단계와 같은 조건부 단계로 처리하도록 지침에 포함합니다.
고급 모델을 사용하여 기존 문서에서 지침을 자동으로 생성하는 것도 가능합니다.