Tool 의 parameters 는 JSON Schema 의 subset — type, properties, required, enum, description. Strict mode 에선 모델의 호출이 schema 와 정확히 매칭. Schema 가 authoritative shape.
두 shape, 한 작업
Responses 는 tool object 의 top level 에 name, parameters. Chat Completions 는 nested function sub-object. Schema body 는 동일 — 감싸는 wrapper 만 달라. 두 shape 섞으면 silent break.
모델이 보는 것
모델은 name, description, parameters JSON Schema (각 property 의 description, enum 포함) 를 봐. Handler 구현은 안 봐. 그러니까 schema 가 contract 의 전부 — schema 로 표현 못 하는 동작은 description 에 자연어로 명시.
Per-property description 도 모델이 읽음
parameters.properties.units.description: 'temperature unit, celsius or fahrenheit' 는 모델이 routing 결정에 사용. 'units: required' 같은 건 X — schema 가 이미 required.