Graphicle 0.1.0: GraphifyのRustポートで、コーディングエージェントにコードグラフとメモリを追加
Graphicleは、リポジトリのコードグラフを構築し、プロジェクトメモリ(ドキュメント、決定事項、過去のエージェントセッション)を保存する単一のRustプログラムです。そして、MCPを介してコーディングエージェントに両方からの引用抜粋を提供します。これは、GraphifyコードグラフエンジンのRustポートであり、メモリレイヤー、アプリ、セッションキャプチャが追加され、Apache-2.0ライセンスで公開され、KarLex AI, Inc.によって公開されています。
このプロジェクトはHacker NewsにShow HNとして投稿され、32ポイントと9コメントを獲得しました。議論は薄く、9件のコメントのうち3件はフラグが付けられ、残りの実質的なコメントは、この種のメモリシステムがripgrepを使った単純なエージェントハーネスに勝るかどうかを疑問視するものでした。
Graphicleの機能
Graphicleは、通常は別々のツールである2つの機能を組み合わせています:コードグラフとメモリストアです。コードグラフは、ファイル、関数、クラス、呼び出し、インポートをカバーし、tree-sitterで解析され、モデルは使用しません。メモリストアは、Markdown、PDF、Office、HTMLドキュメント、レビュー済みの決定事項と手順、過去のClaude CodeおよびCodexセッションをカバーします。
両方は一緒に検索できます。graphicle contextとMCPツールは、モデルを呼び出さずに、トークン予算内でソース付きの抜粋を返します。すべての抜粋は、ファイル名と行範囲を明示します。
READMEの実例では、graphicle ask "where is tax added to prices?"と尋ねると、3,000トークンのうち598トークンに及ぶ4つの引用抜粋が返されます。最初のものはshop/pricing.py:1-7、price_with_tax()関数です。
インストールとセットアップ
インストール方法はHomebrewまたはシェルスクリプトです:
brew install graphicle-ai/tap/graphicle
cd your-repo
graphicle setup
Homebrewがない場合、READMEはcurl -fsSL https://github.com/graphicle-ai/graphicle/releases/latest/download/install.sh | shを提供しています。ネイティブWindowsビルドはまだありません。READMEには、LinuxインストールはWSL2で動作するはずだがテストされていないこと、ネイティブWindowsサポートが計画されていることが記載されています。
graphicle setupは、リポジトリをインデックス化し、コードグラフを構築し、見つけたコーディングエージェントを接続し、セッションキャプチャを有効にし、Claude Codeの検索を最初にコードグラフに向け、AGENTS.mdに短いセクションを追加し、プロジェクトを最新に保つGitフックをインストールします。変更するすべてのファイルをリストし、各ファイルを<file>.graphicle-bakとしてバックアップします。graphicle disconnectは、セットアップが行ったすべてを元に戻します。
READMEに記載されている他のコマンドには、ターミナルでの質問用のgraphicle ask、グラフ、ソース、メモリのブラウザビュー用のgraphicle open、ヘルスチェック用のgraphicle doctor、シンボルに依存するものをリストするためのgraphicle graph extract . --code-onlyに続くgraphicle graph affected "retry()"、およびドキュメント内のコード言及とそれらが参照する定義間のリンクをリストするgraphicle call graph.doc_linksがあります。
ベンチマーク:Graphifyに対する速度
約31,000ファイルのKubernetes上で、Graphicle 0.1.0エンジンはコードのみの抽出を3分18秒で実行し、Graphify 0.9.88は26分38秒でした。両方とも同じグラフを構築しました:256,329ノードと1,400,392エッジ。READMEはこれを、同じ16 CPUと8ワーカーを持つ1台のLinuxホストでの各1回の探索的実行として説明し、0.1.0エンジンはリリースソースのLinuxテストビルドであったと述べています。
Djangoでの以前の比較では、Graphicleのプレリリースビルドがコードのみの抽出で7.5秒、Graphify 0.9.77が72.8秒でした。これらの数値は、8ワーカーを持つ1台の共有Linuxホストでの5回の交互実行の中央値であり、両方のツールが同じグラフを構築しました。
ベンチマーク:7つのメモリシステムに対するメモリ
READMEは、7つのメモリシステムとの比較を報告しています。これは、回答が採点される前に登録され、1つのオープンモデルがすべてのシステムのリーダー兼ジャッジとして実行されました。Graphicleのプレリリースビルドは、その比較で「3つの開発セットでどこにも劣らない」とされています。READMEは、完全なスコアとその方法と注意点へのリンクを提供しています。
コードシンボルに固定されたメモリ
Graphicleの際立った設計上の選択は、レビュー済みメモリが対象とする関数に結び付けられていることです。メモリは、そのコードが変更されると古くなりますが、同じファイル内の他の場所での編集は通常、メモリを最新のままにします。READMEは、クレートドキュメントの正確なルールへのリンクを提供しています。
Hacker Newsのコメンターdmos62はこれをプロジェクトの最も重要な部分として挙げ、メモリシステムの長年の問題を解決すると主張しました:
メモリをコード(例:関数)に結び付けることに基づくメモリ無効化は、ここでの大きなポイントだと思います。ただし、それが前面に出ない理由は理解できます。メモリがまだ有効かどうかを判断するのが難しいため、メモリシステムは常に気持ち悪いと感じていました。また、発見可能性も常に懸念事項です(メモリがいつ関連するか)。これがコードグラフとメモリシステム(一見無関係なもの)の両方であることは、実際にこれを新しい方法で解決しています。
エージェントが提案するメモリは自動的に有効になりません。アプリでの承認を待ちます。graphicle openがそこに送ります。
アーキテクチャ:1つのプログラム、1つのSQLiteファイル
Graphicleは、コードグラフ、メモリ、1つのMCPサーバー、Webアプリ、コマンドラインを1つのインストールで提供し、1つのSQLiteファイルに支えられています。READMEはこれを、コードグラフツールとメモリサーバーという一般的な代替手段(通常は異なるランタイム上の2つのツール、各エージェントで個別に構成された2つのMCPサーバー、別々のストレージ)と対比しています。
MCPサーバーはgraphicle mcpで起動され、Graphifyのツール名でコードグラフツールを提供します。query_graph、get_neighbors、shortest_pathなどに加えて、メモリツールも提供します。リコールは、graphicle context --workspaceまたはワークスペースMCPエンドポイントを介して、ワークスペース内の複数のリポジトリにまたがることができます。
ソースは3つのクレートに分割されています:crates/graphicle/(プログラム用:コマンドライン、アプリ、HTTPおよびMCPサーバー)、crates/graphicle-graph/(コードグラフエンジン用)、crates/graphicle-memory/(メモリライブラリ用)。PythonおよびTypeScript SDKが含まれ、deploy/にチームサーバーレシピがあります。各クレートは個別にビルドできます。
クライアントサポート
graphicle setupは、見つけたすべてのクライアントをMCP経由で接続します。READMEによると、接続ポイントは次のとおりです:
| クライアント | セットアップが接続する場所 | セッションキャプチャ |
|---|---|---|
| Claude Code | リポジトリ内の.mcp.json |
.claude/settings.local.jsonのフック |
| Codex | ~/.codex/config.toml |
~/.codex/hooks.jsonのフック(Codexが信頼を求めます) |
| Cursor | ~/.cursor/mcp.json |
— |
| VS Code | リポジトリ内の.vscode/mcp.json |
— |
| Claude Desktop | Claudeの設定フォルダ内のclaude_desktop_config.json |
— |
| その他のMCPクライアント | 短いJSONエントリ | — |
プライバシーとローカルファーストの動作
Graphicleはアカウントを必要とせず、テレメトリを送信しません。ソース、メモリ、コードグラフは、macOSでは~/Library/Application Support/Graphicle、Linuxでは~/.local/share/graphicleの1つのSQLiteストアに保存されます。graphicle graph extractはグラフファイルをプロジェクト内の.graphicle/に書き込みます。アプリとそのHTTPおよびMCPエンドポイントは、デフォルトで127.0.0.1でリッスンします。
READMEは、Graphicleがネットワークに到達するケースをリストしています:設定したモデルまたはコネクタ、完全なgraphicle graph extract(見つけたAPIキーを持つLLMにドキュメントと画像を送信します)、graphicle graph add、clone、グラフサーバーのプルリクエストツール用のGitHub CLI、および指定したフィードを使用したgraphicle update。ソースからのビルドも、パーサーソースを一度ダウンロードします。
同期は.gitignoreを尊重し、.envファイル、キー、資格情報をスキップします。セッションキャプチャは<private>…</private>スパンを削除し、資格情報を編集します。メモリまたはキャプチャされたセッションを削除すると、そこから派生したものも削除され、ハッシュチェーン削除レシートが生成されます。
モデルが必要なものと不要なもの
コードグラフ(--code-only)、同期、context、MCPサーバー、セッションキャプチャ、アプリにはAPIキーやモデルは不要です。graphicle askの回答を書くため、ソースからメモリを提案するため、完全なgraphicle graph extract中にドキュメントと画像を読むためにはモデルが必要です。
モデルはgraphicle config set model anthropic、openai、またはollamaで設定します。OllamaまたはOpenAI互換サーバーを介したローカルモデルがサポートされています。モデルが設定されていない場合、graphicle askは書かれた回答ではなく、取得された証拠を表示します。
制限とライセンス
デフォルトでは、プロジェクトは最大100,000テキストファイルと1 GiBのテキストを保持でき、両方の制限を引き上げることができます。非常に大きなファイルは部分的に分析されるか、同期を停止する代わりに検索可能なテキストとして保持されます。
GraphicleはApache-2.0で、無料で使用、変更、商用配布が可能です。コードグラフエンジンは、Safi ShamsiとGraphifyコントリビューターによるGraphifyのRustポートであり、Graphifyのリリースと歩調を合わせ、ファイルヘッダーとNOTICEファイルでクレジットされています。パリティチェックは、それが追跡するリリースを指定します。メモリ、メモリツール、アプリ、セッションキャプチャはGraphifyの一部ではありません。Graphifyからの移行がサポートされています:graphicle setupはリポジトリを切り替えることを提案し、各ファイルをバックアップし、graphify-out/を決して削除しません。
貢献はApache-2.0で、Developer Certificate of Origin署名(git commit -s)とCLAなしで受け入れられます。チーム向けの商用エディションはプライベートプレビュー中です。
Hacker Newsの議論が疑問視した点
スレッドで最も実質的な反論は、コメンターtheLiminatorからのもので、メモリシステムが自分のテストではより単純なベースラインよりも劣っていたと報告しました:
これで実際に良い結果を得た人はいますか?私が実行した評価(あまり科学的ではありませんが)では、これらのメモリシステムはripgrepを使った生のハーネスよりも悪い結果でした。
コメンターpjm331は、その主張の背後にある方法論的な質問をしました:
エージェントにこれらの種類のツールを与える評価を実行している人は誰で、どのようにやっていますか?
スレッド内の誰もどちらの質問にも答えませんでした。コメンターblackspacxは、ベンチマークがどのように維持されるか、ツールがAI支援で書かれたかどうかを尋ねました。これも表示されたコメントでは未回答のままでした。提出者アカウントKarLexAIからのものを含む残りのコメントはフラグが付けられました。
スレッドからの実用的な要点は、プロジェクト自身のメモリベンチマーク(7つのシステム、1つのオープンモデルがリーダー兼ジャッジ、採点前に登録)がこれまでに提示された唯一の評価証拠であり、ripgrepプラスハーネスのベースラインに対する独立した再現は公開されていないということです。