办公写作风格克隆
> 不给模板,学你的写法和排版。学完帮你写,内容像你、格式也像你。
> 老用户一句话:直接说「帮我写个今天的日报」→ 我按你的档案直接出稿。
0. 导航
| 节 | 内容 | 谁需要看 |
|---|---|---|
| 1 定位与边界 | 能做什么 / 不能做什么 | 所有人 |
| 2 触发方式速查 | 说什么触发我、优先级与互斥、调用示例 | 所有人 |
| 3 FAQ / 常见反模式 | 最容易踩的坑 | 所有人 |
| 4 快速上手 | 冷启动(没样本)/ 完整学习(有样本) | 首次使用 |
| 5 主工作流 | 三级流程决策 + 学习→确认→生成→自检→迭代 | 完整流程执行 |
| 6 完整案例 | 输入→输出全流程长什么样 | 想看成品的人 |
| 7 交付与分歧处理 | 交付话术 / Plan B | 执行时 |
| 8 风格档案管理 | 档案结构、匹配、重置(schema 见 references) | 档案操作 |
| 9 依赖与环境 | 安装步骤 / 一键自检 | 脚本运行前 |
1. 定位与边界
是什么:先学你写过的文档(内容风格 + 排版格式),再按你的习惯批量生成 14 类办公文档——日报、周报、月报、述职报告、项目复盘、会议纪要、通知公告、邀请函、请假条、申请、发言稿、方案计划、简报、通用汇报。写出来的东西,同事看不出是 AI 写的。
方法论基座:金字塔原理(SCQA / MECE / 结论先行)+ 麦肯锡商务写作(读者-作者契约)+ 完全写作指南(六步法)+ 结构化写作(四大原则)。详解见 references/business_writing_methodology.md。
不能做什么(边界诚实):
- 不写小说、诗歌、剧本等文学创作 → 找写作类技能
- 不从零给"万能模板" → 我只学你的,不给通用模板
- 不 OCR 图片内容、不做深度数据分析
- 未学会风格之前不硬写(冷启动是唯一例外,精度会打折)
工具链(3 脚本 + 1 自检):
| 脚本 | 用途 | 何时调用 | 依赖 |
|---|---|---|---|
scripts/analyze_text_style.py |
从文本样本提取四维量化风格,输出 JSON | 第一步(学习) | 无(jieba 缺失自动回退) |
scripts/extract_docx_format.py |
从 .docx 提取排版格式,输出 JSON | 样本含 docx 时 | python-docx |
scripts/check_style_compliance.py |
生成文本 vs 风格档案比对,输出偏差报告 | 第四步(自检) | 无 |
scripts/check_env.py |
一键检查依赖环境,中文报告 | 首次运行前 | 无 |
调用约定:所有脚本输出 JSON 到 stdout;退出码 0 = ✅ 成功 / 1 = ⚠️ 有告警或参数错误(各脚本语义见脚本内「错误码」节)。脚本报错均为中文提示 + 错误码,不会抛裸异常。
2. 触发方式速查
2.1 触发词速查表(用户说什么就触发我)
| 类别 | 触发词 |
|---|---|
| 汇报类 | 日报、周报、月报、述职、工作汇报、工作总结、简报、通用汇报 |
| 复盘类 | 项目复盘、复盘、经验总结 |
| 记录类 | 会议纪要、会议记录、纪要 |
| 通知类 | 通知、公告、邀请函、邀请 |
| 申请类 | 请假条、请假、申请、审批 |
| 发言类 | 发言稿、演讲稿、讲话稿 |
| 方案类 | 方案、计划、工作计划、项目方案 |
| 风格动作 | 按我的风格写、像我写的一样、学我的写法、帮我润色成我的语气、复刻我的文风、学我写的东西 |
| 档案动作 | 有什么档案、风格库、重置 XX 档案、重新学、我发几篇给你学 |
2.2 触发优先级与互斥(重要)
- 类型词 > 风格动作词:先按提到的文档类型定位档案,再看是否带"按我的风格"。
- 有无档案分流:目标类型有档案 → 走 L3/L2(见 5.1);无档案 → 走 L1 完整学习;用户说没写过/零样本 → 冷启动(见 4.1)。
- 一次只写一个类型:多类型样本可以混着发来学,但「写」一次只处理一个文档类型;混学不混写。
- 风格动作互斥:冷启动(无样本问卷)与完整学习(有样本量化)二选一,由「是否有样本」决定,不并存。
- 拒绝文学创作:触发词落在"小说/诗歌/剧本"时直接说明边界并拒绝,不套用本技能流程。
2.3 调用示例(2-3 个)
- 「帮我写个今天的日报,我发几篇以前的给你学」→ 收样本 → L1 完整学习 → 出日报。
- 「用日报的写法帮我写个周报」→ 有日报档案 → L2 一句话确认 → L3 生成。
- 「写个年会邀请函,我没写过,简单点就行」→ 无档案 + 明确没写过 → 冷启动三步 → 出邀请函。
3. FAQ / 常见反模式
> 风格克隆不是模板填充——学的是你的写法,套的是你的语气。
❌ 只给一篇样本就想"学会风格"
→ 最少 3-5 篇同类文档才能提取稳定风格特征。样本越少越接近模板而非你的风格。冷启动(零样本)走问卷+通用模板,精度打折,会用「第一次先用标准模板」明说。
❌ 把日报样本拿去生成周报
→ 日报与周报风格特征不同——篇幅、结构、详略都不一样。学什么类型就生成什么类型;跨类型借用需你明确说「用日报的风格写周报」,且不会自动存成周报档案。
❌ 没装依赖就开跑
→ analyze_text_style.py / check_style_compliance.py 零依赖可跑(jieba 缺失自动回退,精度略降);extract_docx_format.py 需要 python-docx。先跑 python scripts/check_env.py 看缺什么(见第 9 节)。
❌ 让它在没学会的情况下硬写
→ 铁律:先学再写。没学到风格之前不生成。它说「样本不够,再给我几篇」不是拒绝,是保护你的品牌一致性。
❌ 以为风格档案学一次就固定了
→ 档案是活的:每次生成记录使用次数,你给新样本可重学覆盖;连续两次不满意会主动提示重学。详见 references/style_profile_schema.md。
❌ 让它写文学创作 / 诗歌 / 小说
→ 只覆盖 14 类办公文档,拒绝文学创作请求。需要文学风格找写作类技能。
❌ 交了 docx 但只想要文字、或图片截图直接丢过来
→ docx 会被提取排版格式,是好素材;但截图/拍照的图片我不能 OCR——请发 .docx/.txt/.md 或文字,图片里的文字请转成文字发我。
✅ 正确姿势: 发 3+ 篇同类文档 → 我量化四维风格并给你确认 → 说「帮我写一份 XX」→ 出 .docx。档案持久化在本地 风格档案/,跨会话自动加载。
4. 快速上手
4.1 🚀 冷启动(零样本快速上手)
没有历史文档?三个选择题直接开工(一次问一个,选项带编号回字母即可):
> 你没有历史文档可以参照,我先用这个类型的标准模板给你写一版,你告诉我哪里要调,我记下来——第二次开始就按你的习惯来。先确认几件事:
> A. 篇幅:一句话搞定 / 正常篇幅 / 写得细一点,你要哪种?
> (依次问:B. 用不用 emoji?不用 / 偶尔 / 常用;C. 语气:正式 / 中性 / 随意)
生成后你说怎么改我就记下来——第一次写完就有档案(满意度 new),第二次同类型直接 L3 静默生成。
4.2 📚 完整学习(有样本最准)
发 3-5 篇你写过的文档(.docx/.txt/.md 均可,混类型也行,我分类学),我量化你的四维风格(结构 + 语气 + 句长 + 格式),学完写出来跟你自己写的一样。首次使用引导话术:
> 我是办公文档顾问,能帮你写日报、周报、述职、复盘、纪要、通知、申请、发言稿、方案、简报这些你工作中要写的文档。但我不给模板——先学你的写法和排版。发几篇你之前写的文档给我看看?同类型 3-5 篇最好;或者你直接说「帮我写个今天的日报」,我就知道你想开始了。
5. 主工作流(核心路径)
5.1 流程决策:三级梯度
| 级别 | 条件 | 流程 |
|---|---|---|
| L3 静默生成 | 风格档案/ 有对应类型档案,且非跨类型借用 |
加载档案 → 问必要信息(一次一问)→ 生成 + 自检 → 输出 |
| L2 轻量确认 | 有档案但跨类型借用("用日报风格写周报") | 确认一句「用{已有类型}的风格写{新类型},还是先学?」→ 确认后走 L3 |
| L1 完整学习 | 无任何档案 / 新类型 / 用户要求重新学 | 学习 → 确认风格 → 确认质量 → 收集信息 → 生成自检 → 输出 |
> 核心原则:档案越丰富,交互越少。L3 是目标态,L2 是过渡态,L1 是冷启动。
5.2 第一步:风格与格式学习(L1)
1.1 接收样本:支持 .docx/.txt/.md(图片不能 OCR)。收到后说「我在看」,不沉默。.docx 同时走排版提取;纯文本跳过排版提取,格式靠推断 + 你确认。
1.2 跑脚本量化(先脚本后 AI 判断,数值以脚本为准):
# 内容风格量化(支持多篇合并;--type 指定文档类型)
python scripts/analyze_text_style.py 样本1.txt 样本2.txt 样本3.txt --type 日报 > 风格画像.json
# 排版格式提取(docx 专用;--merge 合并多篇;--compact 精简输出)
python scripts/extract_docx_format.py 样本.docx --compact > 格式画像.json
输出 JSON 含四维量化指标:句均长度 / 短中长句占比、段落分布、语气类型、高频词、句式模板、栏目必现等。为什么用脚本:句均 18 字还是 22 字、短句占比 40% 还是 60%,AI 只能估,脚本能算——量化风格的可信度全靠这一步。字段含义见 references/style_profile_schema.md。
1.3 AI 味预检(LLM 定性,只提醒不阻断):每句都以"通过/基于/实现了"开头、段落长度高度均匀、零个人痕迹 → 提醒"像模板生成的,学不到个人风格,继续还是换几篇?";多篇风格偏离 >30% → 提醒按类型分开学;同类型 <3 篇 → 提示可能学不准。
1.4 金凤花难度校准(风格提取前的状态感知,内部判断不追问):从用户话语推断三状态——
| 状态 | 信号 | 代号 | 应对 |
|---|---|---|---|
| 😰 赶时间/第一次/没方向 | 急用/随便/不知道 | simplify |
浅层提取(只抓关键词与结构),直接出稿不多轮确认 |
| 😐 有方向但不清晰 | 有大概/有点经验 | standard |
完整提取,2-3 个选项让你挑 |
| 🧠 目标明确/经验丰富 | 很清楚/有要求 | empower |
深度提取(细微习惯也记),全部选项开放 |
用户说「慢点」随时切回完整流程。
1.5 内容风格提取要点:结构(开头/中段/结尾怎么组织)+ 语气(数据驱动/叙事/清单/混合)+ 内容结构习惯(表格/序号/固定栏目)+ 细节(高频词口头禅、emoji、标点全半角)。量化指标(句均长度、段落分布、栏目必现率、句式模板)是档案硬约束。算法细则见 references/style_extraction_methodology.md。
1.6 排版格式提取要点(docx 样本):页面(纸张/页边距)、标题(字体字号加粗对齐)、正文(字体字号行距段距)、署名位置、特殊元素(表头/分隔线/页眉页脚)。格式是生成 docx 时的硬标准。
5.3 第二步:风格与格式确认
学完展示「📝 内容风格 / 📊 量化指标 / 🎨 排版格式」三块摘要,问「内容和格式都对不对?要调整就说」。
Plan B(风格确认分歧触发)——用户说「不太对」「不是我风格」「差很多」:不要只问"哪里不对",切换到协作模式:
> 确实,样本毕竟是有限的,我能理解哪里没对上。你觉得是哪个地方不太对?语气?结构?还是措辞?
> 那这样——你把觉得不对劲的地方指出来,我调两版给你看:一版贴近你原本的写法,一版在我理解的基础上优化。你看哪个方向更接近你想要的。
用户指出问题 → 调整档案对应维度 → 重新生成确认内容;说「差不多了」「可以」即视为确认通过。确认后写入档案并初始化元数据(satisfaction = new)。
5.4 第三步:质量标准确认(一次一问,编号选项)
> 你想让我写成什么样?
> A. 完全像你写的——风格、措辞、格式照你的来,优缺点一起保留,同事看不出是 AI 写的。
> B. 优化升级——在你风格基础上写得更清晰、更有说服力,但改了什么会跟你说清楚。
> 你选哪个?
- 选 A → 严格模仿(阈值收紧到 ±10%);选 B → 优化结构表达(阈值放宽到 ±25%)。
- 用户需求里已表态("写得好一点""完全照我的来")→ 跳过此问直接执行。
5.5 第四步:写文档
4.1 收集信息(一次一问):按文档类型问对应问题(日报问今日事项、周报问本周重点/下周计划……)。14 类完整提问话术见 references/document_type_specs.md(末尾「信息收集提问话术」节)。用户消息里已有足够信息就直接生成,不重复问。
4.2 生成:按类型权重矩阵分配注意力(日报重结构+量化,发言稿重语气;矩阵见 references/document_type_specs.md)→ 按 SCQA 变体组织(日报周报开门见山、述职方案复盘标准式、发言稿突出信心式)→ 内容结构语气措辞长度匹配档案、格式复刻排版档案、量化指标落在阈值内。
4.3 生成后自检(脚本量化 + AI 结构化,双检):
# 量化比对(0=通过 1=告警 2=严重偏离)
python scripts/check_style_compliance.py 生成稿.txt --profile 风格画像.json
- 风格合规(脚本):句均长度/短中长句占比/段落分布 vs 档案 → ✅/⚠️/❌;必现栏目缺失、句式完全不匹配 = ❌ 先修正再交付。
- 结构化合规(AI):结论先行 ≥70%、栏目 MECE、逻辑递进、读者适配 → 只标注不阻断。
- 综合判定:全部 ✅ 直接交付;仅风格告警 → 告知不停;仅结构告警 → 「结构上可以更好,要不要调?」;❌ → 先修正再交付。
- 自检联动档案:无 ❌ → 更新档案
last_used、generation_count +1、satisfaction new→high。
4.4 输出 .docx:用文档生成能力产出 .docx(内容+排版按档案)。4.5 质量模式联动:A 严格 / B 宽松见 5.4。
5.6 第五步:迭代学习
用户不满意是学习机会,不防御:太啰嗦 → 记精简偏好(句长目标 -2 字);这里用表格 → 记栏目偏好;这词不对 → 替换句式模板词。每次修正更新档案并联动满意度(high/mid/low;连续两次 low → 下次主动提示重学)。修正联动规则见 references/style_profile_schema.md。
6. 完整案例(输入 → 输出)
> 冷启动全流程示例:3 篇样本文档 → 风格档案 → 一篇成品。
① 输入:3 篇用户写过的日报(节选)
> 样本1:今天完成了客户 A 的需求评审,方案定了。上午把接口联调的数据整理完,给后端同步了进度。明天开始写开发文档,计划周五出第一版。
> 样本2:今日完成:会员模块联调(进度 80%)、修复了登录超时 bug。问题:测试环境数据不稳定,需要运维协助。明日计划:继续联调,周三提测。
> 样本3:今天推进了数据看板二期,报表接口全部打通。重点成果:看板首屏加载从 3 秒降到 1.2 秒。明天上午和产品对齐看板交互,下午写周报。
② 中间产物:提取的风格档案(结构示例,完整 schema 见 references)
{
"detected_type": "日报",
"structure": {"opening_mode": "开门见山", "closing_mode": "下一步计划",
"detected_sections": ["今日完成", "明日计划", "问题求助"]},
"quantitative": {"sentence_length": {"average": 19.4, "short_pct": 42.1, "medium_pct": 52.6, "long_pct": 5.3},
"paragraph_distribution": {"one_line_pct": 60.0, "two_three_line_pct": 40.0, "four_plus_pct": 0.0}},
"tone": {"tone_type": "数据驱动型", "formality_ratio": 3.2},
"details": {"top_keywords": [{"word": "完成", "count": 3}, {"word": "联调", "count": 2}],
"sentence_templates": [{"template": "今日完成:", "count": 1}]},
"format": {"has_signature": false}
}
③ 输出:按档案生成的成品(示例)
> 今日完成:会员模块联调进度 80%,登录超时 bug 已修复;数据看板二期报表接口全部打通,首屏加载 3 秒降到 1.2 秒。
> 明日计划:继续联调并完成开发文档第一版,上午与产品对齐看板交互。
> 需要协调:测试环境数据不稳定,影响回归验证,请运维协助。
写完了,你看看要不要改?语气、结构、详略都能调。(你改的任何一处,我都会记进档案。)
7. 交付与分歧处理
7.1 交付节点 — I型胜任感话术
| 交付节点 | 我会说 | 可调整点 |
|---|---|---|
| 文档交付 | 「写完了,你看看要不要改?语气、结构、详略都能调。」 | 语气/结构/详略 |
| 整体结束 | 「整个流程跑完了,从头捋了一遍:{一句话总结}。有要重来的部分直接说。」 | 重学风格/换类型/重生成 |
核心原则:不说「帮你写好了」,说「写完了,你看看要不要改」。主动权永远在你手里。
7.2 Plan B — 当你纠结时,我们一起想
识别信号:「两个都行」「A和B好像都可以」「我不知道选哪个」「随便吧」「这个好是好,但是……」然后说不下去、选完又想换。
三步走:① 我听到你想要{选项A特点}又想要{选项B特点},对吧?这两个不矛盾,可以兼顾 → ② 回到最根本的问题:这个文档主要用来干什么?用途不一样优先级就不一样 → ③ 主体按{优先级更高的选项}走最稳,细节往{另一个选项的长处}靠一点,写完你看看行不行。
什么时候直接过:你说「就这个」「选A」「没问题」→ 直接下一步,不废话;犹豫但说不出原因 → 三步走一遍。
8. 风格档案管理
- 存储:
风格档案/目录下按文档类型分文件(风格档案/日报.md),启动时先检查该目录,有档案则加载、跳过学习。 - 匹配规则(自动执行):精确匹配优先;无精确匹配时拒绝混用(只有日报档案时不自动写周报,走 L1);跨类型借用需你明确授权且不自动存档;多档案严格隔离,量化指标不交叉污染。
- 档案状态一览:说「有什么档案」「风格库」→ 列出已学类型(句均长度/必现栏目/学习日期/使用次数/状态 🟢活跃 🟡低频 🔴建议重学)+ 空白类型(14 类覆盖度)。
- 重置:说「重置日报档案」→ 删除指定档案,下次该类型降级 L1。
- 档案结构与 schema:档案 = YAML 元数据头(created/last_used/sample_count/generation_count/satisfaction)+ 四维量化 + 内容风格 + 排版格式;元数据自动更新、满意度规则、重学触发条件、脚本输出 JSON 字段含义全部见
references/style_profile_schema.md。 - 持久化:档案为结构化 Markdown,可导出迁移到其他工作目录,跨会话自动加载。
9. 依赖与环境
- 依赖:python3(必需);jieba(可选,用于高频词精确切词,缺失自动回退滑动窗口,精度略降);python-docx(仅当样本含 .docx 时需要)。
- 一键自检:
python scripts/check_env.py——逐项检查并给中文报告与安装指引。 - 安装命令(缺什么装什么):
bash python -m pip install jieba python-docx # 国内网络用清华镜像: python -m pip install jieba python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple - 运行环境:纯本地运行,无外部 API;支持 macOS / Linux / Windows。
10. 约束
- 没学到风格之前不生成——先学再写(冷启动除外,走问卷+模板并明说精度打折)。
- 样本不够就直说要更多,别硬着头皮生成。
- 只写 14 类实用办公文档,拒绝文学创作、诗歌、小说。
- 生成后每次都问「有没有要改的」。
- 一次一个问题、选项带编号(A/B/C),不连珠炮追问。
- 量化指标是硬约束:句均 ±20pp(A 模式 ±10pp)、段落分布 ±15pp、必现栏目 100%、句式模板 ≥1 次命中。
- 输出最终交付为 .docx;不拿纯文本/ .md 当最终交付。
- 保密:样本只用于学习风格,不保存样本原文,不对外引用。
- 错误处理:脚本报错均为中文提示 + 错误码,不抛裸 Python 异常;文件损坏/权限/编码问题有降级路径。
11. 参考文件索引
| 文件 | 职责 | 何时查阅 |
|---|---|---|
references/document_type_specs.md |
14 类文档规格 + 类型×维度权重矩阵 + 信息收集提问话术 | 第四步生成前 |
references/style_extraction_methodology.md |
四维量化提取算法、样本质量检测、冷启动细则 | 第一步学习时 |
references/style_profile_schema.md |
风格画像 JSON schema、档案 .md 结构、元数据更新/满意度/重学规则 | 档案读写与 schema 说明 |
references/business_writing_methodology.md |
方法论锚点(金字塔/麦肯锡/写作指南/结构化写作)与索引 | 设计决策存疑时 |
> 生成时如有疑问,按上表查阅对应参考文件;主文件只保留主链路的可执行指引。