跳转至

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