CCA-F 练习题库· Tool Design & MCP Integration
某自动化发票抽取流水线偶尔会输出这样的结构化 JSON:抽取出的行项目(line items)加起来与从发票中抽取的总金额对不上。处理这种语义错误的最佳架构方案是什么?
- A在 stated_total 字段旁边增加一个 calculated_total 字段,比较两者,并把不一致的情况标记出来交由人工审核。
- B自动调整抽取出来的各个行项目数值,把差额按比例摊到各项上,使它们加总后正好等于发票上所写的 stated total 金额。
- C引入第二个 LLM 步骤,让它重新读取该发票,把抽取出的各个行项目与 stated total 之间的算术差异调和一致。
- D在 prompt 中增加更多 few-shot 示例,展示那些行项目能正确加总、恰好等于 stated total 的发票。
正确答案:A
解析
算术一致性(行项目加总等于总额)是一种 JSON schema 校验无法强制的语义不变量,因此必须在模型之外以确定性的方式来检查。
- A正是这么做的:在代码中重新计算总和作为 calculated_total,把它与抽取出的 stated_total 比较,并把任何不一致路由到人工审核——既捕获了错误,又不会凭空捏造或破坏数据。
- B会强行让行项目去匹配一个本身可能就是错误值的总额,从而污染源数据;
- C增加了一个非确定性且成本更高的 LLM 步骤,却仍然无法保证算术正确;
- D只是对概率式生成轻推一把,永远无法保证该不变量成立。因此 A 是唯一最佳的架构方案,本题形式良好,恰好只有一个正确选项。
延伸阅读
本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。