Автономность измеряется бюджетом
Фраза "работай до результата" звучит гибко, но границы не задаёт. Автономность агента измеряется не доверием, а бюджетом: runtime ограничивает число model turns, число tool calls, стеновое время, размер результатов, стоимость и классы допустимых действий. Без этих пределов один запрос может уйти в дорогой бесконечный цикл, а вы узнаете об этом по счёту от провайдера.
Бюджет - это обычная константа плюс таймер, обрывающий run.
export const AGENT_BUDGET = {
maxModelTurns: 6,
maxToolCalls: 10,
maxWallTimeMs: 25_000,
maxToolResultBytes: 24_000,
maxRepeatedCall: 2
} as const;
const controller = new AbortController();
const timeout = setTimeout(function abortRun() {
controller.abort("agent_timeout");
}, AGENT_BUDGET.maxWallTimeMs);
try {
return await runWithSignal(controller.signal);
} finally {
clearTimeout(timeout);
}Отдельный вопрос - что исполнять параллельно, а что строго по очереди. Здесь важно не перепутать уровни.
Ситуация · Исполнение · Почему
- Два независимых read tool - Параллельно; Снижается latency без конфликта состояния
- Второй вызов зависит от первого - Последовательно; Модель должна увидеть первый результат
- Два preview одного заказа - Последовательно или deduplicate; Избегаем разных расчетов и лишней нагрузки
- Любой commit - Вне свободного loop; Нужны approval, idempotency и транзакция
Логика проста: два независимых read-tool можно звать параллельно и снизить latency; зависимый вызов идёт после того, как модель увидела первый результат; любой commit вообще выходит из свободного loop - ему нужны approval, idempotency и транзакция. И одно различение, которое экономит и деньги, и нервы.
Parallel tool calling не равно parallel agents. Первое означает несколько независимых функций в одном model turn. Второе создаёт отдельные контексты, результаты и стоимость. Добавляйте multi-agent только при ясном разделении ответственности, а не ради ускорения.
Бюджет ограничил, что агент может. Теперь решим, что он обязан помнить - и здесь провайдерский state не заменяет ваш собственный журнал.