AI工具面经

Q1:你日常怎么用 Cursor / Trae 做开发?两者有什么差异?

日常主要用 Cursor 做 IDE 内代码生成、重构、读存量项目,靠.cursorrules约束代码风格;Trae 更偏向端到端 Agent 任务,适合多文件联动、自动化工程任务。Cursor 擅长局部代码,Trae 适合长链路工程任务。

追问 1:你一般怎么写 prompt?有没有固定模板? 采用目标 + 上下文 + 约束 + 输出格式模板。先说明任务,附上相关文件,明确禁止写法,要求输出代码 + 简要说明,减少 AI 自由发挥带来的幻觉。

追问 2:什么时候用 Agent 模式,什么时候只用代码补全? 小功能、单文件修改用普通补全;跨多文件重构、接口联调、生成测试用例这类长流程任务,开启 Agent。Agent 会自动读取多个文件,但要控制范围,防止上下文过载。

追问 3:Cursor 的 @文件、@目录、.cursorrules你怎么配置?举个真实项目例子 .cursorrules放在项目根目录,定义架构规范、错误处理、命名风格、禁用写法。做后端接口开发时,@引入路由、实体类文件,让 AI 理解已有结构,避免造不存在字段。

追问 4:Trae 和 Cursor 在 AI 代理、上下文管理、本地代码理解上差别在哪? Cursor 深度嵌入 IDE,上下文以当前打开文件为主;Trae Agent 自主扫描目录、多文件迭代,任务链路更长。代价是更容易跑偏,需要更强规则约束。

追问 5:AI 生成代码经常出幻觉,你在两个工具里分别用什么手段减少幻觉? 统一用 rules 约束;给 AI 限定参考文件,不让它凭空假设;AI 产出后校验接口、依赖是否真实存在;复杂逻辑必须人工复核。

Q2:.cursorrules你写过哪些规则?规则生效原理是什么?

.cursorrules本质是项目级系统提示,每次对话自动注入上下文。我写过架构约束、代码规范、异常处理、禁止引入未验证依赖。

追问 1:rules 里包含哪些内容?架构约束、代码规范、错误处理? 包含技术栈限定、代码分层要求、统一异常返回格式、单元测试编写规范,禁止直接拼接 SQL、禁止硬编码密钥。

追问 2:rules 什么时候会失效?遇到过 AI 无视 rules 的情况吗,怎么解决? 上下文过长时 rules 容易被稀释。解决:精简 rules,把强约束放最前面;任务过大就拆成小任务;必要时在单次 prompt 重复强调核心规则。

追问 3:rules 和 MCP、Skill 的区别是什么,三者边界怎么划分? Rules:静态提示约束,只改变输出风格,不能调用外部工具;Skill:封装好的业务任务;MCP:标准化协议,用来调用外部程序 / 服务。

追问 4:有没有针对不同模块做多套 rules? 有,前端组件一套 rules,后端接口一套,测试脚本单独一套,不同模块分开约束,避免规范冲突。

Q3:简单解释 MCP、Skill、Rules 三者分别是什么,以及三者的定位和区别?

Rules:静态提示词,约束 AI 输出规范;Skill:封装好的业务任务单元,把固定流程打包;MCP 是模型上下文协议,是 AI 调用外部工具的标准化协议。

追问 1:MCP 全称是什么?核心解决什么问题? Model Context Protocol。解决 AI Agent 调用外部工具的标准化问题,不用为每个工具单独写 Function Calling 逻辑。

追问 2:MCP Host / MCP Client / MCP Server 三者角色讲一下 Host:承载大模型的程序;Client:嵌入 Host,发起工具请求;Server:独立进程,提供工具能力(读文件、Git、执行命令),通过标准协议通信。

追问 3:Skill 和 MCP 工具能力有什么区别?Skill 是提示词封装还是可调用工具? Skill 偏向任务流程封装,是提示词 + 执行逻辑;MCP 是底层工具能力。Skill 内部可以调用 MCP 工具完成任务。

追问 4:什么时候用 Rules,什么时候封装 Skill,什么时候接入 MCP?举项目选型案例 统一代码规范用 Rules;重复固定开发流程封装 Skill;需要 AI 读写文件、查 Git、执行脚本时接入 MCP。 追问 5:MCP 有哪些典型场景?你有没有自己写过 MCP Server 或者对接现成 MCP 服务? 场景:读取项目文档、Git 操作、运行单测、查询数据库元信息。项目对接过现成 MCP Server,也简单开发过读取项目目录的轻量 MCP 服务。

Q4:讲一个你基于 MCP 做的 AI 辅助开发场景,完整流程是什么?

需求变更后,Agent 通过 MCP 读取 Git 变更、查看相关源码,生成代码,再调用 MCP 执行单元测试,输出测试结果;我再人工复核核心业务逻辑。

追问 1:这个 MCP Server 提供了哪些工具? 文件读取、Git diff 查看、执行 jest 单元测试。

追问 2:权限怎么控制?MCP 调用会不会有安全风险(比如删文件、查数据库)? MCP 服务做权限白名单,禁用 rm、drop 等高危操作;限制访问目录,敏感数据库不开放,所有调用日志留存。 追问 3:MCP 调用失败、返回脏数据,AI 怎么处理? MCP 返回错误信息交给 AI,AI 重试或终止任务;同时设置最大重试次数,防止无限循环调用。

追问 4:和直接写 Function Calling 对比,MCP 优势在哪? Function Calling 是模型侧紧耦合;MCP 是协议标准化,Server 独立进程,可跨模型复用,工具能力可以插拔,不用改模型代码。 追问 5:MCP 的上下文传递机制,会不会有上下文膨胀问题? 会。只返回工具必要结果,不返回完整原始日志;大结果做摘要,控制传回模型的数据量。

Q5:Skill 范式你怎么理解?怎么设计一个开发类 Skill?

Skill 是把一类固定开发任务封装成独立单元,包含任务描述、示例、校验规则,可以被 Agent 调用。

追问 1:Skill 内部结构一般怎么组织?提示词、示例、校验逻辑? 包含任务目标、输入输出格式、few-shot 示例、校验规则,部分 Skill 内部调用 MCP 获取外部信息。

追问 2:多个 Skill 之间怎么编排?串行还是并行? 依赖型任务串行;无依赖任务可以并行。由 Agent 根据需求选择调用顺序。

追问 3:Skill 的版本怎么管理?更新 Skill 之后怎么验证效果? Git 管理 Skill 配置文件;编写测试用例,每次变更后跑测试,验证输出是否符合预期。

追问 4:Skill 和普通 prompt 模板有什么本质区别? Prompt 模板只是字符串替换;Skill 有独立版本、校验逻辑,可被 Agent 调度,是可复用的能力单元。

Q6:说说你的 AI 辅助开发完整工作流,从需求到提交代码

需求拆解 → 制定架构约束(rules) → AI 生成代码 → 人工审核核心逻辑 → AI 生成单元测试 → 人工复测 + 静态检查 → 提交 Git。

追问 1:需求阶段,你怎么用 AI 拆解需求、生成技术方案?如何防止 AI 理解错需求? 把产品需求、领域文档一起喂给 AI,要求输出拆解清单;我校验拆解结果,有歧义点提前确认。

追问 2:AI 产出代码之后,你的 Review 清单是什么? 校验接口 / 类是否真实存在;检查安全漏洞;确认业务逻辑;看依赖包版本;检查异常处理。

追问 3:AI 写的代码,单元测试是让 AI 生成还是自己写?如何校验 AI 写的测试用例? AI 生成初稿,人工校验断言逻辑;跑一遍测试,确认用例真的能捕获 bug,不是单纯能跑通。

追问 4:代码提交前,怎么保证 AI 不会引入隐藏 bug、安全漏洞? 静态代码扫描,人工审核业务逻辑;禁止 AI 直接提交代码,提交权限由人控制。

追问 5:项目变大后,上下文窗口不够,你怎么拆分任务,避免 AI 理解不全整个仓库? 按模块拆分任务;只 @相关文件;使用 MCP 读取摘要信息,不一次性灌入全部源码。

Q7:AI 生成代码最大的几个风险是什么?你在项目里怎么规避?

三大风险:代码幻觉、安全漏洞、架构不合理。约束 AI 参考范围,人工复核核心逻辑,静态检查,限制 AI 高危操作。

追问 1:幻觉问题:AI 编造不存在的接口、库、函数,你怎么快速识别? 编译 / 运行验证;核对项目内已有代码;查看依赖文档,确认 API 真实存在。

追问 2:依赖风险:AI 引入废弃 / 有漏洞的第三方包怎么处理? AI 给出依赖后,我手动查版本安全报告;项目锁定依赖版本,不直接采纳 AI 推荐包。

追问 3:代码质量:AI 写出冗余、低性能代码,怎么控制? rules 增加性能约束;要求 AI 加注释;人工做性能关键点审查。

追问 4:多人协作场景:团队都用 Cursor,怎么统一 rules、规范 AI 产出? .cursorrules提交到仓库,全员共用;团队沉淀通用 Skill,统一 AI 产出标准。

追问 5:如果 AI 给出多个方案,你如何评估选型? 从可维护性、性能、安全、业务适配度对比,优先选符合现有架构的方案。

Q8:AI 辅助开发会不会降低开发质量?你怎么平衡开发效率和代码质量?

AI 是提效工具,不能替代人。把重复、机械工作交给 AI;核心业务、安全逻辑必须人工把控。

追问 1:哪些代码坚决不让 AI 写核心逻辑? 支付、权限校验、数据一致性这类核心业务逻辑,AI 只做初稿,人工重审甚至手写。

追问 2:什么场景适合交给 AI,什么场景必须手写? 适合:CRUD、组件封装、测试代码、注释重构;必须手写:核心业务规则、高并发 / 安全模块。

追问 3:有没有遇到 AI 写出能跑但是架构不合理的代码?你怎么修正? 有,AI 有时为了快速实现破坏分层。我会基于项目架构,修改结构,同时更新 rules 防止后续再出现同类问题。

Q9:如果让你搭建团队内部 AI 辅助开发平台,你会怎么设计?MCP、Skill、Rules 如何组合落地?

分层设计:底层 MCP 提供工具能力;中层封装各类开发 Skill;项目层用 Rules 约束输出;上层对接 Cursor/Trae;增加调用日志与权限管控。

追问 1:架构分层怎么划分? 四层:模型接入层、MCP 工具层、Skill 能力编排层、项目规则层。 追问 2:如何做能力复用,避免每个人重复写 prompt/rules? 把通用 rules、Skill 放到仓库统一管理,团队共享,按需引用。

追问 3:如何做效果评估,衡量 AI 辅助开发带来的效率提升? 统计编码耗时、代码返工率、单元测试覆盖率变化,对比引入 AI 前后指标。

追问 4:权限、安全、审计怎么做? MCP 做操作白名单;所有 Agent 调用日志记录;禁止 AI 直接操作生产环境。

Q10:对比 Function Calling、Agent、MCP,各自适用场景,优缺点?

Function Calling:模型内置调用能力,简单场景好用;紧耦合模型。Agent:多步骤自主完成任务,适合复杂工程任务,容易失控。MCP:标准化工具调用,跨模型复用,适合工程工具集成。 追问 1:MCP 和 Function Calling 能不能共存? 可以共存,MCP 作为外部工具层,底层依然可以基于 Function Calling 实现调用。

追问 2:Agent 模式下,无限循环调用工具怎么限制? 设置最大工具调用次数,超时终止,增加人工介入触发条件。

追问 3:MCP 协议有没有短板? MCP 多进程通信会有额外开销;工具返回数据量大时,依然会产生上下文膨胀问题。

Q11:你怎么看待 AI 开发工具未来发展?Cursor 这类 IDE Agent 会取代程序员吗?

不会取代。AI 擅长代码生成、检索、重构;程序员核心价值是需求建模、架构设计、风险把控、业务决策。AI 会变成标配开发助手。

追问 1:程序员核心价值在哪里? 定义正确问题,设计合理架构,识别隐性风险,保障系统稳定和业务价值。

追问 2:你觉得 AI 开发工具现在最大瓶颈是什么? 长上下文下的一致性差,容易产生幻觉;对复杂业务隐性逻辑理解不足;Agent 自主执行的安全风险。

相关推荐
唐小码1 小时前
裁员的风刮到了三线荒凉的城市
前端
晚安日记wanna1 小时前
React 为何不做双端 diff?Vue 与 React 更新逻辑的三层差异
前端·react.js·面试
flash俊杰1 小时前
AI 分段引擎与自动剪辑决策:从语义片段到时间线草稿的映射
前端·ai编程
flash俊杰2 小时前
时间线交互引擎:从像素到帧的逆向映射与磁吸网格
前端
光影少年2 小时前
setImmediate 和 setTimeout(0) 的区别
android·前端·react.js·ios·前端框架
flash俊杰2 小时前
LLM 结构化输出的契约化工程:JSON Mode、Schema 约束与重试降级
前端·ai编程
༄久梦༒长醉༻2 小时前
AI面试助手:本地运行,一键备战
前端·ai编程
Web4Browser2 小时前
浏览器指纹逆向到底在分析什么:从 JavaScript 采集、Canvas 与 WebGL 到环境一致性校验
java·服务器·前端
2601_958352902 小时前
不改PCB也能调拾音方向?真相在这。
前端·嵌入式硬件·回声消除·语音模块·降噪处理