DeepSeek代码评审需严格遵循“判断→归因→建议”三步链路:①定位具体行/函数及问题类型;②说明实际后果;③提供可粘贴替换代码;所有判断必须绑定物理位置,禁用模糊指代,并按风险等级、触发条件、验证方式结构化输出。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

让DeepSeek在代码评审中先判断逻辑缺陷、安全风险或性能问题,再输出具体修改建议,避免泛泛而谈“请优化”“建议重构”这类无效反馈。
明确要求AI执行“判断→归因→建议”三步链路
在提示词开头直接定义推理流程:【你必须严格按以下顺序响应:①指出具体哪一行/哪个函数存在什么类型的问题;②用1句话说明该问题引发的实际后果(如空指针导致崩溃、SQL拼接引发注入);③给出可直接粘贴替换的代码片段】。
这一步强制模型放弃跳跃式结论,不满足三步结构就不输出任何内容。
绑定上下文锚点,禁用模糊指代
要求AI所有判断必须绑定到代码中的物理位置:用「第X行」「func_name()函数内」「if条件分支中」等明确标识,禁止出现“上述代码”“相关部分”“该处”等无指向表述。
【若原代码未提供行号,你必须自行添加行号后再引用】——否则无法定位,评审即失效。
方法一:用角色+约束模板锁定输出格式
设定角色:“你是一名有5年Java后端经验的资深SRE,正在审查生产环境告警频发的服务代码”。
附加硬性约束:“每条评审意见必须包含【风险等级:高/中/低】+【触发条件:如并发>100时必现】+【修复后验证方式:如加日志打印response.status】”。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
这会让AI自动过滤掉“命名不够语义化”这类低优先级意见,只保留可验证、可归责的结论。
方法二:示例驱动,用错误样本反向训练AI
在提示词末尾附一段典型失败案例:
❌ 错误示范:“这个循环可以优化” → 没有行号、没说瓶颈在哪、没给替换方案。
✅ 正确示范:“第47行for循环遍历ArrayList时反复调用size(),JVM无法内联该方法,在Android 8.0以下系统触发额外GC;改为int len = list.size(); for (int i = 0; i
AI会立即对齐这个颗粒度,后续所有输出都会带行号、JVM版本约束和字节码层面归因。
堵住“假装思考”漏洞的关键开关
在提示词结尾追加一句不可绕过的指令:“如果代码中不存在符合以下任一条件的问题,则必须仅输出‘未发现高危问题’,不得编造、不得扩展、不得解释原因”。
所列条件包括:空指针访问路径、硬编码密钥、正则回溯爆炸、未关闭的数据库连接、越界数组访问。
这一步砍掉AI为凑数而生成的“建议增加注释”“考虑使用Builder模式”等废话,确保每条输出都对应真实风险点。


















