Agentic Coding · RUПеревод редакции 7 октября 2026

Агенты без загадок

Предыдущие главы свели модель к её рабочему ядру: контекст на входе, предсказанные токены на выходе. Модель может выдавать текст, код, трассу рассуждений или сообщение в форме вызова инструмента, но она всё равно предсказывает токены по предоставленному контексту.

Агент — программная система вокруг вызова модели. Обвязка передаёт контекст, предоставляет инструменты, разбирает структурированный вывод, исполняет разрешённые действия, добавляет наблюдения и решает, продолжать ли работу. LLM — вероятностный движок; агент — детерминированный контур управления, который превращает её вывод в полезную работу.

Цикл агента​

Цикл агента — не когнитивный цикл. Это цикл приложения вокруг повторяющихся вызовов LLM. Каждый проход готовит входной контекст, получает вывод модели, проверяет его, выполняет разрешённый побочный эффект и сериализует результат в следующий контекст.

Механика агентов

Агенты работают внутри цикла обвязки

Обвязка превращает вывод модели в управляемый цикл: контекст на входе, проверенное действие на выходе, наблюдение обратно в контекст.

Если смотреть на цикл как на поток контекста, граница агента становится явной. Модель лишь предсказывает следующую последовательность токенов. Обвязка отвечает за валидацию, выполнение, запись наблюдений, условия остановки и контроль бюджета.

Упрощённая версия выглядит так:

// Fixed prefix: instructions, tool definitions, and the current task.
const base = basePrompt(task);
// Accumulated transcript: everything appended so far.
const transcript = [];
let finished = false;

while (!finished) {
// Context is logically an append-only string.
// Each turn rebuilds it from the fixed prefix plus everything
// accumulated so far. The model has no memory of prior turns.
const context = base + transcript.join('');

// The model can emit any token sequence: a final answer, a tool
// request, a reasoning trace, code, or any combination.
const reply = await askModel(context);

// The harness inspects the raw output and decides how to act.
const action = checkModelReply(reply);

if (action.type === 'final') {
return action.message;
}

// Everything the model produces is appended to the transcript.
transcript.push(reply);

// If the model requested a tool, run it and append the observation.
if (action.type === 'tool_call') {
const observation = await runTool(action);
transcript.push(observation);
}

// Stop if the work is done, the step budget is exhausted,
// or the context window is full.
finished = shouldStopNow(task, transcript);
}

Здесь нет скрытой агентной сущности. Полезны компоненты вокруг модели: построение контекста, проверка вывода, выполнение инструментов, сохранение результатов и решение о продолжении работы.

Цикл — это каркас. То, что течёт через него на каждом ходу, — контекст.