Skip to content

Latest commit

 

History

History
108 lines (61 loc) · 11.2 KB

File metadata and controls

108 lines (61 loc) · 11.2 KB

Digital Anima — 基本理念

Organization-as-Code for LLM Agents

更新日: 2026-03-25 関連: brain-mapping.ja.md, memory.ja.md

組織を定義し、仕事を流し込み、自律的に動かす。

AnimaWorksはマルチエージェントフレームワークではない。 LLMエージェントによる永続的で自律的な組織を定義するシステムである。 各エージェントはカプセル化されたメッセージで通信し、固有の記憶とアイデンティティを保持し、 ローカルモデルからクラウドまで適材適所でモデルを選択する。

English version

何を作りたいのか

不完全な個の協働が、単一の全能者より堅牢な組織を作る。 そして記憶を持って積み重ねれば、誰もがその限界を超えられる。

AIに全てを知らせ、全てを処理させるアプローチがある。コンテキストウィンドウを限界まで埋め、1つのモデルに全てを委ねる。AnimaWorksはその逆を選ぶ。

AIを「不完全な個」として設計し、組織として協働させる。人間の組織が機能するのは、各メンバーが限られた視野と記憶で判断し、不完全な情報を自分の言葉で伝え合うからである。全員が全てを知っていたら、組織にする意味がない。

天才も処理能力の低い子も、適材適所

AnimaWorksでは、ひとつのモデルが全てを担わない。Claude OpusやSonnetのような強力なモデルはエンジニアやマネージャーとして複雑な推論を担い、OpenAI・Azure・Google(Gemini)などのクラウドAPIや、vLLM・Ollama上のモデルは情報収集・定型業務・軽量タスクに振り分けられる。モデル名(と任意の execution_mode 上書き)に応じて実行モード S/C/D/G/A/B が解決され、Agent SDK・Codex CLI・Cursor Agent CLI・Gemini CLI・LiteLLM ツールループ・1ショット補助などへ振り分けられる。メインモデルは主に**人間チャット(chat)**と TaskExectask:*)向け。ハートビート・cron・Anima間Inboxinbox:*)では、任意でメインより軽い background_model(必要なら background_credential)を指定してコストを抑えられる。未設定ならメインモデルが使われる。

天才には天才の仕事がある。けれど、天才だけでは組織は回らない。地味な仕事を黙々とやるやつがいて初めて、組織全体が動く。AnimaWorksは、モデルの能力差を欠点ではなく組織設計の材料として使う。

記憶が、限界を超えさせる

しかし適材適所だけでは十分ではない。人間の組織でも、新人がいつまでも新人のままでは困る。経験を蓄え、学び、成長できること——それが本当の適材適所の前提だ。

AnimaWorksの記憶システムは、脳科学に基づいた想起・学習・忘却・固定化のメカニズムを実装する。昨日の失敗を今日の教訓に変え、繰り返し成功した手順を体に覚えさせ、使われない記憶は自然に薄れさせる。日次・週次の意味記憶への統合は、フレームワークがエピソード収集やベクトル索引の更新を用意しつつ、Anima自身がツール呼び出しループで要約・抽出を実行する形に寄せている(完全自動バッチ一本ではない)。

これによって、限られたコンテキストウィンドウしか持たないモデルでも、経験と記憶の蓄積を通じてはるかに大きなモデルに匹敵する判断力を獲得できる可能性がある。天才の一回きりの判断よりも、経験を積み重ねた「普通のやつ」の判断の方が的確なことがある——AnimaWorksはそれを、コードで証明する。

3つの原則

1. カプセル化された個

各Digital Animaは閉じた存在である。内部の思考・記憶は外から見えない。他者とはテキストメッセージだけでつながる。

全てを知ることはできない。だからこそ自分の専門性で判断し、自分の言葉で伝える必要がある。この制約が、組織を組織たらしめる。

2. 人間の脳に倣った記憶

コンテキストウィンドウに情報を詰め込むのではなく、人間の脳と同じメカニズムで記憶を扱う。

  • 想起: PrimingEngine が6チャネル並列で取得する——送信者プロファイル、直近活動(統一アクティビティログ)、関連知識(ベクトル検索)、スキルマッチ、タスクキュー要約(submit_tasks 等の並列バッチ実行中タスクも反映)、エピソード。知識は [IMPORTANT] 付きチャンクを別経路で常に優先し(要約ポインタ)、検索結果はメタデータの出所に応じて信頼済み/未信頼の注入ブロックに分ける(外部由来の連鎖では全体を未信頼扱いにする等、ツール結果の trust 階層はセキュリティ設計参照)。直近アウトバウンド人間向け通知の未処理分も注入する。スキルは段階開示(名前のみ→必要時に全文)。トークン上限は config.jsonpriming とデフォルト定数で調整でき、目安は送信者500・活動1300・知識検索1000+重要知識500・スキル200・タスク500・エピソード800トークン級。メッセージ種別(挨拶/質問/依頼)や heartbeat では動的バジェットとなり、ハートビート時は max(budget_heartbeat, context_window × heartbeat_context_pct) で大コンテキストに比例させられる
  • 学習: 経験をエピソードとして記録し、繰り返し参照された知識は強化される。解決済み問題(issue_resolved 等)から手続き記憶の下書きが生成される
  • 忘却: 使われない記憶は徐々に薄れ、やがて消える。3段階(シナプスダウンスケーリング→ニューロン新生再編→完全忘却)で能動的に整理する。しきい値の例: 日次マークは「90日未アクセスかつアクセス回数が少ない」知識チャンクなど。完全忘却は低活性が約90日続きアクセスも極めて少ないチャンクが対象。skills / shared_users は保護され、手続き・知識には用途実績・重要度・ユーティリティに応じた保護がある
  • 固定化: エピソードから意味記憶への蒸留は、上記のとおりスケジュールと索引更新をフレームワークが支えつつ、抽出・統合作業そのものはAnimaのツールループが担う(ConsolidationEngine は前処理・後処理中心)。手続き記憶は、失敗回数と信頼度しきい値(例: 失敗が蓄積し confidence が十分でない手続き)を満たしたときのリコンソリデーション(LLMによる改訂と版管理・アーカイブ)でも改善される

ワーキングメモリの大きさではなく、判断の質を重視する。すっきりした脳で、必要なことだけを思い出し、的確に判断する。

3. 組織としての協働

不完全な個は、単独では限界がある。しかし組織になれば、個の限界を超える。

  • プロセス分離: 各Animaは独立した子プロセスとして起動・監視される。単一障害点を避け、堅牢な組織を実現する
  • 階層: supervisor-subordinate の関係で指示と報告が流れる。タスク委譲はメッセージと永続キューで追跡される
  • 通信: 全ての連携はメッセージングによる非同期通信。共有メモリや直接参照はしない
  • 並行と順序: 人間会話用・Anima間Inbox用・ハートビート/cron/TaskExec用のロックを分離し、パス同士の詰まりを減らす。Inbox 処理は進行中の cron 終了を待ってから走るなど、コンテキスト混線を避ける順序制御がある
  • 自律: 各Animaはハートビートとcronで自ら動き、自分の理念で判断する。重い実行は計画(ハートビート)と分離し、state/pending/ 経由のタスク実行パスや、DAG投入による並列タスク(submit_tasks)で処理する。Anima間メッセージ(Inbox)は専用パスで、定期ハートビートのサイクルを待たずに返信できる
  • 文化: 組織のビジョンと各Animaのアイデンティティが、判断の基盤になる

なぜこの設計を選ぶのか

設計思想として: 不完全であることは制約ではなく選択である。情報を制限し、個を閉じ、通信を強制することで、単一障害点のない堅牢な組織が生まれる。1つのAIが全てを担う構成は、そのAIが誤れば全てが崩れる。

実用的な理由として: 現在のLLMは、コンテキストが長くなるほど注意が散漫になり、精度が落ちる。必要な情報だけを想起する脳科学アプローチは、限られたコンテキストの中で最大の判断力を引き出す。モデルが進化しても、コストの観点からこの効率性は価値を持ち続ける。

信念として: 適切な構造と記憶さえあれば、どんな個も——能力に限りがあっても——意味ある仕事ができ、経験を通じて成長できる。AnimaWorksはその信念をコードで体現する。

動作確認:これができれば成功

思い出せるか

プロンプトに含まれていない過去の記憶を、自分で思い出して判断に使えるか。

例:「田中さんに返信して」と指示する。過去にカジュアル文面でリジェクトされた記憶はプロンプトにない。自発的にその経験を思い出し、フォーマルな文面で返信案を作成すれば成功。

学べるか

失敗から教訓を抽出し、記憶に書き込み、次回の判断を変えられるか。

例:返信案がリジェクトされた後、教訓を知識として記憶し、次の返信案にその教訓が反映されていれば成功。

自分で動けるか

誰にも指示されずに、自分の判断で必要な行動を取れるか。

例:定期巡回で未読メッセージを発見し、自分の判断で対応を開始すれば成功。

組織として機能するか

複数のAnimaが、メッセージを通じて協働し、個では達成できない成果を出せるか。

例:supervisorが方針を示し、各Animaが自分の専門性で分担して実行し、結果を報告して統合できれば成功。

処理能力の低い子が成長できるか

能力の限られたモデルでも、時間と記憶を与えれば、初日よりも良い判断ができるようになるか。

例:最初はデプロイ作業にガイダンスが必要だったローカルモデルが、手続き記憶の蓄積を通じて、数週間後にはルーティンデプロイを独力で、より少ないエラーで処理できるようになれば成功。