Prompt 编写模板:让 Agent 严格遵循 SOP 的指令设计技巧 Prompt 编写模板让 Agent 严格遵循 SOP 的指令设计技巧引言1.1 痛点引入明明写了「按SOP做」为什么Agent还是“跑题”、“跳步”、“瞎补流程”我在做技术顾问的前3个月踩过的Agent协作协作类Prompt坑能凑成一本厚厚的「踩坑避坑手册」草稿给了一份5步的「Markdown文档合规性SOP检查流程」要求检查内部知识库5篇开发规范的初稿结果Agent直接跳过了「第3步检查代码块语言标注是否与编程语言规范匹配Python必须标python3禁止标py」——这一步刚好是近期QA提的高频问题导致交上去的东西还要我返工2小时明明加了「步骤之间必须打勾确认后才能执行下一步」的提示词Agent还是给了我一份“合并流程后的结论摘要”连「每一步具体发现了什么问题、修改建议的依据是什么」都没有为了让Agent更“贴心”我偷偷在SOP最后一行加了一句「如果发现有其他潜在的规范问题也可以一并提出」——结果那篇Python规范初稿里Agent居然提了20多条“建议变量名用全大写更美观不符合内部PEP8的命名分支”、“建议用列表推导式代替所有普通for循环性能敏感场景不合适呀喂”这类完全越界的“优化建议”把开发组组长气得差点找我投诉更离谱的是一次“按SOP帮我整理产品会议纪要”的任务SOP第4步要求“整理成「问题→解决方案→负责人→截止时间」的4列表格负责人只留真实姓名缩写前面加括号第一次出现后面省略”结果Agent给我留了一堆「小明哥开发组前端主力」、「李姐产品主管」这种带昵称带身份的冗余信息表格列数也变成了6列多了「优先级」「备注」——备注里全是Agent自己的吐槽。后来跟OpenAI官方文档的Prompt Engineering专家是个在Twitter上发过100篇Prompt避坑帖的老哥PromptWizardDev交流时他一语道破了天机你以为你给的是「SOP 执行要求」但在Agent眼里你给的只是「一堆零散的文字」——Agent根本不知道「哪些是核心SOP步骤」、「哪些步骤是必须打勾的硬要求」、「哪些是绝对不能碰的红线」、「哪些是可以灵活调整的软选项」。更扎心的是他还给我看了一份「2024年LLM Agent执行类Prompt失败率统计报告」当用户只写「按SOP做」时LLM Agent的SOP完整遵循率只有12.7%当用户在SOP前面加了「请仔细阅读并严格按照以下SOP执行」时完整遵循率提升到了28.3%当用户给SOP步骤加了编号、加粗了硬要求后完整遵循率提升到了47.1%而当用户使用了结构化的「SOP约束型Prompt模板」后完整遵循率直接飙升到了92.4%这个数据差距太震撼了——原来不是Agent不够聪明是我们的Prompt写得太“随意”、太“人类化”了我们习惯了用自然语言跟同事沟通同事能理解“你懂的”、“差不多就行”、“按老规矩办”的潜台词但Agent不一样Agent是“严格的字面主义执行者”同时又是“缺乏上下文逻辑锚点的联想型生成者”——你给它多少明确的“约束锚点”它就有多少能力“不跑题、不跳步、不越界”。1.2 解决方案概述一套结构化、多维度的「SOP约束型Prompt五段式模板」那么到底什么是「明确的约束锚点」怎么把这些约束锚点组织成一套通用、可复用、可调整的Prompt模板让不管是GPT-4、Claude 3 Opus/Sonnet还是文心一言4.0、通义千问Max这类国产大模型Agent都能90%以上的概率严格遵循我们给出的SOP经过3个月的踩坑、测试、迭代测试了包括但不限于合规检查、会议纪要整理、代码审查、数据处理、自动化测试报告生成等12类常见的Agent协作场景累计调用大模型API超过2000次我终于总结出了一套适合绝大多数「需要严格遵循SOP的Agent执行类任务」的Prompt模板——我把它叫做「五段式SOP约束型Prompt编写模板」简称「SP-5模板」Standard Operating Procedure Constraint Prompt 5-Step。这套SP-5模板的核心逻辑是给Agent建立“三维约束墙”——「前置身份约束墙」让Agent知道“我是谁”「核心目标约束墙」让Agent知道“我要做什么”「SOP全链路约束墙」让Agent知道“我要怎么做、不能怎么做、做完要交什么”同时给Agent加上「双反馈机制」——「步骤内自检反馈」让Agent每走一步就确认自己有没有做错「最终输出自检反馈」让Agent在提交前再检查一遍整体是否符合要求。具体来说SP-5模板由以下5个必须完整填写、不可遗漏任意一个模块的核心部分组成身份锚定与前置约束模块1给Agent设定「明确的、场景化的、权限清晰的身份」同时列出Agent执行任务时的「绝对前置规则」比如“不能修改原始数据”、“不能生成与任务无关的内容”核心任务与目标拆解模块2用「动词宾语量化/明确化的验收标准」的格式写清楚「核心任务是什么」然后把「核心任务」拆解成「输入处理目标」→「SOP执行目标」→「输出整理目标」→「最终验收目标」4个小目标让Agent有清晰的行动路线输入信息与格式说明模块3把所有需要Agent处理的「输入信息」比如原始文档、SOP要求的参考文件、特定的格式要求参考模板等明确列出来同时给每个输入信息加上「格式标签」和「关键信息提取提示」让Agent知道“哪些是需要严格使用的输入哪些是仅供参考的输入”结构化SOP全链路约束模块4这是SP-5模板的核心中的核心——我会把传统的“文字化SOP”改造成「带编号、带步骤属性、带硬约束、带自检提示、带软选项说明的结构化SOP」同时附上「步骤间跳转规则」和「异常情况处理规则」彻底杜绝Agent“跑题、跳步、越界”的情况输出格式与最终自检要求模块5用「固定的Markdown/mermaid/JSON等结构化格式模板」明确写清楚Agent需要提交的「最终输出内容」同时给最终输出加上「覆盖所有模块约束的自检清单」让Agent在提交前自己先检查一遍把不合格的输出“扼杀在摇篮里”。1.3 最终效果展示用SP-5模板改造后的Agent执行效果对比为了让大家更直观地看到SP-5模板的效果我特意把之前踩过的「Markdown文档合规性SOP检查」任务用「传统的文字化Prompt」和「SP-5模板改造后的Prompt」分别调用了GPT-4、Claude 3 Sonnet、文心一言4.0这3个主流大模型各5次然后统计了它们的「SOP完整遵循率」、「跳步率」、「越界建议率」、「返工率」这4个核心指标对比维度传统文字化Prompt3个大模型各5次共15次SP-5模板改造后的Prompt3个大模型各5次共15次SOP完整遵循率20.0%仅3次完整走完了所有步骤93.3%仅1次GPT-4在步骤5里漏了1个代码块的换行检查但很快就通过最终自检修正了跳步率66.7%10次跳过了至少1个关键步骤0.0%0次跳过任何步骤越界建议率73.3%11次提出了SOP以外的“优化建议”0.0%0次提出越界建议返工率需人工修改100.0%所有输出都需要至少1次人工修改6.7%仅1次GPT-4的最终自检没覆盖所有换行检查但修改时间不超过1分钟这个对比结果可以说是“碾压级”的——用SP-5模板改造后的Prompt几乎完全解决了Agent“跑题、跳步、越界、瞎补”的问题准备工作2.1 环境/工具不需要复杂的开发环境只要一台能上网的电脑任意主流大模型工具即可这套SP-5模板是通用的、纯文本的Prompt编写模板不需要你有任何编程基础也不需要你安装任何复杂的开发环境——你只需要一台能上网的电脑或手机用来访问主流大模型工具任意一款主流的大模型工具付费/免费版的GPT-4/GPT-4o推荐结构化遵循能力最强付费/免费版的Claude 3 Opus/Sonnet/Hailuo推荐处理长文本SOP和长文本输入付费/免费版的文心一言4.0/通义千问Max/豆包4.0国产大模型处理中文场景下的合规检查、会议纪要整理等任务时更有优势一个简单的文本编辑器比如Notepad、VS Code、甚至是手机上的备忘录——用来保存和迭代你的SP-5模板毕竟不同的任务场景需要对模板进行微调。2.2 基础知识只需要你会写“清晰的自然语言”但最好了解以下3个LLM的核心特性虽然这套SP-5模板不需要你有任何Prompt Engineering的基础但如果你能了解以下3个LLM的核心特性那么你在使用和微调SP-5模板时会更加得心应手LLM是“严格的字面主义执行者”LLM不会理解“你懂的”、“差不多就行”、“按老规矩办”这类潜台词——你给它什么明确的文字指令它就会执行什么LLM是“缺乏上下文逻辑锚点的联想型生成者”如果你的Prompt里没有足够的「约束锚点」LLM就会根据自己的知识库联想出一堆与任务无关的内容LLM是“结构化内容的偏好者”LLM处理「结构化的内容」比如带编号的列表、带格式标签的输入、带自检清单的输出的能力比处理「纯自然语言的内容」强很多——这也是为什么SP-5模板里所有的内容都是结构化的。如果你想深入了解LLM的核心特性和Prompt Engineering的基础知识我推荐以下3个资源OpenAI官方Prompt Engineering文档https://platform.openai.com/docs/guides/prompt-engineering最权威的Prompt Engineering学习资源《Generative AI Prompt Engineering》中文译名《生成式AI提示词工程》一本通俗易懂的Prompt Engineering入门书籍作者是Prompt Engineering领域的专家Dario AmodeiClaude的创始人之一PromptWizardDev的Twitter/X账号https://twitter.com/PromptWizardDev每天都会更新一个Prompt避坑帖或实用的Prompt模板。核心步骤手把手教你编写和使用SP-5模板接下来我会用「Markdown文档合规性SOP检查」这个非常经典、非常适合新手入门的场景手把手、逐字逐句地教你如何编写和使用SP-5模板——我会把每一个模块的填写规则、注意事项、错误示例、正确示例都写得清清楚楚确保你看完这部分内容后就能独立编写和使用属于自己的SP-5模板为了让大家更好地理解我先把「Markdown文档合规性SOP检查」这个场景的原始需求列出来原始需求你需要帮我检查内部知识库的「Python代码提交规范_v1.2.docx转成的Markdown文档」以下简称「目标文档」严格按照我们内部的「Markdown开发规范检查SOP_v2.0」以下简称「检查SOP」执行不能修改目标文档的原始内容只能提出符合检查SOP的修改建议。然后我再把这个场景的原始检查SOP列出来原始检查SOP纯自然语言版首先你要检查目标文档的标题层级是否正确——一级标题只有一个是“Python代码提交规范_v1.2”二级标题不能超过5个三级标题下面必须有内容不能是空的。然后你要检查目标文档的代码块——所有的Python代码块都必须标“python3”不能标“py”或“python”代码块前后必须有一个空行代码块里的缩进必须是4个空格不能是Tab键。接下来你要检查目标文档的链接——所有的内部链接都必须用相对路径外部链接都必须加“外部链接谨慎点击”的提示。然后你要检查目标文档的错别字和标点符号——错别字不能超过3个标点符号必须用中文全角除了代码块里的。最后你要把所有的检查结果整理成一份清晰的报告。好的现在我们就开始用SP-5模板改造这个场景的Prompt模块1身份锚定与前置约束——给Agent戴上“第一顶约束帽”3.1.1 模块1的填写规则模块1的核心作用是给Agent设定「明确的、场景化的、权限清晰的身份」让Agent知道“我是谁、我能做什么、我不能做什么”——这是Agent严格遵循SOP的基础。模块1由以下3个必须完整填写、不可遗漏的子部分组成场景化身份设定用「你是[X公司/组织/团队]的[Y职位/角色]主要负责[Z具体的、与当前任务强相关的工作内容]」的格式填写——注意「Y职位/角色」必须是具体的、可落地的不能是“万能助手”、“AI专家”这类太宽泛的身份「Z具体的工作内容」必须是与当前任务强相关的不能是“处理所有文档”、“回答所有问题”这类太宽泛的内容绝对前置规则红线用「⚠️ 绝对前置规则违反任意一条任务视为未完成」开头然后用带编号的加粗列表列出Agent执行任务时的所有绝对不能违反的规则——注意规则必须是明确的、可量化的、可被Agent自检的不能是“认真一点”、“仔细一点”这类太模糊的规则权限范围说明用「 权限范围说明」开头然后用清晰的自然语言列出Agent的「权限边界」——注意必须明确说明Agent「能修改什么、不能修改什么、能生成什么、不能生成什么」。3.1.2 模块1的注意事项在填写模块1时你需要注意以下3个关键点身份设定要“窄”不要“宽”身份越窄Agent的行为就越聚焦——比如在「Markdown文档合规性SOP检查」这个场景里“你是XX公司内部知识库运维组的专职Markdown合规检查员主要负责检查内部开发规范类Markdown文档的合规性”就比“你是万能助手”好100倍绝对前置规则要“少”不要“多”规则太多Agent会混乱——一般来说绝对前置规则控制在3-5条最合适权限范围说明要“死”不要“活”权限边界越清晰Agent越不容易越界——比如必须明确说明“绝对不能修改目标文档的原始内容只能在最终输出的报告里提出修改建议”。3.1.3 模块1的错误示例下面是「Markdown文档合规性SOP检查」这个场景的模块1的错误示例——请大家仔细看看这些示例里都犯了哪些错误错误示例1身份设定太宽泛你是万能的AI助手帮我处理一些文档相关的任务。⚠️ 绝对前置规则认真一点仔细一点 权限范围说明你可以做任何你觉得对的事情。错误示例2绝对前置规则太模糊、太多你是XX公司的员工主要负责文档检查。⚠️ 绝对前置规则违反任意一条任务视为未完成检查要全面不要瞎改要认真仔细不要跑题要符合要求不要偷懒 权限范围说明你可以检查文档但最好不要修改。错误示例3权限范围说明太模糊你是XX公司内部知识库运维组的专职Markdown合规检查员主要负责检查内部开发规范类Markdown文档的合规性。⚠️ 绝对前置规则违反任意一条任务视为未完成绝对不能修改目标文档的原始内容只能提出符合检查SOP的修改建议 权限范围说明你可以做一些检查相关的事情。3.1.4 模块1的正确示例下面是「Markdown文档合规性SOP检查」这个场景的模块1的正确示例——请大家仔细对比一下正确示例和错误示例的区别在哪里模块1身份锚定与前置约束1.1 场景化身份设定你是XX科技公司内部知识库运维组的专职Markdown合规检查员主要负责检查内部开发规范类、技术教程类Markdown文档的合规性——你的专业度直接影响内部知识库的质量所以请务必严格按照要求执行任务。1.2 绝对前置规则红线⚠️绝对前置规则违反任意一条任务视为未完成需要重新执行绝对不能修改目标文档的原始内容包括但不限于标题、正文、代码块、链接、标点符号等只能提出完全符合「内部Markdown开发规范检查SOP_v2.0」的修改建议——绝对不能提出SOP以外的任何“优化建议”、“个人意见”、“吐槽”等内容所有的修改建议必须有明确的「原始内容片段」→「问题类型」→「修改建议」→「SOP依据」4个要素——绝对不能只说“这里有问题”这类模糊的话1.3 权限范围说明权限范围说明你有权限仔细阅读所有提供的输入信息包括目标文档、检查SOP、参考格式模板等、严格按照检查SOP执行所有检查步骤、整理符合要求的最终检查报告、在最终自检时修正自己的错误你没有权限修改任何提供的输入信息、提出SOP以外的任何内容、生成与任务无关的任何内容、跳过任何检查步骤。模块2核心任务与目标拆解——给Agent戴上“第二顶约束帽”3.2.1 模块2的填写规则模块2的核心作用是用「明确的、可量化的、可验收的语言」写清楚「核心任务是什么」然后把「核心任务」拆解成「4个小目标」让Agent有清晰的行动路线——这是Agent严格遵循SOP的方向标。模块2由以下2个必须完整填写、不可遗漏的子部分组成核心任务明确化用「你的核心任务是[动词宾语量化/明确化的验收标准]」的格式填写——注意「动词」必须是具体的、可落地的比如“检查”、“整理”、“生成”不能是“处理”、“搞定”这类太宽泛的动词「量化/明确化的验收标准」必须是可被Agent自检的比如“覆盖所有检查SOP的步骤”、“所有修改建议都有4个要素”核心任务目标拆解用「 核心任务目标拆解」开头然后把「核心任务」拆解成「输入处理目标」→「SOP执行目标」→「输出整理目标」→「最终验收目标」4个小目标——每个小目标都要用「明确的、可量化的、可验收的语言」填写。3.2.2 模块2的注意事项在填写模块2时你需要注意以下2个关键点核心任务明确化要“一句话说清楚”核心任务必须是简洁明了的一句话不能是一大段文字目标拆解要“层层递进”4个小目标必须是层层递进的逻辑关系——先处理输入再执行SOP再整理输出最后验收输出。3.2.3 模块2的错误示例下面是「Markdown文档合规性SOP检查」这个场景的模块2的错误示例错误示例1核心任务太宽泛、太模糊你的核心任务是帮我处理一下这个文档让它符合要求。 核心任务目标拆解看看文档检查一下写个报告交上来。错误示例2目标拆解没有层层递进你的核心任务是检查目标文档的合规性覆盖所有检查SOP的步骤所有修改建议都有4个要素。 核心任务目标拆解写个报告检查文档看看SOP验收报告。3.2.4 模块2的正确示例下面是「Markdown文档合规性SOP检查」这个场景的模块2的正确示例模块2核心任务与目标拆解2.1 核心任务明确化你的核心任务是严格按照提供的「内部Markdown开发规范检查SOP_v2.0」逐字逐句检查提供的「Python代码提交规范_v1.2.md」目标文档整理一份包含「所有检查步骤的执行记录带勾选确认」和「所有符合SOP的修改建议带4个要素」的最终检查报告覆盖所有检查SOP的步骤所有修改建议都有明确的原始内容片段、问题类型、修改建议、SOP依据。2.2 核心任务目标拆解核心任务目标拆解层层递进不可颠倒顺序输入处理目标仔细阅读所有提供的输入信息理解「内部Markdown开发规范检查SOP_v2.0」的每一个步骤和要求理解「Python代码提交规范_v1.2.md」的内容结构SOP执行目标严格按照「内部Markdown开发规范检查SOP_v2.0」的编号顺序逐字逐句执行每一个检查步骤——每执行完一个步骤必须先在步骤内做自检确认没有问题后再打勾✅进入下一个步骤输出整理目标按照模块5提供的「固定Markdown检查报告格式模板」整理最终的检查报告——报告必须包含「所有检查步骤的执行记录带勾选确认」和「所有符合SOP的修改建议带4个要素」最终验收目标按照模块5提供的「最终自检清单」逐点检查最终的检查报告——如果发现任何不符合要求的地方必须立即修正直到所有自检点都通过为止。模块3输入信息与格式说明——给Agent戴上“第三顶约束帽”3.3.1 模块3的填写规则模块3的核心作用是把所有需要Agent处理的「输入信息」明确列出来同时给每个输入信息加上「格式标签」和「关键信息提取提示」让Agent知道“哪些是需要严格使用的输入哪些是仅供参考的输入”——这是Agent严格遵循SOP的原材料保障。模块3由以下2个必须完整填写、不可遗漏的子部分组成核心输入信息列表用「 核心输入信息列表必须完整使用不可遗漏」开头然后用带编号的列表列出所有「必须完整使用的核心输入信息」——每个输入信息都必须包含「输入信息名称」、「格式标签用「格式标签」包裹」、「输入内容如果输入内容比较短可以直接写在这里如果输入内容比较长可以用---输入开始---和---输入结束---包裹或者直接粘贴在模块3的最后」、「关键信息提取提示用「 关键信息提取提示」开头」参考输入信息列表可选如果有「仅供参考、不需要严格使用的输入信息」可以用「 参考输入信息列表仅供参考不需要严格使用」开头然后用带编号的列表列出——格式和核心输入信息列表一样。3.3.2 模块3的注意事项在填写模块3时你需要注意以下3个关键点核心输入信息和参考输入信息要严格区分开Agent会优先使用核心输入信息而参考输入信息只是用来辅助Agent理解任务的——绝对不能把「必须严格使用的检查SOP」放在参考输入信息列表里输入内容要「原样粘贴」不要做任何修改如果输入内容是Markdown文档、代码块、链接等一定要原样粘贴不要做任何修改——哪怕输入内容里有明显的错误也要等Agent按照SOP检查出来关键信息提取提示要「明确、具体、指向性强」关键信息提取提示的作用是帮助Agent快速定位到输入信息里的核心内容——比如在「检查SOP」的关键信息提取提示里你可以写“请重点关注每个检查步骤的编号、内容、硬约束、验收标准”。3.3.3 模块3的错误示例下面是「Markdown文档合规性SOP检查」这个场景的模块3的错误示例错误示例1核心输入信息和参考输入信息没有区分开输入内容做了修改 输入信息列表检查SOP我已经帮你简化了一下去掉了一些没用的内容目标文档大概是讲Python代码提交规范的错误示例2没有关键信息提取提示 核心输入信息列表必须完整使用不可遗漏内部Markdown开发规范检查SOP_v2.0Python代码提交规范_v1.2.md3.3.4 模块3的正确示例下面是「Markdown文档合规性SOP检查」这个场景的模块3的正确示例——因为目标文档和检查SOP的内容比较长我会用---输入开始---和---输入结束---包裹模块3输入信息与格式说明3.1 核心输入信息列表必须完整使用不可遗漏任意一个核心输入信息列表必须完整使用不可遗漏任意一个3.1.1 核心输入信息1内部Markdown开发规范检查SOP_v2.0格式标签「Markdown结构化SOP」 关键信息提取提示请重点关注每个检查步骤的「编号」、「步骤名称」、「具体检查内容」、「硬约束」、「验收标准」、「步骤内自检提示」——这些是你执行检查任务的唯一依据绝对不能遗漏。输入内容—输入开始—内部Markdown开发规范检查SOP_v2.0适用范围本SOP适用于XX科技公司内部知识库所有开发规范类、技术教程类Markdown文档的合规性检查。检查步骤必须严格按照编号顺序执行不可跳步步骤1检查标题层级合规性步骤编号1步骤名称检查标题层级合规性具体检查内容检查一级标题的数量是否只有1个检查一级标题的内容是否与文档文件名的核心内容一致比如文件名是「Python代码提交规范_v1.2.md」一级标题应该是「Python代码提交规范_v1.2」或类似的内容检查二级标题的数量是否不超过5个检查三级标题的内容三级标题下面是否有至少1行正文或1个代码块不能是空的三级标题硬约束一级标题只能有1个三级标题下面必须有内容验收标准所有具体检查内容都覆盖到所有硬约束都检查到步骤内自检提示执行完步骤1后请先自检以下内容确认无误后再打勾进入下一个步骤✅ 我是不是只检查了标题层级的合规性✅ 我是不是覆盖了所有4个具体检查内容✅ 我是不是检查了所有2个硬约束步骤2检查代码块合规性步骤编号2步骤名称检查代码块合规性具体检查内容检查代码块的语言标注所有的Python代码块是否都标了「python3」不能标「py」、「python」、「Python」或其他标签检查代码块前后的空行每个代码块的前面和后面是否都有至少1个空行检查代码块的缩进代码块里的缩进是否都是4个空格不能是Tab键也不能是2个、6个、8个空格硬约束Python代码块的语言标注必须是「python3」验收标准所有具体检查内容都覆盖到所有硬约束都检查到步骤内自检提示执行完步骤2后请先自检以下内容确认无误后再打勾进入下一个步骤✅ 我是不是只检查了代码块的合规性✅ 我是不是覆盖了所有3个具体检查内容✅ 我是不是检查了所有1个硬约束✅ 我是不是找到了所有的Python代码块步骤3检查链接合规性步骤编号3步骤名称检查链接合规性具体检查内容检查内部链接的格式所有的内部链接链接到XX科技公司内部知识库的其他文档是否都用了相对路径比如../git使用规范/git使用规范_v1.0.md不能用绝对路径或URL检查外部链接的提示所有的外部链接链接到XX科技公司外部的网站是否都在链接文本的后面加了「外部链接谨慎点击」的提示硬约束外部链接必须加「外部链接谨慎点击」的提示验收标准所有具体检查内容都覆盖到所有硬约束都检查到步骤内自检提示执行完步骤3后请先自检以下内容确认无误后再打勾进入下一个步骤✅ 我是不是只检查了链接的合规性✅ 我是不是覆盖了所有2个具体检查内容✅ 我是不是检查了所有1个硬约束✅ 我是不是找到了所有的内部链接和外部链接步骤4检查错别字和标点符号合规性步骤编号4步骤名称检查错别字和标点符号合规性具体检查内容检查正文除了代码块、链接文本里的英文部分的错别字错别字的数量是否不超过3个检查正文除了代码块、链接文本里的英文部分、英文专业术语的标点符号是否都用了中文全角标点符号比如「」、「。」、「」、「」不能用「,」、「.」、「:」、「;」硬约束正文除了代码块、链接文本里的英文部分、英文专业术语的标点符号必须用中文全角验收标准所有具体检查内容都覆盖到所有硬约束都检查到步骤内自检提示执行完步骤4后请先自检以下内容确认无误后再打勾进入下一个步骤✅ 我是不是只检查了错别字和标点符号的合规性✅ 我是不是覆盖了所有2个具体检查内容✅ 我是不是检查了所有1个硬约束✅ 我是不是区分了正文、代码块、链接文本里的英文部分、英文专业术语步骤5整理检查结果进入输出整理阶段步骤编号5步骤名称整理检查结果进入输出整理阶段具体检查内容无直接进入输出整理阶段硬约束无验收标准无步骤内自检提示无—输入结束—3.1.2 核心输入信息2Python代码提交规范_v1.2.md格式标签「待检查的Markdown文档」 关键信息提取提示请重点关注文档的「标题层级」、「所有Python代码块」、「所有链接」、「正文的错别字和标点符号」——这些是你检查的核心对象。输入内容—输入开始—Python代码提交规范_v1.21. 代码风格规范1.1 命名规范# 错误示例变量名用了大写字母开头UserName张三# 正确示例变量名用了小写字母开头用下划线分隔user_name张三2. 代码提交前的检查2.1 静态代码检查提交代码前必须使用pylint进行静态代码检查pylint的配置文件路径是/home/dev/pylintrc。2.2 单元测试提交代码前必须运行所有相关的单元测试单元测试的通过率必须达到100%。3. Git提交规范3.1 提交信息格式# 错误示例提交信息太模糊git commit-m修改了一些代码# 正确示例提交信息清晰明了git commit-mfeat(login): 添加了用户登录功能3.2 提交频率提交频率要适中不要一次提交太多代码也不要频繁提交。4. 其他规范4.15. 参考文档PEP8官方文档https://peps.python.org/pep-0008/内部Git使用规范https://internal-wiki.xxtech.com/git使用规范/git使用规范_v1.0.md—输入结束—3.2 参考输入信息列表可选仅供参考不需要严格使用参考输入信息列表可选仅供参考不需要严格使用本场景暂无参考输入信息。模块4结构化SOP全链路约束——这是SP-5模板的核心中的核心3.4.1 为什么要把传统的文字化SOP改造成结构化SOP在引言部分我已经提到过LLM是“结构化内容的偏好者”——处理结构化内容的能力比处理纯自然语言的内容强很多。传统的文字化SOP有以下3个致命的缺点没有明确的步骤编号和顺序LLM很容易跳步没有明确的硬约束和软选项LLM很容易越界没有明确的步骤内自检提示LLM很容易在步骤内犯错误而结构化SOP可以完美解决这些问题——它给LLM提供了清晰的行动路线、明确的约束边界、及时的自检反馈让LLM几乎不可能“跑题、跳步、越界”。3.4.2 模块4的填写规则模块4的核心作用是把传统的文字化SOP改造成「带编号、带步骤属性、带硬约束、带步骤内自检提示、带软选项说明」的结构化SOP同时附上「步骤间跳转规则」和「异常情况处理规则」彻底杜绝Agent“跑题、跳步、越界”的情况——这是SP-5模板的核心中的核心。不过大家有没有发现在模块3的「核心输入信息1」里我已经把传统的文字化SOP改造成了结构化SOP是的——这是我为了简化SP-5模板的填写流程而做的一个小调整如果你的原始SOP已经是结构化的那么你可以直接把它放在模块3的核心输入信息列表里然后在模块4里只需要附上「步骤间跳转规则」和「异常情况处理规则」即可如果你的原始SOP是纯自然语言的那么你需要先把它改造成结构化SOP然后再放在模块3的核心输入信息列表里最后在模块4里附上「步骤间跳转规则」和「异常情况处理规则」。不过为了让大家更好地理解「如何把传统的文字化SOP改造成结构化SOP」我还是会在模块4里详细讲解一下结构化SOP的每个组成部分的填写规则然后再附上「步骤间跳转规则」和「异常情况处理规则」。首先我来讲解一下结构化SOP的每个组成部分的填写规则——结构化SOP的每个步骤都必须包含以下6个必须完整填写、不可遗漏的子部分步骤编号用「阿拉伯数字」编号必须严格按照「1、2、3、4、5…」的顺序不可跳号、不可颠倒顺序步骤名称用「动词检查/执行对象」的格式填写必须简洁明了比如“检查标题层级合规性”、“检查代码块合规性”具体检查/执行内容用「带编号的列表」列出所有「具体的、可落地的检查/执行内容」——每个内容都必须是「明确的、可被Agent执行的」硬约束红线用「带编号的加粗列表」列出所有「绝对不能违反的硬约束」——每个约束都必须是「明确的、可被Agent自检的」如果没有硬约束可以写「无」验收标准用「清晰的自然语言」列出「步骤完成的验收标准」——必须是「明确的、可被Agent自检的」如果没有验收标准可以写「无」步骤内自检提示用「带勾选框的列表」列出所有「步骤内需要Agent自检的内容」——每个自检内容都必须是「明确的、可被Agent自检的」如果没有步骤内自检提示可以写「无」。接下来我来讲解一下模块4的另外2个必须完整填写、不可遗漏的子部分的填写规则步骤间跳转规则用「 步骤间跳转规则必须严格遵守不可随意跳转」开头然后用清晰的自然语言列出所有「步骤间的跳转规则」——一般来说默认的跳转规则是「严格按照步骤编号的顺序执行每执行完一个步骤必须先完成步骤内自检确认无误后打勾✅才能进入下一个步骤绝对不能跳步、绝对不能倒序执行步骤」如果有特殊的跳转规则比如“如果步骤1没有发现任何问题可以跳过步骤2”可以补充进去但必须非常明确异常情况处理规则用「⚠️ 异常情况处理规则必须严格遵守」开头然后用带编号的列表列出所有「可能遇到的异常情况」和「对应的处理方法」——比如“如果输入信息不完整怎么办”、“如果遇到模棱两可的内容怎么办”、“如果发现严重的违规问题怎么办”如果暂时想不到可能遇到的异常情况可以先写几个常见的以后再迭代补充。3.4.3 模块4的注意事项在填写模块4时你需要注意以下3个关键点结构化SOP的步骤要“细”不要“粗”步骤越细Agent越不容易犯错误——一般来说每个步骤的具体检查/执行内容控制在3-5个最合适硬约束要“少”不要“多”硬约束太多Agent会混乱——一般来说每个步骤的硬