Короткий ответ
Tool calling для инженера: типизированные контракты вместо «сделай что-нибудь» — это production-задача, а не демонстрационный prompt. Практический принцип: описывать инструмент как API-контракт с типами, единицами, допустимыми диапазонами и явными ошибками. Ключевое решение: надёжность агента в значительной мере определяется качеством tool schema и серверной валидацией, а не длиной системного prompt. В инженерной среде результат принимается по evidence, traceability и воспроизводимой проверке, а не по уверенности формулировки модели.
Граница системы и предмет контроля
Агентный контур отличается от обычного чата наличием цикла действий. Модель не только формирует текст, но выбирает инструмент, передаёт типизированные аргументы, получает результат, обновляет состояние и решает, требуется ли следующий шаг. Поэтому объект проектирования — не prompt как строка, а полный runtime: модель, tools, permissions, state, approvals, verifier и журнал выполнения.
Для инженерного применения критично отделять рассуждение и предложение действий от изменения реальных данных. Чтение справочника, расчёт в детерминированном модуле, создание рабочей копии CAD-файла и выпуск утверждённой ревизии имеют разный риск. Права должны назначаться по операциям, а не по факту того, что «агенту нужен доступ к системе». Это позволяет увеличивать полезную автономность без потери управляемости.
Что должно быть определено до запуска
Артефакты и архитектурные границы
Архитектуру агента удобно раскладывать на control plane и execution plane. В control plane находятся policy, identity, лимиты, approvals и выбор маршрута; в execution plane — конкретные tools, очереди, sandbox и внешние API. Такое разделение не даёт модели самостоятельно расширять собственные полномочия и позволяет независимо версионировать orchestration и исполнительные компоненты.
Контракт tool должен быть строже естественного языка: схема аргументов, единицы, enum, обязательность полей, idempotency key, ожидаемые ошибки и postcondition. Если инструмент меняет реальный объект, ответ «200 OK» недостаточен — нужен change receipt и повторное чтение состояния либо другой независимый verifier.
Практический workflow
После tool-call проверяется не текстовый комментарий модели, а фактический результат инструмента: код возврата, схема ответа, изменённый объект и ожидаемая postcondition. Несовпадение переводит задачу в controlled exception и блокирует следующий side effect.
Инженерный сценарий
Для agent workflow удобно иметь три режима: dry-run без side effects, execute-with-approval и bounded execution. Переход между ними определяется классом риска и зрелостью eval-набора.
Что измерять
schema validation pass rateФиксируйте numerator/denominator и сегментируйте по типу/сложности задач; общий процент может скрыть critical slice.invalid-call rateФиксируйте numerator/denominator и сегментируйте по типу/сложности задач; общий процент может скрыть critical slice.retry successФиксируйте numerator/denominator и сегментируйте по типу/сложности задач; общий процент может скрыть critical slice.unit-conversion defectsПоказывайте абсолютное число и нормированную частоту; critical события не усредняйте с обычными.side-effect duplicationОпределение метрики, единица, denominator и окно наблюдения фиксируются в metric dictionary.Для агента итоговая точность без анализа траектории недостаточна. Одновременно контролируют success, выбор tools, число шагов, вмешательства человека, policy violations, latency и стоимость успешной задачи.
Критерии приёмки
| Контроль | Минимальный критерий |
|---|---|
| Scope | Для «Tool calling для инженера: типизированные контракты вместо «сделай что-нибудь»» однозначно определено, что система делает и что остаётся вне её полномочий. |
| Data | Все входы имеют источник, revision/status и область применимости; неизвестные значения не подставляются автоматически. |
| Control | server-side validation; reject unknown fields; нормализация единиц. |
| Evidence | Сохраняются tool schema, validation layer, error taxonomy, dry-run response; по ним можно восстановить ход операции. |
| Quality | Минимум две профильные метрики контролируются на versioned eval-наборе: schema validation pass rate и invalid-call rate. |
| Release | Изменяющие действия имеют approval/rollback там, где цена ошибки выходит за согласованный риск. |
Failure modes и защитные меры
- строковые свободные параметры вместо enum. Защитная мера: server-side validation; событие сохраняется как regression/incident case.
- молчаливое округление. Защитная мера: reject unknown fields; событие сохраняется как regression/incident case.
- неоднозначные единицы. Защитная мера: нормализация единиц; событие сохраняется как regression/incident case.
- успех HTTP при частичной ошибке. Защитная мера: детерминированные error codes; событие сохраняется как regression/incident case.
- повторный side effect при retry. Защитная мера: проверка revision перед записью; событие сохраняется как regression/incident case.
Как переводить из пилота в production
Пилотный агент получает один класс задач и минимальный набор tools. Сначала снимаются traces в read-only/dry-run, затем добавляются approvals для side effects. Model upgrade и изменение tool schema проходят один и тот же regression suite; несовместимый schema change блокирует rollout.
Перед выдачей write-доступа отдельно тестируют timeouts, retry, duplicate delivery, partial failure и отмену задачи. Canary-версия получает ограниченную долю трафика и budget; превышение intervention/rollback threshold автоматически возвращает стабильную версию.
Traceability и эксплуатационная запись
Минимальный trace: task ID, actor identity, model/runtime, prompt/template, список доступных tools, каждый tool-call с аргументами и результатом, policy decision, approval, state transition, verifier и final status.
Чек-лист перед production
Навигация по Wave AI R5 · часть 1 из 5
Часть «Агенты» содержит 7 связанных материалов. Серия идёт от архитектуры к контролю и измерению; каждая статья самостоятельна и ссылается на соседние элементы общего production-контура.
Связать AI-контур с проверяемыми данными Fits Calc
Fits Calc целесообразно использовать как детерминированный расчётный и справочный слой: агент получает структурированные входы и результаты через контролируемые tools, а не воспроизводит инженерный расчёт свободным текстом. Это упрощает verifier, traceability и повторную проверку.
Открыть Fits Calc →Источники и официальная документация
- OpenAI — Agents SDK
- OpenAI Agents SDK — core primitives
- OpenAI — Using tools
- OpenAI Agents SDK — Guardrails
- OpenAI Agents SDK — Tracing
- OpenAI — MCP servers and approvals
- NIST — AI Risk Management Framework