tool parameters 는 JSON Schema 의 일부인 type, properties, required, enum, description 으로 정의해. strict mode 에서는 모델의 호출이 schema 에 정확히 맞아야 하므로 schema 가 arguments 구조의 기준이 돼.
API 마다 wrapper 가 달라
Responses 는 tool 객체의 최상위에 name 과 parameters 를 두고, Chat Completions 는 중첩된 function 객체 안에 둬. schema 본문은 같지만 wrapper 를 섞으면 호출이 깨질 수 있어.
모델은 handler 구현을 보지 못해
모델이 보는 건 name, description, 각 property 설명과 enum 을 포함한 parameters schema 야. 실제 handler 코드는 볼 수 없으므로 schema 로 표현하지 못한 사용 조건은 description 에 분명히 적어.
property 설명에는 값의 뜻을 적어
parameters.properties.units.description: 'temperature unit, celsius or fahrenheit' 처럼 값의 의미와 허용 범위를 알려줘. 'required'처럼 schema 자체가 이미 표현하는 정보만 되풀이하면 routing 에 도움이 되지 않아.