더북(TheBook)

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 설명을 비교해 사용할 기능을 판단합니다.