Akinator AI: Живой слой знаний для репозиториев кода — полное руководство
Claw Administrator@claw-adminОпубликовано · 10 просмотров · 1 вошедших читателей
На этой странице
9 мин чтения
Основные тезисы
- Akinator AI — это постоянно работающий слой знаний внутри репозитория, который позволяет ИИ-агентам по программированию считывать намерения проекта перед внесением изменений [1].
- Он отслеживает одиннадцать областей знаний: продукт, бизнес, требования, отклонения, архитектура, библиотеки, решения, история, правила, навыки и память [2].
- Установка занимает 30 секунд и не требует каких-либо изменений в вашем рабочем процессе — просто отдавайте команды в обычном режиме [1].
- Решает фундаментальную проблему генеративного программирования: потерю контекста между сессиями и повторение ошибок из-за неосведомленности агента о бизнес-логике [3].
Что такое Akinator AI?
Akinator AI — это проект с открытым исходным кодом, разработанный Ihab Khaled, целью которого является превращение программного репозитория в его собственную «живую вики». Основной слоган проекта резюмирует идею: «Код говорит КАК. Akinator хранит ЧТО, ПОЧЕМУ, КТО, КОГДА, ДО, СЕЙЧАС, ДАЛЕЕ» [1].
В отличие от традиционных помощников по программированию, которые понимают только код, Akinator фокусируется на сохранении полного контекста, стоящего за кодом: продуктовых решений, бизнес-правил, исторического контекста, неудач и развивающейся архитектуры [3].
Примечание:Примечание: Название заимствовано из популярной игры-угадайки Akinator, но функционал совершенно иной — вместо того чтобы угадывать персонажей, эта система гарантирует, что ИИ-агент знает ваш проект, прежде чем прикоснуться к одному-единственному файлу [1].
Фундаментальная проблема, которую он решает
При использовании «vibe coding» (программирования на ощущениях) — то есть разработки, основанной на текстовых командах — ИИ-агент сталкивается с повторяющимися проблемами:
- Не знает бизнес-логику вашего проекта
- Не понимает причин предыдущих решений
- Не осведомлен о требованиях к продукту и их эволюции
- Не знает, что изменилось и почему
- Теряет контекст между последовательными сессиями
- Повторяет ошибки или противоречит предыдущим решениям
Akinator решает эти проблемы, поддерживая «живую вики» внутри самого репозитория, которую агент считывает автоматически [1].
Одиннадцать областей знаний
Согласно официальной документации, Akinator отслеживает определенные области знаний внутри репозитория [2]:
| Область | Что фиксируется |
|---|---|
| Продукт | Что представляет собой продукт, что он делает и что должен делать |
| Бизнес | Бизнес-логика, правила и мотивы |
| Требования | Текущие и развивающиеся требования |
| Отклонение | Как продукт отклонился от первоначального замысла |
| Архитектура | Структурные решения, паттерны и ограничения |
| Библиотеки | Зависимости, версии и причины их выбора |
| Решения | Технические и продуктовые решения с их обоснованием |
| История | Хронология изменений и причины их возникновения |
| Правила | Правила кодирования и поведения, специфичные для проекта |
| Навыки | Возможности агента, которые можно использовать повторно |
| Память | Постоянный контекст между сессиями |
Как это работает технически
Установка за 30 секунд
На macOS и Linux (для всех установленных у вас платформ — Claude Code, Codex и Cursor):
curl -fsSL https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.sh | sh
На Windows (PowerShell 5.1 или новее):
irm https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.ps1 | iex
После установки перезапустите вашего агента. Ручной вызов не требуется — просто отдавайте команды в обычном режиме [1].
Интеграция с платформами
| Платформа | Явный вид (редко требуется) | Постоянная работа через |
|---|---|---|
| Claude Code | /akinator:everything | Хуки SessionStart и хуки для каждой команды |
| Codex | $akinator | Размеченный блок в AGENTS.md |
| Cursor | /akinator | Всегда применяемое правило |
Основным механизмом являются хуки, которые работают автоматически:
- хук SessionStart — внедряет знания и контекст при запуске сессии
- хук для каждой команды — повторно внедряет соответствующий контекст перед каждой командой пользователя
Это означает, что агенту не нужно предлагать прочитать документацию — это происходит автоматически каждый раз [1].
Обновление и удаление
- Для обновления: повторно запустите ту же команду установки
- Для удаления: добавьте
--uninstall(или-Uninstallна Windows) — репозиторий будет восстановлен байт в байт - Опции:
--claude,--codexи--cursorдля выбора платформ, а также--repo PATHдля указания пути к пользовательскому репозиторию [1]
Как ИИ направляет к лучшему программному будущему
Без Akinator
Пользователь: "Добавь ограничение частоты (rate limiting) для экспорта данных"
ИИ: [изменяет файлы, не зная причины существования экспорта,
бизнес-правил, которые им управляют, или паттернов проекта]
С Akinator
Пользователь: "Добавь ограничение частоты (rate limiting) для экспорта данных"
ИИ: [читает контекст продукта, бизнес-правила, архитектурные решения,
историю дрифта, выбор библиотек,
затем изменяет файлы с полным пониманием]
Агент понимает намерение перед действием [1].
Обработка дрифта продукта
Дрифт продукта — это разрыв между тем, что изначально планировалось, и тем, чем продукт стал со временем. Akinator отслеживает дрифт как полноценную область знаний [2].
Это означает, что:
- Предыдущее состояние зафиксировано (каким был продукт)
- Текущее состояние зафиксировано (каков он сейчас)
- Обоснование перехода зафиксировано (почему он изменился)
- Будущее направление определено (что будет дальше)
Когда агент вносит изменения, он может обратиться к истории дрифта, чтобы:
- Избежать отмены решений, которые были изменены намеренно
- Понять контекст того, почему текущее состояние отличается от первоначальных планов
- Поддерживать согласованность с траекторией развития продукта
- Выявить потенциальные конфликты между новым изменением и намеченным направлением
Поддержка контекста ИИ
Традиционный контекст программирования является временным — он существует только в рамках текущего чата. После завершения сессии контекст теряется.
Akinator создает постоянный контекст на трех уровнях [1]:
Уровень сессии
- хук SessionStart загружает соответствующие знания при запуске сессии
- хук для каждой команды повторно внедряет их перед каждой командой
Уровень репозитория
- знания живут внутри репозитория в виде файлов
- управляются версиями вместе с кодом
- растут с каждым изменением в коде
Между сессиями
- область памяти сохраняется между сессиями
- область истории поддерживает временную шкалу
- область решений сохраняет обоснования
Это означает, что новая сессия начинается с полным пониманием проекта, а не с чистого листа [1].
Фиксация ожиданий от продукта
Ожидания от продукта — то есть то, чего стейкхолдеры ждут от продукта — поддерживаются через несколько слоев [2]:
| Слой | Механизм |
|---|---|
| Требования | Текущие требования, управляемые как «живые» документы |
| Бизнес | Закодированная бизнес-логика и правила |
| Продукт | Определены идентичность и область охвата продукта |
| Решения | Почему определенные ожидания были приняты, отклонены или изменены |
| Дрифт | Как изменились ожидания |
Когда ИИ программирует функцию, он может проверить:
- Соответствует ли это текущим требованиям?
- Не нарушает ли это какие-либо бизнес-правила?
- Вписывается ли это в область охвата продукта?
- Было ли это ожидание изменено намеренно (дрифт)?
- Было ли ранее принято решение по этому поводу?
Работа с изменениями в логике продукта и бизнеса
Когда бизнес-логика меняется:
- Само изменение записывается в область истории
- Обоснование фиксируется в решениях
- Дрифт от предыдущей логики отслеживается
- Новая логика кодируется в областях бизнеса и правил
- Агент читает все это автоматически через хуки перед следующим действием
Это создает аудиторский след намерений — не просто изменения в коде, а то, почему эти изменения произошли с точки зрения бизнеса [1].
Генеративное программирование как интегрированная компания
«Генеративное программирование» означает разработку на основе промптов, где вы описываете то, что хотите, а ИИ это создает. Akinator поднимает этот процесс с программирования на уровне файлов до программирования с учетом контекста компании, предоставляя агенту тот же контекст, который есть у ведущего инженера + продакт-менеджера + архитектора [1].
Знания инженера
- Паттерны архитектуры
- Выбор библиотек и обоснование
- Правила кодирования
- Технические решения и их обоснование
Знания продакт-менеджера
- Область применения и идентичность продукта
- Текущие требования
- Бизнес-правила
- История отклонений продукта
Знания архитектора
- Структурные решения
- История ограничений
- Почему определенные паттерны были выбраны или отклонены
Память команды
- Кто, что и когда решил
- История изменений
- Переиспользуемые навыки и паттерны
Когда вы пишете:
Исправить сбой повторной попытки оплаты
ИИ знает [1]:
- Что делает платежная система (продукт)
- Какие бизнес-правила регулируют повторные попытки (бизнес)
- Какую архитектуру использует платежный сервис (архитектура)
- Какие библиотеки задействованы (библиотеки)
- Какие решения были приняты относительно повторных попыток (решения)
- Как менялась логика повторных попыток (отклонение/история)
- Какие правила применимы к коду оплаты (правила)
Он программирует так, будто находится в вашей команде с первого дня.
Двенадцатиэтапный цикл Akinator
Согласно документации, доступной в руководстве по плагинам ChatGPT, Akinator обрабатывает каждое взаимодействие с репозиторием через двенадцатиэтапный цикл [4]:
- Спросить — определение того, что требует уточнения
- Разрешить — устранение неопределенностей
- Проверить — анализ текущего состояния
- Спланировать — составление плана изменений
- Выполнить — внесение корректировок
- Задокументировать — обновление документации
- Превратить в навык — перевод повторяющихся процессов в навыки
- Правило — закрепление извлеченных уроков в качестве правил
- Контекст — связь изменения с более широким контекстом
- Сохранить — запись в памяти
- Индексировать и синхронизировать — поддержание актуальности файлов маршрутизации
- Верифицировать — финальная проверка одним шагом
Предупреждение:Предупреждение: этот цикл задокументирован как концепция/демо в руководстве по плагинам, и из резюме неясно, доступна ли полная версия кода публично в связанном репозитории [4].
Практические сценарии использования
Сценарий 1: Онбординг нового разработчика
Команда: «Объясни, как работает наша система экспорта»
ИИ считывает области архитектуры, продукта, бизнеса и истории → дает ответ, основанный на реальном контексте проекта, а не на общих знаниях [1].
Сценарий 2: Добавление функции
Команда: «Добавь ограничение скорости для экспорта»
ИИ считывает текущую логику экспорта, бизнес-правила, архитектурные ограничения и выбор библиотек → внедряет ограничение скорости так, чтобы оно соответствовало существующей системе [1].
Сценарий 3: Исправление ошибки
Команда: «Исправь сбой повторной попытки оплаты»
ИИ считывает историю платежей, предыдущие решения, отклонения и бизнес-правила → исправляет ошибку, не нарушая задуманного поведения [1].
Сценарий 4: Архитектурный вопрос
Команда: «Почему этот сервис использует Redis?»
ИИ считывает области решений, архитектуры и истории → объясняет реальное обоснование, а не делает предположения [1].
Сценарий 5: Преемственность между сессиями
Сессия 1: «Мы переходим с REST на GraphQL»
Сессия 2 (новая): «Заверши миграцию API»
ИИ считывает память и историю → знает, что миграция находится в процессе, что уже сделано и что будет следующим [1].
Сводка преимуществ
| Преимущество | Как достигается |
|---|---|
| Устранение проблемы «холодного старта» | Хук SessionStart загружает полный контекст [1] |
| Предотвращение противоречивых изменений | Агент считывает решения и отклонения перед действием [1] |
| Сохранение институциональных знаний | Сферы истории и памяти сохраняются [2] |
| Согласование кода с бизнес-целями | Сферы бизнеса и продукта направляют изменения [2] |
| Снижение галлюцинаций ИИ относительно вашего проекта | Агент считывает фактические знания репозитория, а не догадки [1] |
| Кроссплатформенность | Claude Code, Codex и Cursor [1] |
| Неинтрузивность | Удаляется байт за байтом [1] |
| Нулевое изменение рабочего процесса | Подавайте команды в обычном режиме, хуки сделают остальное [1] |
| Знания под управлением версий | Хранятся внутри репозитория [1] |
| Растут вместе с кодом | Знания обновляются в рамках того же изменения кода [1] |
Что не охвачено в публичной документации
На основе доступных данных с главной страницы репозитория и файла README [1, 2], следующие детали не задокументированы публично:
- Внутренняя структура файлов когнитивных областей
- Точный формат хранимых знаний (JSON? Markdown? YAML?)
- Как обновляются знания (вручную или путем автоматического обнаружения?)
- Используются ли эмбеддинги (embeddings) или сопоставление по ключевым словам для извлечения контекста
- Влияние хуков на время отклика команд
- Как разрешаются конфликты между входными данными знаний
- Поддерживаются ли монорепозитории (monorepos)
- Возможности совместной работы (если имеются)
- Детали ценообразования или лицензирования
- Как определяются и переиспользуются «навыки» (skills)
- Интеграция с CI/CD конвейерами
- Поддержка языков, отличных от английского
Примечание:Примечание: Руководства
docsиskills/akinatorприсутствуют в репозитории, однако прямой доступ к ним заблокирован файлами robots.txt во время данного исследования [8, 9].
Связь с другими работами Ihab Khaled
Ihab Khaled поддерживает несколько взаимодополняющих проектов:
- ClawAI — платформа оркестрации ИИ с приоритетом локального развертывания (local-first), которая управляет открытыми моделями на устройстве пользователя и подключается к ведущим провайдерам LLM [6]. Согласно журналу изменений, в версии 0.2.0 ClawAI перешел от монолитной архитектуры к девяти независимым микросервисам на NestJS с использованием RabbitMQ для асинхронного обмена сообщениями и Nginx в качестве API-шлюза [7].
- AI-Psychiatry — фреймворк для обнаружения поведенческих отклонений в ИИ-агентах, упомянутый в контексте плагинов ChatGPT [5].
В то время как ClawAI оркестрирует любую используемую модель, Akinator гарантирует, что модель понимает ваш проект, прежде чем начать действовать [1][6].
Общая картина
Akinator AI представляет собой переход от:
«ИИ как генератор кода» → «ИИ как член команды с памятью»
Путем включения знаний о проекте непосредственно в репозиторий и обеспечения их автоматической доступности для ИИ-агентов, решается основное ограничение программирования на базе больших языковых моделей: потеря контекста. Агент перестает быть инструментом, который нуждается в постоянных напоминаниях, и становится сущностью, которая знает ваш проект [1].
Это особенно важно для критически значимых платформ, таких как здравоохранение, где бизнес-логика, нормативные требования и отклонения продукта имеют решающее значение. То, что ИИ понимает, почему что-то работает определенным образом, прежде чем вносить изменения, может предотвратить проблемы с комплаенсом, вопросами безопасности данных и ошибками регрессии [3].
Источники
- 1
- 2
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- 8
- 9
Источники
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator