[Feature]: `graphify benchmark` measures answer size but never whether the answer is right
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 124k
- Fork
- 11.9k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Graphify-Labs/graphify
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Graphify-Labs/graphify#3763 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Graphify-Labs/graphify#3611 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Nix supportĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Graphify-Labs/graphify#3193 · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Graphify-Labs/graphify#2871 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Graphify-Labs/graphify#2865 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Graphify-Labs/graphify
Issue tương tự
-
Broken links in the docsĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
uniswap-python/uniswap-python#487 ·
-
[Bug]: agent_final_response still returns the abandoned branch's answer after navigate moves HEAD backCó thể đã có người làm @enyst đã nhận hôm nay. Đang mởbug priority:low ready-for-dev
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
OpenHands/software-agent-sdk#5822 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
-
area: server enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
scs0209/laya-guard#52 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày