CCA-F 练习题库· Prompt Engineering & Structured Output
在与 Claude 的多轮对话中,应该如何处理不断演变的指令?
- A如果 API 支持,就在轮次之间更新 system prompt;否则在下一条 user 消息中概括新的约束
- B在每一条 user 消息里逐字重述整个指令块,让最新的约束永远是最后被读到的内容
- C从第一轮就把指令集冻结,无论后来需求怎么变,都绝不在对话中途更新它
- D让 Claude 记住新指令以备后续轮次使用,之后不再重发,依靠模型在多次 API 调用之间自己在内部保存它
正确答案:A
解析
- Ais correct。Claude 在各次 API 调用之间是无状态的:每一轮它只「看到」上下文中传入的内容(system 参数加上消息历史)。因此,演进指令最干净的方式是在 API 支持按请求重新发送 system prompt 时更新它;当做不到时,就在下一条 user 消息中明确概括新的约束,让它们进入上下文。
- B是浪费 token 的冗余,因为之前的消息本来就保留在历史中;
- C是错的,因为指令确实会合理地发生变化;
- D是错的,因为 Claude 没有持久记忆去「记住」传入的上下文窗口之外的任何东西。(细微之处:留在较早 user 轮次中的指令,只要仍处于上下文窗口内就依然有效;之所以更推荐 A,是出于显著性和清晰度,而不是因为较早的指令会被「遗忘」。)
延伸阅读
本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。