HeadlinesBriefing favicon HeadlinesBriefing.com

Непрерывность намерений для агентов программирования

Towards Data Science •
×

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

Главный урок: простое извлечение прошлой истории — это не то же самое, что знание того, что на самом деле всё ещё актуально. Базовая настройка поиска захватила только 57% требований, необходимых агенту программирования. Добавление слоя проверки подняло этот показатель до 100%.

Из 8 задач базовый вариант не решил ни одной, базовый поиск решил 4, а поиск с учётом намерений решил все 8. Я сделал всё это без эмбеддингов, без векторных баз данных и абсолютно без вызовов LLM в конвейере.

Я настроил рабочий процесс агента программирования, который сначала работал идеально. Но как только проект стал достаточно длинным, он начал вызывать проблемы. Когда проект превышал несколько десятков шагов, основные правила начали исчезать. Никто их не удалял. Окно контекста не было заполнено. Эти правила технически всё ещё находились в журналах чата. Они просто исчезли с радаров, потому что новые запросы не заставляли агента проверять, имеет ли более старое решение всё ещё значение.

Например, вы можете сказать агенту в первый день никогда не раскрывать внутренние идентификаторы базы данных в ответах API. Шестьдесят сообщений спустя вы просите его построить новый поток аутентификации. Этот новый запрос ничего не говорит об идентификаторах. Поскольку у агента нет чёткой причины оглядываться назад, он пропускает этот шаг и выпускает конечную точку, раскрывающую именно те данные, которые вы пытались защитить.

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