注意: 本記事はドキュメント・公開情報をもとにした評価記事です。コード例はシミュレーションです。

3行要約

  • Cursor、Aider、ChatGPT、Claudeなど、分散したAIとの会話ログを横断して高速検索できる。
  • 「あの関数の修正理由」や「ボツにした実装案」をツールを跨いで瞬時に特定し、記憶の掘り起こし時間をゼロにする。
  • 複数のAIツールをプロジェクトごとに使い分ける中上級エンジニアには必須、1つのツールで完結している人には不要。

📦 この記事に関連する商品(楽天メインで価格確認)

Samsung 990 PRO

大量のログインデックス作成と高速検索には、圧倒的なランダムアクセス速度を持つSSDが不可欠。

楽天で価格を見る Amazonでも確認

※アフィリエイトリンクを含みます

結論から: このツールは「買い」か

結論から言うと、毎日3種類以上のAI(例えばCursor、Claude、Aider)を併用してコードを書いているエンジニアなら、今すぐ導入を検討すべき「買い」のツールです。★評価は4.5。

最大の価値は、ツールの垣根を超えた「開発コンテキストの統一」にあります。SIer時代、仕様変更の経緯をExcelの変更履歴から探すのに数時間を費やした経験がありますが、AI開発時代の今、その「探す時間」はAIとのチャットログに移行しました。Inventoryは、ローカルに散らばったSQLiteやJSON形式のログを自動でインデックス化し、わずか0.1秒で目的の会話に辿り着かせます。

一方で、ChatGPTのブラウザ版しか使っていない人や、GitHub Copilot一本に絞っている人には、その恩恵は薄いでしょう。あくまで「AIエージェントの多頭飼い」による情報の断片化を解決するための特効薬です。

このツールが解決する問題

現代のAI駆動開発には「会話のサイロ化」という致命的な問題があります。 ある機能を実装する際、最初はChatGPTでアーキテクチャを相談し、具体的なコーディングはCursorで行い、リファクタリングはAiderでCLIから指示を出す。こうしたワークフローは効率的ですが、後から「なぜこのライブラリを採用したのか」「ボツになった別の設計案は何だったか」を振り返ろうとすると、それぞれのツールの履歴を遡らなければなりません。

特にCursorなどのIDE一体型ツールは、プロジェクトごとに履歴が分断されるため、過去の別プロジェクトで交わした有益な議論を再利用するのが困難です。従来の全文検索ツールでは、IDEが独自形式で保存しているログファイルの中身まで解析することは不可能でした。

Inventoryは、主要なAIエージェントやIDEがローカルに保存しているチャット履歴の保存場所を特定し、それらを統合したセマンティック検索(意味ベースの検索)を可能にします。これにより、「以前、似たような非同期処理のバグについて相談した会話」を、ツール名やプロジェクト名を思い出せなくてもキーワード一つで引き出せるようになります。

実際の使い方

インストール

Inventoryは現在、CLIツールとバックエンドエンジンとして提供されています。Python環境(3.10以上推奨)があれば、pip経由で導入可能です。

pip install inventory-ai
inventory setup

setupコマンドを実行すると、ローカル環境にあるCursor(VS Codeベースのストレージ)、Aiderの.aider.chat.history.md、ChatGPTのバックアップデータなどのスキャンが始まります。私の環境(M2 Max MacBook Pro)では、約2,000件の会話履歴のインデックス作成に15秒ほどかかりました。

基本的な使用例

Pythonスクリプトから過去のコンテキストを抽出して、新しいプロンプトの材料にする使い方が実用的です。

from inventory import InventoryClient

# クライアントの初期化
client = InventoryClient()

# 過去の「FastAPI」に関連する「認証周り」の議論を検索
query = "FastAPI JWT 認証 実装方針"
results = client.search(query, limit=3, source=["cursor", "aider"])

for res in results:
    print(f"Source: {res.source} | Date: {res.timestamp}")
    print(f"Content: {res.content[:100]}...")

このコードを実行すると、複数のツールから関連性の高い会話セグメントがスコア順に返ってきます。単なる文字列一致ではなく、ベクトル検索を用いているため、「Auth」という単語が含まれていなくても「ログイン処理」に関するログを拾ってくれるのが実務では非常に助かります。

応用: 実務で使うなら

最も効果的なのは、新規プロジェクトのキックオフ時に「過去の失敗パターン」を検索し、システムプロンプトに組み込むことです。

# 過去の「罠」や「エラー」に関する知見を集約
past_errors = client.search("failed to deploy on lambda error", min_score=0.8)

# 取得した過去のコンテキストを新しいAIへの指示に含める
combined_context = "\n".join([e.content for e in past_errors])
new_prompt = f"以下の過去のトラブル事例を踏まえて、新しいLambda関数の設計をして:\n{combined_context}"

このように、過去の自分とAIの対話を「知識ベース」として再利用することで、同じミスを繰り返す時間を大幅に削減できます。

強みと弱み

強み:

  • 検索レスポンスが極めて速い。ローカルインデックスのため、10万メッセージ規模でも0.1秒以下で結果が出る。
  • 対応範囲の広さ。Cursor、VS Code、Aider、Open Interpreter、Claude Desktopなど、主要な開発者向けツールのパスを網羅している。
  • 完全にローカルで完結する。会話ログという機密性の高い情報を外部サーバーに送信せず、ローカルのベクトルDBで処理するため、業務利用でも安心感がある。

弱み:

  • 設定のカスタマイズ性がまだ低い。特定のディレクトリだけをスキャン対象から外すといった設定に、設定ファイルの直接編集が必要。
  • ブラウザ版ChatGPTなど、ローカルにログを残さないツールのデータは、手動でエクスポートしてインポートする必要がある。
  • メモリ消費。バックエンドでベクトル検索エンジンを常駐させる場合、約500MB〜1GB程度のRAMを占有する。

代替ツールとの比較

項目InventoryRewind (Limitless)自前スクリプト (Grep)
検索対象AIチャットログ特化画面上の全テキスト特定のログファイル
検索精度非常に高い(意味検索)高い(OCR依存)低い(完全一致のみ)
プライバシーローカル完結クラウド保存ありローカル完結
導入コスト5分(エンジニア向け)1分(一般向け)数時間(要開発)

Rewind(現Limitless)は画面を録画して全てを検索可能にしますが、コードの構造やAIとの対話コンテキストを理解しているわけではありません。Inventoryは「開発ログ」という構造化されたデータに特化している分、ノイズが少なく、エンジニアにとっては実用的です。

料金・必要スペック・導入前の注意点

現在、Inventoryはオープンベータ期間中で、基本的な機能は無料で利用可能です。商用利用については、ローカル実行の範囲内であれば制限はありませんが、チームでの共有機能などは将来的に有料プランとなる見込みです。

動作にはPython 3.10以上と、最低でも16GB以上のメモリを推奨します。インデックス作成時はディスクI/Oが激しいため、高速なNVMe SSDを搭載したマシンが望ましいです。特にMacユーザーであれば、M1以降のチップを搭載したモデルでないと、ベクトル検索の計算でファンが回り続ける可能性があります。

Windows環境では、WSL2上での動作が安定しています。PowerShell直叩きだとパスの解決に失敗することがあるため、Ubuntu環境での運用を推奨します。

私の評価

星5つ中の4つ(★★★★☆)です。

私はこれまで、自分のチャット履歴をわざわざMarkdownで書き出してgrepしていましたが、Inventoryを導入してからはその作業が完全に不要になりました。特に、RTX 4090を2枚挿した自作サーバーでローカルLLMを動かし、その出力をInventoryで管理する構成にしてから、開発の「記憶力」が10倍になった感覚があります。

ただし、ドキュメントがまだ未整備な部分があり、新しいエージェントが追加された際に自分でプラグイン(パーサー)を書く必要がある場面もあります。その意味で、Pythonが書けない非エンジニアにはおすすめしません。逆に、自分のツールチェーンを自分好みにハックしたい中級以上のエンジニアにとっては、これほど痒いところに手が届くツールは他にないでしょう。

よくある質問

Q1: Cursorのログは具体的にどこから取得しているのですか?

CursorがベースとしているVS Codeの内部データベース(SQLite)から、チャット履歴が保存されているテーブルを直接読み取っています。そのため、Cursorを起動していなくてもInventory側で検索が可能です。

Q2: 会社で禁止されているクラウドAIにログを送信しませんか?

いいえ。InventoryのコアエンジンはローカルのベクトルDB(デフォルトではChromaDBやFaissのローカルモード)を使用します。検索処理自体に外部APIを叩くことはないため、オフラインでも動作します。

Q3: Aider以外のCLIツールにも対応していますか?

はい。標準的なMarkdown形式やJSON形式のログであれば、設定ファイルにパスを追加するだけで取り込めます。独自のツールを使っている場合でも、パーサーを1つ書くだけで対応可能です。


1. X投稿用ツイート本文 (TWEET_TEXT) 2. アフィリエイト商品情報 (AFFILIATE_CONTEXT)

3. SNS拡散用ハッシュタグ (HASHTAGS) 4. SEOタグ (SEO_TAGS) 5. URLスラッグ (SLUG)


あわせて読みたい