jzjzzzzzzz/agent-me
Distill your knowledge, memories, and decisions into an open-source, inspectable AI Agent Twin.
Agent‑Me – 自分自身のオープンソース「AIツイン」
何であるか – Agent‑Me は実行可能な FastAPI + React アプリケーションであり、バージョン管理された Markdown で保存された個人の知識を、小さな検査可能な AI エージェントに変換できる。このエージェントは単に事実を繰り返すのではなく、決定論的でマルチステージのパイプライン(取得 → 計画 → 調査 → 評価 → 書き出し → オプションの検証)に従い、何が起こったかの完全なトレースを返す。
なぜ重要か – 多くの個人用チャットボットは単一のプロンプトとベクトルストアに依存している。Agent‑Me は個人用 AI を システム として扱い、明示的なメモリ、出典、証拠に基づいた回答を持つ。すべての中間ステップが公開されているため、ツインが何かを言う理由を確認でき、証拠が不足している場合は合成をブロックできる。
コアコンセプト
| コンポーネント | 役割 | 実装(README に記載) |
|---|---|---|
| 個人の知識 | ツインの静的知識、好み、経験など | レビュー可能なバージョン管理された Markdown ファイル(例:knowledge/example-profile.md)。 |
| RAG | 回答前に関連する抜粋を検索 | ローカルで動作する、境界付きで決定論的なローカルリトリーバー。Markdown コーパス上で動作。 |
| プランナー | 質問に対する全体的なアプローチを決定 | タイプ化された Plan データクラスを生成。 |
| リサーチャー | プランに必要な正確なソース抜粋を取得 | EvidenceBundle を返し、抜粋とメタデータを含む。 |
| クリティック | 証拠が合成に十分かを検証 | Critique を発行。証拠が不足している場合は「不足証拠」応答でパイプラインをブロック。 |
| ライター | 最終的な回答を証拠を引用して生成 | 引用と安全な要約を含む WrittenAnswer を発行。 |
| 検証者 (オプション) | 証拠の経路やその他の不変条件を追加で検証 | Verification 結果を生成。検証に失敗した場合は回答を拒否。 |
| 公開トレース | 全実行を観察可能にする | 各ステージの結果、安全な要約、メトリクスを含む JSON ペイロード。 |
| 評価 | レグレッションテストのための決定論的動作を保証 | バージョン管理されたフィクスチャ(course/fixtures/...)と決定論的評価者が CI で実行。 |
動作方法(概要フロー)
- ユーザーがリクエストを送信
/api/v1/collaborate(またはチャットエンドポイント)に。リクエストには質問と希望するワークフロー(default= プランナー‑リサーチャー‑クリティック‑ライター、verified= 検証者を追加)が含まれる。 - 取得 ローカルコーパスから関連する Markdown 抜粋を取得。
- プランナー 回答すべき内容を記述する構造化された計画を作成。
- リサーチャー プランに必要な正確な抜粋を収集。
- クリティック 収集された証拠が十分かを検証。不足している場合は「不足証拠」の固定応答を返す。
- ライター 証拠を意識した回答を構成。
- 検証者(有効な場合)証拠の経路やその他の不変条件を検証。失敗した場合はブロック。
- 応答 回答、ソースリスト、
groundedフラグ、各ステージの完全なtraceを含む。
セットアップ(クイックスタート)
| 方法 | ステップ |
|---|---|
| Docker Compose(推奨) | 1️⃣ git clone https://github.com/jzjzzzzzzz/agent-me.git 2️⃣ cd agent-me && cp .env.example .env 3️⃣ docker compose up --build UI は http://localhost:5173、API ドキュメントは http://localhost:8000/docs でアクセス。 |
| ローカルツールチェーン | Python 3.11+、uv、Node 22+、npm を必要とする。make setup を実行し、バックエンド(uvicorn …)とフロントエンド(npm run dev)を起動。 |
| オプションのLLMプロバイダー | .env で LLM_BASE_URL、LLM_API_KEY、LLM_MODEL を OpenAI 互換エンドポイント(例:OrcaRouter)に設定。/api/v1/chat エンドポイントのみが外部モデルを使用;/collaborate は完全にローカルで動作。 |
一般的な利用例
- 個人知識アシスタント – 自分のプロジェクト、好み、過去の意思決定についてツインに質問し、その回答がどの Markdown エントリから来たかを明確に引用して返す。
- 研究の再現性 – 公開トレースにより、結論に至った経路を監査可能にし、コンプライアンスや学術的環境で有用。
- 教育用デモ – リポジトリには開発者がステップバイステップでパイプラインを構築するためのバイリンガルカリキュラムが含まれている。
- 継続的に学習する AI ツインのプロトタイプ – 構造は意図的にモジュール化されており、Markdown ストアをより豊かなグラフに置き換えたり、同意ベースのインジェストを追加したり、ツールコールモジュールを接続したりできる。
制限事項(リポジトリに記載)
- メモリは現在、静的な Markdown ファイルの集合に限定されている;自動インジェストや忘却機能はない。
- 構造化されたアイデンティティモデル、時系列推論、信頼度スコアは 将来の課題。
- 検証者は証拠経路の不変条件のみをチェック;事実の真偽を 保証しない。
- 外部 LLM プロバイダーを使用する場合、チャットエンドポイントのみが外部にデータを送信;コラボレーションのコアパイプラインはローカルのまま。
- このシステムは 実験的なアーキテクチャ であり、プロダクション向けの個人アシスタントではない。
次に見るべき場所
- アーキテクチャ詳細 –
docs/ARCHITECTURE.md - APIスキーマ –
docs/API.md - 信頼モデル –
docs/TRUST.md - ロードマップ & コントリビューション –
ROADMAP.mdとCONTRIBUTING.md - 評価フィクスチャ –
course/fixtures/collaboration_cases.json
結論 – Agent‑Me は、個人の知識を検査可能な形式で保存し、透明でマルチエージェントのパイプラインを通じて質問に答える「AIツイン」を構築するための具体的なオープンソースプラットフォームである。意図的に制限されている(ローカル取得、決定論的実行)が、継続的に学習し、プライバシーを守る個人のデジタル表現へと拡張可能に設計されている。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト