Штучний Інтелект, Знання та Код: Як Один Розробник Перетворює Майбутнє Програмування
Нещодавно я випадково натрапила на надзвичайно цікаве відео на YouTube, яке буквально захопило мою увагу. Воно було від розробника, який не лише демонстрував, як він бореться з типовими проблемами, пов’язаними з використанням AI-асистентів у кодуванні, але й показував, як він їх вирішує. Це було майже як особиста розмова експерта з теми, яка хвилює багатьох з нас – майбутнє програмування та його взаємовідносини з штучним інтелектом. Тож, гаряча кава та моє бажання поділитися враженнями – ось результат.
Розпочинаючи, автор відео, здавалося, говорить від імені цілої спільноти: AI-асистенти коду – це благо та прокляття одночасно. Вони шалено прискорюють процес розробки, але також постійно роблять невеликі, але дуже прикрі помилки, які змушують заглиблюватися у безкінечні цикли виправлень. Це нагадує мені ситуації, коли, здається, все готово, але завжди є якась дрібниця, яка здатна зруйнувати весь план.
Але найголовніше, що мене зачепило – це його місія. Створення надійних AI-асистентів замість просто ще однієї іграшки. У відео він поділився своїм підходом до вирішення цієї проблеми, використовуючи два основні інструменти:
- Crawl for AAI Rag MCP server: Сервер, що забезпечує зовнішні знання для бібліотек та інструментів для кодування.
- Archon: Його власна розробка, AI агент-будівельник, який у другій версії обіцяє ще більше можливостей.
Найбільшим сюрпризом стало його експериментування з поєднанням графіків знань та AI-асистенції коду. Він представив концепцію використання графа знань як засобу для вирішення ключової проблеми – галюцинацій AI у коді. Галюцинації – це коли AI генерує код, якого фактично не існує, покладаючись лише на власний “досвід” (або, скоріше, його хибне тлумачення).
Щоб показати, про що йде мова, автор поділився прикладом з Pydantic AI, його улюбленим фреймворком для AI-агентів з відкритим вихідним кодом. Він створив граф знань, що включає всю інформацію з репозиторію Pydantic AI на GitHub. Цей граф містить інформацію про файли, функції, класи та їх атрибути, організовану у реляційну структуру, зрозумілу для AI-асистентів.
Він навів конкретний приклад, який ілюструє проблему галюцинацій. Розглянемо таку ситуацію: він використовував Windsurf – інструмент для створення AI-агентів на основі Pydantic AI – і попросив його створити агента. Агент був створений коректно, але коли дійшло до використання конкретної функції, Windsurf “вирішила”, що існує функція invoke_async
, якої… не було.
Це класичний приклад галюцинації: AI згенерував код, використовуючи синтаксис і функції, яких фактично не існує. Щоб вирішити цю проблему, автор створив скрипт, який звертається до графа знань і перевіряє, чи відповідають запропоновані функції та параметри реальності. І, звичайно, скрипт визначив, що invoke_async
не існує в класі PydanticAI
.
Потім розробник показав, як він використовує цей детектор галюцинацій як інструмент для виправлення помилок в AI-асистентах. Він може змусити AI-асистента згенерувати код, запустити його через детектор, виявити помилки та виправити їх самостійно. Як він зазначив, це дозволяє AI-асистенту вчитися та вдосконалюватися під час роботи.
Ще одним цікавим моментом є те, що детектор галюцинацій також працює з параметрами функцій. Якщо AI використовує правильну функцію, але з неправильними параметрами, детектор це теж виявить.
Автор підкреслив, що вся ця стратегія з використанням графів знань – це все ще експеримент, який він продовжує вдосконалювати. Але вона показує великі перспективи. Він також зазначив, що не хоче представляти це як єдине рішення для всіх задач кодування. Існують інструменти, які вже мають вбудовану самокорекцію, наприклад, для створення front-end додатків або браузерної автоматизації. Такими інструментами є, наприклад, Bolt.DIY та Lovable.
Але для випадків, коли галюцинації є серйозною проблемою, як в кодуванні, яке він показує в прикладi, така система з використанням графа знань є дуже перспективною.
Далі він перейшов до практичної частини, показуючи, як інтегрував можливості графа знань у свій Crawl for AAI Rag MCP сервер. Він представив інструменти, що дозволяють Cloud Code (інструмент, який він використовує для кодування) взаємодіяти з графом знань.
Він додав такі важливі інструменти:
- Інструмент для запуску скрипту перевірки галюцинацій;
- Інструмент для запитів до графа знань, що дає змогу досліджувати класи, методи та навіть писати власні запити;
- Інструмент для аналізу репозиторіїв GitHub.
Далі він показав, як працює все це у реальному часі, використовуючи Cloud Code. Він створив завдання для Cloud Code (що було детально описано в файлі claw.md
), щоб згенерувати агента Pydantic AI. Claude, використовуючи RAG та граф знань, пройшов через усі необхідні етапи. Він проводив пошук, аналізував документацію, звертався до графа знань та, зрештою, самостійно згенерував робочий код.
Коли ж агент був створений, він перевірив його за допомогою детектора галюцинацій. Результат? Жодної галюцинації! Це стало неймовірним досягненням.
Підсумовуючи, автор показав, як використання графа знань та RAG (Retrieval-Augmented Generation) може значно покращити якість AI-асистентів коду. Він продемонстрував, як можна зменшити кількість галюцинацій та створити більш надійних та корисних інструментів для розробників.
Завершив він з ентузіазмом, зазначивши, що всі ці новації будуть інтегровані в Archon V2, який він планує зробити кращим MCP сервером у світі для AI-кодування. Не можу не погодитися, що ідея дуже надихаюча!
Висновки та враження:
Цей сеанс, як на мене, був справжньою демонстрацією креативності та дослідницького підходу до вирішення проблем у сфері технологій.
- Емпатія до розробників: Автор розуміє та розділяє проблеми, з якими стикаються кодери. Він не просто показує рішення, він співчуває труднощам, з якими люди борються, та пропонує шляхи їх подолання.
- Зосередження на навчанні: По суті, він не просто пропонує інструмент, а показує, як створити кращого “учня” – AI-асистента, здатного до самонавчання.
- Графіки знань – майбутнє? Використання графів знань для боротьби з галюцинаціями – це справжня революція. Це відкриває абсолютно нові можливості у розробці на основі ІІ.
- Відкритість та співпраця: Ділитися своїми розробками з громадськістю – це ознака великого професіоналізму та бажання розвивати сферу.
Це відео залишає почуття оптимізму та віри в те, що майбутнє програмування буде більш ефективним, надійним та приємним для розробників. І найголовніше, воно показує, що навіть невеликі, але наполегливі зусилля можуть привести до великих змін.