跳转至

Vibe-Coding · 进阶

本页覆盖 Claude Code 底层原理、工具分流、CodeReview Agent 工程化、上下文截断边界、质量保障体系、口号式红旗,共 6 题。相关讲解见 Claude Code 底层原理。


Q1: 描述 Claude Code 的主循环 query 流程与上下文管理机制。

进阶 | Vibe-Coding | 📖 相关讲解

考察点:是否触及工具底层机制——这是报告明确设立的"深度标杆"(对标卢浩)。

参考答案

主循环(Agent Loop):Claude Code 是 Agent 主循环而非单次问答,每轮迭代为:① 接收输入并与当前上下文组装 prompt;② 模型推理决定下一步——直接回复或调用工具(read/grep/glob/edit/bash);③ 执行工具调用,结果回填进上下文;④ 回到第②步继续推理,直到任务完成。这是它与补全型工具的根本区别。

代码检索流程:Claude Code 不像 IDE 天然有光标上下文,需主动检索——用 glob 定位文件、grep 搜符号、read 读内容,迭代式扩展上下文。每步结果都占 token,检索过多会加速上下文膨胀。

上下文管理(截断):上下文随循环累积逼近窗口上限时,Claude Code 对历史做截断/摘要压缩,保留近期关键交互。关键边界:当某次工具调用的输入参数或它依赖的中间结果被截断,模型后续循环会丢失调用依据,出现工具调用失败、重复读文件、参数错误。

记忆管理:CLAUDE.md 是项目级/目录级持久记忆,存规范、命令、架构说明,启动自动加载,相当于预置稳定的项目背景,减少重复说明、降低上下文膨胀。

面试官追问 / 红旗
  • 追问:上下文管理与记忆管理是什么关系?(答:前者管"单次会话内不爆",后者管"跨会话稳定积累",二者配套)
  • 红旗:只会说"Claude Code 是 AI 写代码工具"却讲不出主循环、检索、截断、记忆任何一项——未达深度标杆。

Q2: 如何按任务类型在 Cursor 与 Claude Code 之间分流?

进阶 | Vibe-Coding | 📖 相关讲解

考察点:是否有工具选型的判断力,而非"一个工具用到底"。

参考答案

分流依据是任务的交互性 vs 自主性与精细控制 vs 批量执行:

任务类型 选型 理由
新功能开发、边写边调 Cursor 交互式、即时反馈、精细控制
批量重构、跨文件改造 Claude Code Agent 自主多文件读写、长链路
补全单元测试、批量生成测试 Claude Code 模式化、批量、可集成 CI
行内补全、小段函数 Copilot 低延迟、贴近光标上下文
CI 集成(如 CodeReview Agent) Claude Code CLI 友好、可脚本化

报告标杆做法:日常主力 Claude Code(CLI/CI)+ Cursor(交互式)+ Copilot,按任务分流——新功能用 Cursor,批量重构/测试用 Claude Code。

面试官追问 / 红旗
  • 追问:为什么不全部用 Claude Code?(答:交互式开发的即时反馈与精细控制是 IDE 工具所长,Agent 工具可控性差、不适合边写边调)
  • 红旗:说不出分流理由,或只会用一个工具——L2 日常使用、无选型意识。

Q3: 设计一个 CodeReview Agent 的完整流程,关键工程点有哪些?

进阶 | Vibe-Coding | 📖 相关讲解

考察点:能否把"AI 评审代码"工程化为可落地的流水线(对标彭超 L4)。

参考答案

完整流程:GitLab/GitHub webhook 监听 MR/PR 触发 → 拉取 diff(按文件/hunk)→ 分语言分析(按语言选 prompt 与规则集)→ LLM 输出结构化评审意见(级别/类型/位置/建议/是否阻断)→ 接入 CI(高危阻断合并、意见回写评论、人工复核)。

关键工程点:

工程点 要点
触发 webhook 鉴权、幂等(同 MR 多次 push 不重复全量评审)
diff 拉取 只取变更 hunk + 必要上下文,控制 token;过滤自动生成文件、lock 文件
分语言 按语言选 prompt 与规则集,避免"一套 prompt 评所有"
上下文构建 diff 不足时补函数签名/被调用处,控制 token
结构化输出 用 JSON schema 约束输出,便于回写、分级、阻断
误报治理 评审分级(高危阻断/中危提示/低危记录),人工标记误报反哺
CI 接入 作为合并门禁,与人工评审互补
面试官追问 / 红旗
  • 追问:评审意见误报率高怎么办?(答:分级 + 人工标记误报反哺 prompt/规则,形成质量闭环)
  • 红旗:只说"用 LLM 看代码"而无 webhook/diff/分语言/CI 等工程落地——停留在想法层面。

Q4: "上下文截断导致工具调用失败"如何定位与规避?

进阶 | Vibe-Coding | 📖 相关讲解

考察点:是否真能定位 Claude Code 的边界问题——报告明确写到的深度能力。

参考答案

根因:主循环中上下文随工具调用结果累积,逼近窗口上限时 Claude Code 截断/压缩历史;当某次工具调用的输入参数或它依赖的中间结果(如先前 read 出来的文件内容)被截断,模型后续循环丢失调用依据,导致工具调用失败。

典型症状:长会话中 Claude Code 突然"忘记"前面读过的文件、重复 grep/read 同一符号、edit 报找不到符号、工具调用参数引用了已被截断的内容。

定位:症状出现在长会话/大上下文任务中,优先怀疑上下文截断;可检查是否在长链路任务中段出现。

规避:① 给清晰入口(明确指文件/模块/函数),减少盲目检索;② 拆分长任务为多个小会话;③ 阶段性让模型总结当前进展后再开新会话继续;④ 把稳定的规范/架构写进 CLAUDE.md 预置上下文,减少重复说明。

面试官追问 / 红旗
  • 追问:怎么区分"截断"和"模型本身能力不足"?(答:截断表现为"前面做过的事后面忘了/重复做",能力不足是"做不对";前者换会话/给入口能缓解)
  • 红旗:候选人答不出截断机制与症状——未达到简历模板声称的"能定位上下文截断导致工具调用失败"的深度。

Q5: 如何建立 AI 辅助的质量保障体系(AI 生成测试 + 人工评审)?

进阶 | Vibe-Coding | 📖 相关讲解

考察点:是否有量化 + 工作流闭环(对标姚磊),而非"会用工具"。

参考答案

核心:把 AI 串进"需求-代码-测试-评审"闭环,每个环节 AI 辅助 + 人工把关。

质量保障体系:① AI 生成测试——用 Claude Code 为新功能批量生成单元测试、边界用例、异常路径,提升覆盖率;② 人工评审测试——确认覆盖关键路径、断言有效(防"假绿"测试);③ AI 评审代码——CodeReview Agent 对 diff 结构化评审,人工聚焦高风险项;④ 量化度量——交付周期、覆盖率、评审采纳率作为闭环效果。

关键原则:AI 负责模板代码与测试,人工负责核心决策逻辑;资金/合规坚持人工。报告标杆姚磊:交付周期 5 天→2 天(−60%),有量化 + AI 审查 + 自动生成测试的闭环。

面试官追问 / 红旗
  • 追问:AI 生成的测试怎么保证不是"假绿"?(答:人工评审断言有效性、覆盖关键路径与边界,而非只看通过)
  • 红旗:只说"用 AI 写代码"而无测试/评审/量化闭环——L2 日常使用,非 L3。

Q6: 为什么"零古法编程"这类口号不可信?报告里的红旗是什么?

进阶 | Vibe-Coding | 📖 相关讲解

考察点:能否识别口号式描述与关键词堆砌——报告明确红旗。

参考答案

谢鹏简历写「熟练运用 AI Coding,工作中零古法编程」,口号激进,但其简历 AI 技能存在关键词堆砌嫌疑(列出 LLM/RAG/向量库/LoRA/MCP 等大量术语却无对应项目支撑),真实深度需面试验证。

不可信的原因:① "零古法编程"暗示所有代码都交给 AI,与"核心逻辑必须人工""资金/合规必须人工"的风险边界相悖,是不负责任的表述;② 口号无工作流、无量化、无原理佐证,无法验证真实深度。

报告红旗:① 口号式描述(零古法编程而无工作流佐证);② 关键词堆砌(列大量术语无项目支撑);③ 只会用无量化无工作流。真加分的三要素是「懂原理 + 有量化 + 有工作流」。

面试官追问 / 红旗
  • 追问:面试中如何验证"零古法编程"是真是假?(答:追问具体工作流、量化口径、对 Claude Code 底层的理解、风险边界——讲不清即口号)
  • 红旗:候选人自己也用"零古法编程"这类口号,或讲不清哪些必须人工——风险认知缺失。