CodeBuddy: Якіснэе выкарыстоўванне контексту для агентаў AI па програмаванні
Адказвае, як система адзыявання контэксту, керованая графам дапэльнасці, памагае агентам для кодавання на AI ухіліцца як ад нестатку контэксту, так і ад його перадмеры на вялікіх базах коду.
Занедбаныя проблемы ў агентным кодаванні
Адзінакавасць AI-агентаў для кодавання ўсё абоснована — Claude, Codex, Cursor і іншыя сталі практычна корыстнымі інструментамі. Але як толькі паспрабуеш выкарыстоўваць такі агент пры вялікай базе коду з рэальнага света прыблізна ўтыдzie, выявляецца вядомая проблема.
Сам агент не ёсць фактарам, які обмежвае работу. Не ў здольнасцях моделі прычына проблем. Проблема крыўдзіцца ў контэксте.
Два падчасовыя шаблону працоўных сутыканняях практычна постаюць знову і знову:
- Недастатак контэксту для агента — вы даеце яму заданне, а ён не ведае, якія правілы паводзяцца ў вашам проекте, не памятае пра падобны баг, які быў вылечаны, а потым зноў запусцаны, не розумее, якія файлы залежнаць ад таго, які ён зараз будзе мяняць. Рэзультатам являецца змяненне, якое выглядае разумным адокола, але є некоректным для всій системы.
Ні адна з гэтых проблем не стосуецца інтелігенціі модэлі. Бны ўсе ўзаўсёды су сімптамамі паслабленай працы з контэкстам. Гэта самая справжняя проблема, яку прагне рашыць CodeBuddy.
Створаны як альтернатыва, а не як запланаваны продукт
Задоўга да таго, як CodeBuddy стаў інструментам, його основная ідея вже практыкувалася вручную.
Калі ў проекте, які выкарыстоўваў Claude, была патрэбна справжняя змена, процедура завжды была аднаковая: трэба было знайсці вялікія функцыі, вышукать тэсты, якіе павярнуліся да таго частка коду, апрацаваць усі прыметкі, якія пояснялі, чаму все практыкуецца так, і перакласты ўсё гэта ў розмову, прычаму нават не паспісваючы змену. Гэта працавала, але было марудна, павтаральна і цэлкам залежала ад запам’ятоввання кодавой базы — памяці, якая неабходна апускаецца ў меру таго, як проект стае большым.
У канцэ наступіла явная запытка: чаму людзі выконваець ролю механізма адзысквання контэксту? Це механічная, павтаральная задача. Яна належыць да автоматызаціі, а не да галавы каго-небудзь.
Самэ гэтаму і з’явіўся CodeBuddy — не як рашэнне стварыць „інструмент для разработчыкаў AI“, а як рашэнне перастаць выконваць гэты пошук вручную.
Хыбны шлях прышвартавання: адказаўць від Graphify
Автаматызацыя гэтага крока адчынення значыла неабяжлівая дагадка пра тое, як CodeBuddy будзе розумець структуру проекта — якія файлы залежнаць ад каторых, што вызывае шта, і дзе знаходзяцца рэальныя архітектурныя межы.
Адзінэцкі проект, Graphify, вялікі час яшчэ рашыў гэтыя проблемы, стварыўшы рэальную графіку залежнасцяў кодавой базы, адобразваючы рэальныя зв’язкі межа файламі, а не выводзячы іх з патэранаў названняў чы суседства. Включэнне яго як залежнасці здавалася непатрэбной складнасцю — ўсё больш элементаў, ўсё больш крокаў інсталляцыі, ўсё больш патэнцыйнальных прычын аблукаў. Пачатковы план быў проста ўжо не включаць яго і прабаваць, каб CodeBuddy сам створыў сябе лёгкі архітектурны індэкс, выкарыстоўваючы экстракцію сімвалаў, спаводзячыся разамнае наявнасць файлаў і калькольку гэурыстык — проста столькі, сколькі патрэбна, каб направіць агента ў разумным напрамку.
Гэты падход не выйшаў.
Легкі індэксы моглі паказаць, што знаходзілася рыядом з чым, але не моглі надзяйна поясніць, чаму два файлы насправды былі з’яўлены, і не моглі праследаваць ланцуг залежнасцяў на глыбі трохоў чы трохоў чатырох крокаў — самэ гэтае ёсць інфармацыяю, якая мае найбольшое значэнне пры робці з кодам, які мае шырокі радыус вплыву. Паўтараючыся, агент рабіў змяны, якія на першы погляд здаваліся безпечнымі, але ламалі ўсё на другым роўні, проста таму, што індэкс не зафіксаваў гэтыя зв’язкі з достатню точнасцю.
Гэта прывела да змены падходу. У змену з таго, каб Graphify спрыяў як неабавязковы элемент, які трэба было прыдумаць пад ўсе, яны сталі ключовай часткой системы: CodeBuddy все ўсё працуе сам, выкарыстоўваючы свой внутршны індэкс, для тых, хто не жадае дапышваць дадатковую наладку. Але як толькі інсталюецца Graphify, CodeBuddy апыраецца на яго граф як на автаномны источнік архітектурных зв’язкаў, узамест таго, каб паслужвацца здогадкамі.
Гэтыя змены направлення ўсё ж такі ёсць справжней прычыной ныяшняга спосабу работы — не якае-небудзь новае фіча, а ўсвядомленне таго, што простейшы дизайн на самае ж быў горэйшы, пасля чаго адбываецца перабудова навакол той самай залежнасці, якой спачатку стараліся ухіліцца.
Як выглядае CodeBuddy ў практыцы сёння
1. Наладжэнне
npm install -g @ayushkumar320/codebuddy
codebuddy
Запуск codebuddy унутрь проекта абараняе тыя не такія прыемныя, але неабходныя крокі наладжэння:
- Праўяе звязак з локальной базай дадзеных PostgreSQL
- Застосоўвае тую схему і наладжэння, якія неабходны конкрэтнаму проекту
- Стварае прыватны файл налашоўкаў, прызначаны толькі для таго проекту
- Інтегруецца з Claude і Codex, дадаючы інструкцыі, якія паведамляють агента, як выкарыстоўваць інструменты CodeBuddy
- Прабуеяць заставіць вас выбраць, чы хочаце ўвімкнуць Graphify
Якщо вы выберете увімкнення Graphify, ёго сервер MCP будзе падключаны, і пасля таго запуск команды /graphify . стварае первачны архітэктурны карта для проекта. Якщо ж вы відмовіцеся ад гэтага, CodeBuddy будзе викорыстоўваць свой саветны індэкс — апранат все рава будзе працаваць цэлком, але архітэктурныя даны будуць менш тачнымі.
2. Асновны цыкл: context_pack
Сюды і адбываецца самая важная робота. Калі вы даёте агенту заданне — напрыклад, „дадаць можлівасць входу праз OAuth“ — ён не прыначаеяшчы шукаць файлы або пераглядаць увесь репазітарый. У замен ён вызывае інструмент CodeBuddy context_pack, які стварае чыста сфокусаваны пакет, які включае:
- Файлы, якія дэйсна маюць значэнне для задання
- Конкрэтныя функцыі і класы, якія беруць участь, а не цэлыя файлы, калі гэта можна ухіліцца
Рэзультатам яе працы ёсць маленькі, насытны пакет, прыгодны для данай задачы, а не вялікі, розрэджаны пакет. Саме гэта разлікаванне дазволяе адразніць справжняя поведэнчная модель, якая ведае контекст, ад той, якая толькі выглядае такой.
3. Агент адбывае змену
Завядзяўшы гэты пакет, Claude або Codex маюць всё неабходнае, каб аналізаваць наследныя эфекты, а не толькі негайныя змены — напрыклад, якія частыні коду выкарыстоўваюць гэтую функцыю, якія тэсты павінны продаўжваць праходзіць, і чы не былі такія падходы вялікі раз уж спробаваныя і праз тое відмовленыя.
4. CodeBuddy запам’ятае
Калі задача завершыцца, агент можа запісаць тое, што вывучыў, знадвае ў CodeBuddy: прынятыя яму рашэнні, правілы, якія ён адкрыў па дорозе, проблемы з регрэсіямі, падходы, якія виявіліся эфектываўскімі. Гэтыя знанні застаюцца локальна, розпадзяленыя між пам’ятчыкамі Postgres і Markdown, і ўключаюцца ў пакет контексту для наступной схожай задачы. У зменшэні да нуля па кожной сесіі система становіцца ўсё бол точней.
5. PR-ы пераглядаюцца аўтаматычна
Рабочы процес GitHub можа аўтаматычна падаваць інформацію пра кожны pull request, уключаючы:
- Някім чынам рызыкавае выглядае гэта змянена
- Дзе не хапяеся тэставанне
- Какія архітектурныя элементы паўтрапляюць пад вплыв змяны
- Чы не адхіляецца рэалізацыя ад пачатковага плану
- Чы фактычна успела перапрацоўка
Чаму гэта мае большое значэнне, чым можа здавацца
Існуе спадчына прыродзіць гэта пад „яшчо адным інструментам для разработкі, створаным на базе Claude“. Такой падход не берае ў расчыт кальколька аспектаў:
Гэты падход спрямованы на справжній бутылочны горлак. Моделі стаюць ўсё бол спроможнымі з вялікай шчыльнасцю. Адночасова якосьась контэксту, які ўжываецца для ўплыву на іх, не падыходзіць розмахам на рэвэлюцыйны лэвэл — большасць наладак усё яшчо выкарыстоўвае стандартны падход з чытанням цэлых файлоў або шуканнем па ўсім, спадзяючыся на найкращы рэзультат. CodeBuddy створаны на падставе гіпотэзы, што наступныя значныя прыросты ў агентнай разработцы коду буду паўставлены за рахунак паліпшэння таго, што ўжываецца для жывлення моделі, а не самай моделі.
З часам ён стае яшчэ эфектывным. Аплікацыя з контэкстным віндавам па значэнню не мае памяці — кожна сесыя запускаецца з нуля, якщо толькі аплікацыя сама не зберагае стан. Адказна CodeBuddy фіксуе рашэнні, правілы і проблемы, таму дзесяты заведома будзе выконвацца легча, чым першы, і вам не патрэбна будзе занова поясняць тое ж самае.
Ён чыста працуе з плюсамі і мінусамі, а не намагаецца іх сакраць. Варыянт Graphify як неабяжны ёсць прымусовай адказ на практычна спробу выключыць гэты мінус абсалютна, якая не паводзілася. Вы можете выбраць: без дадатковай наладкі і прыемнага, лёгкагі індэксу, альбо сапраўдна тачны граф архітектуры, якщо готавы дадаць ўсё ж адну дапаможную складовую.
Усё застаецца на вашам апараты. PostgreSQL, база дадзеных у формате Markdown, внутрэшныі індекс і графык з Graphify працуюць локальна. Даныя абавтанаваннях знаходзяцца ў прыватным файле налашоўкаў. Ёжыць кантэкст агента не трэба перадаваць вашу базу коду куды-небудзь ў іншае месца.
Ён падходзіць да інструментаў, якія люди вядома выкарыстоўваюць. Це не новы рэдаггер і не новы агент, якія трэба выучыць — ён прыўязуецца безпосередна да Claude і Codex, прыемліваючы вас там, дзе вы вядома працуеце, і проста робячы іх эфектывнейшымі у разумеўцы базы коду, якая стоіць перед нимі.
Куды ўсё гэта будзе развівацца
Это яшчэ проект на ранній стадыі, які актыўна развіваецца, і сама система памяці мае найбольшыя можлівасці для прабачэння — наразе яна працуе больш сярод структураваных нотатак, чым як система памяці з рангаванням інформацыі. Якщо вы викорыстоўваете AI-агентаў для напісання коду на рэальнай базе коду і сталкнуліся з проблемай «яны не розумеюць магчымасцей маёго проекту», вашыя адзывы сапраўды будуць цінныя:
npm install -g @ayushkumar320/codebuddy
Якщо вы спробуеце ўжыць гэты аптэк, або якщо вы рашылі гэту проблему іншым спосабам у сваёй сістэме, будзе карысна падазначыць свой дазвіл.
CodeBuddy — это слой кантэкст-менеджмента для AI-агентаў для напісання коду, такіх як Claude і Codex. Ён падготавлівае сфокусаваны, рэлевантны кантэкст у замест на прымусовае чытанне всей базы дадзеных, і можа за жаданнем інтегрувацца з Graphify для болей дакладной карты архітектуры. Ён доступны на npm пад назвай @ayushkumar320/codebuddy.
Спадневаная літэратура
- Розумеўце AI-агентаў: цялі, інструменты, память і цикл агента — проста для пачаткуючых інфармацыя пра тое, чаму AI-агенты не адналежаць да чатботаў, з розглядам ключоўых складовых, циклу прыняцтва рашэнняў, рагоўнасці і практычных прыкладаў выкарыстання.
- Порэванне AI-агентаў Frontier: Astra, Flash, Fable і Mythos — аналіз таго, як найновейшыя версіі модэляў GPT, Gemini і Claude выконваюць рэальныя заведамыя задачы, такія як програмаванне, перегляд інтэрнету і выкарыстання інструментаў, а не толькі на тэстовых показніках.