Защо AI асистентът ти „забравя“ проекта и как да го оправиш
Защо AI кодиращият агент постоянно забравя проекта ти (и как да го оправиш)
Всеки, който работи с AI асистенти по-дълго от няколко дни, се е сблъсквал с този проблем. Първата сесия върви отлично – агентът създава структурата, пише тестове, документира. На втория ден обаче започваш нова конверсация и трябва да обясняваш всичко отначало. До четвъртия ден ровенето из 70 000 токена чат история става ежедневие.
Проблемът не е само в размера на контекста. По-големият въпрос е къде точно пазим състоянието на проекта.
Чатът не е база данни
Чат разговорите са удобни за комуникация, но са ужасни като хранилище за проектна информация. Всяко решение се губи в потока от съобщения, няма единен източник на истината и всеки нов агент започва от нулата. Дори когато моделът пише добър код, той не може да разбере какво точно строим, ако няма достъп до актуалното състояние.
Решението: съхранявай състоянието като код
Вместо да трупаме информация в чата, можем да я пазим като обикновени Markdown файлове в репозиторието. Всеки файл съдържа заглавие, няколко метаданни полета и самото съдържание. Няма нужда от специален синтаксис или допълнителни инструменти.
Примерен файл изглежда така:
# Project Architecture Decision
Lifecycle: active
Role: spec
Project: payment-service
Updated: 2024-01-15
Related:
- implements: charter-payment-api
- pairs-with: implementation-log-payment-core
## Overview
Използваме директния Stripe API вместо wrapper библиотека, защото...
## Key Decisions
- Idempotency keys за всички операции
- Async webhook обработка с exponential backoff
- PII не се пази локално
CLI инструментът, който върши работата
Лек команден инструмент може да създава, архивира и валидира тези файлове. Вместо да молиш агента да чете чат история, му даваш команда:
docs list --project=payment-service --role=spec
docs check
Агентът вижда какво е решено, кое е в процес и кои записи са остарели. Може дори да променя състоянието чрез команди като docs create или docs archive, без да рискува да обърка структурата.
Свеж агент, познато състояние
Когато започва нова сесия, агентът първо извиква docs list, за да разбере какво е активно. Чете implementation лога от вчера и проверява текущия spec. Няма нужда да реконструира решенията от разхвърляни съобщения – всичко е на едно място.
Кога това наистина помага
Подходът е полезен, ако:
- работиш с AI pair programming инструменти върху проекти, които траят дни
- управляваш няколко AI агента и искаш да поддържаш съгласуваност
- използваш CI/CD, който проверява дали документацията е валидна
- работиш в екип и трябва всички да са наясно кое е решено и кое все още е отворено
Просто и скучно – точно затова работи
Няма нова база данни, няма специален редактор. Използваме Markdown, Git и CLI – инструменти, които разработчиците вече познават. Валидацията хваща грешките, индексът се генерира автоматично и състоянието остава последователно дори когато няколко сесии работят паралелно.
Това е инфраструктурата, която превръща „агентът сякаш работи“ в „агентът разбра проекта и го достави“.