Word与WPS接入DeepSeek R1:办公文档自动化实战指南 简介这是一份聚焦办公效率提升的PDF教程适合经常使用Word或WPS处理文档、希望借助人工智能技术简化写作的职场人士。教程完整讲解了将两个办公软件接入DeepSeek R1服务的配置方法先介绍在DeepSeek官网完成注册并进入API开放平台申请密钥的流程同时提醒读者务必妥善保管密钥、避免泄露随后针对Word和WPS分别说明接入步骤尤其对WPS补充了启用VB开发环境、安装宏编辑器插件、安装后重启应用等细节。内容还包括实际操作中常见的插件安装失败、工具栏找不到入口等排错思路帮助读者一步到位完成配置。整个资源是单个PDF文件体积约976KB结构紧凑方便按章节查阅。目前已有1042人学习下载适合追求高效文档处理的专业人士也适合初次尝试AI辅助写作的个人用户。1. 办公自动化中Word与WPS接入DeepSeek R1把文档读写变成一次 HTTPS 调用办公自动化中Word与WPS接入DeepSeek R1就是两件事把文档内容送到模型接口把返回结果按原格式写回文档。做标书、审合同、改报告的人天天和改措辞、摘要、比对条款这类重复劳动打交道正则写不出搜索换不来正好是推理模型的地盘。为什么把 Word 和 WPS 一起讲办公电脑多数装 WPS回家用 Word两个软件对象模型并不互通。R1 的 API 调用不挑办公软件真正的坑全在取文本、传 HTTP、写回格式这三步两边做法有差异。下面按选型、最小代码、WPS 双方案、踩坑记录、进阶批注五步来写新手照着跑通第一条链路熟手看参数边界和公式转换的退化方案。2. 为什么用 DeepSeek R1 而不是本地脚本接入方式与接口边界2.1 R1 擅长的文档任务和接口调用边界先想清楚一个前提R1 不是用来做精确规则的。凡是能用正则、替换、pandoc 干净利落解决的——批量删空行、统一换行符、把 Word 表格导出成 CSV——都不值得走接口本地脚本更快、更可预期。R1 的价值在需要理解语义的任务长文摘要、术语统一、口语转书面、合同条款风险点提示、公式转 LaTeX以及把模型输出整理成得体的 Word 内容。R1 的调用边界其实很窄就是一次标准的 HTTP POST。请求体是 messages 数组模型名填 deepseek-reasoner响应里除了 reasoning_content思维链还有 content最终回答。接入办公自动化时回写文档的永远是 content。新手最容易踩的意外是拿到思维链写回正文占篇幅还带推理口吻看起来非常突兀。接口的另一个边界是上下文长度和 max_tokens 的分配。R1 是推理模型回答前要消耗一段思维链 token。这意味着 max_tokens 如果只给 512润色一段两千字的稿子很可能链还没走完就截断返回的 content 是一段没写完的话。实际接入时我把 max_tokens 起步设到 2048长文摘要给 4096。还要提前接受一个现实延迟。R1 是推理模型短文本润色也要 510 秒起步长篇摘要 30 秒以上很正常。宏界面在这段时间是卡住的所以接入前要对齐预期这不是本地替换那种毫秒级响应。批量场景优先走 Python 加重试别硬塞进宏里循环。任务类型推荐工具理由错别字、空行、标点规范化本地正则 / VBA Replace确定性高零成本长文摘要、润色、翻译DeepSeek R1 API需要语义理解公式转 LaTeXR1 OMML 提取规则转换工具贵且封闭Markdown 转 Word 版式pandoc版式是规则问题批量改 50 个文件Python 脚本宏循环长文本易卡死2.2 Word 与 WPS 的自动化接口差异VBA、JS宏和命令行三条路接入 R1 之前得先知道自己手里有几条路每条路的地板在哪。Word 这边走得最稳的是 VBA。对象模型全Selection、Range、OMaths、Comments 都齐MS 的官方文档也最厚。唯一麻烦是 64 位 Office 下个别 API 行为不同但调 HTTP 这种活不受影响。WPS 这边有两条路。第一条是装 VBA 组件后跑 VBA兼容 Word 的大部分对象但别指望 100%。实操中最典型的坑是 Range.XML 和 OMaths 在 WPS 里不完整公式相关功能直接退化。第二条是 WPS 2019 之后自带的 JS 宏JSA用 JavaScript 写处理 JSON 比 VBA 舒服得多但它没有 Word 那么全的对象模型很多属性名要现查。第三条路不经过宏用 Python 写独立脚本python-docx 读写 docxrequests 调接口。这条路适合批处理和复杂逻辑缺点是要跑在装了 Python 的机器上不能像宏一样按 F5 就在文档里干活。我一般把交互型操作放宏里批处理型任务放 Python 里两不耽误。三条路的取舍一句话能说清单人、即时、贴合文档操作的选 VBA 或 JS 宏多文件、定时跑、要接数据库的选 Python。2.3 整体链路选中文本→调 API→回写数据走在哪链路拆开只有四步取文本、发请求、解析响应、写回。但每一步都有选择。取文本要注意 Selection.Text 末尾常带段落标记回车发出去之前要清掉。发请求VBA 推荐 WinHttp.WinHttpRequest.5.1 同步方式界面会卡但代码最短WPS JS 宏里有的版本能用 XMLHttpRequest没有就用宿主提供的 Http 对象。解析响应JS 宏直接 JSON.parseVBA 没有原生解析库要么引 VBA-JSON要么字符串截取——截取在短任务里够用一旦 content 里带引号就翻车。写回直接给 Selection.Text 赋值会丢字体样式要记住修改前的 Font 属性再恢复。一个容易忽略的点数据全程在内存里走不要为了中转写临时文件。写临时文件会引入编码问题还会撞上 WPS 对宏读写文件系统的权限限制5.1 详述。除非输出大得离谱内存方案足够。还有一条属于工程纪律R1 接口是云端服务文档内容会离开本机。涉及商业秘密、个人信息的内容上线前要过合规评估。我的做法是敏感字段先脱敏或者这类任务留在本地规则工具上而不是硬塞给接口。链路里还要考虑失败兜底接口超时、返回空 content、网络波动。宏不是生产系统但最少做一件事——回写前把选中文本备份到变量出问题能一键还原。这是吃过亏之后养成的习惯。3. Word 里跑通 DeepSeek R1VBA 最小调用代码与参数设置3.1 准备工作密钥、宏安全设置和 WPS VBA 组件动手前先备齐三样东西。第一API 密钥形如 sk- 开头。密钥在宏里建议放模块顶部常量方便替换不要把密钥硬编码进随文档分发的模板里文档发出去宏里的密钥也跟着走了。我的习惯是宏读环境变量或外部配置文件拿不到就弹提示而不是写死在 docm 里。第二宏的运行环境与安全设置。Word 按 AltF11 进 VBA 编辑器工具 → 引用里勾选 Microsoft WinHTTP Services 5.1。不勾引用也能用 CreateObject 直接创建少一步配置。随后到信任中心把当前工作目录设为受信任位置否则宏被禁用按 F5 没反应。不要为了省事永久关闭宏安全也不要去找来路不明的 WPS 破解版或第三方 VBA 组件包。WPS 需要 VBA 能力时装官方 VBA 组件7.1 版本常见就够了干净且兼容性好。3.2 最小 VBA 代码WinHttp 同步请求与 UTF-8 响应解码下面这段是 Word 里直接可跑的最小实现模块里放两个过程一个发请求一个处理选中区。 模块级常量密钥 Private Const API_KEY As String sk-你的密钥 核心函数把 prompt 发给 DeepSeek R1返回 content 字段 Public Function CallDeepSeekR1(ByVal prompt As String, ByVal apiKey As String) As String Dim http As Object Dim reqBody As String Dim respBody() As Byte Dim stream As Object Dim content As String 1. 构造 JSON 请求体VBA 里双引号要写成两个连续的双引号 reqBody {model: deepseek-reasoner, _ messages: [{role: user, content: _ prompt }], temperature: 0.6, max_tokens: 4096} 2. 用 WinHttp 同步 POSTFalse 表示同步等待 Set http CreateObject(WinHttp.WinHttpRequest.5.1) http.SetTimeouts 60000, 60000, 60000, 60000 http.Open POST, https://api.deepseek.com/chat/completions, False http.SetRequestHeader Content-Type, application/json; charsetutf-8 http.SetRequestHeader Authorization, Bearer apiKey http.Send reqBody 3. 按字节取响应再用 ADODB.Stream 按 UTF-8 解码避免中文变问号 respBody http.ResponseBody Set stream CreateObject(ADODB.Stream) stream.Type 1 adTypeBinary stream.Open stream.Write respBody stream.Position 0 stream.Type 2 adTypeText stream.Charset utf-8 content stream.ReadText stream.Close 4. 截取 content 的字符串值短任务够用复杂场景换成 VBA-JSON 库 Dim marker As String Dim startPos As Long Dim endPos As Long marker content: startPos InStr(content, marker) Len(marker) endPos InStr(startPos, content, , vbBinaryCompare) CallDeepSeekR1 Mid(content, startPos, endPos - startPos) End Function逻辑说明第 1 步是坑位最多的地方——VBA 字符串里的双引号必须写成两个连续引号否则 JSON 结构直接坏。第 2 步 SetTimeouts 四个参数分别是解析、连接、发送、接收超时R1 推理慢默认 30 秒经常不够统一给到 60 秒。第 3 步如果不走 ResponseBody 而直接读 responseText中文 Windows 上会被按 ANSI 解码中文全变问号这是接入排错里出现频率最高的问题。第 4 步的字符串截取在答案里没有英文引号时能工作一旦有引号就断生产环境建议直接引 VBA-JSON 的 ParseJson。然后是选中文本→回写的调用过程 宏入口选中一段文字运行后替换成 R1 的润色结果 Sub ReplaceSelectionWithR1() Dim selectedText As String Dim result As String 1. 校验光标必须选中正文 If Selection.Type wdSelectionNormal Then MsgBox 请先选中一段正文再运行 Exit Sub End If 2. 取文本并清理换行与制表符防止打断 JSON 字符串 selectedText Selection.Text selectedText Replace(selectedText, vbCr, ) selectedText Replace(selectedText, vbLf, ) selectedText Replace(selectedText, vbTab, ) selectedText Trim(selectedText) If Len(selectedText) 2 Then MsgBox 选中内容太短 Exit Sub End If 3. 记住原字体回写后恢复避免丢格式 Dim origFontName As String Dim origFontSize As Single origFontName Selection.Font.Name origFontSize Selection.Font.Size 4. 调用接口提示词要求只输出结果不输出解释 result CallDeepSeekR1(请润色下面这段文字保留原意不要解释直接输出润色结果 selectedText, API_KEY) 5. 回写并恢复字体 Selection.Text result Selection.Font.Name origFontName Selection.Font.Size origFontSize End Sub这里有两个容易被忽略的行为一是 Selection.Text 自带末尾段落标记不清理就混进 JSON二是直接 Selection.Text result 会丢掉选中区的字体、字号、加粗等格式所以先存 Font 属性。跑通这段后把任务换成翻译、摘要、条款风险提示只需要改提示词前缀代码结构不动。3.3 必调的三个参数模型名、temperature 和 max_tokens接入后真正决定输出质量的是请求体里的三个参数不是代码。模型名 model 决定走哪个能力。R1 推理模型在 API 里对应 deepseek-reasoner。如果后续平台把模型收敛成一个统一入口以你拿到的接口文档为准。模型名写错的常见现象是 HTTP 400 或 404排查接口问题先看这一项。temperature 控制随机性。R1 这类推理模型在 0.6 附近是安全区间太低答得干瘪太高会在一遍遍重跑时结果不一致。做审校、摘要这类求稳任务我放 0.3做创意改写、文案扩写放 0.7 以上。需要反复重跑验证一致性的批量文档配合低温更合适。max_tokens 要按 R1 的思维链特性调。推理模型的 token 分两块先思考后作答max_tokens 是两块的上限之和。短任务 2048 够长文摘要和翻译至少 4096不然内容会在说到一半处被掐断现象就是 content 末尾是个半截句子。参数任务建议值model推理 / 文档处理deepseek-reasonertemperature审校、摘要、格式化输出0.3 ~ 0.6temperature创意改写0.7 ~ 0.9max_tokens短句润色2048max_tokens长文摘要 / 翻译4096 或更高3.4 把选中文本规范化发送控制符、长度和提示词模板文本规范化是让链路可靠的最后一道工序也最容易翻车。除了上节清理 vbCr 和 vbLf还要处理两个问题。第一个是长度。R1 的上下文长度有限一个宏直接把三万字标书塞进去请求体会超限。常见做法是按自然段切分每段单独请求再拼接结果单段超过 2000 字的先截成小块分批发。批处理时注意控制频率别在几十毫秒内连发一堆请求。第二个是提示词模板的一致性。同样一段文字润色一下和你是资深编辑请润色下面这段文字保持正式语气不要解释直接输出得到的结果差异巨大。我习惯把提示词固定成模板常量只拼接业务部分。模板里有三要素角色、任务、输出约束。输出约束最重要——不加约束R1 会在答案前后加以下是润色结果之类的废话回写进文档就乱了。把这三要素写进 3.2 的代码只需要改第 4 步的字符串拼接。模板统一后所有宏共用一套规范出问题只改一处。4. WPS 接入的两条路JS 宏直接调 API和 Markdown 转 Word 工作流4.1 WPS JS 宏从选中文本到 JSON.parse 的最短路径WPS 2019 之后的版本自带 JS 宏。打开方式是开发工具 → JS 宏 → 新建模块写完后直接运行。JS 宏最大的优势是 JavaScript 原生处理 JSON不需要像 VBA 那样做字符串截取响应解析稳得多。// 在 WPS 的 JS 宏编辑器里新建模块粘贴这段代码 var API_KEY sk-你的密钥; function DeepSeekR1Replace() { var sel ActiveDocument.Selection; var text sel.Text; if (text null || text.length 0) { alert(请先选中一段正文); return; } // 清理换行和多余空白 var prompt text.replace(/[\r\n\t]/g, ).trim(); // 用 XMLHttpRequest 同步调用若当前版本没有该对象 // 在宏编辑器对象列表里搜 Http 相关对象按同样三步改写 var xhr new XMLHttpRequest(); xhr.open(POST, https://api.deepseek.com/chat/completions, false); xhr.setRequestHeader(Content-Type, application/json; charsetutf-8); xhr.setRequestHeader(Authorization, Bearer API_KEY); var body { model: deepseek-reasoner, messages: [{ role: user, content: prompt }], temperature: 0.3, max_tokens: 4096 }; xhr.send(JSON.stringify(body)); var resp JSON.parse(xhr.responseText); var content resp.choices[0].message.content; // 回写选中区 sel.Text content; }逻辑说明JS 宏里 ActiveDocument.Selection 和 VBA 同名但宿主环境不同部分属性名有差异。JSON.stringify 负责序列化天然规避 VBA 双引号转义的坑JSON.parse 解析响应比字符串截取可靠。请求体里我把 temperature 放到 0.3因为 WPS 里做审校类任务居多温度低输出更一致。注意不同 WPS 版本对 JS 宏宿主暴露的 HTTP 对象名不一样。有的版本有 XMLHttpRequest有的需要用 Http.post 这类封装。没有 XMLHttpRequest 时在左侧对象面板搜 Http照着设置请求头、发送、读取响应三步改写即可。接口地址、模型名、密钥占位符都要替换成实际的。4.2 公式转 LaTeX用 Range.XML 把公式喂给 R1把 Word 公式转成 LaTeX是接入 R1 后效果最实用的场景之一。原理Word 内置公式以 OMML 存储Range.XML 能拿到包含 OMML 的 XML。把 XML 发给 R1让它输出对应 LaTeX比传统公式转换工具灵活。 Word 场景选中公式区域提取 OMML 交给 R1 转 LaTeX Sub FormulaToLatex() Dim mathXml As String Dim latex As String 1. 校验当前是否选中了公式对象 If Selection.OMaths.Count 0 Then MsgBox 请先选中文档里的公式 Exit Sub End If 2. 取第一个公式的 XML含 OMML mathXml Selection.OMaths(1).Range.XML 3. 把 XML 发给 R1提示词要求只输出 LaTeX latex CallDeepSeekR1(请把下面的 OMML 数学标记转换为 LaTeX 公式只输出 LaTeX 代码不要解释 mathXml, API_KEY) 4. 把结果插入到当前段落后面自行复制使用 Selection.InsertAfter vbCrLf latex End Sub逻辑说明Selection.OMaths.Count 判断选中区是否包含公式避免对纯文本调用导致崩溃。Range.XML 返回带命名空间的 XML 字符串直接发给 R1不需要自己解析 OMML 结构。第 4 步没有替换原公式因为 LaTeX 回填到 Word 有专门通道Word 2019 后的等式编辑器支持直接输入 LaTeX按 Alt 进入公式编辑后粘贴即可如果公式来自 MathType也可以复制时选 LaTeX 格式直接进 R1 处理。这个方案有一个边界要提前讲WPS 对 OMaths 和 Range.XML 支持不完整代码大概率只能在 Word 里跑。WPS 里的退化方案见 5.5。4.3 DeepSeek 输出的 Markdown 怎么导出为 Wordpandoc 工作流接入 R1 后另一个高频诉求是把模型输出的 Markdown 文档转成正式 Word。R1 的回复天然是 Markdown 风格直接在 Word 里贴会留下井号、星号、横线这些标记。常见做法是走 pandoc 工作流# 1. 把 R1 返回的内容存成 ai_output.md # 2. 用 pandoc 转 Word默认模板即可 pandoc ai_output.md -o 输出文档.docx # 3. 如果要匹配公司模板先生成 reference.docx 再覆盖样式 pandoc --print-default-data-file reference.docx ref.docx pandoc ai_output.md -o 输出文档.docx --reference-docref.docx逻辑说明pandoc 把 Markdown 的标题层级映射成 Word 标题样式代码块映射成等宽字体段落表格映射成 Word 表格。第一次转换后观察样式偏差用生成的 ref.docx 调一次模板之后所有文档复用同一套样式。这个工作流与办公软件版本无关也不依赖特定插件。配合 R1 的 API整条链路就是文档 → R1 → Markdown → pandoc → 规范 Word。比在宏里逐段转换省事也规避了 VBA 回写格式的老大难问题。要注意 R1 输出的列表符号统一成横线和有序数字pandoc 对表格支持良好但个别扩展语法不一定认转出来先预览一遍。4.4 批量处理Python 脚本扫目录 vs 宏循环待处理文档超过 10 个时宏循环就不合适了VBA 同步请求卡界面一个文件跑半分钟人只能干等。批量场景我一般配一个 Python 脚本用 python-docx 读段落、requests 调接口、再写回。import time import requests from docx import Document API_URL https://api.deepseek.com/chat/completions API_KEY sk-你的密钥 def ask_r1(text: str) - str: payload { model: deepseek-reasoner, messages: [{role: user, content: text}], temperature: 0.3, max_tokens: 4096, } resp requests.post( API_URL, headers{Authorization: fBearer {API_KEY}}, jsonpayload, timeout120, ) resp.raise_for_status() return resp.json()[choices][0][message][content] doc Document(待审稿件.docx) for i, para in enumerate(doc.paragraphs[:20]): # 先跑前20段试水 if len(para.text.strip()) 5: continue para.text ask_r1(润色并保持原意 para.text) time.sleep(1) # 限速避免短时间高频请求 doc.save(审稿结果.docx)逻辑说明doc.paragraphs 遍历所有段落len 过滤掉空段和短段para.text 直接赋值实现替换。time.sleep(1) 是批量场景的关键——模型接口对突发请求会限流不加 sleep 跑几十条就开始报错。试水时先用前 20 段切片确认输出质量再放开全量。Python 方案和宏方案的本质区别宏处理正在编辑的这一个文档脚本处理一批文档前者交互性强后者可控性强。5. 接入避坑WPS报错75、中文乱码、接口超时和 JSON 解析的 5 个现场5.1 WPS 宏里报错 75临时文件路径与权限现象VBA 在 WPS 里跑动不动弹错误 75路径/文件访问错误尤其加了写临时文件的功能后几乎必现。原因WPS 对宏的文件系统访问比 Word 保守宏默认没有写盘权限其次是路径带中文或写在系统盘根目录也容易触发。很多老教程让宏把临时文件写到 C 盘根目录在新版 WPS 里基本都踩中。解决临时文件一律写到用户临时目录用 Environ(TEMP) 动态获取别硬编码Dim tmpPath As String tmpPath Environ(TEMP) \r1_output.txt Open tmpPath For Output As #1 Print #1, result Close #1再到 WPS 信任中心把当前工作目录设为受信任位置宏才有读写权限。如果不想碰文件权限绕开文件系统直接走内存传递3.2 的做法就没这个问题。5.2 中文全变问号响应解码的编码问题现象接口调用成功英文正常中文在立即窗口里显示成问号写回文档也是一排问号。原因这是接入 DeepSeek R1 出现频率最高的问题根源是字符集错配。WinHttpRequest 的 responseText 在中文 Windows 上默认按 ANSI 解码而 API 返回 UTF-8两边对不上。直接读 responseText 拿回来的中文字符串已经是乱码后面再处理也救不回来。解决必须走字节级读取也就是第 3 章代码里的 ResponseBody 加 ADODB.Stream 加 Charsetutf-8 三步。字节数组不经过 ANSI 解码再用 Stream 按 UTF-8 显式转文本中文才能完整回来。凡是中文乱码的报障第一反查就是这三步有没有写全。5.3 长文本请求超时SetTimeouts 与分段策略现象发一段 2000 字的请求十几秒后宏报超时或连接中断有时干脆卡死没反应。原因WinHttpRequest 默认超时约 30 秒。R1 是推理模型长文本的思维链可能超过 30 秒才走到第一个响应字节加上同步请求阻塞界面超时前用户容易误判成程序卡死。解决请求前显式设置超时四个参数统一给到 60 秒以上http.SetTimeouts 60000, 60000, 60000, 60000确实超时的长文档不要无限加超时时间而是分段处理把全文切成 500800 字的小段逐段请求再拼接。这样单次请求耗时可控失败重试代价也小。UAT 时把超时和模型答到一半截断分开看——前者靠 SetTimeouts后者靠调大 max_tokens方向别搞反。5.4 JSON 截取取错字段VBA 解析 content 的正确姿势现象明明调用成功回写进文档的内容却是半句或者一段推理过程有时候还带着转义符。原因VBA 没有原生 JSON 解析很多人用 InStr 找 content: 然后截到下一个引号。但 R1 返回里有两个相关字段reasoning_content 在前content 在后截取没对准就拿到推理链内容里一旦包含英文引号截取终点直接错位。这是字符串截取的天花板。解决有条件就引 VBA-JSON 库把整个响应解析成字典对象再取 choices[0].message.content。不想引库的退路是改提示词约束输出格式比如让 R1 用固定标签包住答案宏里直接找标签对绕开 JSON 解析。JS 宏没有这个问题JSON.parse 一行解决。我的建议代码要长期维护的别省引库这一步字符串截取只适合临时调试。5.5 WPS 里公式对象模型缺失Range.XML 不可用的退化方案现象在 WPS 里打开含公式的文档跑 4.2 的 Selection.OMaths(1).Range.XML 报对象不支持此属性或方法。原因WPS 的公式对象模型和 Word 不是同一套对 OMaths 支持不全Range.XML 也没有实现。4.2 的方案被迫退化。解决两条路。第一条公式转换类任务只在 Word 环境里跑把 WPS 里的文档另存为 docx 再在 Word 中处理第二条WPS 里改用截图方案公式区域截图后用带视觉能力的模型把图转成 LaTeX再回填。回填时 Word 2019 以上可以直接用 LaTeX 输入公式WPS 需要先转成 OMML 再插入。公式转换是接入 R1 后收益最高的功能之一但也是最依赖办公软件版本的跑不通先查版本支持别急着怀疑模型。6. 进阶让 R1 自动写审校批注并在十篇文档上做回归验证6.1 自动批注宏把审校建议写进 Word 批注最后一层进阶是把 R1 从替换文本升级成审校批注。做法选中一段R1 返回审校意见用 Comments.Add 把意见挂到该段落的批注里正文不动。这样既保留人审流程又借了模型的眼。Sub AddAIRemark() Dim sel As Range Set sel Selection.Range If sel.Text Then Exit Sub Dim text As String text Replace(sel.Text, vbCr, ) Dim result As String result CallDeepSeekR1(审校下面这段文字指出事实错误、逻辑问题和表达问题每条建议不超过100字 text, API_KEY) sel.Comments.Add Range:sel, Text:result End Sub这个模式的价值在于批注非破坏性R1 判断失误时删批注即可不影响正文。审校任务把 temperature 降到 0.3追求结果一致每条建议限字数避免批注长到盖过正文。6.2 验证方法和一个备份习惯接手这类接入我验证可靠性的习惯是固定十篇样本两篇合同、两篇技术方案、两篇公告、两篇论文摘要、一篇会议纪要、一篇产品介绍。每篇跑三遍记录三个指标输出是否被截断、返回格式是否一致、回写后样式是否保留。三遍跑下来能看出两件事。一是温度对输出一致性的影响同一段文字三遍结果差异太大说明 temperature 偏高往下调。二是提示词模板的问题某个任务每次都在答案开头加以下为审校结果说明输出约束没写清模板里要补上不要解释直接输出。最后说一个自己的血泪习惯不管代码多简单核心文档先另存副本再跑宏验证无误再全量执行。R1 能力越强越容易让人放松对写回操作的警惕而格式化回写恰恰容易出现静默问题——看起来正常字体、缩进、批注挂错位置都不是一眼能看出来的。先备份这个动作花不了十秒但能省掉后面一整天的手工修复。希望帮到你。本文还有配套的精品资源点击获取