Паспорт генерации изображения
Промт генерации изображения
Dark neon 'underside of progress' scene, cyberpunk workshop at night, wide cinematic shot. On a scarred wooden workbench a continuous steel belt runs in a closed loop between two heavy mechanical heads bolted to the surface, the belt lit cold teal-cyan where it circles back on itself. Beside it, on the same bench, a second identical belt lies cut and straight: it leaves its head, ends abruptly in the middle of the bench and goes nowhere. A small brass governor screw with a warm amber indicator lamp is clamped onto the closed loop, pressed against the belt as a stop. Every object rests physically on the bench, bolted down and weighted - nothing floats or hovers. Around them a cluttered bench: hand tools, coiled cables, a cooling fan, dim indicator lamps, dust and fine metal shavings. Deep shadow, volumetric haze, warm amber and cyan color palette, shallow depth of field, cinematic film still on 35mm, intricately detailed. Every surface is completely blank - no writing of any kind.
Три признака, по которым видно агента, а не кнопку «спросить нейросеть»
ИИ-агент - это программа, которая пользуется нейросетью как головой, но действия выполняет сама: читает файлы, запускает код, обращается к чужим сервисам. Главное в ней не ум модели, а цикл: агент делает шаг, читает результат и уже от результата решает, каким будет следующий шаг. Чат-бот так не умеет - он отвечает один раз, и на этом задача для него закрыта.
Определение короткое, а путаница вокруг него большая. Словом «агент» сейчас подписывают всё, что умеет выдать текст: чат-бота с кнопкой поиска, автоматизацию по расписанию, помощника в редакторе кода. По описанию продукта невозможно понять, что именно ты ставишь или покупаешь - работающий автономно инструмент или красивую обёртку над API.
Маркетинг продаёт идею «цифрового сотрудника», но за глянцем теряется техническая суть. Чтобы не путать инструмент с игрушкой, смотреть надо не на то, насколько «умно» отвечает нейросеть, а на то, как устроена её работа. Ниже - три признака, по которым это видно, разобранный по шагам живой прогон и честный потолок, на котором автономность заканчивается.
Задача, закрытая одним ответом
Первая и самая частая ошибка - считать, что агент это просто нейросеть поумнее. Кажется, если модель стала лучше рассуждать или получила доступ к интернету, она превратилась в агента. Это не так.
Возьмём типичного чат-бота с функцией поиска. Вы задаёте вопрос, он нажимает виртуальную кнопку «поискать», получает пачку ссылок и пересказывает их вам. Выглядит как работа помощника, но на деле это линейный процесс: результат получен и тут же израсходован на ответ. План действий от него не изменился, потому что никакого плана и не было. Интеллект здесь выше, чем у базовой модели, а архитектурно это всё ещё тот же чат-бот.
Доступ к интернету агента не делает. Чат-бот с поиском получает результат, но не меняет из-за него своих следующих действий, а именно это и отличает агента от продвинутого интерфейса.
Вызов, обратная связь и стоп-кран
Настоящий агент отличается не уровнем IQ, а формой работы. Если убрать маркетинговые лозунги, остаются три технических признака. Нет хотя бы одного из них - перед вами скрипт или продвинутый интерфейс, но не агент.
- Вызов инструмента. Агент не пишет: «Я бы посоветовал вам проверить конфигурационный файл». Он сам запрашивает действие - чтение файла, выполнение кода, запрос к API - и получает реальный результат.
- Обратная связь меняет план. Это критический узел. Результат вызова возвращается в цикл, и следующий шаг зависит от того, что пришло. Если инструмент вернул ошибку или неожиданные данные, агент пересматривает стратегию на лету.
- Внешнее условие остановки. Цикл не длится бесконечно и не заканчивается просто потому, что модель «решила», что всё готово. Остановка происходит по чёткому критерию или при исчерпании бюджета - лимита итераций, времени или денег, - и задаёт этот предел человек.
Три признака агента: он вызывает инструмент вместо описания действия, меняет следующий шаг из-за полученного результата и останавливается по условию, которое задал человек.
Механика самого цикла - кто формирует запрос на действие, кто его выполняет и почему это разные стороны - разобрана отдельно, на примере агента в терминале: Claude Code: что это такое и чем отличается от чата с нейросетью. Здесь мы смотрим на логику процесса, а не на конкретный инструмент.
Пять итераций без плана
Как это выглядит в работе, проще показать на собственном прогоне. Я собираю домашний инструмент для отбора поисковых фраз: программа обходит дерево запросов и оставляет из него то, что относится к заданной теме. Задачу я поставил одной фразой, а дальше смотрел, что происходит.
Ни один шаг в этой цепочке не был расписан заранее. Каждый вырос из того, что вернул предыдущий:
- Агент прочитал конфигурацию фильтра, написал код обхода и запустил его.
- Прочитав вывод, обнаружил странность: в списке «релевантных» всплыли фразы про тарифы домашнего интернета.
- Сделал вывод, что правило «два общих слова» пропускает слишком много мусора, переписал его на «обязателен один специфичный признак» и прогнал код заново.
- В новом выводе стало видно, что служебный термин схлопнулся с посторонним словом при нормализации. Правило нормализации было переписано, последовал третий прогон.
- На четвёртой итерации выяснилось, что проверка «уже посчитано?» вообще не срабатывала.
Пять итераций подряд, и каждая была реакцией на прочитанный лог, а не пунктом в заранее составленном списке. Вот это и есть агентский цикл: действие, результат, коррекция плана, новое действие. Заметьте, чего здесь нет - ни одного места, где я бы копировал вывод программы обратно в чат руками.
Потолок автономности
Дальше начинается та часть, которую в рекламных описаниях не пишут. Агент не «понимает цель» в человеческом смысле. Он повторяет шаги, пока не выполнится критерий или не кончатся ресурсы. Обе эти границы задаёт человек - и может задать их неверно.
В той же сессии цикл однажды сошёлся к совершенно неправильному результату. Набор данных схлопнулся с 10 106 записей до 1 432, и программа завершилась штатно: с точки зрения внутренней логики агента всё было в порядке, инструкции выполнены, финал достигнут. Остановить это мог только внешний признак вроде «объём данных не должен так резко уменьшаться». В постановке задачи такого условия не было.
Агент честно довёл задачу до абсурдного конца, потому что предохранитель не предусмотрел я. И чем длиннее цепочка, которую ему доверяешь, тем дороже обходится пропущенное условие остановки.
Агент не понимает цель - он повторяет шаги, пока не сойдётся критерий или не кончится бюджет. Обе границы задаёт человек, и автономность без верно поставленных ограничений - это просто способ ошибиться быстрее.
Железо и цена цикла
Если агент работает не в облаке, а на своём компьютере, архитектура цикла не меняется, но меняется цена каждого шага. Модель занимает десятки гигабайт памяти, а одна генерация ответа может тянуться минутами - и таких генераций в цикле не одна, а столько, сколько итераций понадобится.
Отсюда рабочая стратегия: дешёвые и частые шаги - проверку, форматирование, простой отбор - отдавать локальному железу, а дорогие и редкие, вроде разбора большого объёма или перепланирования, отправлять в облако. Так цикл остаётся живым, а компьютер не превращается в обогреватель на весь день.
У локального агента цикл тот же, но каждый шаг дороже: дешёвое и частое имеет смысл оставлять своему железу, дорогое и редкое - отправлять в облако.
Форма работы, а не интеллект
Если свести всё к одному предложению: «агент» - это не уровень интеллекта нейросети, а конкретная форма организации работы. Вызов инструмента, обратная связь, условие остановки.
Поэтому проверять продукт стоит не по обещаниям, а по этим трём местам. Умно общается, но ничего не запускает - чат. Делает что-то по расписанию, но не меняет поведение от результата - автоматизация. И ждать от такой системы автономности бессмысленно: её там нет, есть только слово на витрине.
Продукт, который не меняет собственных действий из-за их же результатов, агентом называется в рекламных целях. Автономности в нём ровно столько, сколько человек заложил в условие остановки.
