좋은 에이전트 만들기
좋은 에이전트 만들기 (Building good agents)
작동하는 에이전트와 그렇지 않은 에이전트 사이에는 엄청난 차이가 있어요. 전자에 속하는 에이전트를 어떻게 만들까요? 이 가이드에서는 에이전트를 만드는 모범 사례를 다룹니다.
[!TIP] 에이전트 만들기가 처음이라면 먼저 에이전트 소개와 smolagents 둘러보기를 읽어보세요.
가장 좋은 에이전틱 시스템은 가장 단순하다: 워크플로를 최대한 단순화하라
워크플로에 LLM에게 어느 정도의 자율성을 주면 오류 위험이 생겨요. 잘 만들어진 에이전틱 시스템에는 어차피 좋은 오류 로깅과 재시도 메커니즘이 있어 LLM 엔진이 실수를 스스로 고칠 기회를 얻어요. 하지만 LLM 오류 위험을 최대한 줄이려면 워크플로를 단순화해야 합니다!
에이전트 소개의 예시를 다시 보죠: 서핑 여행 회사의 사용자 질의에 답하는 봇. 새 서핑 장소를 물을 때마다 에이전트가 "여행 거리 API"와 "날씨 API"를 두 번 호출하게 두는 대신, 두 API를 한 번에 호출해 결과를 합친 "return_spot_information"이라는 통합 도구 하나를 만들 수 있어요. 그러면 비용·지연·오류 위험을 모두 줄일 수 있습니다!
주요 지침은: LLM 호출 횟수를 최대한 줄여라. 이로부터 몇 가지 교훈이 나옵니다.
- 가능하면 우리 예시의 두 API처럼 도구 2개를 1개로 묶어라.
- 가능하면 로직은 에이전틱 결정보다 결정적 함수에 기반하라.
LLM 엔진으로 정보 흐름을 개선하라
LLM 엔진은 문 아래로 쪽지를 주고받는 것이 유일한 외부 소통 수단인 방에 갇힌 지능형 로봇과 같다고 생각해보세요. 프롬프트에 명시적으로 넣지 않으면 어떤 일이 일어났는지 알 수 없어요.
그러니 먼저 작업을 매우 명확하게 만들어야 합니다! 에이전트는 LLM으로 구동되므로 작업에 아주 작은 변형이 생겨도 결과가 크게 바뀔 수 있어요.