3 Кормилец доками 4 Направляющий 5 Почти архитектор ~11 мин

Как работает ИИ-агент простыми словами: харнесс, контекст и память

Почему твой ИИ то гений, то золотая рыбка

Как устроен ИИ-агент изнутри: харнесс, контекстное окно, токены и память. Понятный разбор для вайбкодеров - чтобы Claude и GPT слушались с первого раза, а не с десятого.

Что такое ИИ-агент простыми словами

Представь, что ты нанял гениального повара. Тысячи рецептов в голове, готовит что угодно, пашет круглые сутки. Один нюанс: стоит он с завязанными глазами посреди пустой комнаты. Ни плиты, ни ножа, ни холодильника. И стоит тебе выйти за дверь - забывает вообще всё.

Этот повар - модель (Claude, GPT и компания). А кухня вокруг: плита, ножи, рецепты на стене, правило «не суй руку в огонь» - это харнесс . ИИ-агент = повар плюс кухня. Не что-то одно, а оба сразу.

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

Зачем вайбкодеру понимать, как думает агент

Ты вайбкодер. Руками код писать не обязан. Но как только врубаешься, как ИИ-агент думает, меняется вот что:

  • злишься меньше, а чинишь причину, а не симптом;
  • экономишь деньги - за «думанье» ты платишь токенами, скоро объясню;
  • получаешь результат с первого-второго захода, а не с десятого;
  • ставишь задачу так, что агент не «плывёт» на полпути.

«ИИ написал мне кривой сайт» против «ИИ написал мне рабочий сайт» - чаще всего это разница в понимании трёх штук: контекст, токены, память. С них и начнём.

Три кита: контекст, токены и память

Контекст - рабочий стол ИИ-агента

Памяти как у человека у агента нет. Есть контекстное окно - считай, рабочий стол. На стол влезает ограниченное число «бумажек»: задача, куски кода, ответы команд, инструкции.

Лежит нужное на столе - агент умница. Завалил стол хламом (старые сообщения, простыни логов, пять версий одного файла) - и повару буквально некуда положить нож. Тут он и начинает терять нить, путать детали, галлюцинировать.

Рабочий стол: слева аккуратный с нужными бумагами, справа заваленный хламом
Тот же агент, тот же мозг. Разница - в порядке на столе.

Токены - валюта, которой ты платишь за стол

Каждая «бумажка» на столе стоит денег. Текст для модели режется на токены . Больше текста даёшь, длиннее ответы просишь - больше токенов. А значит, дороже и медленнее.

Поэтому матёрые вайбкодеры весь проект в чат не суют. Дают ссылку на файл, нужный фрагмент - или просят агента самого найти, что надо. И платят за это копейки вместо рубля.

Память: короткая и долгая

Вот тут новичок и попадается. У агента два вида памяти, и их легко перепутать:

  • Короткая (рабочая) - это и есть контекст, тот самый стол. Живёт ровно одну сессию. Закрыл чат или словил «компакт» - всё стёрлось.
  • Долгая - это файлы на диске. Заметки, MEMORY.md, правила проекта. В голове модель между запусками не держит ничего: она каждый раз перечитывает файлы заново.

Компакт: когда чистить контекст

Стол переполнился - случается компакт : агент сворачивает старую переписку в короткую выжимку. Место освободилось - но детали ушли. Как смахнуть всё со стола в папку «разное»: место есть, а найти нужное теперь морока.

Весь фокус в том, когда это делать:

Компакт в хорошие моменты
  • На границе задач: закончил фичу - почистил, начал новую с чистого стола.
  • После большого исследования, когда нагрёб кучу файлов, а нужен только вывод.
  • Когда чувствуешь, что агент начал повторяться и путать детали.
Компакт в плохие моменты
  • Посреди отладки сложного бага - потеряешь как раз те детали, которые искал.
  • Прямо перед тем, как агент применит важное решение - он забудет, почему его принял.
  • Слишком часто «на всякий случай» - каждый компакт = потеря контекста.

Хороший и плохой харнесс

Харнесс - это кухня. Вот как на глаз отличить удобную от кошмарной. Пригодится, когда дойдёшь до подключения инструментов - MCP, скиллов и прочего (это в следующих главах).

Хороший харнесс
  • У инструментов понятные имена и узкие задачи: «прочитать файл», «запустить тесты».
  • Каждый ответ инструмента говорит агенту: что вышло и что делать дальше.
  • Опасные действия (удалить, задеплоить) - отдельные кнопки с подтверждением.
  • Тяжёлые инструкции вынесены в скиллы/файлы и грузятся только когда нужны.
Плохой харнесс
  • Один «мега-инструмент на всё» - агент путается, что и когда звать.
  • Инструмент молча падает или возвращает простыню без подсказки «что теперь».
  • Системный промпт раздут на тысячи строк - стол забит ещё до старта.
  • Нет защиты - агент может снести прод одной командой.

Память ИИ: что помогает, а что мешает

Память работает на тебя
  • Важные правила и факты - в файлах, а не в одном сообщении.
  • Память короткая и по делу: одна заметка = один факт.
  • Агент сам дописывает выводы в память по ходу работы (continuous-learning).
  • Память проверяется: устаревшие факты удаляются, а не копятся.
Память работает против тебя
  • Память превращается в свалку - агент тратит стол на чтение мусора.
  • Противоречивые заметки: в одной «делай так», в другой «никогда так не делай».
  • В память попали секреты (пароли, ключи) - а файл потом утёк.
  • Агент верит старой заметке, хотя в проекте всё давно поменялось.

Пример из жизни: почему агент сломал рабочий лендинг

Просишь: «сделай мне лендинг кофейни». Агент бодро стартует, генерит 12 файлов. Ты по ходу 40 раз правишь: «кнопку левее», «шрифт другой», «нет, верни как было». А через час он внезапно ломает то, что отлично работало в начале. И ещё спорит, что «так и было».

Что случилось на самом деле:

  1. Стол завалили сорока правками и десятком версий файлов.
  2. Прилетел компакт - и агент забыл, как выглядел рабочий вариант.
  3. Правило «шрифт - Fraunces» жило только в чате и стёрлось вместе с историей.

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

Промпт, который бережёт контекст и память

Сделай лендинг кофейни. Прежде чем писать код:

  1. Запиши ключевые требования в файл DECISIONS.md (шрифт Fraunces, палитра teal, одна страница, кнопка заказа сверху). Сверяйся с ним.
  2. Работай по одному блоку за раз: герой, меню, контакты. После каждого блока показывай результат и жди моего «ок».
  3. Не переписывай уже одобренные блоки без моего разрешения.
  4. Если история переполняется - делай компакт ТОЛЬКО после готового блока, не в середине.

Агент затупил? Мини-диагностика

Прежде чем бить тревогу, пробеги по чек-листу (это, по сути, скилл agent-introspection-debugging):

  1. Стол не завален? Разговор длинный, агент путается - почисти или начни заново.
  2. Контекст не потерян? Возможно, важное стёр компакт - повтори ключевые требования.
  3. Правило точно в файле? Сказал один раз в чате - не считается.
  4. Инструмент не молчит? Агент ходит по кругу - может, команда падает, а ошибки он не видит.
  5. Задача не великовата? Режь её на куски по пятнадцать минут работы.
Мем: агент уверенно удаляет нужный файл со словами 'доверься процессу'
Каждый вайбкодер хоть раз это видел.

Частые ошибки новичков в вайбкодинге

  • Вываливать весь проект в чат. Дорого и забивает стол. Давай нужный кусок.
  • Держать правила только в переписке. После перезапуска их нет. Выноси в файлы.
  • Гнать одну гигантскую задачу. Агент захлёбывается. Режь на куски.
  • Чистить контекст посреди отладки. Потеряешь ровно то, что искал.
  • Не смотреть на токены. «Бесконечный» чат однажды приходит со счётом, от которого ёкает сердце.
  • Спорить с агентом вместо перезапуска. Иногда дешевле начать сессию с чистого стола.

TL;DR - если коротко

  • Модель - это мозг. Харнесс - руки, глаза и правила вокруг мозга. Вайбкодер крутит именно харнесс.
  • Память агента - как рабочий стол: места мало (контекстное окно), и за это место ты платишь токенами.
  • Стол завалили - агент тупеет. Компакт (чистку) делай на стыке задач, а не посреди отладки.
  • Долгая память живёт в файлах, а не в голове ИИ. Нет файла - нет памяти после перезапуска.
  • Девять из десяти «глюков ИИ» - это не тупая модель. Это заваленный стол, кривой инструмент или потерянный контекст.

Поиск по вики

Нажмите Esc для закрытия

Введите запрос для мгновенного поиска по всем страницам курсов и уроков.