关于 proving-ground
proving-ground 是供 Agent 测试应付账款异常处理流程的合成环境,可将操作与历史案例回放核验。独立的代码验证器筛选任务,并生成证据包和按结果计价的数据。
主要功能
- 01合成应付账款异常环境
- 02回放未参与训练的历史案例
- 03独立代码验证
- 04工作流准入筛选
- 05生成证明包并按结果计价
适用场景
- 01测试 Agent 处理应付账款异常
- 02依据历史案例评估工作流
- 03按结果计价前筛选任务
MCP 相关
托管 API 提供带 MCP 注解的工具,供 Agent 处理异常并获取证明包;同一环境也提供 REST 端点。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://proving-ground-production.up.railway.app/mcpclaude mcp add --transport http app-railway-up-proving-ground-production-proving-ground https://proving-ground-production.up.railway.app/mcp{"mcpServers":{"app-railway-up-proving-ground-production-proving-ground":{"type":"http","url":"https://proving-ground-production.up.railway.app/mcp"}}}在 Cursor 中打开{"servers":{"app-railway-up-proving-ground-production-proving-ground":{"type":"http","url":"https://proving-ground-production.up.railway.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"app-railway-up-proving-ground-production-proving-ground":{"type":"http","url":"https://proving-ground-production.up.railway.app/mcp"}}}{"mcpServers":{"app-railway-up-proving-ground-production-proving-ground":{"serverUrl":"https://proving-ground-production.up.railway.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://proving-ground-production.up.railway.app/mcp需要授权工具
详细介绍
Proving Ground——演示循环
这是 Proving Ground: Design Thesis(2026 年 10 月 4 日)中第二阶段“演示循环”的可运行构建: Agent 在客户财务运营系统的封闭副本中探索,证明自己能够处理哪些异常工作流;负责准入每项任务的验证器,也会成为计量其费用的计量器。
1. Twin ─────▶ 2. Explore ─────▶ 3. Propose
│ exceptions become new tasks
4. Admit ─────▶ 5. Prove & price ──▶ 6. Operate & bill ◀──────────┘
输出:out/proof_packet.md——每个工作流对应一份证明包(每月处理量、当前单位成本、在留出历史案例上的通过率及 95% 置信区间、已知故障模式、每项结果的价格、实时计量结果),以及准入报告,显示哪些验证器通过了破坏性测试。
三条设计规则,以代码实现
| 规则(论文) | 位置 |
|---|---|
| 任务来自客户的记录。 候选任务只有在有真实处理量证据时才会获准。 | agents.propose 必须引用处理量和单位成本;loop.explore 会对照 /stats/exceptions 核查每个数字。 |
| Agent 不为自己的工作评分。 提议者、求解器、验证器和破坏性测试器彼此独立,且来自不同的模型系列。 | 提议者:google/gemini-2.5-flash;求解器:openai/gpt-4.1-mini(对比 tier openai/gpt-4.1);破坏性测试器:deepseek/deepseek-chat-v3-0324;验证器:代码(policy.py)。 |
| 证明来自重放,而非评审者的意见。 | loop.prove 会在沙盒副本中重新处理每个工作流的 20 个留出历史案例;policy.verify 会根据记录系统重新计算所需的最终状态,并检查审计日志中是否存在超范围写入。没有任何 LLM 负责评判。 |
破坏性测试器看不到记录:它使用脚本化捷径策略,并配备仅写入工具的 LLM。只有在(a)验证器与人类实际处理历史案例的结果一致率达到 ≥90%,且(b)没有盲测策略在该任务上的成功率达到 70% 时,任务才会获准。vendor_bank_change 特意作为固定规则对照项(“暂缓并标记”):破坏性测试器盲测通过了它,因此准入关卡将其排除在按结果定价之外——这说明关卡正常工作。
本次运行结果(results/,2026 年 10 月 5 日,模型费用 $3.57)
| 工作流 | 已准入 | 定价层级 | 重放通过率(n=20,95% CI) | 每项结果价格 | 实时计量 |
|---|---|---|---|---|---|
| quantity_mismatch | 是 | gpt-4.1-mini | 100% [84–100] | $4.58 | 7/8 |
| price_mismatch | 是 | gpt-4.1-mini | 95% [76–99] | $3.17 | 7/8 |
| missing_po | 是 | gpt-4.1-mini | 90% [70–97] | $5.22 | 8/8 |
| possible_duplicate | 是 | gpt-4.1(mini:60%) | 100% [84–100] | $2.02 | 8/8 |
| unmatched_payment | 是 | gpt-4.1 | 60% [39–78]——低于合同门槛 | $5.72 | 6/8 |
| vendor_bank_change | 已筛除 | — | 盲测“暂缓并标记”通过率 100% | — | — |
准入关卡通过(5 个验证器通过了破坏性测试)。未匹配付款的结果是有价值的失败案例:两个层级都难以处理配对求和核对,而证明包如实说明了这一点,没有为其定价。
完整证明包:results/proof_packet.md。
托管演示版
https://proving-ground-production.up.railway.app——合成客户、封闭 API,每个令牌对应一个私有沙盒。GET /policy 和 GET /schema 无需授权即可访问;其他所有接口都需要 Authorization: Bearer <token> 和 X-Sandbox: <your actor>。处理异常,调用 POST /exceptions/{id}/verify,然后调用 GET /proof。
参见 docs/deployment.md 和 docs/billing.md。
作为 Agent 即刻开始
无需账户,无需人工操作。GET / 是菜单(JSON 格式;在浏览器中则为 HTML;/llms.txt 和
/.well-known/agent-card.json 为爬虫和 A2A 客户端提供相同信息)。
# 1. take a seat: a bearer token (shown once), a private sandbox, free credits
curl -s -X POST https://proving-ground-production.up.railway.app/seat \
-H 'Content-Type: application/json' -d '{"name":"my-agent"}'
# 2a. REST: send both headers on every call; reads are free, each resolve/escalate costs 1 credit
curl -s -H 'Authorization: Bearer <token>' -H 'X-Sandbox: my-agent' \
'https://proving-ground-production.up.railway.app/exceptions?status=open&kind=price_mismatch'
# 2b. MCP: point any MCP client at /mcp with the same token (streamable HTTP, no X-Sandbox needed)
# — or with no auth at all: `initialize` seats you and returns Mcp-Session-Id; that session IS a seat
# (same free allowance, same x402 top-up), which is what directory listings that forbid static tokens need
工具包含 MCP title/annotations(readOnlyHint、destructiveHint、idempotentHint),并按顺序排列,让最显而易见的入口排在最前。
/terms 提供条款,/privacy 提供隐私政策(均为草案,不构成法律建议);入座即表示接受。
/openapi.json 在按量计费的操作上包含 x-payment-info(x402scan / Bazaar 格式),并提供 info.termsOfService。
每次认领都会返回验证器的判定和账单;GET /proof(或 proof 工具)提供证明数据包。额度用尽 → 返回
402 Payment Required,其中包含运营方已启用的充值方式(PG_TOPUP);支付通道通过管理员密钥调用
POST /seats/{actor}/credit 为座位充值。计量器在设计上与支付通道无关。
运行
pip install -r requirements.txt # fastapi, uvicorn (everything else is stdlib)
python -m src.cli seed # deterministic synthetic AP twin: out/twin.db (12 months, ~8.7k invoices, 3,960 exceptions)
python -m src.cli selfcheck # asserts: verifier agrees with history, truth stable, reopen/replay round-trips
python -m src.cli run-all # explore → admit → prove → price → operate → packet (starts the API if needed)
python -m src.cli packet # re-render out/proof_packet.md
模型访问:在 $OPENROUTER_API_KEY 中提供 OpenRouter 密钥,或将密钥放在 ~/.config/agent-integrity/openrouter.key。
模型可通过环境变量配置(PG_PROPOSER_MODEL、PG_SOLVER_MODEL、PG_BREAKER_MODEL)。完整运行的模型费用约为 2–3 美元;每次调用的实际费用都会记录,并计入“服务成本”。
单独步骤:serve、explore、admit、prove [--alt]、price、operate、packet、cost。
双生系统
twin_api.py 是封闭边界:Agent 只能通过 HTTP 访问。X-Sandbox: <name> 用于选择隔离副本(out/sandboxes/<name>.db);每次写入都会记录 X-Actor。仅供测试框架使用的列(pre_state、post_state、truth、held_out)绝不会被提供。
有六种异常类型,每种都有不同结果,因此任何固定答案都无法通过:price_mismatch、
quantity_mismatch、possible_duplicate、missing_po、unmatched_payment(银行对账异常)、
vendor_bank_change。历史记录通过 Agent 使用的同一个 actions.py 生成,并以 3% 的概率出现职员的“经理覆盖”,使验证器与历史记录的吻合率符合实际,而非达到 100%。
ponytail: 双生系统是一个开源 ERP 的合成替代品;API 接口是适配器边界,因此 Odoo/ERPNext 后端可实现相同的端点。
文件
src/schema.sql tables src/policy.md the customer's AP policy (served at /policy)
src/seed.py synthetic twin src/policy.py expected outcomes + verifiers (code keyed to the system of record)
src/actions.py all state changes src/twin_api.py sealed API
src/llm.py OpenRouter + tool loop + $ tally src/agents.py proposer / solver / breaker
src/loop.py admit / prove / price / operate / packet src/cli.py entry point
src/selfcheck.py the one runnable check
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。