Від Ідеї до Виробництва: Як Моя AI-Фабрика Програмного Забезпечення Отримала “Пульт Керування”
Протягом останнього року я повністю занурився у розробку власної AI-фабрики програмного забезпечення. Це система, яка бере на себе повний цикл розробки – від постановки задачі до релізу коду. Вона планує, пише, тестує та впроваджує програмне забезпечення, фактично виступаючи як автономний розробник. Створення такої надійної та масштабованої системи виявилося складним завданням, і я багато чого навчився на власному досвіді, проходячи через безліч “болючих точок”. Моя мета – поділитися цими знаннями, щоб ви, мої читачі, могли уникнути подібних перешкод.
Сьогодні я хочу провести вас за лаштунки моєї “фабрики” та показати, як я керую її еволюцією. Я розробив централізовану панель управління, яку називаю “Mission Control”. Впевнений, цей інструмент стане вам у нагоді та, можливо, надихне на власні розробки.
Ця розповідь може здатися дещо неструктурованою, адже це, по суті, мій щоденник розробника. Але я прагну показати вам комплексний підхід, який стає все більш актуальним у галузі. Компанії, які масштабують розробку з використанням AI-фабрик, активно створюють подібні інтерфейси управління. Це пов’язано з тим, що така фабрика – це живий організм, який потребує постійного вдосконалення, оптимізації процесів та адаптації до нових викликів.
У цій статті я продемонструю вам ключові компоненти моєї панелі керування. Ми розглянемо загальну картину робочого процесу фабрики, заглибимося в окремі навички, які використовують мої AI-агенти, та обговоримо найважливіші рішення, які я приймав для оптимізації її роботи. Ми також проаналізуємо індивідуальні “запуски” (runs) фабрик, які наразі працюють під моїм контролем, і розглянемо, як я обробляю завдання, що вимагають моєї безпосередньої уваги.
Значна частина моєї роботи була зумовлена усвідомленням, що повна автономність не завжди є оптимальним рішенням. Я зрозумів, що для забезпечення максимальної надійності системи, певні рішення мають “спливати” до людини. Цей підхід дозволяє мінімізувати людське втручання, зберігаючи при цьому високий рівень контролю. Ми прагнемо до максимальної автоматизації, але без ефекту “чорної скриньки”.
На початку року я запустив свою “темну фабрику” – повністю автономну систему без людського втручання. Я публічно документував цей процес на своєму каналі. Початкова мета полягала в тому, щоб надати лише високорівневий опис продукту (Product Requirements Document – PRD), а система самостійно б розбила його на завдання, пройшла б усі етапи розробки, перевірки та код-рев’ю, і врешті-решт, самостійно злила б код у продакшн. Це була мрія генеративного ШІ, де він достатньо надійний, щоб перейти від ідеї до повністю валідованого коду без участі людини, навіть на етапі мержу.
Однак, хоча такий підхід ефективний для Proof of Concepts, він виявився недостатнім для більш складних завдань. Мені довелося зменшити рівень автономності та додати більше людського втручання, що врешті-решт призвело до створення “фабрики програмного забезпечення”, якою я зараз керую за допомогою “Mission Control”. Ця система, на мою думку, є справді робочим рішенням.
Буду відвертим, спочатку я не був у захваті від ідеї створювати “пульт керування” для фабрики. Я побоювався, що це зменшить її автономність і вимагатиме більше мого управління. Але я побудував “Mission Control” так, щоб забезпечити високорівневий огляд, що значно спрощує вдосконалення фабрики та управління процесами в реальному часі. Це єдиний ефективний спосіб керувати складністю такої системи. Незважаючи на простоту інтерфейсу, під капотом відбувається надзвичайно багато процесів: управління залежностями, паралельне виконання завдань для масштабування, налаштування валідації додатків, управління стейджинговими середовищами, де залучена людина.
Наявність такої системи, яка допомагає відстежувати процеси, зручно виводити рішення, що потребують людського втручання, замість постійного перегляду GitHub Issues, стало справжнім проривом. Це створило мені “другий мозок”, який значно підвищує мою продуктивність.
Знайомство з Віктором: Ваш AI-співробітник
Для демонстрації однієї з ключових функціональностей, я інтегрував “Віктора” – нашого спільного AI-співробітника. Раніше, коли членам моєї команди потрібно було дізнатися про статус завдання чи прийняті рішення, вони зверталися до мене. Тепер, завдяки Віктору, це стало набагато простіше.
Віктор інтегрований з нашим Slack-каналом. Наприклад, перед командною зустріччю ми можемо попросити його скласти порядок денний, витягнути “завислі” завдання з Jira, переглянути останні мержі в нашому репозиторії Archon, або проаналізувати відкриті питання в гілках. Усі рішення, прийняті під час зустрічі, ми можемо передати Віктору, який потім перетворить їх на завдання в Jira. Це значно прискорило процес, скоротивши час від зустрічі до створення завдань з 4,5 годин до кількох хвилин.
Віктор – це AI-співробітник, який працює в Slack або Teams і підключений до понад 9800 інструментів. Він не просто відповідає на запитання, а виконує реальні завдання. І оскільки він спільний, будь-хто з команди може доручити йому роботу. Якщо ви хочете “найняти” Віктора для себе, відвідайте victor.com і отримайте 100 доларів безкоштовної роботи, використовуючи мій код COLEMEDIN100.
Фабрика Будує Свій Пульт Керування
Як ви, напевно, здогадалися, панель керування “Mission Control” також створена за допомогою моєї AI-фабрики програмного забезпечення. Це чудовий приклад самовдосконалення: чим кращою стає моя фабрика, тим ефективнішою стає панель, що, в свою чергу, полегшує управління фабрикою. Це створює позитивний зворотний зв’язок, який з часом призведе до самодостатньої еволюції системи.
До створення “Mission Control” я керував усіма процесами безпосередньо в GitHub. Це працювало, але вимагало постійного відстеження коментарів у PR, перегляду мержів та аналізу “запусків”. Панель керування значно спростила цей процес.
Перший Погляд на Mission Control
Ключовим елементом головної сторінки “Mission Control” є високорівнева візуалізація моєї фабрики. Вона показує всі точки прийняття рішень та окремі навички. До появи цієї візуалізації мені було складно уявити загальну картину фабрики та планувати її подальший розвиток. “Mission Control” кардинально змінила цей підхід.
Зазирнемо під Капот: Інфраструктура Фабрики
Базова інфраструктура фабрики базується на базі даних PostgreSQL, а управління всіма процесами здійснюється за допомогою Archon. Я повернуся до цього пізніше, але спочатку давайте пройдемося по основних секціях панелі.
Ключові Рішення та Тестування
Першим після головної візуалізації я додав вкладку, яка документує ключові рішення, прийняті під час еволюції фабрики. Коли виникають проблеми, я консультуюся зі своїм агентом, щоб знайти шляхи вдосконалення. Ця вкладка дозволяє мені фіксувати ці рішення, щоб не повторювати помилки минулого, а також відстежувати впровадження нових ідей та експериментальних змін.
Ключовим рішенням, яке я прийняв на ранньому етапі, було використання Archon для управління всіма процесами.
Версіонування та Порівняння
Усі прийняті рішення призводять до створення різних версій моєї фабрики, які зберігаються в системі контролю версій. Я можу переглядати відмінності між будь-якими двома версіями, включаючи зміни в робочих процесах, кроках, базових промптах та навичках. Це надзвичайно корисно для розуміння еволюції системи.
Здоров’я Системи та Звіти про Помилки
Я також відстежую загальний стан панелі. Аналіз збоїв допомагає виявити їх причини. Наприклад, деякі збої були спричинені перевищенням лімітів запитів до Claude, тоді як інші – помилками в робочих процесах, які потребували коригування.
Управління Поточними Запусками
У мене є кілька вкладок для управління поточними “запусками” кожної окремої фабрики. Ці вкладки адаптуються під обрану фабрику. Наприклад, на основі PRD, завдання розбиваються та візуалізуються. Я бачу, які завдання вже виконані, а які потребують моєї уваги. Це підводить нас до вкладки “власник”.
Три сині елементи на зображенні – це поточні “запуски”. Центральний елемент переглядає pull request, а два інші знаходяться на етапі реалізації. Я можу детально переглянути кожен “запуск”, щоб зрозуміти його етап, прийняті рішення та складність завдання. Моя фабрика динамічна: вона виконує різні кроки залежно від складності завдання, щоб оптимізувати час та ресурси.
Таблиця Результативності (Scorecard)
Вкладка “власник” буде розглянута пізніше. “Scorecard” – це цінний інструмент, який показує ключові метрики поточної версії фабрики: кількість “запусків”, мержів, час виконання. Ці дані допомагають мені визначити, чи потребує версія вдосконалення, та які саме зміни слід внести.
Тестування та Ретроспектива
Вкладка тестування надає інформацію про сценарії регресійного тестування та тестування кожної функції. Я можу бачити, які сценарії виконуються, а які пропускаються, а також загальний результат тестів.
Історія Змін та Відкат
Я веду запис усіх версій та основних змін. Функція “Rewind” дозволяє мені повернутися до попередніх версій фабрики програмного забезпечення для тестування або аналізу, використовуючи розгалуження в Neon.
Зараз ми перебуваємо на “live branch”. Це загальний огляд панелі. Хоча деякі аспекти можуть бути специфічними для моєї системи, я сподіваюся, що ви знайдете натхнення для впровадження подібної спостережуваності та спрощення управління вашими AI-системами.
Archon: Кістяк Фабрики
Archon – це мій open-source builder робочих процесів. Він дозволяє перетворювати будь-який процес кодування ШІ на багаторазово використовуваний робочий процес, значно спрощуючи управління складними інженерними завданнями, такими як робочі дерева, що дозволяє ефективно паралелізувати виконання.
Archon є основою моєї фабрики програмного забезпечення. Жоден агент кодування не працює поза Archon workflow. Вся фабрика – це колекція Archon workflow, які керують плануванням, реалізацією та валідацією.
UI Archon надає повну спостережуваність, включаючи детальні логи кожного “запуску”. Моя панель керування також використовує ці дані для глибокого аналізу окремих кроків “запусків” фабрики.
Мій колега Расмус, співавтор Archon, вклав багато зусиль у створення робочих процесів, які запускають мою фабрику, зокрема в пакеті SDLC. Кожен робочий процес потребує ретельного розгляду.
Усі процеси, що працюють на фабриці, використовують Archon. Краса Archon полягає в тому, що всі дані, від викликів інструментів агента до прийнятих ним рішень, зберігаються в базі даних PostgreSQL.
Neon PostgreSQL: Серце Системи
Я інтегрував Archon з Neon, який служить базою даних для всіх операцій моєї фабрики програмного забезпечення. Це забезпечує повні аудиторські журнали, що дозволяє мені аналізувати помилки та вдосконалювати фабрику. Зберігання кожного кроку агента, кожного рішення та виклику інструменту є критично важливим для розуміння та оптимізації системи.
Управління Рішеннями Власника
Одним з найскладніших завдань раніше було управління рішеннями власника – запитаннями, блокерами, що потребують моєї уваги. Це не “темна фабрика”, тому людське втручання необхідне. Раніше це виглядало як звернення через GitHub Issues або Pull Requests. Я мав постійно відстежувати репозиторій, сповіщення по email або Slack. Це працювало, але я прагнув керувати всім в одному місці.
Функції Neon та Webhooks
Я використовую потужні функції Neon, включаючи автентифікацію, об’єктне сховище, функції та AI Gateway. GitHub webhook запускає функцію Neon, коли з’являється новий GitHub issue або pull request. Оскільки вся моя фабрика управляється через issues та PR, це надає єдину точку входу для обробки всіх подій, що відбуваються на фабриці, та їх зберігання в Neon PostgreSQL. Усі мої Archon запуски також зберігаються в PostgreSQL, створюючи централізоване сховище для всіх даних та спостережуваності.
Realtime Querying: Життя в реальному часі
Моніторинг функцій Neon показує активність на моїй фабриці. Neon Realtime, який знаходиться в публічній бета-версії, дозволяє зробити будь-який SQL-запит “живим”.
Моя панель використовує SQL-запити, підключені до Neon Realtime, для отримання даних в реальному часі. Це дозволяє мені спостерігати за новими записами, новими pull requests, issues, коментарями – будь-якими подіями, що відбуваються на фабриці. Це надзвичайно корисно під час оптимізації системи.
Усе Відкрито!
Це загальний огляд моєї панелі керування та фабрики програмного забезпечення, що сподіваюся, надасть вам нові ідеї та натхнення. Я активно працюю над вдосконаленням фабрики, використовуючи “Mission Control” для допомоги.
Я роблю весь проект open-source, щоб ви могли використовувати мою фабрику для створення власного програмного забезпечення. Навіть якщо ви хочете використовувати мої ресурси як відправну точку, я заохочую вас до цього. Для повноцінного використання “з коробки” я рекомендую використовувати Neon, який надає необхідний бекенд для зберігання та обробки даних.
Якщо вам сподобався цей контент і ви з нетерпінням чекаєте на більше матеріалів про мою фабрику програмного забезпечення та інженерію агентів, будь ласка, поставте лайк та підпишіться. До зустрічі в наступному відео!







