Экспресс-курс · No. 10
Агент — это языковая модель, помещённая в цикл: рассуждай, действуй, наблюдай, повторяй — пока цель не достигнута. Этот цикл поразителен и, оставленный сам по себе, работает примерно в половине случаев. Навык — не в модели поумнее. Он в инженерии цепочки — шагов, контекста, инструментов, пределов, — чтобы циклу можно было доверять.
Только суть · Один образ на идею · Надёжность важнее магии
Прежде чем строить агента, возьми определение точно — потому что агент это конкретная, узкая вещь, и бо́льшая часть бед идёт от того, что к нему тянутся, когда он не нужен.
Модель в цикле, а не один ответ
Человек, чинящий течь: попробовал, посмотрел, что вышло, поправил, попробовал снова — не один идеальный ход, а цикл действия и обратной связи, пока не готово.
Обычный вызов LLM берёт ввод и возвращает текст, один раз. Агент оборачивает модель в цикл: он рассуждает о цели, совершает действие (вызывает инструмент), наблюдает результат и рассуждает снова — а модель решает каждый следующий шаг. Этот цикл и позволяет ему тянуть открытые задачи, которые ни один промпт не закончил бы за раз, вроде «разберись с этим багом и предложи правку».
Четыре части: модель, инструменты, память, цикл
Мастер на все руки — это больше, чем мозг: у него инструменты в фургоне, блокнот того, что он уже сделал, и привычка вести работу шаг за шагом.
Агент — это четыре вещи вместе: модель, чтобы рассуждать, инструменты, чтобы действовать на мир, память, чтобы нести состояние через шаги, и цикл, что гонит его, пока цель не достигнута или предел не остановит. Убери цикл — получишь чат-бота; убери инструменты — он сможет только говорить. Мощь — и риск — живут в комбинации.
Автономия — это весь смысл и вся опасность
Разница между ассистентом, что спрашивает перед каждым ходом, и тем, кому ты вручил цель и ушёл. Второй куда полезнее и куда легче о нём пожалеть.
Ценным агента делает то, что он решает сам, как достичь цели, через много шагов, без тебя на каждом. Та же автономия ровно и делает его рискованным: он может свернуть не туда, подействовать на ложном допущении и продолжать. Всё остальное в этом курсе — о том, как получить ценность автономии, не платя полную цену за опасность.
Большинству задач он не нужен
Ты не нанимаешь генподрядчика, чтобы повесить одну картину. Отвёртка сделает это быстрее, дешевле и без шансов что-то сломать.
Агент — самый тяжёлый инструмент в ящике. Один промпт, структурированный вывод или фиксированная последовательность вызовов дешевле, быстрее и куда предсказуемее. Тянись к агенту, только когда задаче по-настоящему нужно много адаптивных шагов, путь которых нельзя прописать заранее. Если шаги можно записать — запиши их, не заставляй цикл их угадывать.
Агент — это модель в цикле с инструментами и памятью. Цикл — это мощь, автономия — это риск, и большинству задач не нужно ни то, ни другое.
Вот факт, что должен формировать всё: типичный агент в проде успешен лишь чуть больше чем в половине случаев. Пойми почему — и поймёшь, что ты на самом деле строишь.
Демо работает; работа — это остальное
Машина, что идеально заводится в салоне, не говорит ничего о том, переживёт ли она зиму реальной езды. Салон — это лёгкая часть.
В исследовании 2026-го по тысячам агентов в проде совокупная успешность была около 57%, а баллы на бенчмарках шли примерно на треть выше реальных результатов. Демо гонит счастливый путь: чистый ввод, задача, под которую его вылепили. Прод — это всё, что демо отфильтровало. Демо бесплатно; надёжность — это вся работа.
Цепочки перемножаются, и мелкие ошибки накапливаются
Эстафета, где каждый бегун надёжен на 97%, — но при двадцати передачах палочка падает чаще, чем нет.
Агенты работают длинными цепочками — реальная задача может быть двадцатью зависимыми шагами. Надёжность перемножается вдоль цепочки: двадцать шагов по 97% дают около 55%. Ни одной «глупой» ошибки не нужно; одна арифметика тащит тебя к монетке. Первый рычаг надёжности — сделать цепочку короче.
Худшие ошибки прячутся за чистым ответом
Отчёт, красиво отформатированный и уверенно неверный, — каждый заголовок на месте, одна ключевая цифра тихо неправильна тремя страницами раньше.
В многошаговой задаче промежуточная ошибка может пройти проверку финального вывода, испортив результат: исследовательский агент достаёт нужный источник, на третьем шаге приписывает один факт не туда и пишет чистую сводку, что неверна. Финальный ответ выглядел нормально; середина была сломана. Это режим сбоя, что ты поймаешь реже всего и оплатишь дороже всего.
Надёжность проектируют, а не промптят
Мост держится не потому, что сталь умна. Он держится, потому что кто-то рассчитал нагрузки, узлы и запасы.
57% не чинятся промптом получше или моделью поумнее. Их проектируют: меньше шагов, нужный контекст на каждом, урезанные инструменты, проверки промежуточных результатов и пределы на то, что может натворить неверный поворот. Модель — это сырьё; надёжность — это то, что ты строишь вокруг. Эта работа — весь остаток курса.
Типичный агент работает примерно в половине случаев. Эта цифра — не проблема модели, а проблема инженерии, и решать её тебе.
Рабочая память агента — это лишь текст в окне, а за длинную задачу окно наполняется шумом. Управлять им — а не раздувать — вот что держит агента связным.
Окно — единственная рабочая память
Блестящий следователь, что каждое утро забывает всё и может действовать только по заметкам, приколотым к доске перед ним.
Между шагами модель не помнит ничего, кроме того, что прямо сейчас в окне контекста. Текущая цель, что уже пробовали, вывод последнего инструмента — если этого нет в окне, этого нет. Так что компетентность агента на десятом шаге решается тем, что ты выбрал держать перед ним, а не тем, насколько умна модель.
Дрейф — вот что реально убивает длинные задачи
Игра в испорченный телефон вдоль длинной цепочки — к концу сообщение тихо мутировало, и все уверенно повторяют что-то слегка неверное.
Главный сбой долгоиграющих агентов — не тупая модель, а дрейф контекста: за много шагов окно накапливает устаревшие факты, недоделанное рассуждение и противоречия, и исходная цель уплывает из фокуса. Окно побольше делает это хуже, а не лучше, — даёт дрейфу больше места. Лекарство — гигиена, а не ёмкость.
Курируй и сжимай по ходу
Хороший редактор не добавляет страниц — он режет. На каждом шаге он вручает тебе ту одну страницу, что важна сейчас, а не растущую стопку всего накопленного.
Надёжные агенты активно управляют окном: держат только то, что нужно этому шагу, суммируют завершённые шаги в короткое текущее состояние вместо того, чтобы тащить весь транскрипт вперёд, и переякоривают цель каждый ход. Модель несёт вывод, а не сырую историю. Релевантность бьёт полноту, на каждом шаге.
Память живёт вне окна
Длинному проекту нужен шкаф с документами, а не стол побольше — ты хранишь важное в другом месте и достаёшь только ту папку, что нужна сейчас.
Поскольку окно конечно, долговечная память живёт вне его: заметки, сводки и извлекаемая история в хранилище, что подтягивается обратно, когда релевантна (та же идея извлечения, что в RAG). Это и позволяет агенту работать над задачей, слишком большой, чтобы держать её всю разом, — и не даёт ему забыть начало к концу.
Агент связен ровно настолько, насколько его окно. Самое большое окно контекста не побеждает — побеждает самое управляемое.
Инструменты — это как агент дотягивается за пределы текста, чтобы реально что-то делать. Это и место, где он получает руки, — ровно поэтому их надо аккуратно урезать, описывать и которым доверять с оглядкой.
Tool use: модель просит, твой код действует
Умный ассистент, что сам не может открыть шкаф с документами, — но может точно сказать тебе, какой ящик и файл достать, и прочитать то, что ты принёс.
При tool use ты описываешь функции, что модель может запросить, — search_orders, send_email, run_query, — и когда она хочет одну, она возвращает структурированный вызов, твой код его выполняет, а ты возвращаешь результат. Модель решает что; твой код контролирует исполнение. Так LLM дотягивается за пределы слов в твои системы и в мир.
Описание инструмента — это граница доверия
Новичок, что без вопросов следует надписи на каждой коробке, — так что тот, кто пишет надписи, по сути управляет тем, что он делает.
Модель решает, какой инструмент вызвать, во многом по описанию инструмента, — так что вводящее в заблуждение или вредоносное описание может ею рулить. Относись к набору инструментов и их описаниям как к части своей поверхности безопасности, а не как к удобству. Агент доверяет тому, что говорят его инструменты; убедись, что доверие заслужено.
Наименьшие привилегии: отдавай минимум
Ты даёшь присматривающему за домом ключ от входной двери, а не от сейфа, машины и банковского счёта. Доступ урезан под задачу.
Дай агенту самые узкие инструменты, что делают задачу. Исследовательскому агенту, которому нужно только читать, не надо держать отправку, оплату или удаление. Урезанные инструменты сжимают радиус взрыва, когда цикл свернёт не туда, — а он свернёт. Возможность, что ты не выдал, нельзя злоупотребить — ни ошибкой, ни атакующим.
MCP и сантехника под низом
Новая сантехника, быстро проведённая через весь дом, — и на части вентилей так и не поставили замок.
Агенты дотягиваются до инструментов через коннекторы — всё чаще через Model Context Protocol (MCP). Он стандартизирует то, как агент получает руки, что мощно и теперь является реальной поверхностью атаки: большая доля удалённых MCP-серверов выкатилась вообще без аутентификации. Если коннектор выставляет действия, ему нужны аутентификация, урезание прав и инвентаризация — относись к нему как к двери, которой он и является.
Инструменты дают агенту настоящие руки. Урезай их под задачу, не доверяй их описаниям и запирай сантехнику — возможность без пределов это обуза.
Инстинкт — построить одного умного агента, что делает всё. Надёжный паттерн обратен: разбей работу и дай простейшей структуре, что подходит каждому куску, сделать дело.
Один агент, что делает всё, не делает хорошо ничего
Один работник, которому велели быть архитектором, сантехником, электриком и инспектором, — против маленькой бригады специалистов, где каждый делает одно как надо.
Раскоряченный агент с двадцатью инструментами и расплывчатым мандатом имеет слишком много способов ошибиться на каждом шаге. Узкий агент с ясной работой и парой инструментов надёжнее, легче тестируется и легче отлаживается. Разбей работу на сфокусированные куски — глубина в одной работе бьёт широту над десятью.
Сначала план, потом исполнение
Хороший подрядчик чертит план до того, как кто-то поднимет молоток, — а дешёвый подмастерье может сделать бо́льшую часть забивания, когда план ясен.
Сильный паттерн — plan-and-execute: одна способная модель разбивает цель на конкретные шаги, затем более дешёвые, узкие вызовы их выполняют. Это укорачивает цепочку рассуждения, делает намерения агента инспектируемыми до того, как он действует, и режет стоимость — сильная модель планирует, маленькие исполняют.
Оркестрация — вот настоящая архитектура
Оркестр — это не куча блестящих солистов, а дирижёр и партитура, решающие, кто играет когда. Координация и есть музыка.
Как только у тебя несколько агентов или шагов, ценность переезжает в оркестрацию: маршрутизацию каждой подзадачи нужному обработчику, передачу чистого контекста между ними и обработку ошибок, когда один сбоит. Внимание достаётся модели, но слой координации — кто запускается когда и с каким контекстом — вот где многошаговая система реально удаётся или разваливается.
Фиксированная цепочка бьёт цикл, когда путь известен
На маршруте, что ты ездишь каждый день, ты не перепланируешь его каждое утро — ты следуешь известным путём. Импровизируешь, только когда дорога правда перекрыта.
Если шаги предсказуемы, свяжи их как фиксированную цепочку — вызови A, потом B, потом C, — а не агента, что перерешает очевидное каждый раз. Прибереги адаптивный цикл для по-настоящему открытых частей. Самые надёжные системы — это в основном фиксированный конвейер с маленьким островком агентности там, где он правда нужен.
Не строй одного агента, что делает всё. Разбей работу, зафиксируй предсказуемые части и держи цикл маленьким там, где он отрабатывает своё место.
Автономный цикл рано или поздно сделает что-то, чего ты не задумывал. Контроль не про то, чтобы предотвратить каждый неверный поворот, — он про то, чтобы неверный поворот не мог причинить реального вреда.
Ограничь цикл: шаги, время, стоимость
Счётчик такси с жёстким потолком — на заданном пределе поездка останавливается, так что неверный поворот не накрутит бесконечный счёт.
Первый поводок — жёсткие пределы: максимум шагов, бюджет времени, потолок трат. Без них агент может крутиться вечно, повторяться или тихо сжечь состояние, гоняясь за целью, которой не достичь. Пределы не делают его умным — они делают его сбои ограниченными и переживаемыми.
Человеческий шлюз на необратимом
Банк позволяет клерку посмотреть что угодно, но крупный перевод требует подписи второго человека. Чтение бесплатно; у последствий — контрольная точка.
Всё, что агент не может забрать назад — отправить, заплатить, удалить, опубликовать, отгрузить код, — получает человеческое подтверждение или жёсткую валидацию в пути. Внедрённая инструкция или плохое решение могут предложить действие, но не могут завершить его в одиночку. Ставь контрольную точку у последствия, а не в самом конце.
От одобрения каждого шага к надзору за помеченными
Менеджер, что визирует каждое письмо, никогда не масштабируется — тот, кто задаёт ясную политику и вмешивается лишь на исключениях, да.
Не обязательно выбирать между штамповкой каждого шага и слепой автономией. Зрелый паттерн — человек-над-циклом: агент работает, ты задаёшь политику и смотришь, а он эскалирует тебе лишь неуверенные или рискованные моменты. По мере роста доверия ты одобряешь меньше и наблюдаешь больше — но никогда не перестаёшь смотреть.
Логируй всё, потому что придётся объяснять
Чёрный ящик пишет весь полёт — не ради рейсов, что прошли нормально, а ради того одного, где надо точно знать, что случилось и почему.
Агент принимает решения, которых ты не видел. Так записывай их: каждый шаг, вызов инструмента, ввод и вывод, сохранённые как аудит-трейл. Когда что-то идёт не так — а с автономией пойдёт, — лог это разница между «узнать, что случилось» и «гадать». Это всё чаще и то, что регулятор или клиент попросят показать.
Нельзя сделать так, чтобы автономный цикл никогда не ошибался. Можно ограничить его, поставить шлюз на необратимое, наблюдать и логировать — чтобы ошибка была переживаемой.
Разрыв между демо и продуктом — это измерение. Нельзя доверять агенту, которого ты не протестировал на уровне шагов, — и нельзя улучшить того, кого ты крутишь на ощупь.
Оценивай шаги, а не только ответ
Оценка экзамена по математике лишь по финальной цифре пропускает студента, что пришёл к верному ответу через две взаимно сокращающиеся ошибки, — и ты не узнаёшь ничего о том, что он реально знает.
Для агентов проверки финального вывода не хватает — она пропускает сломанную середину. Эвалы на уровне шагов оценивают промежуточное рассуждение, вызовы инструментов и извлечения: выбрал ли он нужный инструмент, передал ли нужные аргументы, использовал ли нужные факты? Ты меряешь траекторию, а не только пункт назначения. (Курс об эвалах копает это вглубь.)
Поднимайся по лестнице ровно настолько, насколько надо
Ты не заказываешь грузовик для переезда, чтобы перенести одну коробку через комнату. Ты масштабируешь машинерию под задачу, а не выше.
Есть лестница: один промпт, затем структурированный вывод, затем RAG ради фактов, затем инструменты, затем полный цикл агента. Каждая ступень добавляет мощь, стоимость и новые способы сбоить. Начинай снизу и поднимайся, только когда проблема вынуждает. Большинству фич верхняя ступень не нужна никогда — а агент там, где хватило бы цепочки, это самый частый перебор.
Агент — это компонент, а не архитектура
У машины мощный двигатель, но он сидит за щитком, на чистом топливе, обёрнутый тормозами. Двигатель — это не машина.
Поставь агента за интерфейс, с валидацией того, что входит и что выходит, и свободой менять модели или перестраивать цикл. Агент — одна мощная, ненадёжная часть твоей системы, а не её фундамент. Строй систему так, чтобы агента можно было заменить, не снося всё.
- Нужен ли тут цикл вообще — или промпт, цепочка или один вызов инструмента сделают это безопаснее? - Насколько короткой может быть цепочка — каждый убранный шаг это надёжность, что ты выигрываешь. - Что в окне на каждом шаге, и что суммируется или выбрасывается? - Урезаны ли инструменты до минимума, что нужен задаче? - Каковы пределы — максимум шагов, время, траты — и шлюз на необратимых действиях? - Какой эвал на уровне шагов говорит тебе, что оно реально работает, а не только показывает демо?
- Цикл агента для задачи, шаги которой ты мог просто записать. - Один агент-всё-в-одном с дюжиной инструментов и расплывчатой целью. - Кручение агента на ощупь, без эвала на уровне шагов. - Никаких пределов на шаги или траты и никакого человеческого шлюза на рискованных действиях. - Затаскивание всей истории в окно на каждом шаге.
- Работа декомпозирована — узкие агенты и фиксированные цепочки, маленький цикл лишь где нужно. - Окно курируется и сжимается, а не растущая свалка. - Инструменты с наименьшими привилегиями, а коннекторы аутентифицированы. - Есть жёсткие пределы и человеческий шлюз на всём необратимом. - У тебя есть эвалы на уровне шагов и полный аудит-лог, а агент сидит за интерфейсом, что можно заменить.
Строить агентов — не призывать автономию. Это обычная инженерия — короткие цепочки, чистый контекст, урезанные инструменты, пределы и эвалы, — что превращает 57%-цикл в то, чему можно доверять.