⚠️Ваш AI-агент щойно ідеально реалізував погану ідею
Spec-Kit, Superpowers, MUSUBI, Intent, CSDD, Tessl - я переглянув 16 spec-driven фреймворків.
Так, усі вони бездоганно перевіряють: чи код відповідає специфікації, чи є тести, чи дотримано constitution, чи 100% traceability.
Але жоден не перевіряє головне: чи специфікація взагалі мала сенс⁉️
Матриця по 16 фреймворках.
🪫Одна колонка порожня у 15 з них
А тепер питання до вас: чи ловили цю проблему
"
Мій досвід тут:
🔗 https://dev.to/kucherenko/16-frameworks-one-blind-spot-20cg
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
Spec-Kit, Superpowers, MUSUBI, Intent, CSDD, Tessl - я переглянув 16 spec-driven фреймворків.
Так, усі вони бездоганно перевіряють: чи код відповідає специфікації, чи є тести, чи дотримано constitution, чи 100% traceability.
Але жоден не перевіряє головне: чи специфікація взагалі мала сенс⁉️
Матриця по 16 фреймворках.
🪫Одна колонка порожня у 15 з них
А тепер питання до вас: чи ловили цю проблему
"
ідеально реалізованої поганої ідеї"?Мій досвід тут:
🔗 https://dev.to/kucherenko/16-frameworks-one-blind-spot-20cg
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
❤8👍2👏2
Поки тиша на каналі - я писав статтю на HackerNoon.
Запустив jscpd на 49 проектах з GitHub, які створені AI-агентами. Хотів виміряти скільки коду вони копіпастять.
Знайшов інше🤯
Перший проект у рейтингу за дуплікацією виявився не AI-додатком, а бібліотекою скілів для AI-агентів.
Другий - теж
бібліотека скілів.
Третій - фреймворк
для агентів.
‼️Тобто інфраструктура, яка вчить AI писати чистий код, сама на 30-40% складається з повторів.
Стаття пройде editorial review - кину посилання. А поки що почитайте сирі дані:
🔗 kucherenko.github.io/cpd-vibe-coding-report
Цікаво подивитись на свій проект jscpd-ом?
#CopyPasteDetector #jscpd #TokenEconomics #LLM #SDD #VibeCoding #SpecDrivenDevelopment
Запустив jscpd на 49 проектах з GitHub, які створені AI-агентами. Хотів виміряти скільки коду вони копіпастять.
Знайшов інше🤯
Перший проект у рейтингу за дуплікацією виявився не AI-додатком, а бібліотекою скілів для AI-агентів.
Другий - теж
бібліотека скілів.
Третій - фреймворк
для агентів.
‼️Тобто інфраструктура, яка вчить AI писати чистий код, сама на 30-40% складається з повторів.
Стаття пройде editorial review - кину посилання. А поки що почитайте сирі дані:
🔗 kucherenko.github.io/cpd-vibe-coding-report
Цікаво подивитись на свій проект jscpd-ом?
#CopyPasteDetector #jscpd #TokenEconomics #LLM #SDD #VibeCoding #SpecDrivenDevelopment
❤8🔥4👏3
🏗 Як виглядає проект, де AI-агенти не імпровізують
Money Tracker - PWA для трекінгу фінансів.
⚒️Svelte 5 + Bun + Hono + SQLite. Multi-user auth, multi-currency, OCR чеків. Збудовано через Gangsta Agents:
🟢 Кожна фіча - окремий Heist із 6 фаз. Артефакти лежать у docs/gangsta/. Видно ВСЕ - не тільки код, а й чому саме так
🟢 First-run setup: 2 раунди Grilling до коду. Адвокат знайшов TOCTOU race condition. Don викинув env-змінні. До імплементації не дійшло - ідея була не готова
🟢 Auth-Heist: 59 тестів, 0 фейлів. 12 Work Packages, кожен трасується до пункту контракту
🟢 Ledger зберігає Commandments: "Never delete refresh tokens on first use". Уроки виплачені кров'ю - наступний агент їх читає до коду
🟢 Negative Constraints - гейт, який Devils-Advocate перевіряє автоматично
Часто AI-фреймворки показують теорію без коду або код-приклади без реальної історії розробки.
Money Tracker - живий продукт. Всі рішення задокументовані. Всі відкинуті альтернативи зафіксовані.
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
Money Tracker - PWA для трекінгу фінансів.
⚒️Svelte 5 + Bun + Hono + SQLite. Multi-user auth, multi-currency, OCR чеків. Збудовано через Gangsta Agents:
🟢 Кожна фіча - окремий Heist із 6 фаз. Артефакти лежать у docs/gangsta/. Видно ВСЕ - не тільки код, а й чому саме так
🟢 First-run setup: 2 раунди Grilling до коду. Адвокат знайшов TOCTOU race condition. Don викинув env-змінні. До імплементації не дійшло - ідея була не готова
🟢 Auth-Heist: 59 тестів, 0 фейлів. 12 Work Packages, кожен трасується до пункту контракту
🟢 Ledger зберігає Commandments: "Never delete refresh tokens on first use". Уроки виплачені кров'ю - наступний агент їх читає до коду
🟢 Negative Constraints - гейт, який Devils-Advocate перевіряє автоматично
Часто AI-фреймворки показують теорію без коду або код-приклади без реальної історії розробки.
Money Tracker - живий продукт. Всі рішення задокументовані. Всі відкинуті альтернативи зафіксовані.
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
👍4🔥4❤3👏1
⚔ The Grilling: чому без adversarial review AI агент реалізує першу згенеровану ідею
Подивився 4 фреймворки spec-driven development:
• Spec Kit (88k)
• OpenSpec (37k)
• BMad (44k)
• Gangsta Agents (new)
У трьох з чотирьох немає головного: механізму, який ламає погану ідею ДО коду.
Як це працює в реальності:
🤖Агент пропонує рішення.
🧠Воно виглядає логічно.
✅Тести зелені.
🧑🏼💻Code review проходить.
Через тиждень виявляється, що архітектурно це глухий кут. Або security діра. Або переписувати все…
Чому? Бо ніхто не атакував ідею, поки була змога її дешево змінити.
The Grilling - це формалізована суперечка трьох ролей:
🟡Proposer - пропонує архітектуру
⚫️Devils-Advocate - зобов'язаний атакувати: вразливості, regression risks, порушення constitution
🔵Synthesizer - інтегрує валідні атаки і фідбек Don-а
🔴 Don (ти - User) - найвища інстанція. Жоден етап не проходить перевірку без твого прямого схвалення.
Мінімум 2 раунди. Максимум 7. Вихід тільки за Nash Equilibrium - коли Devils-Advocate не може підняти жодне нове валідне заперечення.
Це не "ну подебатили і досить". Це математичний критерій зупинки. Без критерію зупинки суперечка триває, поки всі не втомились.
🚨І перемагає не найкраща ідея, а найгучніший голос.
У BMad є свій reviewer, але без Nash. У Spec Kit і OpenSpec немає взагалі - тільки через розширення.
Чому це важливо в епоху AI 👇
Агент без атаки на ідею пише ту, яка прийшла першою.
Це не баг моделі.
Це властивість процесу.
Агент - не архітектор.
Він виконавець.
Питання до вас 💬
У вашій команді хтось ОБОВ'ЯЗКОВО шукає проблеми в пропозиції до того, як її імплементують? Чи це робить ваш лід на ретро - коли вже пізно?
А завтра поясню, чому «Правильний код» ≠ «правильна система»
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
Подивився 4 фреймворки spec-driven development:
• Spec Kit (88k)
• OpenSpec (37k)
• BMad (44k)
• Gangsta Agents (new)
У трьох з чотирьох немає головного: механізму, який ламає погану ідею ДО коду.
Як це працює в реальності:
🤖Агент пропонує рішення.
🧠Воно виглядає логічно.
✅Тести зелені.
🧑🏼💻Code review проходить.
Через тиждень виявляється, що архітектурно це глухий кут. Або security діра. Або переписувати все…
Чому? Бо ніхто не атакував ідею, поки була змога її дешево змінити.
The Grilling - це формалізована суперечка трьох ролей:
🟡Proposer - пропонує архітектуру
⚫️Devils-Advocate - зобов'язаний атакувати: вразливості, regression risks, порушення constitution
🔵Synthesizer - інтегрує валідні атаки і фідбек Don-а
🔴 Don (ти - User) - найвища інстанція. Жоден етап не проходить перевірку без твого прямого схвалення.
Мінімум 2 раунди. Максимум 7. Вихід тільки за Nash Equilibrium - коли Devils-Advocate не може підняти жодне нове валідне заперечення.
Це не "ну подебатили і досить". Це математичний критерій зупинки. Без критерію зупинки суперечка триває, поки всі не втомились.
🚨І перемагає не найкраща ідея, а найгучніший голос.
У BMad є свій reviewer, але без Nash. У Spec Kit і OpenSpec немає взагалі - тільки через розширення.
Чому це важливо в епоху AI 👇
Агент без атаки на ідею пише ту, яка прийшла першою.
Це не баг моделі.
Це властивість процесу.
Агент - не архітектор.
Він виконавець.
Питання до вас 💬
У вашій команді хтось ОБОВ'ЯЗКОВО шукає проблеми в пропозиції до того, як її імплементують? Чи це робить ваш лід на ретро - коли вже пізно?
А завтра поясню, чому «Правильний код» ≠ «правильна система»
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
GitHub
gangsta/docs/heist-pipeline.md at master · kucherenko/gangsta
AI agentic skills framework for spec-driven development, built on the organizational model of mafia. - kucherenko/gangsta
❤9👍4🔥2😁1
Vibe coding vs Spec-Driven Development (SDD)
Різниця не в швидкості.
Різниця в тому, хто головний.
🤖У vibe coding головний - агент:
- ти кидаєш промпт, він вирішує як;
- пише код, який проходить тести і працює на щасливому шляху;
- і це все одно може бути не та система.
Бо "правильний код" - властивість тексту. Тести зелені, лінтер мовчить.
А "правильна система" - властивість сенсу. Робити те, що треба, у тому контексті, що є, не ламаючи сусіднє.
Між ними прірва.
Туди провалюються проекти, які стартували з "та тут на тиждень роботи" і закінчились "давайте перепишемо з нуля". Код був ідеальний. Задум - ніколи не зафіксований.
⚖️У SDD головна - специфікація. The Spec is Law:
- агент не співавтор, який імпровізує;
- він виконавець контракту;
- якщо код суперечить спеці - переписуємо спеку першою, через процедуру;
- ніколи навпаки;
- ніколи "ну він же сам так вирішив, нехай буде".
Що це міняє на практиці 👇
Це не про "більше документації". Це про те, хто диктує: твій задум чи імпровізація агента🥊
#SDD #VibeCoding #SpecDrivenDevelopment
Різниця не в швидкості.
Різниця в тому, хто головний.
🤖У vibe coding головний - агент:
- ти кидаєш промпт, він вирішує як;
- пише код, який проходить тести і працює на щасливому шляху;
- і це все одно може бути не та система.
Бо "правильний код" - властивість тексту. Тести зелені, лінтер мовчить.
А "правильна система" - властивість сенсу. Робити те, що треба, у тому контексті, що є, не ламаючи сусіднє.
Між ними прірва.
Туди провалюються проекти, які стартували з "та тут на тиждень роботи" і закінчились "давайте перепишемо з нуля". Код був ідеальний. Задум - ніколи не зафіксований.
⚖️У SDD головна - специфікація. The Spec is Law:
- агент не співавтор, який імпровізує;
- він виконавець контракту;
- якщо код суперечить спеці - переписуємо спеку першою, через процедуру;
- ніколи навпаки;
- ніколи "ну він же сам так вирішив, нехай буде".
Що це міняє на практиці 👇
🤖Vibe coding: вимоги живуть в історії чату.
⚖️SDD: у документі, який є джерелом правди.
———
🤖Vibe coding: агент вирішує архітектуру на ходу.
⚖️SDD: архітектура зафіксована до першого рядка.
———
🤖Vibe coding: помилку знаходиш на проді.
⚖️SDD: погана ідея вмирає на етапі рев'ю спеки.
———
🤖Vibe coding: кожна сесія - чистий аркуш.
⚖️SDD: рішення і відмови зберігаються між сесіями.
———
🤖Vibe coding швидкий рівно до моменту, коли треба зрозуміти, що там відбувається.
⚖️SDD повільний на старті - і швидкий усе інше життя проекту.
Це не про "більше документації". Це про те, хто диктує: твій задум чи імпровізація агента🥊
#SDD #VibeCoding #SpecDrivenDevelopment
👍9❤4🔥2😁1
42% дублів. Не в коді від AI - у файлах, що вчать AI не дублювати‼️
Я просканував 49 AI-згенерованих проектів на GitHub
🍋У 7.24 млн рядків коду:
🔁 25 612 дубльованих блоків
📊 7,98% середнє дублювання
⚠️ 45 із 49 проектів - з дублями
Думав, найгірші — «vibe-coded» застосунки, зліплені за вихідні з AI. Виявилось - ні. 6–9%. Вище норми, але не критично.
А далі - головний парадокс.
Skill-бібліотеки - markdown-інструкції, що вчать Claude, Cursor, Gemini й Codex поводитись правильно - дали 30–42% дублів
Я підтримую jscpd 13 років. Бачив багато дублів. Але це нова форма: шар, що вчить машини дисципліни, - найменш дисциплінований у стеку
Повна методологія, топ-10 і застереження 👇
🔗https://hackernoon.com/what-49-vibe-coded-github-projects-revealed-about-ai-code-duplication
#CopyPasteDetector #jscpd #LLM #SDD #VibeCoding #SpecDrivenDevelopment
Я просканував 49 AI-згенерованих проектів на GitHub
🍋У 7.24 млн рядків коду:
🔁 25 612 дубльованих блоків
📊 7,98% середнє дублювання
⚠️ 45 із 49 проектів - з дублями
Думав, найгірші — «vibe-coded» застосунки, зліплені за вихідні з AI. Виявилось - ні. 6–9%. Вище норми, але не критично.
А далі - головний парадокс.
Найвищий рівень дублювання спостерігався в інфраструктурі, створеній для того, щоб AI-агенти генерували чистий кодSkill-бібліотеки - markdown-інструкції, що вчать Claude, Cursor, Gemini й Codex поводитись правильно - дали 30–42% дублів
Я підтримую jscpd 13 років. Бачив багато дублів. Але це нова форма: шар, що вчить машини дисципліни, - найменш дисциплінований у стеку
Повна методологія, топ-10 і застереження 👇
🔗https://hackernoon.com/what-49-vibe-coded-github-projects-revealed-about-ai-code-duplication
#CopyPasteDetector #jscpd #LLM #SDD #VibeCoding #SpecDrivenDevelopment
❤6👍5🔥3👏1
Історія про те, як AI-агенти нескінченно повторюють одні й ті самі помилки - бо система не вміє їх запам’ятовувати
На прикладі Money Tracker. Це не теоретичний edge case - це 1-2% мобільних сесій у поганій мережі.
У нас є Ledger - файл колективної пам’яті проекту. Туди потрапляють уроки, «виплачені» попередніми Heist-ами. Наступний агент читає їх ДО того, як писати код.
Один з найдорожчих рядків там:
«Never delete refresh tokens on first use; mark them as consumed.»
Звідки він з'явився 👇
Auth-Heist.
Реєстрація + логін + refresh-token rotation.
Класична схема: при оновленні access-token-у refresh теж ротується. Старий стає недійсним. Виглядає безпечно.
Перша імплементація виглядала логічно:
🔺 клієнт приходить з refresh-token;
🔺 сервер одразу видаляє його з БД
🔺 видає новий;
🔺 повертає клієнту.
Проблема знайшлась у тестах race condition.
Сценарій:
🔴 Клієнт надсилає запит А з refresh-токеном.
🔴 Сервер видаляє токен, видає новий, відповідає.
🔴 Відповідь губиться у мережі - timeout або обрив.
🔴 Клієнт ретраїть з тим самим refresh-токеном.
🔴 Сервер: "Цього токена немає в БД"
😡Logout. Юзер злий.
Що означає: погана ідея пройшла гейт. Дорого виправляли.
Рішення: не видаляти токени. Маркувати як consumed. У БД лишається запис, при ретраї сервер бачить consumed=true і повертає кеш попередньої відповіді або новий refresh, якщо вікно ретраю активне.
І найважливіше 👇
Цей рядок тепер у Ledger, у файлі, який Reconnaissance ОБОВ'ЯЗКОВО читає до кожного нового Heist-у з auth-тематикою.
Тобто наступний агент, який торкатиметься токенів, отримає це як ввідні. Без шансу пропустити.
❗️Чому це важливо
Більшість команд "вчаться на своїх помилках" неформально:
🚩Це означає - не вчаться.
🚩Урок живе в голові того, хто помилився.
🚩Звільнився - урок зник.
🚩Прийшов новий розробник - повторив помилку.
Ledger - це механізм, який робить інституційну пам'ять примусовою❗️
Скільки коштує ваше “ми це вже проходили, але я забув”?
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
На прикладі Money Tracker. Це не теоретичний edge case - це 1-2% мобільних сесій у поганій мережі.
У нас є Ledger - файл колективної пам’яті проекту. Туди потрапляють уроки, «виплачені» попередніми Heist-ами. Наступний агент читає їх ДО того, як писати код.
Один з найдорожчих рядків там:
Звідки він з'явився 👇
Auth-Heist.
Реєстрація + логін + refresh-token rotation.
Класична схема: при оновленні access-token-у refresh теж ротується. Старий стає недійсним. Виглядає безпечно.
Перша імплементація виглядала логічно:
🔺 клієнт приходить з refresh-token;
🔺 сервер одразу видаляє його з БД
🔺 видає новий;
🔺 повертає клієнту.
Проблема знайшлась у тестах race condition.
Сценарій:
🔴 Клієнт надсилає запит А з refresh-токеном.
🔴 Сервер видаляє токен, видає новий, відповідає.
🔴 Відповідь губиться у мережі - timeout або обрив.
🔴 Клієнт ретраїть з тим самим refresh-токеном.
🔴 Сервер: "Цього токена немає в БД"
😡Logout. Юзер злий.
Що означає: погана ідея пройшла гейт. Дорого виправляли.
Рішення: не видаляти токени. Маркувати як consumed. У БД лишається запис, при ретраї сервер бачить consumed=true і повертає кеш попередньої відповіді або новий refresh, якщо вікно ретраю активне.
І найважливіше 👇
Цей рядок тепер у Ledger, у файлі, який Reconnaissance ОБОВ'ЯЗКОВО читає до кожного нового Heist-у з auth-тематикою.
Тобто наступний агент, який торкатиметься токенів, отримає це як ввідні. Без шансу пропустити.
❗️Чому це важливо
Більшість команд "вчаться на своїх помилках" неформально:
🚩Це означає - не вчаться.
🚩Урок живе в голові того, хто помилився.
🚩Звільнився - урок зник.
🚩Прийшов новий розробник - повторив помилку.
Ledger - це механізм, який робить інституційну пам'ять примусовою❗️
Не "було б добре пам'ятати", а "наступний агент не зможе працювати, не прочитавши".
Скільки коштує ваше “ми це вже проходили, але я забув”?
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
GitHub
GitHub - kucherenko/gangsta-money-tracker-example
Contribute to kucherenko/gangsta-money-tracker-example development by creating an account on GitHub.
❤8👍3👏2🔥1
🎮 «Додати лідерборд у Tetris». Тривіально?
Прогнали цю «просту» фічу через adversarial review ДО специфікації.
Один раунд.
Devil's Advocate знайшов три діри:
1) Порушення constitution - буфер імені в чистому state machine, від якого залежать 261 тест.
2) Race condition - game-over через events-масив, який renderer спорожнить першим. Тригер губиться.
3) Stored XSS — імена з localStorage в DOM через innerHTML.
3️⃣ діри.
1️⃣ раунд.
0️⃣ рядків коду.
Найдешевший момент: вбити погане рішення поки воно ще не записане як істина.
Стаття 👉 https://dev.to/kucherenko/the-grilling-29d1
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
Прогнали цю «просту» фічу через adversarial review ДО специфікації.
Один раунд.
Devil's Advocate знайшов три діри:
1) Порушення constitution - буфер імені в чистому state machine, від якого залежать 261 тест.
2) Race condition - game-over через events-масив, який renderer спорожнить першим. Тригер губиться.
3) Stored XSS — імена з localStorage в DOM через innerHTML.
3️⃣ діри.
1️⃣ раунд.
0️⃣ рядків коду.
Найдешевший момент: вбити погане рішення поки воно ще не записане як істина.
Стаття 👉 https://dev.to/kucherenko/the-grilling-29d1
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
👍6❤3👏3
Найдорожча помилка з потужним інструментом - застосовувати його скрізь.
The Grilling - фаза, де ідея проходить структуровану атаку, перш ніж стати специфікацією. Proposer захищає рішення, Devil's Advocate шукає діри, Synthesizer переписує після кожного раунду.
Сесія завершується, коли Devil's Advocate не має валідних заперечень і Don не має питань - обидва тиски вичерпані одночасно. Nash Equilibrium.
Але є зміни, де цей процес завдає більше шкоди, ніж користі:
▪️ Тайпо, бамп залежностей - агенти вигадують заперечення, щоб заповнити раунди. Система переходить в театр.
▪️ Чистий рефактор із зеленим baseline - потрібна перевірка збереження поведінки, не атака ідеї.
▪️ Прототипування - adversarial review вбиває дослідження.
▪️ Прод горить, фікс малий - пропусти, задокументуй, рухайся.
Правило: скільки коштуватиме відкотити це, якщо ти помиляєшся?
Більше за review → гриль. Менше → ні.
Rigor - це не ганяти всі гейти щоразу. Це розуміти, який гейт важливий у конкретний момент
Part 2 серії про Gangsta Agents
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
The Grilling - фаза, де ідея проходить структуровану атаку, перш ніж стати специфікацією. Proposer захищає рішення, Devil's Advocate шукає діри, Synthesizer переписує після кожного раунду.
Сесія завершується, коли Devil's Advocate не має валідних заперечень і Don не має питань - обидва тиски вичерпані одночасно. Nash Equilibrium.
Але є зміни, де цей процес завдає більше шкоди, ніж користі:
▪️ Тайпо, бамп залежностей - агенти вигадують заперечення, щоб заповнити раунди. Система переходить в театр.
▪️ Чистий рефактор із зеленим baseline - потрібна перевірка збереження поведінки, не атака ідеї.
▪️ Прототипування - adversarial review вбиває дослідження.
▪️ Прод горить, фікс малий - пропусти, задокументуй, рухайся.
Правило: скільки коштуватиме відкотити це, якщо ти помиляєшся?
Більше за review → гриль. Менше → ні.
Rigor - це не ганяти всі гейти щоразу. Це розуміти, який гейт важливий у конкретний момент
Part 2 серії про Gangsta Agents
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
👍8❤2🔥2👏1
Multi-agent debate ≠ The Grilling.
Виглядають однаково: два агенти сперечаються, третій синтезує. Але вирішують різні задачі.
🤔 Три відмінності:
1. Grounding. Дебати працюють на тому, що в промпті - дві LLM ввічливо галюцинують одна одній. Grilling не стартує, поки ground truth не перевірено.
2. Ціль. Дебати шукають найкращу версію позиції. Grilling питає - чи варто її тримати взагалі. Легітимний результат включає «вбити ідею повністю».
3. Зупинка. Дебати - за розкладом, фіксовані раунди. Grilling — на рівновазі: жодного нового валідного заперечення І жодної залишкової тривоги у Don.
Дебати зупиняються на «досить сперечатися». Grilling - на «нема що валідного атакувати». Маєш вердикт, що пережив атаку.
Однакова обгортка. Зовсім різний механізм усередині.
Part 2 👉 https://dev.to/kucherenko/the-grilling-29d1
#MultiAgentDebate #gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
Виглядають однаково: два агенти сперечаються, третій синтезує. Але вирішують різні задачі.
🤔 Три відмінності:
1. Grounding. Дебати працюють на тому, що в промпті - дві LLM ввічливо галюцинують одна одній. Grilling не стартує, поки ground truth не перевірено.
2. Ціль. Дебати шукають найкращу версію позиції. Grilling питає - чи варто її тримати взагалі. Легітимний результат включає «вбити ідею повністю».
3. Зупинка. Дебати - за розкладом, фіксовані раунди. Grilling — на рівновазі: жодного нового валідного заперечення І жодної залишкової тривоги у Don.
Дебати зупиняються на «досить сперечатися». Grilling - на «нема що валідного атакувати». Маєш вердикт, що пережив атаку.
Однакова обгортка. Зовсім різний механізм усередині.
Part 2 👉 https://dev.to/kucherenko/the-grilling-29d1
#MultiAgentDebate #gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
👍11🔥4❤3
AI-агенти швидкі, але некеровані? Gangsta Agents повертає контроль: кожен агент знає роль, кожен код починається зі специфікації 🎯
Як це влаштовано:
🔸 Spec Before Code — фаза Sit-Down завершується підписаним Contract. Без нього жоден Worker не пише код.
🔸 Battle-Tested Skills — розвідка, TDD-дрили, дебаг через допит, стратегії виходу. Кожна навичка — чистий markdown-файл.
🔸 Правило 1% — якщо є хоча б 1% шансу, що скіл застосовний, ти його викликаєш. Без раціоналізацій. Без скорочень.
🔸 Мультиагентна оркестрація — Underboss декомпозує, Crew Leads оркеструють, Workers виконують паралельно. Gangsta Agents Family масштабується.
🔸 Мультиплатформність — нативні інтеграції: Claude Code, GitHub Copilot, Gemini CLI, OpenCode, Codex. Cursor — через npx skills add.
І кожен phase gate проходить лише зі схваленням Don (user) 🤝
👉 https://gangsta.page
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
Як це влаштовано:
🔸 Spec Before Code — фаза Sit-Down завершується підписаним Contract. Без нього жоден Worker не пише код.
🔸 Battle-Tested Skills — розвідка, TDD-дрили, дебаг через допит, стратегії виходу. Кожна навичка — чистий markdown-файл.
🔸 Правило 1% — якщо є хоча б 1% шансу, що скіл застосовний, ти його викликаєш. Без раціоналізацій. Без скорочень.
🔸 Мультиагентна оркестрація — Underboss декомпозує, Crew Leads оркеструють, Workers виконують паралельно. Gangsta Agents Family масштабується.
🔸 Мультиплатформність — нативні інтеграції: Claude Code, GitHub Copilot, Gemini CLI, OpenCode, Codex. Cursor — через npx skills add.
І кожен phase gate проходить лише зі схваленням Don (user) 🤝
👉 https://gangsta.page
#gangsta_agents #SDD #VibeCoding #SpecDrivenDevelopment
👍7🔥3❤2👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Як я працюю з AI-агентами. Найголовніше - фіксую специфікацію, а вже потім даю писати код, тому що без неї AI-кодинг перетворюється на дорогі здогадки: агент не читає думок і сам вирішує, як працюватиме фіча.
Моє правило: специфікація лишається єдиним джерелом істини, тому не вносимо зміни в код в обхід неї.
Скільки деталей писати, залежить від моделі. Слабшій і дешевшій моделі я розписую кожен крок: що зробити, як саме і який дизайн системи. Розумнішій і дорожчій пишу лише, чого хочу досягти, з яких частин це складається, і кілька слів про загальну архітектуру.
Ще в травні я писав пост про SDD-фреймворки. Відтоді їх стало значно більше, тож проаналізував існуючі та відібрав 19 найпомітніших і розклав їх за головною функцією:
⏺ Спершу вимоги, план і задачі — потім код: Spec Kit, Kiro, BMAD, GSD, MoAI-ADK, Gangsta Agents.
⏺ Оновлюють специфікацію разом зі змінами в наявному коді: OpenSpec, Spec Kitty.
⏺ Вчать агента правил роботи замість етапів: Superpowers, Matt Pocock skills, GRACE.
⏺ Перевіряють реалізацію за планом або критеріями приймання: Traycer, Memex.
⏺ Перезапускають агента, доки задача не закриється: Ralph Loop, Smart Ralph, GAAI.
⏺ Запускають кількох агентів одночасно, кожного в окремій копії репозиторію: Conductor, Frame, Zenflow.
Мій висновок: майже всі інструменти організовують шлях від вимог до коду, і в більшості з них перевірка лишається частиною процесу, а не основною метою. Тому, як на мене, головна боротьба в SDD зараз — за перевірку: специфікація має бути не лише інструкцією для агента, а й критерієм, за яким перевіряють його роботу.
21 жовтня GitHub Next і Microsoft Research показали Proof-Driven Development Kit: він формально доводить, що код агента має властивості, задані у специфікації, — але не те, що сама специфікація правильна. Поки це дослідницьке прев’ю для Rust.
У наступних постах порівняю ці групи за чотирма критеріями — час на фічу, IDE, робота з наявним кодом, перевірка.
👍 — уже користуюсь SDD-фреймворком
👀 — поки працюю без нього
🔥 — чекаю серію
#SDD #SpecDrivenDevelopment
Моє правило: специфікація лишається єдиним джерелом істини, тому не вносимо зміни в код в обхід неї.
Скільки деталей писати, залежить від моделі. Слабшій і дешевшій моделі я розписую кожен крок: що зробити, як саме і який дизайн системи. Розумнішій і дорожчій пишу лише, чого хочу досягти, з яких частин це складається, і кілька слів про загальну архітектуру.
Ще в травні я писав пост про SDD-фреймворки. Відтоді їх стало значно більше, тож проаналізував існуючі та відібрав 19 найпомітніших і розклав їх за головною функцією:
Мій висновок: майже всі інструменти організовують шлях від вимог до коду, і в більшості з них перевірка лишається частиною процесу, а не основною метою. Тому, як на мене, головна боротьба в SDD зараз — за перевірку: специфікація має бути не лише інструкцією для агента, а й критерієм, за яким перевіряють його роботу.
21 жовтня GitHub Next і Microsoft Research показали Proof-Driven Development Kit: він формально доводить, що код агента має властивості, задані у специфікації, — але не те, що сама специфікація правильна. Поки це дослідницьке прев’ю для Rust.
У наступних постах порівняю ці групи за чотирма критеріями — час на фічу, IDE, робота з наявним кодом, перевірка.
👍 — уже користуюсь SDD-фреймворком
👀 — поки працюю без нього
🔥 — чекаю серію
#SDD #SpecDrivenDevelopment
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍8👀8
This media is not supported in your browser
VIEW IN TELEGRAM
Який процесний SDD-фреймворк обрати: Spec Kit, Kiro, BMAD, GSD Core, MoAI-ADK чи Gangsta Agents
Порівняв усі шість за 4 критеріями:
⏺ Час на фічу.
⏺ Підтримка IDE та AI-агентів.
⏺ Робота з наявним кодом.
⏺ Перевірка результату.
Це пост 2 із 5 у серії про SDD-фреймворки (перший тут).
Процесні фреймворки визначають порядок роботи агента: від вимог і планування до реалізації та перевірки. Вони відрізняються кількістю обов’язкових кроків, роллю людини в ухваленні рішень і критеріями готовності. Від цього залежить, скільки часу займає розробка та наскільки легко перевірити результат.
Spec Kit від GitHub
⏺ Час на фічу: повний цикл — конституція проекту, специфікація, план і задачі. Для багів є коротший процес.
⏺ IDE та агенти: працює з більшістю популярних AI-агентів.
⏺ Наявний код: є окремі інструкції.
⏺ Перевірка: чеклісти й аналіз узгодженості артефактів.
Kiro від AWS
⏺ Час на фічу: агент сам пише три артефакти — вимоги, дизайн і задачі.
⏺ IDE та агенти: лише власна IDE та CLI.
⏺ Наявний код: будує специфікації з наявної кодової бази.
⏺ Перевірка: хуки запускають тести після зміни файлів.
BMAD
⏺ Час на фічу: залежить від задачі — нечітку ідею спершу уточнюють, дрібну правку одразу реалізують і перевіряють.
⏺ IDE та агенти: Claude Code, Codex та інші.
⏺ Наявний код: є окремий сценарій.
⏺ Перевірка: рев’ю та повторні цикли вдосконалення.
GSD Core
⏺ Час на фічу: найлегший процес — Plan → Execute → Verify.
⏺ IDE та агенти: Claude Code, Codex, Cursor, Copilot, Windsurf та інші.
⏺ Наявний код: команда
⏺ Перевірка: окремий етап Verify перед завершенням роботи.
MoAI-ADK
⏺ Час на фічу: найсуворіший процес — SPEC → аудит → TDD.
⏺ IDE та агенти: лише поверх Claude Code.
⏺ Наявний код: спершу characterization-тести фіксують поточну поведінку, потім агент вносить зміни.
⏺ Перевірка: гейт TRUST 5 на кожну зміну — лінт, типи й тести, а «тести пройшли» зараховується лише з реальним виводом.
Gangsta Agents — мій фреймворк
Чому я додав власний інструмент до порівняння?
Проблема: більшість SDD-фреймворків перевіряють, чи код відповідає специфікації, але не питають, чи варто взагалі братися за задачу.
Рішення: Рішення: ще до специфікації Gangsta Agents проводить фазу
Grilling — агенти шукають слабкі місця ідеї й аргументи проти неї.
Проект уже включили до незалежного каталогу awesome-ai-plugins.
⏺ Час на фічу: найдовший — шість фаз, серед них Grilling, із підтвердженням людини на кожній.
⏺ IDE та агенти: Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Copilot.
⏺ Наявний код: перша фаза — розвідка кодової бази й вимог.
⏺ Перевірка: спершу червоний тест, який падає, і лише потім код, що його проходить.
Що обрати?
• GSD Core — якщо потрібен компактний процес із плануванням, виконанням і перевіркою.
• BMAD — якщо процес має адаптуватися до масштабу задачі.
• MoAI-ADK — якщо важливі TDD і формалізовані вимоги до якості.
• Kiro — якщо команда працює в екосистемі AWS.
• Spec Kit — якщо потрібен структурований процес для різних AI-агентів.
• Gangsta Agents — якщо важливо перевіряти не лише код, а й саму ідею до того, як вона стане специфікацією.
Перевірка ідеї теж коштує часу: агенти сперечаються ще до початку реалізації. Але іноді це дешевше, ніж швидко побудувати не те, що потрібно.
🔥 — уже користуюся SDD-фреймворком
👀 — ще обираю
😁 — пишу специфікацію просто в чаті й поки вистачає
#SDD #SpecDrivenDevelopment
Порівняв усі шість за 4 критеріями:
Це пост 2 із 5 у серії про SDD-фреймворки (перший тут).
Процесні фреймворки визначають порядок роботи агента: від вимог і планування до реалізації та перевірки. Вони відрізняються кількістю обов’язкових кроків, роллю людини в ухваленні рішень і критеріями готовності. Від цього залежить, скільки часу займає розробка та наскільки легко перевірити результат.
Spec Kit від GitHub
Kiro від AWS
BMAD
GSD Core
/gsd-onboard.MoAI-ADK
Gangsta Agents — мій фреймворк
Чому я додав власний інструмент до порівняння?
Проблема: більшість SDD-фреймворків перевіряють, чи код відповідає специфікації, але не питають, чи варто взагалі братися за задачу.
Рішення: Рішення: ще до специфікації Gangsta Agents проводить фазу
Grilling — агенти шукають слабкі місця ідеї й аргументи проти неї.
Проект уже включили до незалежного каталогу awesome-ai-plugins.
Що обрати?
• GSD Core — якщо потрібен компактний процес із плануванням, виконанням і перевіркою.
• BMAD — якщо процес має адаптуватися до масштабу задачі.
• MoAI-ADK — якщо важливі TDD і формалізовані вимоги до якості.
• Kiro — якщо команда працює в екосистемі AWS.
• Spec Kit — якщо потрібен структурований процес для різних AI-агентів.
• Gangsta Agents — якщо важливо перевіряти не лише код, а й саму ідею до того, як вона стане специфікацією.
Перевірка ідеї теж коштує часу: агенти сперечаються ще до початку реалізації. Але іноді це дешевше, ніж швидко побудувати не те, що потрібно.
🔥 — уже користуюся SDD-фреймворком
👀 — ще обираю
😁 — пишу специфікацію просто в чаті й поки вистачає
#SDD #SpecDrivenDevelopment
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7😁6👍3👀2
This media is not supported in your browser
VIEW IN TELEGRAM
Living specification: як OpenSpec і Spec Kitty тримають специфікацію узгодженою з кодом
Це пост 3 із 5 у серії про
SDD-фреймворки
Критерії ті самі, що й для всієї серії:
⏺ Час на фічу.
⏺ Підтримка IDE та AI-агентів.
⏺ Робота з наявним кодом.
⏺ Перевірка результату.
GitHub, запускаючи Spec Kit, пообіцяв living documents, «що розвиваються разом із кодом». У Thoughtworks перевірили, як це працює насправді, і розділили SDD на три рівні:
⏺ spec-first — специфікацію пишуть перед задачею і використовують лише для неї;
⏺ spec-anchored — специфікацію зберігають після задачі й через неї розвивають і підтримують фічу;
⏺ spec-as-source — людина редагує тільки специфікацію, а код генерується з неї.
Їхній висновок: Kiro і Spec Kit на практиці працюють як spec-first, а spec-as-source є лише в закритій беті.
За цією шкалою OpenSpec і Spec Kitty — другий рівень: специфікація лишається в репозиторії після задачі, а кожна зміна оновлює її. Відрізняються вони масштабом: перший — легкий цикл для однієї людини, другий — конвеєр для кількох агентів одночасно.
OpenSpec
⏺ Час на фічу: три команди —
⏺ IDE та агенти: понад 30 інструментів, зокрема Claude Code, Cursor, Copilot і Codex.
⏺ Наявний код: автори прямо пишуть, що будували його для наявних проектів, а не лише для нових. Зміна описується як різниця до поточної специфікації: що додано, що змінено. Для фіч на кілька репозиторіїв є Stores — поки в беті.
⏺ Перевірка: план затверджуєте ви до першого рядка коду; у розширеному профілі є
Spec Kitty
⏺ Час на фічу: найдовший цикл — spec → plan → tasks → next → review → accept → merge. Автори самі пишуть, що для дрібних правок це зайве.
⏺ IDE та агенти: Claude Code, Codex, Cursor, Gemini, Copilot, Windsurf, OpenCode та інші.
⏺ Наявний код: додається в наявний репозиторій однією командою; кожен пакет робіт іде в окремому git worktree, тож кілька агентів працюють паралельно й не заважають одне одному.
⏺ Перевірка: пакети проходять статуси planned → for_review → approved → done, а перед злиттям — review і accept. Після кожної місії — автоматична ретроспектива.
Що обрати?
⏺ OpenSpec — якщо ви працюєте з наявним проектом і хочете, щоб специфікація не відставала від коду.
⏺ Spec Kitty — якщо кілька агентів чи розробників ведуть одну фічу паралельно й потрібні гейти перед злиттям.
👍 — специфікація в репозиторії, поруч із кодом
👀 — поки в окремому доці
😁 — поки в голові
#SDD
Це пост 3 із 5 у серії про
SDD-фреймворки
Критерії ті самі, що й для всієї серії:
GitHub, запускаючи Spec Kit, пообіцяв living documents, «що розвиваються разом із кодом». У Thoughtworks перевірили, як це працює насправді, і розділили SDD на три рівні:
Їхній висновок: Kiro і Spec Kit на практиці працюють як spec-first, а spec-as-source є лише в закритій беті.
За цією шкалою OpenSpec і Spec Kitty — другий рівень: специфікація лишається в репозиторії після задачі, а кожна зміна оновлює її. Відрізняються вони масштабом: перший — легкий цикл для однієї людини, другий — конвеєр для кількох агентів одночасно.
OpenSpec
/opsx:propose, /opsx:apply, /opsx:archive. Якщо задача ще не ясна, спершу /opsx:explore: агент читає код і пропонує варіанти./opsx:verify. Тестових гейтів немає.Spec Kitty
Що обрати?
👍 — специфікація в репозиторії, поруч із кодом
👀 — поки в окремому доці
😁 — поки в голові
#SDD
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3👀3