Claude Code 学习站

CCA-F 练习题库· Agentic Architecture & Orchestration

你的客服 agent 处理销户请求。该工作流要求:(1) 通过 get_customer 验证客户身份,(2) 通过 check_subscriptions 检查是否有生效中的订阅,(3) 通过 close_account 执行销户。生产日志显示,agent 偶尔会在完成身份验证步骤之前就调用 close_account,导致未经授权的销户。一位同事建议加一条 system prompt 指令:“Always verify identity before closing accounts.”。最有效的做法是什么?

  1. A这条 system prompt 指令已经足够,因为它用模型不会误读的措辞明确描述了所要求的顺序。
  2. B加入展示正确三步顺序的 few-shot 示例,其中一个示例里客户一上来就主动提供了账户信息。
  3. C加一个路由分类器,先分析请求类型,并在 agent 开始第一轮之前预先选定适用于账户关闭的工具。
  4. D实现一个程序化的前置条件,在 get_customer 返回已验证的 customer ID 之前,阻止 close_account 执行。

正确答案:D

解析

  • D正确。这是一个带有严重且不可逆后果(未经授权的销户)的顺序要求,而且生产日志已经证明模型会违反该顺序。一个在 get_customer 返回已验证 customer ID 之前阻止 close_account 的程序化前置条件,提供了与模型行为无关的确定性保证,符合“对有重大后果/不可逆的工具调用,应在代码中而非通过提示来强制约束”的原则。
  • A依赖概率性的提示遵从,而日志已经将其证伪;
  • B(few-shot 示例)提高了成功概率,但对高风险动作仍无法保证顺序;
  • C(路由分类器)处理的是工具选择,而非工具之间的先后顺序,因此无法阻止 close_account 在验证之前触发。

延伸阅读

本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。