Домен охоплює правильне проєктування інструментів і підключення MCP-серверів. Хороший опис інструмента — це основний механізм, за яким LLM обирає правильний інструмент.

Ключові теми

  • Детальні описи інструментів (формати входу, edge cases, межі)
  • MCP: project-scoped (.mcp.json) vs user-scoped (~/.claude.json)
  • Built-in tools: Read, Write, Edit, Bash, Grep, Glob
  • Структуровані помилки (errorCategory, isRetryable)
  • tool_choice: auto / any / specific
  • MCP resources для оглядовості даних
  • Принцип найменших привілеїв для інструментів субагентів
  • Community vs кастомні MCP-сервери

Типові anti-patterns

  • Занадто загальні описи інструментів
  • Однаковий рядок помилки для всіх типів збоїв
  • Надання агенту 15+ інструментів одночасно
  • Порожній "success" при фактичному збої

Приклади питань — Домен 2

20 питань у банку для цього домену · показано 8

Домен 2Сценарій 11 / 8

Логи показують, що агент часто кличе get_customer на запити про замовлення (напр. «перевір моє замовлення #12345») замість lookup_order. Обидва інструменти мають мінімальні описи («Retrieves customer information» / «Retrieves order details») і приймають схожі формати ідентифікаторів. Який найефективніший перший крок?

AРозширити опис кожного інструмента: формати входу, приклади запитів, edge cases і межі застосування відносно схожих інструментів
BДодати 5–8 few-shot прикладів у system prompt, що скеровують order-запити на lookup_order
CРеалізувати routing-шар, що парсить ввід і наперед обирає інструмент за ключовими словами
DОб'єднати обидва інструменти в один lookup_entity, що сам визначає бекенд
✓ Правильна відповідь: AОписи інструментів — основний механізм вибору для LLM. За мінімальних описів моделі бракує контексту, щоб розрізнити схожі інструменти. B додає токени, не усуваючи причину; C — over-engineering, що обходить розуміння моделі; D — валідна, але важча архітектурна зміна, ніж потрібно для «першого кроку».
Домен 2Сценарій 12 / 8

Усі MCP-інструменти повертають при збої однаковий рядок «Operation failed». Через це агент однаково реагує і на таймаут, і на порушення політики, і на невалідний ввід. Як це виправити?

AПовертати структуровані метадані помилки: errorCategory (transient/validation/permission), isRetryable та людиночитний опис
BДодати у system prompt інструкцію завжди повторювати спробу при будь-якому «Operation failed»
CЛогувати помилки на бекенді детальніше, лишивши агенту той самий загальний рядок
DПідвищити timeout усіх інструментів, щоб помилки траплялись рідше
✓ Правильна відповідь: AУніфіковані помилки не дають агенту приймати правильні рішення про відновлення. Структуровані метадані (категорія, чи можна ретраїти, опис) дозволяють ретраїти transient, пояснювати business-помилки клієнту й не марнувати спроби на non-retryable. B небезпечно ретраїть усе; C/D не міняють те, що бачить агент.
Домен 2Сценарій 13 / 8

process_refund відхиляє запит, бо сума перевищує ліміт політики (бізнес-правило, не технічний збій). Що інструмент має повернути, щоб агент відреагував коректно?

AisError з retriable:false та клієнт-дружнім поясненням причини відмови
BТой самий формат, що й для таймауту, щоб агент спробував ще раз
CПорожній успішний результат, щоб не турбувати клієнта
DHTTP 500 без додаткових метаданих
✓ Правильна відповідь: AПорушення бізнес-правила слід позначати retriable:false і додавати зрозуміле пояснення, щоб агент комунікував коректно й не ретраїв марно. Формат таймауту (B) спровокує зайві спроби; порожній успіх (C) приховує помилку; голий 500 (D) не дає контексту.
Домен 2Сценарій 14 / 8

Команда поступово дала агенту 18 інструментів. Тепер він почав плутатись у виборі й інколи бере не той інструмент. Який принцип допоможе найбільше?

AЗвузити набір інструментів до 4–5, релевантних ролі агента, бо надлишок збільшує складність рішення й знижує надійність вибору
BДодати ще інструментів-«хелперів», щоб у моделі завжди був точний інструмент під кейс
CПерейменувати всі 18 інструментів у коротші назви
DЗавжди форсувати tool_choice на перший інструмент у списку
✓ Правильна відповідь: AЗавелика кількість інструментів (18 замість 4–5) деградує надійність вибору, бо зростає складність рішення. Звуження набору під роль — пряме рішення. Додавання інструментів (B) погіршує; перейменування (C) не міняє кількість; форсування першого (D) ламає логіку.
Домен 2Сценарій 35 / 8

Synthesis-агент часто має перевіряти конкретні факти, повертаючи керування coordinator'у → web-search → знову synthesis (+2–3 round trips, +40% latency). 85% перевірок — прості факт-чеки (дати, імена, статистика), 15% — глибше дослідження. Як зменшити overhead, зберігши надійність?

AДати synthesis-агенту scoped-інструмент verify_fact для простих lookup'ів, а складні верифікації лишити делегованими через coordinator
BНакопичувати всі потреби верифікації й батчем повертати coordinator'у в кінці проходу
CДати synthesis-агенту повний доступ до всіх web-search інструментів
DWeb-search агент має проактивно кешувати додатковий контекст навколо кожного джерела «про запас»
✓ Правильна відповідь: AПринцип найменших привілеїв: scoped verify_fact покриває 85% простих кейсів, а складні лишаються в наявному патерні координації. Батч (B) створює блокуючі залежності; повний доступ (C) порушує separation of concerns; спекулятивний кеш (D) не передбачить потреби надійно.
Домен 2Сценарій 36 / 8

Synthesis-агент час від часу намагається сам робити веб-пошуки й використовує інструменти поза своєю спеціалізацією, псуючи результат. Який принцип розподілу інструментів допоможе?

AОбмежити набір інструментів кожного subagent'а тими, що релевантні його ролі, запобігаючи cross-specialization misuse
BДати всім subagent'ам однаковий повний набір інструментів для гнучкості
CПрибрати в synthesis-агента всі інструменти взагалі
DФорсувати tool_choice synthesis-агента на web-search
✓ Правильна відповідь: AАгенти з інструментами поза спеціалізацією схильні їх неправильно вживати. Рішення — scoped tool access: лише потрібні ролі інструменти. Повний набір усім (B) погіршує; повне позбавлення (C) зламає synthesis; форсування web-search (D) узагалі помилкове.
Домен 2Сценарій 47 / 8

Інженер просить знайти всі місця виклику конкретної функції по кодбазі. Який built-in інструмент обрати?

AGrep — пошук за вмістом файлів (імена функцій, повідомлення помилок, import'и)
BGlob — пошук файлів за патерном імені/розширення
CRead — читати кожен файл цілком по черзі
DBash із інтерактивним редактором
✓ Правильна відповідь: AGrep призначений для пошуку за вмістом коду (напр. усі виклики функції). Glob (B) шукає файли за патерном імені; Read (C) читає вміст конкретного файлу, не шукає по всіх; Bash-редактор (D) недоречний.
Домен 2Сценарій 48 / 8

Потрібно знайти всі тестові файли за патерном **/*.test.tsx по проєкту. Який інструмент пасує?

AGlob — пошук шляхів файлів за патерном імені/розширення
BGrep — пошук за вмістом усередині файлів
CEdit — точкова зміна за унікальним текстом
DWrite — створення нових файлів
✓ Правильна відповідь: AGlob знаходить файли за патернами імен (напр. **/*.test.tsx). Grep (B) — для вмісту; Edit (C) і Write (D) — для модифікації/створення, не для пошуку.

Часті питання про Домен 2

Що найчастіше перевіряють у домені Tool Design & MCP?

Якість опису інструментів (деталі формату входу, межі, edge cases), конфігурація MCP по scope (project .mcp.json vs user ~/.claude.json), structured error responses з errorCategory і isRetryable, та принцип мінімальних привілеїв.

Які anti-patterns критичні для Домену 2?

Два найпоширеніші: (1) однаковий рядок помилки для всіх типів збоїв — агент не може прийняти правильне рішення про ретрай; (2) занадто великий набір інструментів (15+) — деградує якість вибору. Оптимум — 4–6 цільових інструментів.

Чому MCP resources важливіші за exploratory tool calls?

MCP resources виставляють каталоги доступних даних наперед, дозволяючи агенту побачити структуру без реальних дорогих викликів. Це знижує latency і кількість токенів на «розвідку».

Більше питань у тренажері →← Усі домени