Tool당 필수 필드 셋
Tool 정의는 필수 필드 셋 — name(snake_case 식별자), description(도구가 뭘 하나, 언제 쓰나), input_schema(args에 대한 JSON Schema). 모델이 description 읽고 도구 픽; input_schema 읽고 args 모양 잡음. 둘 다 중요; 한 개로 부족.
Description은 라벨 아니라 프롬프트
Description을 모델이 도구 호출 시점 결정 돕는 작은 프롬프트 fragment로 다뤄. 'Get the weather'는 너무 얇음; 'Get current weather and 24h forecast for a city. Use this when the user asks about temperature, rain, or what to wear today.'가 신뢰할 selection 모양.
required, types, enum 가진 스키마
Full JSON Schema 기능 사용 — required 배열, 고정 셋엔 enum, 제약 가진 type. 스키마가 풍부할수록 모델이 valid input 더 신뢰성 있게 생성. Trade-off — 스키마 매 바이트가 input 토큰 비용, 그래서 over-spec 금지.
원칙: Tool name + description이 selection; schema가 constraint. 둘 다 craft 받을 가치.