
Проблема, которую ощущают многие, но решают немногие.
Вы запускаете Zed, Kiro, Cline, Claude Code или Qwen. Описываете задачу. Агент создаёт код. И вот он перед вами... Иногда качественный. Иногда — беспорядочная смесь чужих стандартов, случайных шаблонов и игнорирование структуры вашего проекта.
Вы поправляете. Объясняете снова. Поправляете. Через час понимаете: вы тратите больше времени на управление агентом, чем на саму задачу.
Знакомо?
Почему агенты «тупят»
Дело не в модели. Claude, GPT, Gemini, Qwen — все они достаточно "умные".
Проблема в другом: У агента нет контекста вашего проекта.
Он не знает ваш стек. Не знает ваши стандарты. Не знает, что вы используете Zustand, а не Redux. Что тесты лежат рядом с компонентами, а не в отдельной папке. Что API всегда возвращает { data, error, meta }. Что нельзя трогать папку legacy/ без согласования.
Каждый раз, открывая новый чат, вы начинаете с нуля. Или пишете длинный системный промпт, который всё равно забывается на середине сессии.
Что делает DEMIURGOS
DEMIURGOS — это ИИ-агент, который создаёт правила для других ИИ-агентов.
Вы рассказываете ему о своём проекте. Он задаёт точные вопросы. А затем генерирует набор файлов, которые ваш coding-агент читает автоматически при каждом запуске.
Результат: агент знает ваш проект с первого сообщения. Без повторных объяснений. Без «нет, я же говорил, у нас TypeScript strict mode». Без постоянных исправлений формата.
Как это работает: 3 слоя
┌─────────────────────────────────────┐ │ Ядро (.rules/) │ ← Мозг. Источник правды о проекте. ├─────────────────────────────────────┤ │ NATIVE ADAPTERS │ ← Проекции для каждого агента. │ AGENTS.md │ .cursor/ │ CLAUDE.md │ │ .github/copilot-instructions.md │ ├─────────────────────────────────────┤ │ EXTENSIONS │ ← Только если реально нужны. │ subagents │ hooks │ MCP │ └─────────────────────────────────────┘
Слой 1 — Ядро. Один набор правил. Единственный источник правды. Описывает: кто агент, что ему можно, чего нельзя, как выглядит хороший код в вашем стеке, какие паттерны использовать, какие — нет.
Слой 2 — Native Adapters. Тонкие проекции ядра для конкретных агентов. Cursor хочет .mdc файлы с YAML frontmatter? Получит. Claude Code читает CLAUDE.md? Сгенерирован. Copilot ждёт .github/copilot-instructions.md? Готово. При этом ни один факт не дублируется — адаптеры ссылаются на core.
Слой 3 — Extensions. Сложные штуки: мульти-агентные системы, event-driven хуки, MCP-интеграции. Создаются только когда доказана необходимость, а не «на будущее».
22+ инструмента. Один набор правил.
Вы создаёте правила один раз, и они работают везде:
┌─────────────────────────────────┬────────────────────────────────────────┐ │ Где │ Как читается │ ├─────────────────────────────────┼────────────────────────────────────────┤ │ Cursor │ .cursor/rules/*.mdc - auto-attach по │ │ │ glob │ ├─────────────────────────────────┼────────────────────────────────────────┤ │ Windsurf │ .windsurf/rules/*.md — Always On + │ │ │ Model Decision │ ├────────────────────���────────────┼────────────────────────────────────────┤ │ Claude Code │ CLAUDE.md + slash commands │ ├─────────────────────────────────┼────────────────────────────────────────┤ │ GitHub Copilot │ .github/copilot-instructions.md + │ │ │ agents │ ├─────────────────────────────────┼────────────────────────────────────────┤ │ Kiro │ .kiro/steering/*.md — always/auto/ │ │ │ manual │ ├─────────────────────────────────┼────────────────────────────────────────┤ │ JetBrains / Junie │ guidelines.md + ACP протокол │ ├─────────────────────────────────┼────────────────────────────────────────┤ │ Codex, Amp, Goose, Aider, │ AGENTS.md — универсальный формат │ │ Devin, Zed, Warp, Cline, Qwen...│ │ └─────────────────────────────────┴────────────────────────────────────────┘
Один разработчик использует Cursor. Другой — Claude Code. Тимлид — Copilot в VS Code.
Все работают по одним и тем же правилам.
Переехали с Cursor на Windsurf? Core остался. Пересобрали один адаптер. 5 минут.
Примеры
1. Gamedev — Godot 4.3 + GDScript
Режим Debug - только трассировка правил
ПРИМЕНЁННЫЕ ПРАВИЛА Файл │ Цитата │ Влияние architecture.md│ «Композиция через Node-компоненты» │ HealthComponent отдельно, не в базовом классе patterns.md │ «Сигналы для связи, не прямые вызовы» │ signal died/health_changed вместо queue_free constraints.md │ «Typed GDScript: все параметры с типами»│ float/StringName/Dictionary типизированы constraints.md │ «StringName (&"") для ключей в hot path»│ &"physical" вместо "physical" output.md │ «Новый файл — полностью, с путём» │ Полные файлы с # res:// patterns.md │ «@export для данных в Inspector» │ max_health и resistances как @export [встроенное] │ — │ pure-урон игнорирует резисты (конвенция жанра) КОНФЛИКТЫ: нет Пробелы в правилах Чего не хватило │Что сделал │Рекомендация Нет damage model │pure обходит резисты│patterns.md: «pure игнорирует резисты» Нет clamp резистов │Зажал 0.0–1.0 сам │constraints.md: «резисты float 0.0..1.0» СЧЁТЧИК: .rules/ 6 │ встроенное 1 │ пробелов в правилах 2
Godot — /debug full - трассировка + рекомендации по исправлению
ПРИМЕНЁННЫЕ ПРАВИЛА Файл │ Цитата │Влияние architecture.md│ «Композиция через Node-компоненты» │DashAbility — отдельная сцена-компонент patterns.md │ «SceneTreeTimer для одноразовых таймеров»│get_tree().create_timer() для cooldown constraints.md │ «Typed GDScript: все параметры с типами» │Все типы указаны output.md │ «Новый файл — полностью, с путём» │Полный файл с путём [встроенное] │ — │is_action_just_pressed — нет правила про input КОНФЛИКТЫ: нет Пробелы в правилах Чего не хватило │Что сделал │Рекомендация Нет input naming │Строка InputMap напрямую│patterns.md: конвенция input actions Нет cooldown UI feedback│Не добавил feedback │patterns.md: «ability → signal для UI» СЧЁТЧИК: .rules/ 4 │ встроенное 1 │ пробелов в правилах 2 РЕКОМЕНДАЦИИ: ДОБАВИТЬ Файл │Правило │ Зачем patterns.md│«Input: snake_case + префикс — player_dash, ui_pause» │ 2-й запрос без покрытия patterns.md│«Ability с cooldown → emit cooldown_started(duration)»│ UI не узнает про перезарядку РЕКОМЕНДАЦИИ: ИЗМЕНИТЬ Файл │Текущее │Проблема │ Замена patterns.md│«SceneTreeTimer для одноразовых таймеров»│Нет pause/resume│ «+ Timer нод для pausable cooldowns» РЕКОМЕНДАЦИИ: УДАЛИТЬ — нет кандидатов ТЕСТ-КЕЙСЫ Запрос │ Ожидание «Добавь двойной прыжок» │ отдельный компонент, сигналы, typed «Враг стреляет каждые 2 сек» │ Timer нод (не SceneTreeTimer), компонент
2. Python — /debug
ПРИМЕНЁННЫЕ ПРАВИЛА Файл │Цитата │ Влияние architecture.md│«3-layer: router → service → model» │ Валидация в service, router только вызывает patterns.md │«Доменные ошибки — кастомные exception» │ ProductNotFoundError, не HTTPException constraints.md │«Async SQLAlchemy: AsyncSession, select()»│ select() + AsyncSession patterns.md │«Batch-запрос: собери ID → один WHERE IN» │ Один запрос, не цикл по product_id constraints.md │«Pydantic v2: model_config dict» │ model_config = {"from_attributes": True} output.md │«Новый файл — полностью» │ 3 полных файла [встроенное] │— │ flush() в service, commit() в router [встроенное] │— │ Фиксация unit_price в момент заказа КОНФЛИКТЫ: нет GAPS Чего не хватило │Что сделал │Рекомендация Нет exception → HTTP map │Не добавил handler │patterns.md: «exception_handler в router» Нет race condition на stock│Optimistic без блокировки │constraints.md: «SELECT FOR UPDATE» Нет правила про транзакции │commit() в router по ощущению│ → patterns.md: «commit в router, flush в service» СЧЁТЧИК: .rules/ 6 │ встроенное 2 │ gaps 3
3. Frontend — /debug full
ПРИМЕНЁННЫЕ ПРАВИЛА Файл │Цитата │Влияние architecture.md│«Island: статика в .astro, интерактив в Solid»│ThemeToggle — SolidJS island client:idle patterns.md │«Inline script в Layout для blocking кода» │<script is:inline> в head для localStorage constraints.md │«UnoCSS: dark: через class strategy» │dark:bg-gray-900 вместо media query constraints.md │«Алиас ~/: src/» │Импорты через ~/ [встроенное] │— │createSignal для темы — нет правила КОНФЛИКТЫ: нет GAPS Чего не хватило │Что сделал │Рекомендация Нет FOUC prevention │Знаю из опыта │patterns.md: «inline script в head» Нет localStorage правила │try/catch на всякий случ.│constraints.md: «всегда try/catch» СЧЁТЧИК: .rules/ 4 │ встроенное 1 │ gaps 2 РЕКОМЕНДАЦИИ: ДОБАВИТЬ Файл │Правило │Зачем patterns.md │«FOUC: inline script в <head> → class на <html>» │Повторяется для темы, locale, A/B constraints.md│«Browser API — всегда try/catch + fallback» │SSR, private browsing, sandbox patterns.md │«createSignal = локальный UI, createStore = shared»│Нет правила, каждый раз гадаю РЕКОМЕНДАЦИИ: ИЗМЕНИТЬ Файл │Текущее │Проблема │Замена patterns.md│«images: всегда loading="lazy"»│Не покрывает LCP│«+ hero: eager fetchpriority="high"» РЕКОМЕНДАЦИИ: УДАЛИТЬ — нет кандидатов ТЕСТ-КЕЙСЫ Запрос │ Ожидание «Модалка подтверждения заказа»│ SolidJS island, client:idle, Portal «Страница /about» │ чистый .astro, 0 JS, без islands
Чем это нам поможет
Режим отладки не оценивает правила — он выявляет их пробелы. После 10-20 запросов в /debug становится ясно, что уже покрыто, где агент действует самостоятельно и какие правила требуют приоритетного изменения.
ПАТТЕРНЫ DEBUG MODE │ Godot │ Python │ Frontend Типичный пробел │ игровые механики │ инфраструктура │ browser API edge cases Встроенное │ геймдизайн-конвенц.│ бизнес-логика │ UX-паттерны Конфликты │ редки │ редки │ island boundaries Покрытие .rules/│ ~75% │ ~75% │ ~70% Частые пробелы │ damage/cooldown │ транзакции/ошибки │ FOUC, a11y, client:*
5 причин использовать DEMIURGOS
Агент перестаёт «забывать»
Правила хранятся в файлах проекта. Они в git. Они загружаются автоматически. Новый чат? Агент уже знает всё. Новый разработчик в команде? git pull — и его агент работает так же, как ваш.Правила минимальны и точны
DEMIURGOS использует расширение территории по трём осям:
Размер знаний × количество агентов × уровень расширений.
- Маленький проект получит 2-3 файла.
- Масштабный репозиторий — 14+.
Никогда больше, чем нужно.
Перед созданием каждого файла срабатывает оценка сло��ности:
Это решает реальную проблему?
Без этого агент станет работать хуже?
Можно решить одной строкой в существующем файле?
Если хоть один ответ «нет» — файл не создаётся.
Мы заложили в DEMIURGOS принципы, которые напрямую определяют качество:
U-shaped attention — критичное в начало и конец файлов, справочное — в середину.
Потому что LLM теряет внимание в середине длинного контекста.
KV-cache awareness — статичная информация вверху, динамичная внизу.
Это ускоряет ответы и снижает стоимость API.
Structured variation — паттерны даются в 2-3 вариантах, а не как единственный «золотой стандарт». Агент не становится хрупким.
DRY — каждый факт живёт в одном месте. Если правило обновилось — оно обновилось везде.
Встроенная проверка качества
Перед тем как отдать вам файлы, DEMIURGOS прогоняет 3-5 типовых сценариев:
«Добавь новый API endpoint» — агент найдёт нужное правило? Формат ответа понятен?
«Зарефакторь модуль» — permissions не заблокируют? Стайлгайд применится?
«Почини баг в авторизации» — safety-правила сработают?
Если что-то не проходит — правила корректируются до того, как вы их получите.
Живой документ, а не артефакт
Правила — не «поставил и забыл». DEMIURGOS включает расписание обновлений:
┌─────────────────────────┬────────────────────────────────┐ │ Когда │ Что делать │ ├─────────────────────────┼────────────────────────────────┤ │ Одна и та же ошибка │ Добавь правило │ │ дважды │ │ ├─────────────────────────┼────────────────────────────────┤ │ Правило мешает │ Удали или смягчи │ ├─────────────────────────┼────────────────────────────────┤ │ Агент игнорирует │ Перемести выше, добавь пример │ ├─────────────────────────┼────────────────────────────────┤ │ Раз в месяц │ Полный аудит │ └─────────────────────────┴────────────────────────────────┘
Для кого это всё
┌─────────────────────┬────────────────────────────────────────────────┐ │ Вы │ Что получите │ ├─────────────────────┼────────────────────────────────────────────────┤ │ Соло-разработчик │ Агент, который помнит ваш стек и стиль между │ │ │ сессиями │ ├─────────────────────┼────────────────────────────────────────────────┤ │ Команда 2-5 человек │ Единые правила для всех, независимо от IDE │ ├─────────────────────┼────────────────────────────────────────────────┤ │ Команда 5+ │ Ядро + мульти-агентная система с ролями │ ├─────────────────────┼────────────────────────────────────────────────┤ │ Тимлид / техлид │ Архитектурные решения, зашитые в поведение │ │ │ агента │ ├─────────────────────┼────────────────────────────────────────────────┤ │ Компания │ Стандарты безопасности и качества, защита на │ │ │ уровне ИИ │ └─────────────────────┴────────────────────────────────────────────────┘
Как начать
Скачайте DEMIURGOS в корень вашего проекта.
Начните диалог, фразой: запусти роль DEMIURGOS_NN.md
Ответьте на 5-15 вопросов (зависит от размера проекта).
Получите готовые файлы ролей и правил именно под ваш проект.
Ваш котик-агент стал умнее)
Время: 15-30 минут на настройку. Экономия: часы каждую неделю.
Подытожим
Вам больше не нужно постоянно объяснять контекст. Достаточно описать его один раз. Агент автоматически будет следовать вашим правилам.
Это уже не просто файл AGENTS.md, а система правил и ролей, которая живёт в вашем репозитории и делает ИИ-агента по настоящему вашим напарником.
Update
В комментариях, напомнили мне о том, что я хотел реализовать, но отложил на потом.
В новой версии добавил режим отладки.
Теперь можно добавлять команды /debug или /debug full в запрос, чтобы после ответа получать информацию о том, какие агенты использовались для обработки запроса, и их рекомендации по улучшению правил^ ^
Обновил примеры.