✍️ Prompt 与上下文工程
拒答、澄清与不确定性
Prompt 与上下文工程专题:用 3 个核心问题讲清原理、取舍与落地。
一句话定位
提示合同、上下文选择、结构化输出、拒答和缓存。 把 Prompt 看作任务合同,把 Context 看作运行时选择出来的信息,而非一段越长越好的文字。
核心原理与问题解析
如何设计拒答?
定义证据不足、权限不足、风险过高和能力不支持等原因,返回可行动下一步,而不是统一说不知道。拒答准确率需要和错误回答率一起评测。
继续想: 过度拒答如何优化?;何时应该追问而不是拒答?
Agent 什么时候应该追问用户?
缺失信息会实质改变结果、权限或成本时追问;低风险且可逆的小缺口可做显式假设继续。问题应短、聚焦,避免把可由工具查到的信息推回用户。
继续想: 如何控制追问次数?;多 Agent 中谁负责追问?
怎样表达不确定性?
给出结论、证据范围、未知项和下一步验证,不伪造精确概率。若有经过校准的分类器或统计模型,可以展示置信区间;模型自报置信度通常不可靠。
继续想: 如何校准置信度?;引用数量能代表置信度吗?
工程落地检查
- 明确目标、边界、成功与失败格式
- 区分可信指令和不可信数据
- 关键业务字段使用 Schema 校验
- 用失败样本做单变量回归
- 记录模板、变量、模型和工具版本
常见误区
- 用提示词代替权限系统
- 不断追加互相冲突的补丁规则
- 只测漂亮样例,不测拒答和攻击样例
对应面试题
P11 如何设计拒答? · P12 Agent 什么时候应该追问用户? · P13 怎样表达不确定性?