5.1.2 Tool 정의의 핵심 구성 요소
앞에서 살펴본 것처럼 에이전트는 Tool에 포함된 메타데이터를 바탕으로 사용할 기능을 판단합니다. Tool이 에이전트에 제공하는 대표적인 정보는 다음과 같습니다.
표 5-1 Tool의 핵심 구성 요소
|
이름 |
구분 |
설명 |
|
name |
필수 |
Tool의 고유 식별자입니다. 에이전트는 이 이름으로 Tool을 호출합니다. 언더스코어(_)를 사용해 기능이 드러나는 이름을 짓는 것이 좋습니다. 예 summarize_news |
|
description |
필수 |
에이전트는 description 내용을 바탕으로 어떤 상황에서 Tool을 사용할지 판단합니다. |
|
func(실행 함수) |
필수 |
Tool을 호출할 때 실제로 실행되는 함수입니다. 일반 함수나 LCEL 체인 모두 사용할 수 있습니다. |
|
arg_schema |
권장 |
Tool이 어떤 입력값을 받는지 정의합니다. Pydantic 모델을 사용하면 문자열, 숫자 같은 입력 타입을 지정하고 필수 입력 여부도 함께 검사할 수 있습니다. |
이 중 가장 중요한 요소는 description입니다. 에이전트는 사용자의 요청과 Tool 설명을 비교해 사용할 기능을 판단합니다.