Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Statistical regression testing for LLM agents: p-value, effect size, and CI on behavior change.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"agent-eval": {
"command": "uvx",
"args": [
"agent-regress-cli",
"agent-regress-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add agent-eval -- uvx agent-regress-cli agent-regress-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"agent-eval": {
"command": "uvx",
"args": [
"agent-regress-cli",
"agent-regress-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"agent-eval": {
"type": "stdio",
"command": "uvx",
"args": [
"agent-regress-cli",
"agent-regress-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub RudrenduPaul ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.8) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Statistical regression testing for LLM agents: run version A and version B 50x each and get a p-value, an effect size, and a 95% confidence interval on whether behavior actually shifted.
pip install agent-regress-cli
(uv add and the npm/npx wrapper are covered in Install below.)
You changed a prompt. Your evals still pass. But your agent's tool accuracy dropped from 84% to 70%.
Is that a real regression? Or is it LLM run-to-run noise?
Threshold testing cannot answer that question. agent-eval can.
Run your agent 50x on version A, 50x on version B. Get a p-value, an effect size, and a 95% confidence interval on whether behavior actually shifted.
p=0.003, Cohen's d=-0.61 -> REGRESSED (deploy blocked)
p=0.410, Cohen's d=0.021 -> STABLE (safe to ship)
[!NOTE]
Promptfoo, one of the most widely used open-source LLM eval frameworks, was acquired by OpenAI in March 2026, staying open source but folding its team into OpenAI's Frontier platform. agent-eval is Apache 2.0-licensed, self-hostable, and has no commercial dependency. The statistical core (Mann-Whitney U, bootstrap CI, Cohen's d) will never be paywalled.
pip install agent-regress-cli
uv add agent-regress-cli
npx agent-regress-cli
Already have per-run scores from your own harness? Point the CLI at two JSON arrays of scores, one per version:
pip install agent-regress-cli
agent-regress compare \ --version-a-results v1_scores.json \ --version-b-results v2_scores.json \ --metric tool_accuracy
#
Add --json --fail-on-regression to get clean, parseable output and a non-zero exit code on REGRESSED, for wiring straight into CI.
All `agent-regress compare` flags:
| Flag | Default | Description | ||
|---|---|---|---|---|
--version-a-results PATH | *(required)* | Path to a JSON array of per-run scores for version A (baseline). | ||
--version-b-results PATH | *(required)* | Path to a JSON array of per-run scores for version B (candidate). | ||
--metric NAME | accuracy | Name of the metric being compared, shown in the report. | ||
--p-threshold P | 0.05 | Significance threshold for the Mann-Whitney U p-value. | ||
--min-effect D | 0.2 | Minimum \ | Cohen's d\ | to call a statistically significant difference REGRESSED/IMPROVED rather than STABLE. |
--n-resamples N | 1000 | Number of bootstrap resamples used for the confidence interval (minimum: 100). | ||
--json | off | Print the report as a single JSON object to stdout instead of the human-readable format. Warnings still go to stderr, so stdout stays clean, parseable JSON. | ||
--fail-on-regression | off | Exit with status 1 if the verdict is REGRESSED (useful for CI). Without this flag, the command exits 0 regardless of verdict. |
The top-level agent-regress --version flag prints the installed version and exits.
Exit codes:
| Code | Meaning |
|---|---|
0 | Ran successfully. Verdict may be REGRESSED, STABLE, IMPROVED, or INSUFFICIENT_DATA — without --fail-on-regression, the exit code doesn't reflect the verdict. |
1 | --fail-on-regression was passed and the verdict is REGRESSED. |
2 | Usage or data error: invalid/missing arguments, no subcommand given, a --version-*-results file that doesn't exist or isn't valid JSON, an empty/non-numeric scores array, or an out-of-range value for --p-threshold (must be in (0, 1)), --min-effect (must be >= 0), or --n-resamples (must be >= 100). |
Driving the agent yourself instead of pre-computing scores? Use the Python API:
from agent_regress import compare
def agent_v1(test_case: dict) -> float: ... # your existing agent
def agent_v2(test_case: dict) -> float: ... # your updated agent
test_suite = [ {"query": "find SKU for order 8823", "expected": "SKU-4492"},
]
report = compare( version_a=agent_v1, version_b=agent_v2, test_suite=test_suite, n_runs=50, metric="tool_accuracy", # use any name except "accuracy" when agents return floats )
print(report) # structured output with p-value, CI, effect size report.assert_stable() # raises AssertionError if behavior regressed
Agent returns text? Pass a scorer or use the built-ins:
from agent_regress import compare, exact_match_scorer, f1_scorer
report = compare( version_a=agent_v1, version_b=agent_v2, test_suite=test_suite, n_runs=50, scorer=exact_match_scorer, # test_case must have an "expected" key )
Or write your own:
def my_scorer(output: str, test_case: dict) -> float:
return 1.0 if output.strip() == test_case["expected"] else 0.0
report = compare(..., scorer=my_scorer)
agent-eval ships a Model Context Protocol server so an AI agent (Claude, Cursor, or any MCP-compatible client) can run statistical regression tests directly, without a human invoking the CLI by hand.
Install the extra:
pip install "agent-regress-cli[mcp]"
Add it to your MCP client's config (for Claude Desktop, claude_desktop_config.json):
{
"mcpServers": { "agent-eval": { "command": "uvx", "args": ["--from", "agent-regress-cli", "agent-regress-mcp"] } } }
The server exposes one tool, run, that shells out to the agent-regress CLI with the given subcommand and arguments plus --json, and returns the parsed JSON result:
run(["compare", "--version-a-results", "a.json", "--version-b-results", "b.json", "--metric", "accuracy"])
Transport is stdio, so there is nothing to host: the MCP client spawns the server as a local subprocess. Source: src/agent_regress/mcp_server.py.
| Capability | Agent Evaluation | DeepEval | Braintrust | Promptfoo |
|---|---|---|---|---|
| Statistical version comparison (p-values) | Yes | No | No | No |
| Effect size reporting (Cohen's d) | Yes | No | No | No |
| Bootstrap 95% confidence intervals | Yes | No | No | No |
| Distributional shift detection | Yes | No | No | No |
| Tau-bench pass^k harness (k=1,4,8) | Yes | No | No | No |
| GAIA Level 1-3 split harness | Yes | No | No | No |
| SWE-bench scaffold score harness | Yes | No | No | No |
| Self-hostable, zero SaaS required | Yes | Partial | No | Yes |
| Sample size warnings | Yes | No | No | No |
| Core license | Apache 2.0 | MIT | Proprietary | MIT† |
| Requires cloud account | No | Optional | Yes | No |
| Test type | Distributional | Threshold | Threshold | Threshold |
†Promptfoo acquired by OpenAI, March 2026; remains open source under its current license.
DeepEval tests whether an individual agent response clears a quality bar. Agent Evaluation tests whether behavior changed significantly between two agent versions, a different statistical question that threshold testing cannot answer. The scipy Mann-Whitney U call at the core is one line, so any SaaS eval platform can add it. What accumulates over time through production use is version-specific regression history and a community-maintained benchmark leaderboard with independent result verification.
LangGraph
context= API replaced untyped config['configurable']. A single run on either invocation style still clears a threshold check; only a version-A-vs-B comparison shows whether the switch changed measured behavior.agent-eval added cache-busting to protect that assumption.OpenAI Agents SDK
RunConfig. The nested call still returns a normal-looking response, so a single-response check clears; only inspecting config propagation across runs reveals the regression.CrewAI
output_schema, moving from unstructured str() output to structured JSON. Both the old and new format can look "reasonable" to a threshold scorer even though the schema changed underneath.These are the regressions that motivated this project. Full detail on all 14 individually-documented PRs (drawn from a 29-PR, 239-row validation campaign across LangGraph, CrewAI, and the OpenAI Agents SDK) is in docs/pr-analysis.md.
ตัดมาแค่ช่วงต้น อ่านต่อใน repo