TGViewer
Гриненко про ИИ, бизнес и образование Гриненко про ИИ, бизнес и образование @devspotting · 3.12K subscribers
Post #50 1K
Модель, агент и обвязка. Часть 1

LLM, как баба Ванга на минималках — умеет лишь предсказывать следующий токен. Вы ей: «в лесу родилась», а она вам — «ёлочка». Больше модели не умеют ничего. Совсем ничего. Даже позировать.

Как же тогда нейронки создают приложения и решают еще кучу задач? В этом посте разберемся с базовой теорией, а во второй части — соберем собственного агента, чтобы окончательно разобраться.

Как и следует ожидать от старой гадалки, LLM более-менее помнит, что было у нее в молодости на этапе тренировки (хотя может и присочинить на ходу), но забывает то, что вы ей только что сказали. Важно понимать, что никакого дообучения, пока вы с ней общаетесь, не происходит.

Карго-культ
За недолгую историю существования LLM пользователи эмпирически подобрали лайфхаки, которые тиражируются в виде статей, репозиториев и роликов на Ютубе, но многие из которых уже окончательно устарели и на актуальных замерах показывают падение качества.

Сюда относятся угрозы, попытки вызвать жалость или подкупить модель, генерация банков памяти, массовое подключение MCP-серверов, подробные инструкции в AGENTS.md, использование скиллов без разбора и прочие магические действия.

Чтобы получить интуицию, какие советы лучше внимательно тестировать перед внедрением, стоит представлять, с чем мы имеем дело.

Контекстное окно
Если не указать в промпте важные детали, нейронка их просто выдумает. Если в датасете не окажется песенки про елочку, то вместо ответа «кто его знает, кто там в лесу родился», модель будет предполагать наиболее вероятные варианты, исходя из того, что ей известно о мире.

Соответственно, важно, чтобы промпт был максимально подробный. Но, во-первых, контекстное окно ограничено, а во-вторых, даже если все поместилось, есть риск, что в потоке текста потеряются важные требования, а среди указаний встретятся противоречия.

К тому же в контекстное окно попадает не только ваш последний промпт, но еще куча всего:
* системный промпт самой модели
* базовый промпт вашего агента
* ваши дополнения из AGENTS.md и аналогов
* скиллы
* подключенные MCP-серверы
* результаты вызовов инструментов (например, содержимое файлов, которые агент решил прочитать)
* и, наконец, вся ваша переписка из текущей сессии

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

Инструменты
Как же происходит чтение файлов и вызов MCP-серверов, если модель только лишь генерит токены?

За это отвечает обвязка — старый добрый детерминированный код: модель генерит специальный токен «позови-ка-такой-то-тул-с-такими-то-параметрами» и ставит генерацию на паузу. Обвязка видит этот токен, вызывает нужный инструмент и подклеивает в промпт результат этого вызова.

Как показывает практика, если в качестве инструментов дать нейронке возможность читать и писать файлы, а также вызывать bash-команды, то этого набора становится достаточно, чтобы решить множество задач (а всё, чего не хватит, модель может сама себе установить, прочитать в интернете curl-ом, либо просто напрограммировать и запустить). А если перед показом ответа пользователю зациклить нейронку саму на себя, чтобы она, как и живой человек, сначала несколько раз перепроверила результат, то принципиально возрастает качество ответа.

Или, как это точно сформулировал @electroVafinBot:
Агент — это не тот, кто умный. Агент — это тот, кто достаточно упертый, чтобы не бросать начатое после первого «Syntax Error».


А дальше работают все те же практики, что и для человеческих команд разработки: уточнение требований, декомпозиция, поиск и исследование доступных библиотек, линтеры и автотесты в CI и т.д.

Claude Code, Antigravity и OpenClaw построены ровно по этому принципу.

Расскажите в комментариях, какие из распространенных рекомендаций для работы с LLM по вашим наблюдениям на самом деле не работают. А мы соберем своего собственного агента в следующей части.

@devspotting
  • 👍 17
  • 🔥 4
  • ❤ 2
  • 👏 1
More from @devspotting
  1. Sep 22, 2026Обсуждаем Jev в седьмом выпуске «ИИ — не новостей» с Сергеем @veged_and_code Бережным Кром…
  2. Sep 17, 2026#ГриненкоПро №25 с Анастасией Бианко, руководителем отдела подбора персонала в Циан https:…
  3. Sep 17, 2026Аркадий, а что мы ускорили? Помните Аркадия, которого мы просили убрать руки с клавиатуры?…
  4. Sep 16, 2026На OpenRouter очередная бесплатная стелс-модель — Union Alpha. UPD: лавочка закрылась, мод…
  5. Sep 15, 2026Шестой выпуск «ИИ — не новостей» уже на Ютубе (или на ваших любимых стримингах). На этот р…
  6. Sep 15, 2026But I'm likely human after all I'm likely human after all Don't put your blame on me Don't…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →