Tracely Skill:把 AI Agent 生产故障自动变成 CI 回归测试

总结

Tracely 是一个将 AI Agent 生产故障自动转化为 CI 回归测试的工具。Agent 在生产环境跑崩了?Tracely 直接把那条失败的 trace 冻结成一条独立的测试用例,下次 PR 重跑,regression 直接 block。它解决的是 AI Agent 开发中”测不完、regression 多、人工写测试集成本高”三大痛点,2026 年新出即获社区关注,MIT 许可证。

功能与原则

核心工作流四步:生产 trace → 失败检测 → 回归测试 → CI gate

Tracely 通过 OTLP 接收 Agent 的每一次运行记录(traces),用 LLM-as-judge 在对话 / run / span 三个层级打分,FAIL 直接阻断合并。它不要求你手工写任何测试用例——生产里那条真实失败的 trace 就是完美的测试样本。

设计原则:让生产数据说话,而不是靠人工猜测什么会坏

认可度

GitHub:截至 2026-08-20 约 373 星、5 Fork,MIT 许可证,2026 年创建,Python。LinkedIn 技术博主 André Lindenberg 专项推荐,评价为”#AIAgents #Evals #LLMOps #CICD”四领域交叉的实用工具。已在 HN Trending 露面。

链接

GitHub:https://github.com/Jwuthri/Tracely

原作者

Jwuthri(GitHub 个人账号)——专注 AI Agent 工程化工具,Tracely 是其核心项目。

介绍

AI Agent 的开发节奏和传统软件完全不同:Agent 在生产里跑了什么、什么时候崩的、输入是什么、调用了哪些工具——这些信息传统测试框架根本拿不到。手工写测试集成本极高,而且你永远猜不到”什么会坏”。

Tracely 的思路很简单:生产已经写好了最完美的失败用例,你只需要把它冻结住

它的 pipeline 是这样的:Agent 每次运行通过 OTLP(OpenTelemetry)将 trace 流式传入 Tracely;在入口处 LLM-as-judge 对每条 trace 打分;FAIL 的 trace 自动聚类成 issue;点一下就把那条失败的完整运行环境(输入 + 工具调用桩 + LLM 响应)冻结成一个 hermetic replayable case——这个 case 包含 fail-to-pass contract,记录了”什么时候坏”;CI 里跑 tracely replay,离线 deterministic 重放,零模型调用费用,regression 直接 exit non-zero 把 PR 拦住。

配套还有一个 Agent Skill,可以直接教 Coding Agent(比如 Claude Code)理解 Tracely 的工作方式,把测试生成集成进 Agent 的工作流。

特点

  • 无需手工测试集:生产 trace 就是测试,零额外标注成本
  • Hermetic Replay Case:完整冻结失败时的输入 + 工具桩 + LLM fixture,离线重放零费用
  • LLM-as-Judge 多级评分:支持 conversation / run / span 三个层级,任意一层 FAIL 即阻断
  • 一键 Promote:从 Dashboard 直接把失败 trace 转成 regression case,无需人工复制
  • CI 原生集成tracely replay 接入任意 CI,merge 前自动 gate
  • 配套 Agent Skill:让 Coding Agent 自己理解和使用 Tracely

使用方法

安装 Python 包:

pip install tracely-ai

启动全套自托管(API + Worker + UI + Postgres + ClickHouse + Redis + MinIO,一键 via Railway):

# Railway 模板一键部署
https://railway.com/deploy/n5n_LE?referralCode=WCq5Cn

Agent 侧接入 OTLP 导出 traces(示例伪代码):

from tracely import TracelyTracer

tracer = TracelyTracer(api_key="your-key", endpoint="https://your-tracely instance")
# 将 tracer 注册为你的 Agent 的 OTLP exporter
agent.run(user_input, tracer=tracer)

从失败 trace 生成 regression case(在 Tracely UI 或 CLI):

tracely promote --trace-id <failing-trace-id>

CI 中重放测试套件:

tracely replay --suite regression-cases/
# exit code = 0 → 无 regression,可合并
# exit code ≠ 0 → 有退化,PR 被 block

使用场景与人群

适用场景:AI Agent 项目持续迭代、多个开发者并行贡献、Agent 频繁上线新功能导致 regression 风险高。适合把 Agent 接入主线代码库、需要保证每次 PR 不破坏已有能力的工程团队。

目标用户:AI Agent 开发者、LLMOps 工程师、平台团队,以及需要管理多 Agent 系统可靠性的技术负责人。

输入与输出案例

案例 1:生产失败 → 自动生成测试

  • Input:Agent 在生产中处理某类用户查询时调用了错误的 API 端点,返回 500
  • Process:Tracely 捕获该 trace,LlmJudge 判定 FAIL,失败 case 被 freeze 成 hermetic fixture
  • Output:一条带 fail-to-pass contract 的回归测试,进入 regression suite

案例 2:PR 触发 CI Gate

  • Input:开发者提交 PR,修改了 Agent 的工具调用逻辑
  • Processtracely replay 在 CI 里重放 regression suite(离线,无 LLM 调用,0 费用)
  • Output:若触发之前冻结的失败 fixture → exit non-zero,PR 被阻断,CI 报告具体退化项

GitHub: https://github.com/Jwuthri/Tracely

评论区

0 条评论

登录后可评论。

Skill超级捕获手 14 阅读