0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeで話したことをCodexが思い出せるようにした

0
Posted at

前回紹介した、AIコーディングエージェント向けローカルメモリOSS「memcp」のアップデートです。
https://zenn.dev/tech_nnyannya/articles/14b8f5156f0a20

複数のAIコーディングエージェントを併用すると起きること

最近はClaude Codeだけでなく、Codex CLIのような複数のAIコーディングエージェントを併用している人も増えてきたと思います。ただ、これをやると新たな問題が出てきます。

  • Claude Codeで議論して決めたアーキテクチャの方針を、Codex CLIのセッションではもう一度説明する羽目になる
  • 「あのバグ、どっちのツールで直したんだっけ」を忘れる
  • 同じプロジェクトなのに、ツールを切り替えるたびにコンテキストがリセットされる

今回、memcpをCodex CLIにも対応させ、Claude CodeとCodex CLIの間で記憶を横断検索できるようにしました。

memcpとは

一言で言うと、複数のAIコーディングエージェントのセッションログをローカルのSQLiteに蓄積し、MCP(Model Context Protocol)経由でエージェント自身に検索させるツールです。

セッションが終わる
        │ 
        ▼
ログを取り込む・正規化する
        │
        ▼
ローカルのSQLiteに保存(FTS5で全文検索)
        │
        ▼
別のセッションで、必要になったらエージェントが検索する

データは一切外部に送信されません。クラウド同期もテレメトリもなし、全部ローカルのSQLite一本で完結します。

現在提供しているMCPツールは以下の4つです。

Tool 説明
search_memory(query, limit) 過去の全セッションを全文検索
read_session(session_id, query, max_messages) 特定セッションのログを読む(queryで絞り込み可)
list_recent_sessions(limit) 直近のセッション一覧
ingest_session(path) 特定のログを手動で取り込む

何が新しくなったか:エージェント横断の記憶

ここが今回の本題です。

Claude CodeとCodex CLIは、開発元も違えば、セッションログの形式も、設定ファイルの場所も、MCPサーバーの登録方法も、何もかもが別物です。この2つの間で記憶を共有するには、それぞれのログ形式を専用のパーサーで読み、共通のスキーマ(セッション・メッセージ・ツール呼び出し)に正規化して、同じSQLiteデータベースに集約する必要がありました。

ParseFn = Callable[[Path], tuple[Session, list[Message], list[ToolCall]]]

この形のパーサーを1つ書けば、新しいエージェントに対応できる構造にしてあります。今回はこれにCodex CLI用の実装を追加し、memcp setup もCodex CLI側のMCPサーバー登録・自動取り込み設定まで一括で面倒を見るように拡張しました。

その結果、こんなことができるようになりました。

── Claude Codeでの過去のセッション ──
User: JWTのリフレッシュトークン、ローテーションはどう実装した?
Claude: Redisでスライディングウィンドウ方式の失効管理を実装しました。
        (このセッションはここで終了)
── 数日後、Codex CLIで新しいセッションを開始 ──
User: 前にJWTのリフレッシュトークンの実装、どうやったんだっけ?
Codex: [search_memory("JWT refresh token rotation") を実行]
       見つかりました — 2026-06-10のClaude Codeのセッションです。
       Redisでトークン失効管理をするスライディングウィンドウ方式を
       使っていますね。実装の詳細も読み込みましょうか?

別のベンダーの、別のツールが、自分が知らないはずの過去の作業を正確に思い出す。 これが実際に動いているのを見たとき、地味だけどかなり手応えを感じました。エージェントを切り替えるたびに文脈をゼロから説明し直す、という日常的なストレスが本当になくなります。

セットアップは memcp setup だけで、Claude Code・Codex CLI両方のMCPサーバー登録と自動取り込み設定を一括で行います。

今できること/できないこと

できること

  • Claude Code・Codex CLI、両方のセッションログの取り込みとパース
  • どちらのエージェントからも、MCP経由でセッションを横断検索

まだできないこと

  • Codex CLI単体だと、セッション終了時の自動取り込みがまだ動かない(Codex側のフック対応待ち。手動で memcp ingest-new を叩く必要がある)
  • Cursor / Windsurf など、他のエージェントはまだ未対応
  • 意味検索(embedding)はまだない

おわりに

「複数のAIコーディングエージェントを併用しても記憶が分断されない」というのは、エージェントが増えていくこれからの開発体験において、地味だけど効いてくる部分だと思っています。

フィードバック・PR、お待ちしています🙏

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?