Harness在代码编辑的各种转义方面需要做好工具的鲁棒性,特别在代码中嵌入代码的时候,特别容易出错,浪费大量token #4699
Replies: 2 comments
|
这个痛点是真的("代码里嵌代码"确实是最容易出错、也最烧 token 的场景)。但在提"工具要更鲁棒"之前,有一件事值得先知道,因为它决定了这个 bug 该报给哪一层——这个社区里已经有两个人独立查过同一件事,而且结论一致,而且和直觉相反。 两次独立排查都指向:
|
|
补一条基于当前 rc.2 源码可以直接落地的判断:write.ts 的 parseWriteArgs 原样返回 content,随后直接交给 ctx.fs.writeText;edit.ts 同样把 old_string/new_string 作为字面量交给 editText。因此最有价值的最小复现不是只保留最终损坏文件,而是同时保存 ①期望片段 ②结构化工具调用参数 ③工具返回的 after/diff ④立即窄范围回读 ⑤目标解析器错误。工具参数已经损坏就属于模型或前置字符串层;参数正确但 after 损坏才进入文件工具/provider 边界。 针对 HTML 内嵌 OpenAPI 和示例代码,稳妥路径是把 HTML、OpenAPI、JS、shell/Python 示例拆成独立源文件,各自用原生解析器验证,再通过确定性构建生成单文件产物;不要为了写文本额外经过 run_code 的 JS 字符串字面量。我们把证据链、目录结构、失败路由和边界字符验收清单整理成了英文指南:https://sandbaseai.github.io/deepseek-harness-handbook/embedded-code-escaping.html Disclosure: I contribute to this independent community handbook. |
Uh oh!
There was an error while loading. Please reload this page.
如下图,只是截取的一小部分。

实际的需求就是在html界面中嵌入OpenApi渲染显示的文档和示例程序
All reactions