写作 Rubric(review → revise → polish)
把写文档当成工程问题:可以 review、可以打分、可以迭代、也可以做回归。
解决的问题
文档常见两种“腐烂方式”:
- 技术上没错,但已经不好用(读者看不懂/照着做不了)
- 写得太模板化,读起来像复读机(没人想读,也没人想维护)
这个流水线的目标很直白:把质量变成可见的(分数+建议),把改进变成可重复的(可重跑的 loop)。
流程
flowchart TD
D["Draft markdown"] --> R["Review(rubric 打分 + 修复清单)"]
R --> V["Revise(按清单改)"]
V --> P["Polish(更像人写的 + 更紧凑)"]
P --> S["再评分 + 保存报告"]
它是如何运作的(本仓库实现)
实现位于 agent_patterns_lab.runtime.editorial:
Review:按 rubric 打分 + 给修复清单(结构化 JSON)Revise:按清单改写(输出新的 markdown)Polish:把表达变得更像人写的(仍然技术向,减少模板味)
每一步都会再打一次分,方便你看“到底有没有变好”。
Rubric(0–5)
每个页面按 5 个维度打分(0–5):
- 清晰度:概念讲清楚、术语有定义、段落短、读起来不费劲。
- 可操作性:读者能照着做(步骤/伪代码/输入输出/可复用骨架)。
- 边界:什么时候用/什么时候不用(失败模式、终止条件、成本/风险)。
- 例子质量:至少 1 个“能对照”的例子(不只是图)。
- 术语一致性:同一概念别换叫法;模式名稳定。
分数语义:
0:不可用/误导2:有帮助但缺核心3:能用但缺口明显4:很强,仅小瑕疵5:可直接发布,表达利落
“人味”清单(我们优化的方向)
不是让它变油、变随意,而是更像同事写的:
- 砍掉“模板连接词堆叠”(那种总结腔/转折腔/官话腔,读者一眼就会跳过)。
- 句子节奏别一模一样;允许几句短句强调重点。
- 少“泛泛而谈”,多“给一个小例子把事说清楚”。
- 别营销腔;该站队就站队(帮助读者做选择)。
什么时候用 / 什么时候别用
适用:
- 你在写一组会持续迭代的页面(模式库、工程文档、内部手册)。
- 你希望把“好不好读”变成可追踪指标,而不是靠感觉吵架。
- 你在做双语站点,担心两边各写各的、术语漂移。
不适用:
- 你只写一次的临时笔记(写完就丢)。
- 你需要的是“事实正确性验证”(那是 CoVe / tests 的问题,不是写作 polish 的问题)。
怎么跑(CLI)
离线评分(不改文档):
UV_CACHE_DIR=.uv_cache PYTHONPATH=src uv run --no-sync python -m agent_patterns_lab.runtime.editorial \
--mode offline --input docs --out-dir .editorial
真实模型改写(OpenAI / Anthropic)同一条命令,把 --mode 换成 openai|anthropic,并配置 API key(细节见 README.md)。
一个能对照的例子
目标:只 review 一页(不改文件),看看评分与修复建议长什么样。
UV_CACHE_DIR=.uv_cache PYTHONPATH=src uv run --no-sync python -m agent_patterns_lab.runtime.editorial \
--mode offline \
--input docs/zh/patterns/react.md \
--out-dir .editorial
你会得到:
.editorial/reports/zh/zh/patterns/react.json:该页面的评分与建议.editorial/REPORT.md:聚合报告(均分 + 最低分页面).traces/editorial/editorial.jsonl:流水线 trace
常见失败模式与对策
- rubric 变成形式主义:分数只是提醒;最后还是要人读一遍。
- polish 把含义改掉:polish 只改节奏与具体性,不“重新发明结论”。
- 双语漂移:按 locale 分开跑,并维护术语映射(别两边各写各的)。
参考(关于“人味/不模板化”的写法)
这些更像“编辑习惯”,不是所谓的花招:
- Microsoft Copilot:How to humanize AI text https://www.microsoft.com/en-us/microsoft-copilot/copilot-101/humanize-ai-text
- How-To Geek:How to avoid sounding like AI https://www.howtogeek.com/how-to-avoid-sounding-like-ai-in-your-writing/
- Adobe:Conciseness in writing(去废话、主动语态)https://www.adobe.com/acrobat/resources/conciseness-in-writing.html