두 방식의 차이는 표와 같습니다.
표 5-2 @tool과 StructuredTool.from_function() 비교
|
구분 |
@tool |
StructuredTool.from_function() |
|
함수 수정 필요 여부 |
데코레이터 직접 추가 |
함수 수정 불필요 |
|
name/description 위치 |
함수명/docstring 자동 추출 |
외부에서 직접 지정 |
|
주로 사용하는 상황 |
새로 작성하는 함수 |
기존 함수, 외부 함수 |
새로 작성하는 단순 Tool이라면 @tool이 더 간단합니다. 반면 기존 함수를 수정하지 않고 Tool로 연결해야 한다면 StructuredTool.from_function()이 적합합니다.