五厂面经真题集字节跳动面经高频字节真题上下文工程状态管理速答 · 约 5 分钟更新 2026-09-29

上下文工程做过吗?todo list 为什么能让模型更聚焦?

一句话结论

做过。todo list 把长任务中间状态外置成显式结构。模型每步先读清单,将“做到哪了”从隐式历史变成显式状态,注意力锚定清单,不被历史稀释。

先这样答

做过上下文工程。todo list 能让模型更聚焦。核心原因在于它把长任务的中间状态外置成了显式结构。模型处理复杂任务通常会产生几十轮对话历史。这些历史记录包含大量中间讨论。庞杂的信息会稀释模型的注意力。我们设计了 todo list 机制。系统强制模型在每步行动前先读清单。

这种做法彻底改变了模型追踪进度的方式。模型确认“我做到哪了”原本需要依赖隐式对话历史。模型需要消耗算力去推导当前进度。引入清单后,进度追踪变成了显式可检查的状态。模型的注意力会牢牢锚定在 todo list 上。这能防止关键指令被冗长历史掩盖。模型不会被几十轮历史稀释注意力。

这道题是字节抖音基础架构 Agent 岗一面 90 分钟的真实考题。todo list 本质上是对上下文的结构化干预。它把任务规划从对话流水账中提取出来。模型每次只需要看清单就能明确当前目标。这种结构化处理保证了长任务执行的准确度。

面试官会怎么追问

  • 「如果 todo list 本身越来越长,把上下文占满了怎么办?」 定期压缩已完成的清单项。系统会清理过期的步骤记录——只保留未完成的待办事项与关键结论。这能始终控制清单的长度。

  • 「你提到显式状态和隐式历史,这两者对模型处理有什么区别?」 隐式历史是流水账式的对话文本。模型需要消耗算力去推导当前进度。显式状态直接提供结构化的当前结果。模型读取显式状态能跳过推导步骤直接行动。

  • 「为什么注意力锚定在清单上就能避免被稀释?」 模型生成文本受近期上下文影响最大。我们将清单放在每次输入的最前面。模型计算注意力权重时会优先关注这部分结构化文本。这阻断了早期几十轮无关对话造成的干扰。

回答的坑

没讲清“隐式历史”与“显式状态”的转换关系,只停留在“清单能备忘”的浅层理解。

忽略了长任务执行中清单本身也会膨胀的问题,缺少定期压缩的应对方案。

—— 本题完 ——