AI / LLM
Tool calls: тест с выбором ответа
Шесть вопросов поперёк всего юнита. Ни один не про определение для заучивания — каждый отражает решение, которое ты принимаешь, собирая реальный agent-цикл против реальных, иногда мутирующих, tools.
Убедись, что связываешь контракт round-trip, границу доверия при валидации, защиту от runaway, параллелизм и tool_choice — тот синтез, к которому вёл урок.
Задача пользователя требует четырёх tool call на разных шагах. Сколько примерно вызовов модели сделает цикл и почему это важно для стоимости?
Модель возвращает tool_use для cancel_order с id 'ord_9f3c' — id, которого никогда не было в разговоре. Каков senior-ход?
Агент в проде иногда накручивает огромные счета на отдельных ходах. Логи показывают: он зовёт lookup_order, получает ошибку и зовёт снова с теми же аргументами — снова и снова. В чём корневая причина и фикс?
Есть две цепочки. Цепочка A: get_weather(NYC) и get_weather(SF). Цепочка B: find_user(email) затем cancel_user_order(userId). Какую модель может распараллелить и почему?
Ты строишь классификатор, который всегда должен возвращать одну из фиксированного набора категорий как структурированный JSON — проза недопустима как ответ. Какая настройка tool_choice подходит и почему не остальные?
Агент с 10 tools прогоняет 6-шаговую задачу, и латентность и стоимость куда выше ожидаемого, хотя каждый tool быстрый. В чём доминирующий оверхед и стандартное смягчение?
Сквозная линия — один контракт: модель лишь запрашивает tool, твой код его исполняет, и цикл заново вызывает модель после каждого результата — так что стоимость накапливается, схемы шлются заново каждый раунд (кэшируй их), а незащищённый цикл уходит в разнос. Валидация — это граница доверия: провалидируй по схеме, затем authorize и existence-check, затем исполни, возвращая ошибки как tool_result, чтобы модель само-исправлялась. Параллелизм помогает лишь независимым вызовам; tool_choice (auto/any/tool/none) задаёт, сработает ли tool и какой.