Перейти к основному содержимому
Ко всем Threads

Переведено автоматически. Язык оригинала: العربية.

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].

Это означает, что:

  • Предыдущее состояние зафиксировано (каким был продукт)
  • Текущее состояние зафиксировано (каков он сейчас)
  • Обоснование перехода зафиксировано (почему он изменился)
  • Будущее направление определено (что будет дальше)

Когда агент вносит изменения, он может обратиться к истории дрифта, чтобы:

  1. Избежать отмены решений, которые были изменены намеренно
  2. Понять контекст того, почему текущее состояние отличается от первоначальных планов
  3. Поддерживать согласованность с траекторией развития продукта
  4. Выявить потенциальные конфликты между новым изменением и намеченным направлением

Поддержка контекста ИИ

Традиционный контекст программирования является временным — он существует только в рамках текущего чата. После завершения сессии контекст теряется.

Akinator создает постоянный контекст на трех уровнях [1]:

Уровень сессии

  • хук SessionStart загружает соответствующие знания при запуске сессии
  • хук для каждой команды повторно внедряет их перед каждой командой

Уровень репозитория

  • знания живут внутри репозитория в виде файлов
  • управляются версиями вместе с кодом
  • растут с каждым изменением в коде

Между сессиями

  • область памяти сохраняется между сессиями
  • область истории поддерживает временную шкалу
  • область решений сохраняет обоснования

Это означает, что новая сессия начинается с полным пониманием проекта, а не с чистого листа [1].

Фиксация ожиданий от продукта

Ожидания от продукта — то есть то, чего стейкхолдеры ждут от продукта — поддерживаются через несколько слоев [2]:

СлойМеханизм
ТребованияТекущие требования, управляемые как «живые» документы
БизнесЗакодированная бизнес-логика и правила
ПродуктОпределены идентичность и область охвата продукта
РешенияПочему определенные ожидания были приняты, отклонены или изменены
ДрифтКак изменились ожидания

Когда ИИ программирует функцию, он может проверить:

  • Соответствует ли это текущим требованиям?
  • Не нарушает ли это какие-либо бизнес-правила?
  • Вписывается ли это в область охвата продукта?
  • Было ли это ожидание изменено намеренно (дрифт)?
  • Было ли ранее принято решение по этому поводу?

Работа с изменениями в логике продукта и бизнеса

Когда бизнес-логика меняется:

  1. Само изменение записывается в область истории
  2. Обоснование фиксируется в решениях
  3. Дрифт от предыдущей логики отслеживается
  4. Новая логика кодируется в областях бизнеса и правил
  5. Агент читает все это автоматически через хуки перед следующим действием

Это создает аудиторский след намерений — не просто изменения в коде, а то, почему эти изменения произошли с точки зрения бизнеса [1].

Генеративное программирование как интегрированная компания

«Генеративное программирование» означает разработку на основе промптов, где вы описываете то, что хотите, а ИИ это создает. Akinator поднимает этот процесс с программирования на уровне файлов до программирования с учетом контекста компании, предоставляя агенту тот же контекст, который есть у ведущего инженера + продакт-менеджера + архитектора [1].

Знания инженера

  • Паттерны архитектуры
  • Выбор библиотек и обоснование
  • Правила кодирования
  • Технические решения и их обоснование

Знания продакт-менеджера

  • Область применения и идентичность продукта
  • Текущие требования
  • Бизнес-правила
  • История отклонений продукта

Знания архитектора

  • Структурные решения
  • История ограничений
  • Почему определенные паттерны были выбраны или отклонены

Память команды

  • Кто, что и когда решил
  • История изменений
  • Переиспользуемые навыки и паттерны

Когда вы пишете:

Исправить сбой повторной попытки оплаты

ИИ знает [1]:

  • Что делает платежная система (продукт)
  • Какие бизнес-правила регулируют повторные попытки (бизнес)
  • Какую архитектуру использует платежный сервис (архитектура)
  • Какие библиотеки задействованы (библиотеки)
  • Какие решения были приняты относительно повторных попыток (решения)
  • Как менялась логика повторных попыток (отклонение/история)
  • Какие правила применимы к коду оплаты (правила)

Он программирует так, будто находится в вашей команде с первого дня.

Двенадцатиэтапный цикл Akinator

Согласно документации, доступной в руководстве по плагинам ChatGPT, Akinator обрабатывает каждое взаимодействие с репозиторием через двенадцатиэтапный цикл [4]:

  1. Спросить — определение того, что требует уточнения
  2. Разрешить — устранение неопределенностей
  3. Проверить — анализ текущего состояния
  4. Спланировать — составление плана изменений
  5. Выполнить — внесение корректировок
  6. Задокументировать — обновление документации
  7. Превратить в навык — перевод повторяющихся процессов в навыки
  8. Правило — закрепление извлеченных уроков в качестве правил
  9. Контекст — связь изменения с более широким контекстом
  10. Сохранить — запись в памяти
  11. Индексировать и синхронизировать — поддержание актуальности файлов маршрутизации
  12. Верифицировать — финальная проверка одним шагом
Предупреждение:

Предупреждение: этот цикл задокументирован как концепция/демо в руководстве по плагинам, и из резюме неясно, доступна ли полная версия кода публично в связанном репозитории [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. https://github.com/ihabkhaled/akinator-ai
  2. https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
  3. https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
  4. https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
  5. https://pluginsradar.com/chatgpt/developers/ihab-khaled
  6. https://github.com/ihabkhaled/ClawAI
  7. https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
  8. https://github.com/ihabkhaled/akinator-ai/tree/main/docs
  9. https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
Скачать этот Thread

Откроется окно печати браузера. Выберите «Сохранить как PDF» в качестве принтера.

Комментарии (0)

Реакции

Загрузка...

Войдите, чтобы участвовать