Prompt Engineering 进阶专题总览
很多团队第一次接入大模型时,会把 prompt 当成一段“写给模型看的说明”。只要 demo 能跑通,prompt 就被复制到代码、配置、运营后台或数据库里。上线一段时间后,问题才开始出现:模型换了,输出风格变了;业务规则改了,旧 prompt 还在生效;用户输入里混入攻击指令,系统边界被绕开;质量下降时没人说得清是哪次改动造成的。
进阶 Prompt Engineering 的核心不是“写出更聪明的一句话”,而是把 prompt 当成工程资产管理。它需要边界、版本、变更流程、评估样本、安全防护和可观测日志。只有这样,prompt 才能进入生产系统,而不是停留在个人经验和临时试错里。
提出问题:客服回复助手为什么不能只靠一段 prompt
假设一个 B2B SaaS 团队正在做客服回复助手。客服每天在工单后台输入用户问题,系统读取当前工单、用户套餐、产品文档片段和历史沟通记录,然后生成一版回复草稿。客服会人工编辑后发送给客户。
这个能力的输入来自多个来源:用户原始工单、CRM 用户状态、知识库检索结果、公司政策和客服补充说明。期望输出不是普通聊天回答,而是一段可发送给客户的回复草稿,要求语气稳妥、事实来自资料、不能承诺未确认事项、不能泄露内部流程和客户隐私。
没有 AI 时,客服会搜索知识库、查历史工单、复制话术模板并手动改写。常见样本是功能咨询、账单问题、集成失败和操作指引;最容易失败的是套餐差异、版本差异、合同条款、客户情绪激烈和资料不足的场景。使用频率可能从每天几十次增长到几千次,并且每次失败都会留下对外沟通记录。
这个场景看起来只是“写一段更好的 prompt”,但真正的问题是:系统如何保证 prompt 在业务变化、模型变化、上下文变化和恶意输入下仍然可控。
分析问题:prompt 是任务边界而不是技巧集合
客服回复助手至少包含分类、检索、判断、生成和安全控制几类任务。模型适合做语言理解、摘要、改写和基于证据生成回复;规则和程序更适合做套餐权限判断、敏感字段脱敏、工具参数校验、日志记录和审计;高风险承诺、退款、合同解释和对外口径仍然需要人工确认。
prompt 在这里承担的是任务契约:告诉模型系统角色、输入来源、输出标准、禁止行为、证据优先级和不确定时的处理方式。它不是单独存在的文案,而是连接业务规则、上下文工程、结构化输出、工具调用和人工流程的接口。
这也意味着 prompt 不能替代工程边界。用户输入不应该和 system prompt 混在一起;知识库片段不应该拥有改变系统规则的权力;模型输出不应该直接执行高风险动作;质量判断不应该依赖“我试了几个问题感觉还行”。prompt 只能定义模型要如何思考和表达,不能独自承担权限、事实、审计和回滚。
列举方案:从临时 prompt 到工程资产
Prompt Engineering 可以按工程成熟度逐级升级,而不是一开始就引入复杂平台。
第一层是简单 prompt。适合内部低风险改写、固定输入、人工一定会复核的场景。它的成本低,但边界和质量主要靠人兜底。
第二层是 prompt 模板。把变量、输入区块、输出格式和示例固定下来,避免每个调用点手写不同版本。它增加了复用性,但仍需要约束变量来源和空值策略。
第三层是 system prompt 设计。把任务边界、角色、禁止事项、证据优先级、拒答策略和安全边界放在稳定层,而不是散落在用户输入或业务文案里。它能减少越界和风格漂移,但需要和产品权限、上下文装配配合。
第四层是 prompt 版本与评估。每次修改 prompt 都要有版本、变更原因、样本集、回归结果和上线记录。它能控制质量回退,但需要维护评估数据和自动化测试。
第五层是 prompt + schema。输出要入库、驱动 UI、触发工作流或进入统计时,必须让 prompt 和结构化输出契约绑定,并由程序校验。
第六层是 prompt + RAG / Tool / Workflow。需要私有知识、业务数据或执行动作时,prompt 只负责解释任务和使用证据,权限过滤、工具调用、状态流转和审计应该由系统承担。
第七层是 prompt 安全防护。只要接收外部用户输入、网页内容、文档、邮件或第三方数据,就要处理 prompt injection、数据泄露、越权工具调用和上下文污染。
简单 prompt 足够的条件是:输入稳定、失败低风险、输出只给人看、人工会复核、没有外部不可信内容进入上下文。一旦 prompt 影响下游系统、对外沟通、业务权限、客户权益或高频生产流程,就需要升级到可版本化、可评估、可观测和可防护的工程方案。
决策判断:按风险选择 prompt 工程复杂度
几个判断原则需要先固定下来。
第一,prompt 的边界不能高于系统权限。模型不能因为 prompt 写得“专业”就获得访问更多数据或执行更多动作的能力。
第二,prompt 变更要像代码变更一样可追踪。凡是影响用户可见输出、业务判断或工具调用的 prompt,都应该有版本、评估和回滚。
第三,prompt 质量不能只看平均效果。最重要的是失败样本:资料不足、用户诱导、边界模糊、冲突证据和高风险业务。
第四,prompt 安全不是一句“不要泄露系统提示词”。真正的安全来自输入隔离、权限控制、工具确认、输出过滤、日志审计和异常处理。
常见反模式也很明确:把 prompt 写得越来越长来掩盖上下文质量问题;把业务规则写在 prompt 里却没有程序校验;没有评估集就直接上线;模型换版后不回归;把外部网页和用户输入当成可信指令;把 prompt 当成个人手艺而不是团队资产。
结论收束:把 prompt 纳入设计评审
Prompt Engineering 进阶的推荐方案是:低风险场景从模板化开始,高频和对外场景必须引入 system prompt 边界、版本管理、评估样本、安全防护和可观测日志。这个方案成立的前提是团队承认 prompt 是工程资产,而不是一次性文案。
如果输出只给内部人员参考,可以降级为简单 prompt 和人工复核;如果输出要进入工具、工作流、数据库、客户沟通或权限判断,就必须升级工程复杂度。
上线前至少检查:
- 场景边界:目标用户、业务流程、输入来源、输出消费者是否明确。
- Prompt 资产:模板、变量、system prompt、版本、变更记录是否可管理。
- 输入分层:系统指令、开发者规则、用户输入、知识库、工具结果是否分区。
- 质量标准:什么是好结果、可接受结果和必须拦截的坏结果。
- 评估体系:是否有覆盖常见样本、边界样本和攻击样本的回归集。
- 安全控制:是否处理 prompt injection、越权请求、敏感信息和日志脱敏。
- 人工确认:高风险回复、承诺、执行动作是否有确认入口。
- 可观测性:是否记录 prompt 版本、模型、参数、上下文摘要、错误和人工反馈。
- 回滚恢复:prompt 或模型变更导致退化时能否快速定位和回滚。
本专题后续文章会分别展开:
- System Prompt 设计:如何定义角色、边界、证据优先级和拒答策略。
- Prompt 版本管理与评估:如何把 prompt 变更纳入样本集、回归测试和发布流程。
- Prompt Injection 防御:如何在不可信输入、RAG 和工具调用场景中保护系统边界。