CCA-F 练习题库· Agentic Architecture & Orchestration
一个开发者效率 agent 有一个用于转换原始 Bash 输出的 PostToolUse hook。目前该 hook 会追加一份格式化摘要,但同时也在传给模型的结果中保留完整的原始输出。探索大型代码库的会话比预期更快地触及上下文上限。哪项改动能最有效地减少工具结果带来的不必要上下文消耗?
- A直接停用这个 PostToolUse hook,什么都不再追加——摘要不过是重复信息,模型自己能从原始 Bash 输出里把需要的部分挑出来。
- B从 PostToolUse hooks 改为对 Bash 命令本身做预处理,给每条命令追加
| head之类的管道,使其输出更短。 - C调高模型的 max_tokens 参数,让会话能容纳同时保留原始输出与摘要所带来的额外上下文。
- D修改该 hook,只把格式化摘要返回给模型,裁掉冗长的原始输出,而不是让它与摘要一并保留。
正确答案:D
解析
上下文消耗过多的根本原因是,这个 PostToolUse hook 同时输出了冗长的原始 Bash 输出和格式化摘要,使每次工具调用存储的 token 大约翻倍。
- D从源头修复:让 hook 只返回摘要(用 Claude Code 的说法,就是通过 updatedToolOutput / hook 的转换输出来替换结果),文档明确将其描述为 PostToolUse hooks 合法的转换/脱敏用法。
- A丢弃了有用的归一化,把完整的原始输出直接倾倒给模型,只会让上下文更糟而非更好。
- C提高的是输出容量(用于生成的 max_tokens),对缩小正在填满窗口的输入端工具结果毫无作用。
- B把转换上推到每一条 Bash 命令中,是一项面很广且往往不可行的改动,同时还丢掉了该 hook 已经提供的通用格式化能力。
延伸阅读
本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。