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 底层的理解、风险边界——讲不清即口号)
- 红旗:候选人自己也用"零古法编程"这类口号,或讲不清哪些必须人工——风险认知缺失。