Мой кодинг-агент помнил сессии, а не работу
Кодинг-агент может поддерживать нить диалога, но при этом казаться забывчивым.
Я столкнулся с этой проблемой при создании CliGate. Я исправил непрерывность сессий, но повторные задачи всё равно выполнялись медленно.
Агент помнил разговор, но не помнил саму работу.
Непрерывность сессий решает одну проблему. Она позволяет использовать уточняющие команды, такие как:
continue- сделай то же самое для этого файла
- повтори это
- объясни ошибку
Это важно для плавности процесса. Но это не работает, когда вы повторяете рабочий процесс спустя несколько дней.
Если агент узнает, какая кнопка работает или какой шаг ведет в тупик, одной открытой сессии недостаточно. Агенту нужно уметь вспоминать, что позволило успешно завершить прошлый запуск.
Первый запуск — самый дорогой. Именно тогда агент находит мельчайшие детали:
- определенное меню скрывает действие
- редактор является iframe
- проекту требуются специфические стили ответов
- URL окружения отличается от продакшена
До моего исправления эти детали были просто сырыми логами. У агента была история, но не было переиспользуемой памяти. Ему приходилось заново открывать те же факты каждый раз. Это не интеллект. Это двойная оплата одной и той же работы.
Неправильный подход — сохранять больше истории в надежде, что модель её использует. Это создает шум.
Мне нужен был более компактный, переиспользуемый слой. Я перешел от сохранения всего подряд к сохранению:
- процедур: оптимальных шагов и известных тупиков
- фактов: URL-адресов, правил или настроек
- директив: того, как вы хотите, чтобы выполнялись задачи
- ссылок: мест, где находится документация
Это изменило систему. Вместо чтения гигантского транскрипта ассистент использует слой памяти на основе файлов.
Я не хотел идеального воспроизведения, потому что интерфейсы меняются, а кнопки перемещаются. Мне нужен был цикл:
- вспомнить лучшую предыдущую процедуру
- сначала попробовать её
- проверить каждый шаг
- если не получится, вернуться к исследованию
- обновить память после успеха
Я также отделил постоянные правила от истории сессий. Правила вроде «не трогай данные продакшена» — это не контекст разговора. Это правила работы. Их разделение делает поведение ассистента предсказуемым.
Результат: повторные задачи стали выполняться быстрее. Ассистент работает оперативнее, потому что он не начинает с пустой тактической модели.
Если вы создаете кодинг-агентов, не путайте нить диалога с обучением.
- Сессия помогает с непрерывностью.
- Память помогает при повторении работы.
Сессия поддерживает жизнь в разговоре. Слой памяти сохраняет накопленный опыт.
Ваша система помнит нить диалога или она помнит успешную процедуру?
Источник: https://dev.to/codekingai/my-coding-agent-remembered-sessions-not-work-that-was-the-bug-2fig
