# Tool-loop CST 评测笔记(反哺论文素材) > 本文是 **CST-Agent** 侧的评测/案例记录,供写入 SD 主论文附录或独立 TR 时粘贴。 > **不**替代 [`SD/paper/sections/eval_zh.tex`](../../SD/paper/sections/eval_zh.tex) 中 Markdown→HTML 主实验。 理论锚点见 [theory_tool_cst.md](theory_tool_cst.md)。 ## 命题分工 | 层 | 主张 | 主变量 | 非主张 | |---|---|---|---| | 论文 CST | \(O_{\mathrm{conf}}\) 有界确认 → HTML | \(\mathcal{L}_0\) vs 引用式链接等 | — | | Tool-loop CST | 同构到工具帧 | **CTL vs JSON-buffer** 截断 | 网关空答率、模型智商 | | 工程载体 | OpenAI `tool_calls` + XML fallback | 可演示端到端 | 不算进 CST 正确性定理 | ## 实验 A — 饥饿 / 截断(已自动化) ```bash cd agent && make check # 关注 ./tests/test_replay_starvation ``` 填写模板(跑完后更新数字): | 指标 | CTL | JSON-buffer | |---|---|---| | 完整输入可执行 | yes | yes | | 截断点上过早执行次数 | **0** | n/a(截断即失败) | | 安全截断样本(本机 `make check`) | 3 | 3 次 trunc failure | 对应理论:裸 JSON ∉ \(\mathcal{L}_0^{\mathrm{tool}}\);CTL 长度前缀使参数体字节可确认,pending 有界。 ## 实验 B — mini_calc 端到端案例(不可逆发射) 协议见 [fixtures/mini_calc/](../fixtures/mini_calc/) 与 [scripts/e2e_mini_calc.sh](../scripts/e2e_mini_calc.sh)。 ```bash cd agent ./scripts/e2e_mini_calc.sh --baseline-only # 无 key:证明 fixture 初始 RED ./scripts/e2e_mini_calc.sh # 有 key:agent 修 bug → make test ``` ### 验收口径 | outcome | 含义 | |---|---| | `pass` | `make test` 绿 | | `partial` | 改了 `calc.c` 但测试仍红 | | `fail` | 未改文件或 agent/API 失败 | | `baseline_ok_agent_skipped` / `baseline_ok_no_api_key` | 仅验证夹具 | ### 论文可引用的叙事 1. Session JSONL 中顺序:assistant `tool_calls` → `role:tool` 结果 →(可选)写文件/shell → 最终文本。 2. 工具仅在确认/原生完整 arguments 后执行(工程桥);**CTL 饥饿实验**仍是形式主证据。 3. 案例展示「确认后不可撤回的磁盘副作用」与 transcript 只追加。 ### 跑分记录(模板) | 日期 (UTC) | model | outcome | notes | |---|---|---|---| | 2026-09-07 | MiniMax-M2.7 | **pass** | `e2e_mini_calc.sh`;baseline RED → agent 修 `add`/`div_ints` → `make test` 绿;见 `out/result-20260907T131300Z.txt` | ## 与主论文的衔接建议 - **附录 / 扩展节标题示例**:「Tool-loop CST:确认前沿到工具调用」 - 粘贴:theory 表(theory_tool_cst.md)+ 实验 A 表 + 实验 B 一行案例。 - 明确声明:主 fan-out / \(\mathcal{A}=0\) 数字仍来自 Sashidown;本笔记只提供 **同构第二实例**。 ## 明确不写进定理的内容 - 商业 API 空回复、权限 UX、TUI 观感 - 「已达生产 coding agent」类宣称