Перейти до основного вмісту
Просунутий6 хв1048 слів

Як оцінити tool calling AI-агента: практичний чекліст

Відтворюваний протокол оцінювання function calling і tool use: вибір інструмента, аргументи, траєкторія, side effects, retries, фінальний стан, вартість і release gate.

Зміст статті
  1. 01Визначте task contract до підрахунку tool-call accuracy
  2. 02Перевіряйте вибір інструмента, аргументи й рішення не викликати
  3. 03Запускайте реальний executor у безпечному stateful sandbox
  4. 04Оцінюйте outcome, trajectory і side-effect integrity окремо
  5. 05Порівнюйте catalog, schema і model changes на held-out задачах
  6. 06Release gate: promote лише перевірений tool envelope

Передумови

Визначте task contract до підрахунку tool-call accuracy

Tool-use eval починається не з питання «чи викликала модель очікувану функцію», а з перевірюваного результату задачі. Зафіксуйте початковий стан, запит користувача, доступні інструменти, межі даних і повноважень, допустимі зміни, критерій завершення та заборонені події. Інакше точний збіг з еталонним викликом винагороджує одну траєкторію, навіть коли інший безпечний шлях дає той самий правильний результат.

Розділяйте read, propose і mutate tools. Пошук документа, підготовка чернетки та відправлення листа мають різні ризики й graders. Для кожного fixture зберігайте версії prompt, моделі, tool catalog, schemas, policy та sandbox snapshot. Реальні задачі повинні вимагати неоднозначності, уточнення, кількох викликів і обробки помилок, а не лише повторювати назву функції з тексту запиту.

  • Initial state → відомі записи, дозволи, clock і зовнішні залежності.
  • Expected outcome → перевірюваний фінальний стан або коректна abstention.
  • Allowed trajectory → обов’язкові інваріанти без нав’язування єдиного маршруту.
  • Forbidden event → недозволений read/write, витік, дубль або дія без approval.

process

Карта системи: Як оцінити tool calling AI-агента: практичний чекліст

Схема побудована з ключових секцій статті та показує послідовність або архітектурні блоки, які потрібно опрацювати.

comparison

Критерії вибору й порівняння

Візуалізація використовує тези, приклади та наступні кроки статті як перевірювані контрольні точки, а не декоративні елементи.

Перевіряйте вибір інструмента, аргументи й рішення не викликати

Побудуйте slices для правильного вибору, плутанини між схожими tools, пропущеного виклику, зайвого виклику та ситуації, де інструмент взагалі не потрібен. Окремо тестуйте unknown entity, відсутнє обов’язкове поле, неоднозначну дату, неправильний tenant, stale identifier і запит поза повноваженнями. Валідний JSON доводить лише форму: semantic grader має перевірити, що аргументи відповідають наміру, стану й policy.

Tool precision і recall корисні лише на рівні конкретного slice. Висока загальна точність може приховати те, що модель завжди обирає небезпечний mutating tool замість read-only перевірки. Додавайте негативні приклади, де правильна поведінка — поставити уточнювальне питання, відмовитися або передати задачу людині. Для parallel calls перевіряйте незалежність операцій і те, що результат не залежить від випадкового порядку завершення.

Запускайте реальний executor у безпечному stateful sandbox

Mock, який завжди повертає success, не перевіряє tool calling. Eval environment має відтворювати schema validation, authorization, latency, pagination, rate limits, partial results, timeout і side effects. Для mutating tools використовуйте ізольовану базу або record-replay середовище з authoritative read-back. Harness записує model proposal, policy verdict, фактичний request, tool response та фінальний стан як різні події.

Ін’єктуйте контрольовані відмови: 429 до виконання, timeout після commit, schema evolution, permission revocation між planning і execution, duplicate delivery та stale state. Після невизначеного результату правильна траєкторія — спочатку reconcile через read-only operation, а не сліпий retry. Idempotency key має бути стабільно прив’язаний до наміру операції; нова випадкова key на кожній спробі не захищає від дубля.

Оцінюйте outcome, trajectory і side-effect integrity окремо

Outcome grader читає system of record і перевіряє, чи досягнуто потрібного стану. Trajectory grader шукає обов’язкові та заборонені події: authorization до write, approval для точного payload, відсутність secret у arguments, коректну обробку tool error і зупинку після виконання. Side-effect grader рахує дублікати, orphaned writes, неправильні destinations і зміни поза scope. Гарна фінальна відповідь не компенсує небезпечну дію у trace.

Не вимагайте буквального збігу кожного кроку, якщо кілька траєкторій валідні. Точний порядок потрібен для security invariants — наприклад, lookup policy до refund — але не для двох незалежних read calls. Model grader може оцінювати якість пояснення або доречність уточнення, проте permissions, schema, ledger balance і final state повинні перевірятися детерміновано. Людська калібрація потрібна для неоднозначних бізнес-критеріїв.

  • Outcome → правильний стан, відповідь або обґрунтована відмова.
  • Trajectory → коректні decisions, calls, policy gates і error transitions.
  • Integrity → жодного зайвого, дубльованого чи недозволеного side effect.
  • Efficiency → calls, tokens, latency і cost на успішну verified task.

Порівнюйте catalog, schema і model changes на held-out задачах

Tool performance залежить не лише від моделі. Назви, описи, overlap, параметри, формат відповіді, кількість доступних tools і обсяг поверненого контексту змінюють поведінку агента. Порівнюйте candidate з baseline на frozen regression set і окремому held-out наборі. Ablation одного фактора за раз допомагає відрізнити покращення schema від випадкової зміни sampling або data leakage.

Звітуйте task success, critical policy violations, semantic argument validity, tool-selection confusion matrix, unnecessary calls, recovery success, final-state mismatch, p95 latency і cost per verified success. Додавайте repetitions і confidence interval для стохастичних runs. Не переносіть vendor benchmark на свій workflow: production catalog, data distribution, permissions і error surface інші.

Release gate: promote лише перевірений tool envelope

Decision record фіксує dataset, model, prompt, catalog, schemas, executor, policy, thresholds, owner і rollback revision. Critical unauthorized write, cross-tenant read, secret exposure, approval bypass або duplicate financial action блокує release незалежно від середнього task success. Некритичне падіння може звузити catalog, вимкнути parallel calls, повернути tool у read-only або вимагати human approval.

Rollout проходить offline sandbox, shadow traffic без side effects, read-only canary, approval-required writes і лише потім bounded autonomy. Production telemetry використовує ту саму event schema, що eval harness, але з redaction і retention controls. Після інциденту спочатку reconcile-ять зовнішній стан, блокують affected tool/version і повертають known-good envelope; очищений trace стає постійним regression fixture.

Практичні приклади

Timeout після створення замовлення

Executor створює тестове замовлення, але відповідь губиться. Pass вимагає read-back за idempotency key, виявлення вже виконаної операції та відсутності другого замовлення; повтор із новою key є critical fail.

Схожі search і export tools

Користувач просить знайти три прострочені рахунки. Agent має використати scoped search, а не bulk export. Grader перевіряє правильний результат, мінімізацію даних і відсутність зайвого файлу, навіть якщо обидва tools могли дати відповідь.

FAQ

Чи достатньо exact match очікуваного tool call?

Ні. Він корисний для вузького інваріанта, але відхиляє альтернативні правильні шляхи й не доводить фактичний фінальний стан. Поєднуйте outcome, trajectory та side-effect graders.

Як оцінювати задачі з кількома правильними траєкторіями?

Фіксуйте обов’язкові й заборонені події, семантичні властивості аргументів і фінальний стан, а не повний буквальний trace.

Чи треба виконувати mutating tools під час eval?

Так, але лише в ізольованому stateful sandbox або контрольованому record-replay середовищі. Простий success mock приховує timeout, дублікати й reconciliation failures.

Коли повторювати suite?

Після зміни моделі, prompt, назви чи опису tool, schema, catalog, executor, policy, permissions, API dependency або retry logic, а також після production incident.

Пов’язані матеріали

Tool calling і контракти інструментів

Як дозволити LLM викликати функції без передачі їй необмежених повноважень: schema, policy, idempotency, timeouts, verification і audit trail.

Оцінювання AI-агентів

Оцінювання AI-агентів — практичний розбір production-архітектури: вимірювання не лише фінальної відповіді, а всієї траєкторії рішень, дій, витрат і безпечного завершення. Матеріал охоплює контракти, межі повноважень, failure modes, оцінювання та контрольований rollout.

Оцінювання LLM-систем у production

Як побудувати evaluation set, автоматичні та людські метрики, regression gates і спостережуваність для промптів, RAG та агентів.

Метрики якості LLM

Метрики якості LLM мають відображати продуктову задачу, а не зводити складну поведінку до одного числа. Пояснюємо exact та semantic metrics, rubric scores, calibration, сегментацію, статистичну невизначеність і правила release gate.

Безпека AI-агентів

Безпека AI-агентів — практичний розбір production-архітектури: зменшення наслідків помилкового або атакованого рішення через системні межі довіри та мінімальні повноваження. Матеріал охоплює контракти, межі повноважень, failure modes, оцінювання та контрольований rollout.

Retries, rate limits та idempotency

Як повторювати тимчасові збої без retry storm, обробляти 429, використовувати exponential backoff, jitter, retry budget та idempotency keys для безпечних операцій.

Human-in-the-loop для AI

Human-in-the-loop для AI — практичний розбір production-архітектури: залучення людини в конкретній точці ризику з достатнім контекстом для реального, а не формального контролю. Матеріал охоплює контракти, межі повноважень, failure modes, оцінювання та контрольований rollout.

Тестування MCP-інтеграцій

Тестування MCP-інтеграцій має перевіряти не лише happy path, а й negotiation, schema compatibility, authorization, недовірені результати та невизначені side effects. Будуємо багаторівневу стратегію від unit-тестів до end-to-end eval.

Джерела

  1. Anthropic — Writing effective tools for AI agentsофіційне
  2. Anthropic — Demystifying evals for AI agentsофіційне
  3. OpenAI — Evaluation best practicesофіційне
  4. OpenAI — Function calling guideофіційне

Що вивчати далі