📄 一句话概括
不写格式,模型每次给的报告都长得不一样——格式写进预设,等于把判断标准固定成一份卷子。
📝 本节和前面几节的关系
8.3.4 把工具表定死,这一步把输出定死:报告长什么样。
一、四个要素
- 结论:先给结论再给证据——先看判决后看卷宗。
- 定位:文件路径 + 行号——能直接跳过去。
- 分级:严重/建议/提示三档——不至于全是【重要】。
- 无问题时:明说【未发现问题】——空输出 ≠ 没查。
四条都不长,但每一条都在减少一次歧义。
二、为什么格式算设计不算排版
因为格式决定了模型必须给出什么才算干完。
没有格式时,一份【我看了,没什么大问题】也算交付;有了格式,缺了定位那一栏就交不了差。
格式是验收标准的载体。
三、最容易漏的一条
第四条:没有输出和没有问题,是两件事。
审查这类任务最怕的就是【报告是空的】——你分不清它是仔细看过很干净,还是压根没读到文件。
强制写明【未发现问题】,等于让这两件事在输出上分开。
四、格式放在哪一层
它属于会话平面——换一套预设(比如换成开发预设),输出格式就该跟着变。
实现上它落在预设里的 persona(人格与指令)那一件里:人格件不只是寒暄,它是行为约束的落点。
五、动手 Demo:把输出格式写进约束里
不写格式的后果:模型每次给的报告长得都不一样。
fmt = ["先结论后证据", "文件路径 + 行号",
"严重/建议/提示 三档", "无问题要明说"]
for i, x in enumerate(fmt, 1):
print(" %d. %s" % (i, x))
print(" 没有输出和没有问题, 是两件事")
实跑输出:
--------------------------------------------------------------------
把输出格式写进约束里
--------------------------------------------------------------------
不写格式的后果:模型每次给的报告长得都不一样。
要素 写死的写法 为什么
---------------------------------------------------------
结论 先给结论再给证据 先看判决后看卷宗
定位 文件路径 + 行号 能直接跳过去
分级 严重/建议/提示三档 不至于全是【重要】
无问题时 明说【未发现问题】 空输出≠没查
---------------------------------------------------------
最后一条最容易漏:**没有输出和没有问题,是两件事**。
格式要求写进预设,等于把判断标准交给一份固定的卷子。
格式不是排版——它是验收标准的载体:缺一栏就交不了差。
第四条最容易漏:空报告不等于干净的报告。
格式落在会话平面,实现上就在 persona 那一件里——人格件也是行为约束的落点。
30 秒实验
- 给你的输出定四条要素,然后拿一份旧结果对着看缺哪条。
- 想想【没有输出】和【没有问题】在你现在的流程里分不分得开。
- 把格式要求写进
persona,再跑一次看输出稳不稳。
常见误区
- 错误:格式是最后一步,先把内容做好。——纠正:格式决定什么叫做好——没有格式,你连【做完了】都无法判定。
- 错误:格式越细越好。——纠正:要素级就够,别抠排版——四条要素能挡住歧义,再多就变成模板填空。
- 错误:空输出说明代码很干净。——纠正:空输出只说明模型没说话——必须强制它明说【未发现问题】才能区分。
自测三问(点开对答案)
1. 输出格式要定哪四个要素? —— **结论**(先结论后证据)、**定位**(路径+行号)、**分级**(三档)、**无问题时明说**。 2. 为什么格式算设计的一部分? —— 因为**格式是验收标准的载体**——它决定模型必须给出什么才算干完。 3. 【无问题要明说】防的是什么? —— 防**空报告**——没有输出和没有问题必须能分开,否则你分不清它查没查。- ☐ 下一节(8.3.6 第五步:用失败路径验证 Preset,而不只测试正常情况)
相关笔记
- 第五步:用失败路径验证 Preset,而不只测试正常情况 —— 定完格式,最后一步是验边界
- 插件被发现,不等于已经具备运行条件 —— 交付不出去也算失败路径
- 模型看见的内容应当可追溯 —— 输出可查的底子
- 🐳 DeepSeek Harness · 索引