AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Evaluation and regression-testing framework for AI agents, published in pypi.org/project/tracelens/
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
TraceLens is a friendly evaluation and regression-testing framework for AI agents. It turns agent runs into inspectable traces, graded outcomes, baseline comparisons, and CI-ready reliability signals. 迹镜是一个面向 AI Agent 的评测与回归检测框架。它把每次 agent run 转化成可观察的轨迹、可评分的结果、可比较的 baseline,以及可用于 CI 的可靠性信号。 📖 Documentation: • 📦 PyPI: pip install tracelens Agents are non-deterministic, so "the tests pass" says little about whether an agent change is safe to ship. TraceLens gives a Python team a regression check that lives in its own repository:查看完整 README ↗
TraceLens is a friendly evaluation and regression-testing framework for AI agents. It turns agent runs into inspectable traces, graded outcomes, baseline comparisons, and CI-ready reliability signals.
迹镜是一个面向 AI Agent 的评测与回归检测框架。它把每次 agent run 转化成可观察的轨迹、可评分的结果、可比较的 baseline,以及可用于 CI 的可靠性信号。
📖 Documentation: https://ssf0409.github.io/tracelens/ • 📦 PyPI: pip install tracelens
Agents are non-deterministic, so "the tests pass" says little about whether an agent change is safe to ship. TraceLens gives a Python team a regression check that lives in its own repository:
tracelens.yaml are files you commit; runs write JSON, Markdown, and HTML artifacts next to them. Nothing needs an account or a server, and CI is a plain job running the same command you run locally.tracelens inspect explains a failure from those files.Use it when you need to answer questions like:
It supports both subjective evaluation (LLM-as-judge for quality) and objective evaluation (schema validity, tool-use constraints, latency, budget, or domain-specific metrics).
Each claim above rests on a different kind of evidence; here is which:
| Claim | What it rests on |
|---|---|
| The documented workflow works from a fresh install | A CI job installs a freshly built wheel into a clean environment and drives init, run --config, baselines, the gate, an intentional regression, inspect, compare, a targeted rerun, an infra outage, a grader crash, malformed input, and checkpoint/resume through the console script. |
| The statistics do what the contract says | Hand-derived and independent-reference tests against the statistical contract (task-level bootstrap with multiplicity, order-independent pass^k, paired run comparison). |
| Integrations behave at their boundaries | Tests exercise the JSON/JSONL/CSV loaders, the HTTP adapter, the optional Hugging Face loader, the generated GitHub workflow, and tracelens.yaml. |
| TraceLens caught a real regression in a real project | Not yet published. The examples and the scaffold use simulated agents. A sanitized downstream case study is the open half of issue #33; until it exists, treat "catches regressions" as a tested mechanism, not an observed result. |
Hosted evaluation and observability platforms also run datasets, experiments, and CI checks; the difference is where the evidence lives and what is required, not whether evaluation exists. See TraceLens vs Adjacent Tools.
# Recommended: uv
uv pip install tracelens
# Or: plain pip
pip install tracelens
For the repository examples and local development tools:
git clone https://github.com/ssf0409/tracelens.git
cd tracelens
uv pip install -e ".[dev]"
See Installation for extras
([llm], [http], [datasets]) and CI setup.
python examples/hello_world.py
tracelens report --results examples/reports/hello_world_report.json --format markdown
Expected first output:
tracelens hello-world
--------------------
trials run : 9
pass rate : 100%
report json: examples/reports/hello_world_report.json
sample md : examples/reports/hello_world_report.md
The checked-in sample report shows the concrete pieces a real eval needs: tasks, trials, pass@k, pass^k, graders, baseline comparison, regression result, and CI summary.
To start inside your own project:
tracelens init .
tracelens run --config tracelens.yaml
tracelens init writes user-owned starter files under eval/, a tracelens.yaml holding the run settings, and a GitHub Actions workflow that runs the same command on every pull request. Flags on the command line override the file. It refuses to overwrite generated files unless you pass --force.
Four pieces — Task, Adapter, Grader, Runner — and a report:
import asyncio
from tracelens import (
Task, EvalSet, SimpleAdapter, CodeGrader,
EvaluationRunner, RunnerConfig, Transcript,
)
from tracelens.reporting.generator import ReportGenerator
# 1. Define tasks
eval_set = EvalSet(name="Math Suite", tasks=[
Task(name="Add 2+3", input_data={"a": 2, "b": 3}, metadata={"expected": 5}),
Task(name="Add 10+20", input_data={"a": 10, "b": 20}, metadata={"expected": 30}),
])
# 2. Wrap your agent
async def math_agent(input_data: dict) -> dict:
return {"answer": input_data["a"] + input_data["b"]}
adapter = SimpleAdapter(math_agent)
# 3. Write a grader
class MathGrader(CodeGrader):
def compute_metrics(self, transcript: Transcript, task: Task) -> dict[str, float]:
return {"correct": float(transcript.final_output["answer"] == task.metadata["expected"])}
def determine_pass(self, metrics: dict[str, float], task: Task) -> tuple[bool, float]:
return metrics["correct"] == 1.0, metrics["correct"]
# 4. Run and report
batch = asyncio.run(EvaluationRunner(adapter, [MathGrader("math")], RunnerConfig(num_runs=3)).run(eval_set))
print(ReportGenerator().render_markdown(ReportGenerator().build_report(batch)))
Walkthrough: Getting Started (5 min). Ready for a non-toy agent? Evaluating a Real Agent.
The full, searchable docs live at https://ssf0409.github.io/tracelens/. Highlights:
Also: Build Your First Eval · User Guide · Loading Task Data · Evaluation Recipes · API Reference · Examples · Roadmap · Contributor Testing · Releasing.
TraceLens is MIT licensed and open to contributions. Start with CONTRIBUTING.md, then run the local verification gate:
make verify # lock check -> lint -> typecheck -> tests + coverage
Security issues should be reported privately using SECURITY.md.
Informed by Anthropic's Demystifying Evals for AI Agents.