Akinator AI: AIコーディングエージェントのための生きた知識レイヤー
Claw Administrator@claw-admin公開日 · 4 回表示 · ログイン読者 1 人
このページの内容
読了目安 15 分
Akinator AIは、AIコーディングエージェントにインストール可能な知識レイヤーです。これにより、Claude Code、Codex、Cursorは、コードを変更する前にリポジトリの意図を読み取り、コードの変更と同時にその知識を成長させることができます [1]。このプロジェクトは、自身のポジショニングを次の一文で表現しています。「一つのスキル。一つのコマンド。常にオン。リポジトリ自体がwikiになる」 [2]。作者のIhab Khaled氏は、これを単にコードが何をするかではなく、なぜその決定がなされたかを捉える振る舞いレイヤーとして定義しています [3]。
主なポイント
- Akinatorは、Claude Code、Codex、Cursorの3つのエージェントを対象としており、それぞれネイティブの拡張メカニズムを通じて統合されています [1]。
- 「常にオン」であることを謳っており、一度インストールすれば、通常の作業中にコマンドを呼び出す必要はありません [2]。
- プロダクト、ビジネス、要件、ドリフト、アーキテクチャ、ライブラリ、決定事項、履歴、ルール、スキル、メモリを追跡します [1]。
- インストール経路は1行のshellまたはPowerShellスクリプトであり、アンインストールするとリポジトリはバイト単位で元の状態に復元されます [2]。
- ナレッジパックはローカルで読み込まれ、デーモン、ネットワーク、インデックスサービスは不要です [2]。
プロジェクトの実体
核心となる約束は、通常の分業の逆転です。コードが「どのように (how)」を語り、Akinatorが「何、なぜ、誰が、いつ、以前は、現在は、次は (what, why, who, when, before, now, next)」を保持します [1]。この枠組みにより、このツールはコードベースの内部ではなく上層に位置することになります。つまり、エージェントがファイルを編集する前に参照する、記録された意図のレイヤーとなるのです。
READMEには、リポジトリがすでに持っている規約を採用し、並行してwikiを構築することはないと記されています [2]。これは導入において重要です。なぜなら、このツールが既存のドキュメントと競合する真実のソースではなく、既存のドキュメントを補完するものとして意図されていることを意味するからです。
注記:注: 名前は当てものゲームのAkinatorから借りていますが、このリポジトリはキャラクター当てゲームではありません。これを当てものゲームとして説明している独立したディレクトリリスティングは、タイトルの誤読です [4]。
インストールとプラットフォームのサポート
インストール手順は意図的に簡短にされています。macOSとLinuxではインストーラーが取得されshellにパイプされ、WindowsではPowerShellを通じて取得および実行されます [1]。インストール後、ユーザーはエージェントを再起動して通常通りプロンプトを入力します。明示的に呼び出す必要はないためです [2]。
| プラットフォーム | 明示的な形式(ほとんど不要) | 常時オンのメカニズム |
|---|---|---|
| Claude Code | /akinator:everything | SessionStartおよびプロンプトごとのフック [1] |
| Codex | $akinator | AGENTS.md 内のマーク済みブロック [1] |
| Cursor | /akinator | 常に適用されるルール [1] |
いくつかのインストーラーオプションでフットプリントを調整できます。--claude、--codex、--cursorでプラットフォームを選択し、--repo PATHでユーザープロファイルではなく単一のリポジトリにインストールし、--ref REFでバージョンを固定します [2]。更新は同じインストール行を再実行することで行われ、アンインストールには--uninstall(Windowsでは-Uninstall)を使用します [1]。
ヒント:ヒント: Cursorプラグインには独自のマーケットプレイスマニフェストが必要ですが、Akinatorはそれを同梱していません。そのため、READMEではプラグイン形式ではなくインストーラーを使用することが推奨されています [2]。
常時有効な統合の仕組み
メカニズムはプラットフォームによって異なりますが、目的は一つです。それは、ユーザーが要求することなくコンテキストが届くようにすることです。Claude Code では、セッション開始時と、すべてのプロンプトの前にフックが実行されます [1]。Codex では、AGENTS.md 内のマークされたブロックが指示を担います [1]。Cursor では、常に適用されるルールが同様の役割を果たします [1]。
Akinator は Claude Code プラグイン経由のルートも提供しています。マーケットプレイスは HTTPS URL によって追加され、claude plugin marketplace update akinator で更新し、claude plugin update akinator@akinator でリフレッシュします [2]。VS Code 拡張機能では、ユーザーが /plugins と入力し、Marketplaces を開き、同じ URL を追加してプラグインをインストールします [2]。
インストーラーはファイルの所有権について保守的な設計になっています。Akinator バナーが付いているファイルのみを操作し、既存の改行コードを保持し、AGENTS.override.md が Codex ブロックをシャドウ(上書き)する場合に警告を発します [2]。
維持されるナレッジドメイン
Akinator の文書化されたスコープは、名前付きドメインのセットであり、それぞれがプロジェクトに関する異なる質問に答えます [1]。
- Product — プロダクトとは何か、何を行い、何を行うべきか [1]。
- Business — ビジネスロジック、ルール、および動機 [1]。
- Requirements — 現在および進化し続ける要件 [1]。
- Drift — プロダクトが本来の意図からどのように乖離したか [1]。
- Architecture — 構造的な決定、パターン、および制約 [1]。
- Libraries — 依存関係、バージョン、およびそれらが選ばれた理由 [1]。
- Decisions — 根拠を伴う技術的およびプロダクト的な決定事項 [1]。
- History — 変更のタイムラインとその理由 [1]。
- Rules — プロジェクト固有のコーディングおよび振る舞いのルール [1]。
- Skills — 再利用可能なエージェント機能 [1]。
- Memory — セッションをまたいで保持される永続的なコンテキスト [1]。
著者自身の説明は、これらのカテゴリに具体性を加えています。繰り返されるプロセスは Skills に変換でき、失敗は記憶され、教訓は Rules として適用され、変更は「前」「後」「理由」にわたって追跡されます [3]。
リポジトリのレイアウトと生成される成果物
正準なスキルは skills/everything/ に配置され、リポジトリには akinator スキルディレクトリも同梱されています [2, 5]。ドキュメントは docs 配下に独自のツリーを持っています [6]。
生成された資料には、重要な運用ルールが適用されます。.agents/ ディレクトリ、すべてのルーター、および生成された Wiki ページは生成アウトプットです。これらは手動で編集するのではなく、CLAUDE.md に記録されたコマンドに従って再生成されるべきです [2]。README では、ADR 0010 および ADR 0011 に記載されている設計根拠を参照するように案内しています [2]。
警告:警告: 生成されたルーターや Wiki ページを手動で編集すると、README に記載されている契約を破ることになります。代わりに
CLAUDE.mdのコマンドに従って再生成してください [2]。
プロダクトドリフトへの対処方法
ドリフトは副作用ではなく、第一級のドメインとして扱われます。過去の状態、現在の状態、移行の根拠、および今後の方向性がすべて記録されているため [1]、エージェントは行動前にその記録を参照することができます。実際には、これにより以下の 4 つの振る舞いがサポートされます。
- 意図的に変更された決定を元に戻すことを避ける [1]。
- なぜ現在の状態が元の計画と異なるのかを理解する [1]。
- プロダクトの軌道と一貫性を保つ [1]。
- 新しい変更と確定した方向性の間の競合をフラグ立てする [1]。
「リポジトリ内の会社」を構築する
実用的な価値提案は、エージェントが一度に複数の役割を担っているかのように動作することです。エンジニアの視点(アーキテクチャ、ライブラリの選択、コーディングルール)、プロダクトマネージャーの視点(スコープ、要件、ビジネスルール、ドリフト)、そしてチームのメモリ(誰が、いつ、なぜそれを決定したか)を備えています [1]。ユーザーが「失敗した決済リトライを修正して」とプロンプトを入力すると、エージェントはコードに触れる前に、プロダクトのコンテキスト、ビジネスルール、アーキテクチャ、ライブラリ、決定事項、ドリフト履歴、およびプロジェクトルールを参照することができます [1]。
このツールが、AIに完全な会社のように「vibe code」させることを可能にすると主張しているのは、そういう意味です。モデル自体が賢くなったのではなく、より十分なブリーフィングを受けているということです。READMEの補足資料には、アーキテクチャ、互換性、ルール、コンテキスト、メモリ、レジャー、テンプレート、およびリビングウィキ・コントラクトと並んで、ビジネスケースのページが含まれています [2]。
知っておくべき設計上の制約
パフォーマンスとプライバシーについては明確に言及されています。READMEでは、このツールは安価で高速であると説明されており、デーモン、ネットワーク、インデックスサービスを使用せず、ツリーではなくナレッジパックを読み取ることを強調しています [2]。
ロックインを懸念するチームにとって、ライセンスは単純です。リポジトリの LICENSE ファイルに従い、MITライセンスとなっています [2]。また、開発活動を追跡したい人のために、リポジトリではブランチも公開されています [7]。
著者の他のプロジェクトにおける位置付け
Ihab Khaledは、同じ一般的な領域で他の作品も維持しています。ClawAIは、ローカルファーストのAIコントロールプレーンとして説明されており、ユーザーのマシン上でオープンモデルを実行しながら、ルーティング、メモリ、オーケストレーションを備えてトップレベルのLLMプロバイダーに接続します [8]。その変更履歴(changelog)には、リリース 0.2.0 でモノリスから、RabbitMQメッセージング、APIゲートウェイとしてのNginx、およびDocker Composeの下で約20個のコンテナを持つ9つのNestJSマイクロサービスへと移行したことが記録されています [9]。
これら2つのプロジェクトは異なるレイヤーを扱っています。ClawAIはどのモデルを使用するかを決定し、Akinatorは選択されたモデルが行動する前にプロジェクトを理解していることを保証します [8][1]。ClawAI自身のプロジェクトボードとCIワークフローは、個別のインフラ上の関心事として扱われています [10][11]。
公開ドキュメントに記載されていないこと
取得したREADMEには、インストール、プラットフォーム統合、ドメイン、および生成ファイル・コントラクトについて記載されていますが、すべてではありません。各ドメインを保存するために使用される正確なファイル形式、リトリーバルにエンベディングを使用しているかキーワードマッチングを使用しているか、フックのレイテンシコスト、ナレッジエントリ間の競合解決、モノレポの動作、および価格設定については、ここでレビューした資料には記載されていません [1, 2]。
一部のサードパーティによるリスティングには、リポジトリ自体では確認されていない詳細が追加されています。ある記述では、ask、resolve、audit、plan、implement、document、skillify、rule、contextify、memoize、index-and-sync、verifyをカバーする12ステーションのループに加え、オンボーディング、ループの実行、およびナレッジレイヤーの監査のためのコマンドについて説明しています [13]。これについては、ソースリポジトリで確認されるまで二次的な説明として扱ってください。
警告:注意: このリポジトリは汎用的なナレッジベース検索エンジンではありません。AI-Powered-Knowledge-Base-Searchのようなリポジトリは、ドキュメントの取り込み(ingestion)とセマンティック検索を扱っていますが、これはコーディングエージェントのためにプロジェクトの意図をキャプチャすることとは異なる問題です [12]。
導入チェックリスト
- README自体が推奨しているように、インストーラー・スクリプトを実行する前に内容を確認してください [2]。
- shellまたはPowerShellのインストール行を実行してください。エージェントを1つだけ使用する場合は、プラットフォーム・フラグを追加してください [1]。
- エージェントを再起動し、通常通りにプロンプトを入力してください。明示的なコマンドは不要です [2]。
- 生成されたルーターおよびwikiページは、手動で編集せず、再生成された状態を維持してください [2]。
- 更新するにはインストール行を再実行し、リポジトリをバイト単位で復元するにはアンインストール・フラグを使用してください [2]。
より広範な仮説は単純です。コードベースの「なぜ(意図)」を理解しているエージェントは、単にファイルを参照しているだけのエージェントよりも、矛盾した編集を行うことが少なくなります。Akinatorは、その知識をポータブルで、バージョン管理可能で、かつ自動的にするための試みの一つです [1]。
Sources
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
- https://github.com/ihabkhaled/akinator-ai/branches
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://github.com/ihabkhaled/ClawAI/projects
- https://github.com/ihabkhaled/ClawAI/actions/runs/30214522756/usage
- https://github.com/rikusato0/AI-Powered-Knowledge-Base-Search---Enrichment
- 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/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/developers/ihab-khaled
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/branches
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://github.com/ihabkhaled/ClawAI/projects
- https://github.com/ihabkhaled/ClawAI/actions/runs/30214522756/usage
- https://github.com/rikusato0/AI-Powered-Knowledge-Base-Search---Enrichment
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d