AI News HubLIVE
站内改写3 分で読了

ステートフルなAIエージェントの構築:Centri – メモリファーストのコーディングエージェント

Centriは、持続的なメモリ脊髄を通じてAIエージェントの忘却問題に対処するオープンソースプロジェクトです。追加専用のイベント脊髄を真実の源泉とし、派生可能なメモリグラフと決定論的コンテキストキュレーションを採用しています。主な機能には、イベント脊髄、型付きメモリグラフ、決定論的キュレーション、FTS5逐語的リコール、LLM統合、時間リコール、ACPベースのコーディング委任、ツール契約、履歴インポートがあります。Lettaとのベンチマークでは、古い事実の処理においてCentriが優れています。

ソースHacker News AI著者: suryaankata

Centriは、メモリファーストのコーディングエージェントとして設計されたオープンソースプロジェクトです。従来のAIエージェントは、コンテキストウィンドウが満杯になったりセッションが終了すると、毎回新しい対話をゼロから開始するため、過去に決定した事項や拒否したアプローチを繰り返し説明する必要がありました。Centriはこの問題を、追加専用のイベント脊髄(event spine)をシステムの唯一の真実の源泉とすることで解決します。メモリはもはや脆弱なコンテキストウィンドウに依存せず、永続的なログから派生され、いつでも再生成可能です。

Centriのアーキテクチャは3つの部分から構成されます:PythonベースのメモリAPIコア、OpenCodeをベースにしたTypeScript/Bunのアプリケーションシェル、そしてHermes統合プラグインです。イベント脊髄が真実の源泉であり、型付きメモリグラフ(決定、事実、オープンループを含む)は二時的な置換機能を持ち、新しい事実が古い事実を無効化しますが、履歴は完全に保持されます。各ターンのコンテキストは、純粋関数curate()によって決定論的に計算され、すべての情報にはソースイベントを指し示すIDが付与され、監査可能性と再現性が保証されます。

Centriの主な機能は以下の通りです:

  • 追加専用イベント脊髄:すべてのツール呼び出し、ファイル編集、決定、結果を耐久性のあるログに記録し、書き込み時に機密情報を即座にマスキングします。
  • 型付きメモリグラフ:二時的な置換をサポートし、古い事実は新しいコンテキストに現れませんが、完全なタイムラインは監査可能です。
  • 決定論的キュレーション:コンテキスト生成にLLMを使用せず、同じ入力からは常に同じ出力が得られます。
  • FTS5逐語的リコール:SQLiteの全文索引を利用して、以前の正確なトークン(ファイル名、エラー文字列など)をコンテキストに直接取り込むことができます。
  • LLM統合:オフラインワーカーが生のイベントをユーザープロファイル、アクティブなプロジェクト、オープンループなどの高レベル情報に変換します。
  • 時間リコール:「昨日から何が変わった?」のような自然言語クエリをサポートします。
  • ACPベースのコーディング委任:エージェントクライアントプロトコル(JSON-RPC over stdio)を介してコーディングエージェントにタスクを委任し、リアルタイムのストリーミング進捗、破壊的操作の承認ゲート、およびフォールバックをサポートします。
  • ツール契約:Composioツール(例:Tavily検索)をイベントログに記録し、副作用のある操作は承認ゲートを通過し、読み取り専用の結果は自動的にメモリにフィードバックされます。
  • 履歴インポート:OpenCode、Claude Code、Cursorの履歴をワンショットでインポートするブートストラップに加え、継続的に追跡することで、新規インストール時から完全なメモリを提供します。
  • Hermes構造化取り込み:Hermesチャットを型付けされた重複排除可能なエンベロープとして取り込みます。

迅速なデプロイにはDocker(docker compose up -d)が利用可能で、手動でのソースからの実行もサポートしています。すべての設定は環境変数で駆動され、モデルに依存せず、BYOK(Bring Your Own Keys)方式を採用しています。デフォルトでは127.0.0.1:8760ポートでリッスンし、ヘルスチェックおよびステータスエンドポイントを提供します。参照デプロイメントではsystemdサービスとCaddy/TLSの使用が推奨されています。

Centriはまた、Hermesのメモリプロバイダとしても動作し、薄いプラグインを介してHermesのメモリ呼び出しをCentriコアのHTTP APIに変換します。さらに、centri-benchというベンチマークツールを提供し、Letta v0.16.8(pgvectorアーカイブ)と比較しています。3人のペルソナ平均で、古い事実の正確性においてCentriは1.00を達成し、Lettaは0.67でした。複合スコアは1.00対0.93です。

Centriのテストスイートは385のテストケースで構成され、コア、メモリグラフ、キュレーション、ACPコーディングループ、ツール契約、履歴インポートをカバーしています。プロジェクトはMITライセンスの下で提供され、OpenCodeフォークは元のMITライセンスを保持しています。完全なドキュメントとロードマップはプロジェクトのdocs/ディレクトリにあります。