CCA-F 练习题库· Context Management & Reliability
某个 agent 正在对一个 20 万行的遗留代码库做深度探索,以理解其支付处理流程。大约 90 分钟、几十次文件读取之后,agent 开始引用“支付系统中的标准模式”,而不再引用它先前找到的具体类和流程,其回答也开始与第一个小时的发现相互矛盾。最可能的原因是什么,最佳的缓解策略是什么?
- A上下文退化:随着会话增长,会话早期的具体发现会与通用知识以及位置-注意力效应相互竞争。缓解办法是让 agent 在整个会话过程中维护一个 scratchpad 文件来记录关键发现。
- Bagent 撞上了 rate limit:九十分钟持续的文件读取耗尽了它每分钟的输入 token 额度,于是平台悄悄截断了后面每一次响应,具体的类名就此掉了出去。修复办法是在工具调用之间加入指数退避,把用量压在配额之内。
- C该遗留代码库的文件结构对单个 agent 来说过于复杂;应把它拆分成相互独立的子系统——支付、计费、账务——同时对每个子系统运行单独的 agent,最后合并各自的报告。
- Dagent 用错了工具:把文件探索从 Read 换成 Grep,就只会把匹配的行拉进上下文而不是整个文件,从而减少会话过程中每一步探索所消耗的 token。
正确答案:A
解析
题干描述的症状——大约 90 分钟、几十次文件读取之后,agent 不再引用它找到的具体类/流程,转而漂移到笼统的“支付系统中的标准模式”,并与自己先前的发现相互矛盾——正是上下文退化(“context rot”/lost-in-the-middle 位置-注意力衰减)的典型特征:随着上下文窗口被填满,会话早期的具体发现要与模型参数化的通用知识相互竞争,并逐渐失去显著性。
- A是正确的缓解办法(外部记忆):让 agent 在整个会话过程中维护一个 scratchpad/笔记文件来记录关键发现,使这些事实独立于上下文位置而留存,并且可以被重新读取。干扰项全都是错的:
- B(速率限制)会导致报错或限流,而不是这种流畅但推理退化的表现;
- C(拆成并行的子系统 agent)是一种正交的分解方式,既治不好单次会话内的漂移,每个 subagent 也可能撞上同样的上限;
- D(把 Read 换成 Grep)只能略微削减 token,并未解决上下文增长或注意力衰减的问题。本题形式良好——恰好有一个选项(A)正确,三个干扰项明显错误。
延伸阅读
本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。