腾讯 WXG 微信读书一面:Coding Agent 记忆、评测与可靠运行

更新于 2026-10-28

面经与参考答法

腾讯 WXG 微信读书一面:Coding Agent 记忆、评测与可靠运行

来源可确认腾讯 WXG 微信读书一面,未披露正式岗位名称;原帖发布于 2026 年 8 月,未给出具体面试日期。本文选录可见技术题,省略自我介绍和面试感受;以下答案是教学整理,不代表候选人现场作答。原帖说明组内 Agent 主要是本地客户端、会话落本地文件;评测和云端恢复涉及另一位实习生的产出,本文云端方案不能当成作者实际实现。

这轮面试同时考察 Coding Agent 的记忆、评测、迁移恢复和目标保持,以及大数乘法和 C++ 并发基础。项目题应以“状态是否可验证、故障后能否恢复”为主线。

(1)怎样实现 Coding Agent 的记忆?

(1)怎样实现 Coding Agent 的记忆?

关联知识点待核实。

短期记忆应保存当前任务目标、计划、最近对话、文件变更、命令结果和已验证证据;它必须有 token 预算,并把大结果外置为引用或摘要。长期记忆只沉淀跨任务稳定有价值的信息,例如仓库约定、用户偏好和已验证的排障经验,并带上来源、作用域、时间、置信度和可撤销机制。

读取时按任务、权限和相关性检索,写入时先去重、校验和防止低质量内容污染。不要把完整聊天记录直接当“长期记忆”,否则噪声、过期事实和敏感信息会持续累积。

延伸阅读:Agent 记忆架构。

(2)怎样比较通用 Coding Agent 与特定团队的内部实现?

(2)怎样比较通用 Coding Agent 与特定团队的内部实现?

关联知识点待核实。

不要停留在产品名称或模型强弱。按任务范围、上下文获取方式、工具权限、隔离执行、评测集、审计、成本和恢复能力比较:通用 Agent 可能覆盖广泛仓库和语言,而业务系统可针对领域工作流、权限和验收标准做更深的约束。

最重要的是可证据化的成功条件。一个系统即使代码生成更快,若无法正确选择文件、运行验证或防止高风险操作,也不能视为工程能力更强。

(3)如何评测一个 Agent?

(3)如何评测一个 Agent?

关联知识点待核实。

先建立与真实任务分布相符的冻结任务集:明确初始仓库状态、允许工具、预算、验收脚本和隐藏测试。除端到端成功率外,记录构建通过率、测试通过率、变更范围、耗时、token/算力成本、工具失败率和安全违规率;同一任务应支持重复运行以衡量方差。

对 Prompt、模型、工具或记忆策略的改动,使用同一基线和对照运行,再抽查失败轨迹。评测集必须与开发样本隔离,且不能只奖励“修改了更多文件”或“调用了更多工具”。

延伸阅读:Agent 评测。

(4)云端容器迁移或重启后,怎样恢复 Agent 上下文?

(4)云端容器迁移或重启后,怎样恢复 Agent 上下文?

关联知识点待核实。

把容器视为可丢失的执行环境。控制面持久化 run ID、任务状态、计划、上下文摘要版本、输入引用、工具调用记录、工作区快照或版本控制引用,以及已产生的制品;容器启动后根据最近检查点重建运行环境,而不是依赖内存和本地临时文件。

恢复前要确认上一步工具调用是否已经产生副作用。对可重试的幂等步骤在限次预算内重试;对写操作用幂等键或查询操作状态后再决定续跑、补偿或转人工。迁移测试应覆盖容器崩溃、网络中断、检查点损坏和重复投递。

延伸阅读:检查点与断点续跑。

(5)长任务怎样持续推进而不偏离最初目标?

(5)长任务怎样持续推进而不偏离最初目标?

关联知识点待核实。

将目标写成可验证的契约:输入、验收条件、限制条件、优先级和停止条件。每个子步骤都要声明它对目标的贡献,并在工具执行后用外部证据更新状态;当计划需要变化时,记录变化原因,重新检查是否仍满足原约束,而不是让模型静默改写任务。

可加入计划—执行—验证循环、里程碑检查、预算和最大重规划次数。若出现冲突需求、关键前提缺失或连续无进展,应暂停并请求澄清或人工决策,这比把不确定性伪装成完成更可靠。

延伸阅读:Agent 意图澄清与目标对齐。

(6)模型能力很强时,Agent 最重要的工程能力是什么?

(6)模型能力很强时,Agent 最重要的工程能力是什么?

关联知识点待核实。

是把模型的不确定输出接入可控闭环:正确获取最小充分上下文,提供受权限和 Schema 约束的工具,验证外部结果,持久化状态,并在失败时停止、恢复或转交。模型提升会改变自动化边界,却不会替代权限、数据质量、验收、可观测性和责任归属。

因此评价 Agent 不应只看单次回答,而应看它在真实约束下是否稳定完成任务、是否知道何时不该行动,以及失败是否可追踪。

(7)“Lost in the Middle” 是什么,对上下文设计有什么影响?

(7)“Lost in the Middle” 是什么,对上下文设计有什么影响?

关联知识点待核实。

长上下文模型对信息位置并非完全均匀敏感:位于开头或结尾的内容常更容易被利用,中间的关键事实可能被忽略。这是评测中观察到的位置偏置现象,程度会随模型、任务和上下文结构而变化,不能简单假定任何长窗口都能可靠读取全部内容。

应把核心约束放在稳定的系统层或近期工作状态中,对长文档按语义切分、检索并引用关键片段;通过位置扰动测试验证模型是否真的使用了证据。重复粘贴整份材料会增加成本,也未必提高可靠性。

延伸阅读:长上下文与位置偏置。

(8)怎样实现大整数乘法?

(8)怎样实现大整数乘法?

关联知识点待核实。

把两个非负整数字符串从低位到高位逐位相乘。结果数组长度最多为两者长度之和;第 $i$、$j$ 位乘积累加到结果的 $i+j$ 位置,再统一处理进位,最后去除前导零。时间复杂度为 $O(mn)$,空间复杂度为 $O(m+n)$。

实现时先处理零值和非法输入,使用足以容纳中间乘积的整数类型,并约定负号和前导零规则。若数字特别长,可再讨论分治乘法,但面试手写应优先保证朴素算法正确。

(9)C++ 原子计数如何使用,仍要注意什么?

(9)C++ 原子计数如何使用,仍要注意什么?

关联知识点待核实。

多个线程只做递增、读取这类独立原子操作时,可用 std::atomic 的 fetch_add 或自增操作,避免普通整数的读—改—写竞态。若计数只用于统计、不承载其他数据的发布同步,常可使用较弱的内存序;若它同时表示“数据已准备好”,则需用合适的 acquire/release 语义建立可见性关系。

原子计数不等于解决所有并发问题。涉及多个字段的一致性、条件等待或复杂不变量时,仍可能需要互斥锁、条件变量或更高层并发结构;高频共享计数还可能受缓存行争用影响。

(10)Coding Agent 接入什么模型,怎样说明选型依据?

(10)Coding Agent 接入什么模型,怎样说明选型依据?

关联知识点待核实。

先给出本人项目真实采用的模型标识、版本和使用范围,再说明代码任务效果、工具调用、上下文、延迟、成本和部署约束的比较方法。原帖只记有“接的什么模型”这一问,没有记录具体答案;本文不补造模型名称、参数或候选人的选型结果。

面经是候选人自述,解析为 Agent Journey 整理。更多大厂 AI / Agent 岗面经 · 按目标公司模拟面试