指令冲突实验

Production Lab 预览Prompt 工程22 分钟

退款客服 Agent 同时收到 System 指令、Developer 指令、检索到的政策文本和用户请求,它们看起来都像“应该执行的命令”。先把 Prompt 层修好,再看清 Prompt 仍然管不了什么。

一句话理解

Prompt 工程负责定义行为与指令权威,但它不能替代可靠的上下文组装、工具权限、运行时安全约束和发布评测。

存在缺陷的指令契约确定性教学模拟

基线把各种“像指令的文本”看得过于平等:检索证据可能抢走指令权威,最高优先级的安全规则又写得含糊,输出契约也不够明确。

跨层约束:退款工具仍然具备直接执行能力。把 Prompt 的权威关系写清楚,并不会让 Prompt 自动变成权限系统。
Prompt 结果
指令遵循度
歧义风险
政策违规风险
输出有效性
Prompt 质量
未解决冲突
Harness 风险
发布证据
当前诊断:
下一步检查:
指令与上下文来源同样一句话,不代表同样的权威

关键不是一句话听起来像不像命令,而是应用必须明确:哪些来源定义行为,哪些来源只提供证据,哪些能力必须在 Prompt 之外真正执行约束。

修 Prompt,还是修整个系统?
失败基线不同来源的指令混在一起

因为权威和政策都不够明确,模型可能过度相信检索文本或用户请求。

当前 Prompt 层
等待参数变化……
关键结论
指令权威本身就是 Prompt 契约的一部分System、Developer、检索证据和用户输入不能因为都以文本出现,就被当作同一层级。
Context 里可以出现命令语气,但不等于获得指令权威检索文本的职责是提供当前任务需要的信息,除非应用明确授予它更高权威,否则不应覆盖应用自己的规则。
结构化输出减少歧义,却不会限制工具能力类型化决策让下游更容易验证,但不会改变工具到底有没有权限执行退款。
Prompt 不能冒充权限边界不可逆操作需要审批,就必须在 Harness 中真正强制执行,而不是只希望模型“记得一句话”。
Prompt 写得好,不等于已经有发布证据完整系统仍需要有代表性的 Evaluation 才能决定是否可发布。
Prompt 工程

为什么“谁有权说什么”比继续加 Prompt 更重要?

生产 Prompt 往往同时包含应用政策、Developer 指令、用户输入、检索文档、工具说明、Memory 与输出 Schema。模型看到的都是文本,但工程系统必须先决定这些文本各自承担什么责任。

Prompt 和 Context 解决的是不同问题

Prompt 工程定义模型应该遵循什么行为和权威关系;Context 工程决定模型此刻应该看到什么信息。检索到的退款政策即使带有命令语气,也不应该自动升级成比 System 指令更高的行为规则。

后果越严重,边界越要写清楚

“遵守政策”远弱于“超过 $100 的退款必须人工审批”。明确的操作边界能减少模型猜测,但它仍然只是行为约束。

严格 Schema 帮助验证,不负责权限 enforcement

让模型只能输出 APPROVE、REQUEST_APPROVAL 或 DECLINE 之类的类型化结果,可以减少下游歧义;但如果运行时仍暴露一个可直接退款的工具,Schema 本身不会把工具锁住。

Prompt 工程在哪里结束?

缺少证据属于 Context;危险工具暴露、权限、审批、校验属于 Harness;整个系统是否安全到可以发布属于 Evaluation。把问题放回正确层级,比继续堆文字更重要。

常见问题

检索文本是不是都不可信?

不是。应该按应用定义的职责处理。检索结果可以是高价值证据,但“有价值”不等于“有权覆盖应用指令”。

一个很强的 System Prompt 能代替权限控制吗?

不能。Prompt 影响模型行为,权限与审批必须由运行时真正执行。

结构化输出能解决 Prompt Injection 吗?

不能。它缩小输出空间,但来源权威、Context 隔离、权限和 Evaluation 仍然是独立问题。

AhaFrame 教学模拟说明 · 内容复核 2026-08-13. 所有分数都是确定性的教学模拟值,不是任何模型或 Prompt 的通用质量阈值。
动手想一想

画出“指令、证据、执行约束”的边界。

针对一个可执行退款的 Agent,分别写出哪些规则属于 Prompt、哪些事实属于 Context、哪些动作必须由 Harness 强制,以及发布前需要什么 Evaluation 证据。

开始挑战 →
你已经修好了行为契约,但没有假装系统已经完成。
继续进入其他生产层,观察 Context、Harness、Graph 与 Evaluation 如何承担剩余责任。
继续 →