# 1. 长周期 Coding Agent 如何保存目标、已改文件、测试证据、Checkpoint 和恢复条件 A 完全不保存状态,直接重跑 B 持久化目标、diff、测试证据与 Checkpoint,恢复前校验状态仍有效 ✓ 正确答案 C 只保存对话历史,其余重新生成 D 只保存已改文件,不校验测试
# 2. Sub-Agent 并行处理独立模块时,如何划分 Worktree、接口契约和合并顺序 A 提前对 Worktree 划分边界并冻结接口契约,按依赖拓扑排序合并 ✓ 正确答案 B 所有 Agent 在同一个分支随意修改 C 让每个 Agent 改完全部代码再统一处理 D 不规定接口,靠最后人工修复
# 3. Coding Agent 如何把 RFC/Issue 拆解为 Plan—Edit—Test—Review—Commit 状态机,避免“跳跃式”开发 A 加快代码生成速度 B 强制按阶段验证推进,避免跳跃式、未验证的开发 ✓ 正确答案 C 减少代码行数 D 让 Agent 一次提交全部改动
# 4. MCP 工具接入代码搜索、Issue 和 CI 时,怎样限制能力与可信数据范围 A 默认只读+最小权限,并区分可信数据与参考引用 ✓ 正确答案 B 开放全部读写能力 C 允许 Agent 任意修改 CI 配置 D 完全信任工具返回的所有内容
# 5. 计划与执行分离后,哪些路径扩大、依赖新增和危险命令必须重新获得批准 A 修改计划内已列出的同一文件 B 读取计划内声明的只读 API 数据 C 运行计划内已列出的测试命令 D 新增一个未声明的 npm 依赖并写入锁文件 ✓ 正确答案
# 6. Agent 上下文压缩后如何防止遗忘原始验收标准和已发现的失败证据 A 把验收标准与失败证据作为硬事实锚点单独持久化,压缩后以锚点为准 ✓ 正确答案 B 尽量压缩,减少上下文 C 完全依赖模型记忆 D 压缩后重新开始写代码
# 7. 计划与执行分离(Plan Mode vs Act Mode)在 Coding Agent 中的实现,计划产物、执行准入与回退机制如何设计 A 让 Agent 更快地写代码 B 减少人工介入 C 执行前先形成可审阅计划,通过批准后再限制范围执行,失败可回退到计划阶段 ✓ 正确答案 D 让 Agent 自由探索所有文件
# 8. Coding Agent 的 diff 大小控制(每次提交不应过大)应如何落地,任务切分、提交边界与合并策略 A 尽量一次提交所有改动 B 只关注最终 PR,忽略中间提交 C 提交时不做任何测试 D 把任务切分为可独立验证的小步骤,每个逻辑单元单独提交,按依赖合并 ✓ 正确答案
# 9. 如何从低风险仓库逐步引入 Coding Agent,并设置人工接管和退出条件 A 直接在所有仓库启用,不设限制 B 不设监控,出了问题再处理 C 只让 Agent 负责部署 D 从低风险仓库试点,设置人工接管与指标驱动的退出条件,并保留回滚 ✓ 正确答案
# 10. Coding Agent 的“循环执行”——重复失败、相同错误如何检测并强制人工干预 A 错误签名相同且状态无实质进展,触发后强制人工干预 ✓ 正确答案 B 执行次数足够多 C 只要输出有内容就正常 D 只看 token 消耗
# 11. Coding Agent 的工作目录(Worktree)、分支策略(Branch)与隔离环境应如何设计,避免多 Agent 并发冲突 A 所有 Agent 共用同一工作目录和分支 B 让 Agent 随意修改任何文件 C 每个 Agent 独立 worktree、独立分支与隔离环境,按契约与依赖顺序合并 ✓ 正确答案 D 不合并,各用各的
# 12. Coding Agent 的夜间批量任务(Nightly Run)应如何定义任务清单、验收标准与失败告警,避免无人值守误操作 A 让 Agent 自由探索任意任务 B 不做任何告警 C 失败后无限重试 D 明确有界任务清单、可自动判定的验收标准,危险操作禁用、重大失败自动中止并告警 ✓ 正确答案
# 13. AI SDK 5 中流式响应断线后客户端 reconnect 时,服务端应如何利用 lastMessageId / resume 标记精确续传而不是重放整段生成,如何处理 reasoning part 在续传时不可重新可见的特殊性 A 把 reasoning 视为已消费,续传只补 text/tool 等持久 part,reasoning 不可重新可见 ✓ 正确答案 B 续传时完整重放 reasoning C 用 lastMessageId 无意义 D 放弃续传,整段重放
# 14. Coding Agent 编排多 MCP Server(Playwright MCP、Filesystem MCP、Sentry MCP)时,工具命名冲突与权限边界如何管理 A 用命名空间区分工具,按 Server 维护最小权限边界,按需挂载 ✓ 正确答案 B 所有工具同名,不区分 C 让 Server 互相访问密钥 D 同时挂载所有 Server 不设限制
# 15. AI SDK 5 的 useChat 在 abort 后应如何与服务端确认“已停止计费”——abort signal 仅终止前端消费,服务端是否真的取消生成、是否仍按已生成 token 计费,团队应如何接入网关层的 abort 传播与对账 A 把 abort 传播到网关/服务端向 Provider 取消,并用网关对账确认用量与账单一致 ✓ 正确答案 B 前端 abort 即可,服务端必然停止 C 不关心服务端是否继续 D 只在前端显示停止,不通知服务端
# 16. Cline、Roo Code、Cursor、Claude Code、Codex CLI 的工作流能力应如何用同一任务比较 A 每个工具用不同任务 B 统一任务与环境,定义能力维度,自动验收并控制变量 ✓ 正确答案 C 只看工具宣传话术 D 只比较 UI 美观
# 17. Vercel AI SDK 5 的 UIMessageStream 引入了强类型的 message parts(text / reasoning / tool-call / source / data / step-finish),前端应如何为每个 part 声明独立的渲染器、断线续传标识与 schema 版本,才能避免不同模型返回的 part 顺序差异造成 UI 闪烁 A 强制所有模型返回相同 order B 每次整条消息重新渲染 C 为每个 part 独立渲染器,用唯一 ID 做 keyed 增量更新,并带 schema 版本 ✓ 正确答案 D 忽略 part 类型
# 18. 服务端 tools 声明里 execute 函数负责真正执行,needsApproval: true 把决定权抛给客户端——应如何在服务端把审批请求路由到正确的用户渠道(IDE 内通知 / Slack / 邮件)而不泄露跨租户的审批意图 A 把所有审批发到公共频道 B 不校验租户 C 审批链接永久有效 D 先校验租户与用户权限,只路由到该用户渠道,用一次性 token 绑定租户与操作 ✓ 正确答案