CCA Prep

Урок 4.3Урок 21 з 30

Структурований вивід через tool use

Enforce structured output using tool use and JSON schemas

Структурований вивід через tool useЯкий tool_choice?текстова відповідьдопустимаautoможе не викликатиінструменткілька схем · тип невідомийanyмусить викликати один ізнихмає виконатися конкретнийкрок{type: tool, name}напр. спершуextract_metadataВалідно за схемою ≠ правильно: суми й поля все одно перевіряйте в коді

Головне

  1. 1Найнадійніше отримати вивід, що відповідає схемі, через інструмент із JSON-схемою в input_schema. Дані приходять уже розпарсеними в полі input блоку tool_use, тож синтаксичних помилок JSON просто не буває. Не просіть JSON у промпті й не розбирайте текст регулярними виразами.
  2. 2tool_choice: auto може повернути текст замість виклику. any змушує викликати хоч якийсь інструмент — це варіант для кількох схем витягування, коли тип документа невідомий. {type: tool, name} примусово викликає конкретний інструмент, наприклад extract_metadata перед збагаченням.
  3. 3Строга схема рятує від синтаксичних помилок, але не від смислових: якщо позиції не сходяться з підсумком чи значення потрапило не в те поле, відповідь усе одно пройде. Це перевіряють у коді.
  4. 4Робіть поле обов'язковим, лише якщо воно є в кожному джерелі. Поля, яких у джерелі може не бути, робіть nullable, інакше модель вигадуватиме значення, аби задовольнити схему. У розширюваний enum додайте «other» і рядок з уточненням, а для неоднозначних випадків — «unclear».
  5. 5Схема перевіряє типи, а не формати. Правила нормалізації (дати в ISO 8601, одиниці виміру, коди валют, формат шляхів) пропишіть у промпті поруч зі строгою схемою.
Що перевіряє іспит із цієї теми

Формулювання з програми іспиту (англійською).

  • 4.3.K1tool_use with JSON schema is the most reliable route to schema-compliant output, no syntax errors
  • 4.3.K2tool_choice auto (may return text) vs any (must call some tool) vs forced (specific tool)
  • 4.3.K3Strict schemas stop syntax errors, not semantic errors (sums, wrong fields)
  • 4.3.K4Schema design: required vs optional, enum with "other" + detail
  • 4.3.S1Define extraction tools with JSON schema inputs and read data from tool_use
  • 4.3.S2tool_choice any when several extraction schemas exist and type is unknown
  • 4.3.S3Force extract_metadata to run before enrichment
  • 4.3.S4Make fields nullable when sources may lack them to stop fabrication
  • 4.3.S5Add "unclear" and "other" + detail enum values
  • 4.3.S6Add format normalisation rules to prompts alongside strict schemas

Закріпіть тему

Дайте відповідь на запитання за сценаріями з цієї теми. До кожного варіанта є розбір.

Тренування 4.3 · 26 запитань