15

눈은 있는데 손이 없다

Day 2: Tool 정의 & Function Calling

학습 목표

Tool이 Agent에게 왜 핵심인지 체감한다 나쁜 Tool 설계가 초래하는 문제를 이해한다

눈은 있는데 손이 없다

"Agent 만들었는데 맨날 틀려요."

김 대리가 만든 설비 관리 Agent. 데모에서는 잘 됐다. 실제 현장에 배포했더니 난리가 났다.

에디터 로딩 중...

Agent한테 MES를 조회하는 Tool을 안 줬다. 그래서 "추측"만 할 수 있었다.


그다음 시도

김 대리가 Tool을 추가했다. 하지만...

에디터 로딩 중...

Tool을 만들었지만, 에러가 그대로 사용자에게 노출됐다. Tool 설계가 엉망이었다.


세 번째 시도

에러 처리를 추가했다. 그런데...

에디터 로딩 중...

Tool 이름이 일관성이 없었다. get_equipment_info, get_equip, get_data... LLM이 혼동해서 엉뚱한 Tool을 호출했다.


오늘 배울 것

김 대리의 실패에서 배운다.

  1. JSON Schema: Tool의 청사진을 제대로 그리기
  2. Function Calling: OpenAI에게 Tool을 알려주는 방법
  3. 제조 Tool 설계: 현장에서 통하는 Tool 만들기
  4. 에러 방어: 절대 에러를 사용자에게 보여주지 않기
  5. 테스트: 현장 배포 전 검증 방법

Tool을 제대로 만드는 것이 Agent의 50%다. 나머지 50%는 내일 배울 추론 로직이다.