[Feature]: `graphify benchmark` measures answer size but never whether the answer is right
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
Read the existing graphify benchmark command and the query_graph path it uses; the issue does not name source files or tests. Start by tracing how the benchmark invokes queries and formats its report, then compare that path with the proposed --questions, --json, --depth, and --budget options. Done means JSON and JSONL question files produce the requested file-rank metrics and answer sizes while the benchmark without --questions stays unchanged.
索引モデルが issue の本文から書いたものです。
説明
Problem or use case
graphify benchmark reports how many tokens a query costs versus reading the corpus. Nothing measures whether the answer contains what the question needed, so a change to query scoring, seeding or rendering can make answers smaller and worse and the benchmark calls it a win. Twenty-odd open PRs change how query ranks or renders (#2403, #3284, #3417, #3636, ...), and there is no shared number to compare them by.
I built such a number from a public set with known answers: the 177 SWE-bench Lite issues of django, pytest, sphinx, requests, flask, pylint, seaborn, xarray and astropy, each repo built at the commit its issues were filed against, the issue title as the question and the files the real fix changed as the right answer. query_graph with the MCP defaults (BFS, depth 3, ~2000 tokens), graphify 0.9.85:
| right file is the first file shown | in the first 3 | in the first 5 | anywhere in the answer | |
|---|---|---|---|---|
query_graph |
25% | 34% | 38% | 62% |
| BM25 over the repo's .py files (reference) | 32% | 56% | 64% | 92% in the top 50 |
The same set run against some open query PRs (each applied on its own base, same graphs):
| first 5 | answers carrying "Complete answer over budget" (full issue text as the question) | |
|---|---|---|
| 0.9.85 | 38% | 55 of 177 |
| #2403 (no test-path seeds) | 51% | 38 |
| #3417 (ranking rewrite) | 51% | 146 |
| #3284 | 39% | 61 |
| #3636 | 38% | 55 |
Proposed solution
graphify benchmark --questions FILE: a JSON list or JSON Lines of {"question": ..., "files": [...]}. Each question goes through query_graph as the MCP tool runs it; the report gives how often an expected file is the first file shown, in the first 3 and 5 files, anywhere, and the answer size. --json for raw per-question results, --depth / --budget to match other settings. A project's own history supplies questions: issue titles and the files their fixes changed.
Alternatives considered
A separate harness outside the repo (what produced the tables above): nobody running or reviewing a query change has it, and it drifts from the real query_graph path.
Area
Graph building or querying
Are you willing to submit a PR?
Yes, I can work on this
Compatibility / behavior impact
CLI and docs only. graphify benchmark without --questions is unchanged; no graph, cache, extraction or MCP output change.
Additional context
Questions built from SWE-bench Lite (problem statement title, files of the gold patch), each repo checked out at the most common base commit of its instances. PR right after this issue.
- 主要言語
- Python
- スター
- 124k
- フォーク
- 11.9k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Graphify-Labs/graphify のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
Graphify-Labs/graphify#3763 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Graphify-Labs/graphify#3611 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Nix supportオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Graphify-Labs/graphify#3193 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
Graphify-Labs/graphify#2871 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
Graphify-Labs/graphify#2865 ·
メンテナーはふだん 1 日以内に返信
Graphify-Labs/graphify の issue をすべて見る
似ている issue
-
vis.image() reports "Unsupported number of image channels: 224" for an HxWxC image対応中かも @piyush182004 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
fossasia/visdom#1997 · コメント 3 件 ·
メンテナーはふだん 6 日以内に返信
-
Byse new domainオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Gujal00/ResolveURL#1525 ·
メンテナーはふだん 1 日以内に返信
-
Serialisation fails with pydantic 2.14: wrap serialisers pass SerializationInfo as index_key対応中かも @hugohills-regnosys が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
finos/rune-python-runtime#45 ·
-
[Bug]: LangGraph Store sync put bypasses namespace validation対応中かも @ktz03 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
volcengine/OpenViking#6050 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
hummingbot/condor#283 ·
メンテナーはふだん 1 日以内に返信