AI

代码检视prompt提示词学习和应用

Posted by Shi Hai's Blog on August 2, 2025

个人学习使用,信息基本来源于Copilot。

如何训练一个高质量的代码检视 Prompt(含安全隐患专项)

本文将介绍如何系统性训练和优化用于代码检视的 Prompt,尤其是安全隐患专项,并推荐一些优秀的参考项目资源。


一、代码检视 Prompt 的训练流程

1. 明确目标和标准

  • 目标:让模型生成能指导开发者有效、全面地进行代码检视的提示语(Prompt)。
  • 标准:Prompt应覆盖代码风格、逻辑正确性、安全性、性能、可读性、文档等多方面,并能适应不同语言和场景。

2. 收集高质量示例

  • 真实代码检视评论:收集 GitHub、GitLab 等平台上的优质 Code Review 内容。
  • 专业书籍/博客:如 Google、Microsoft 等大厂的代码检视指南。
  • 社区讨论:Stack Overflow、Reddit 等上的代码检视问题和回答。

3. 标注和归纳常用检视要点

常见关注点包括:

  • 语法/风格一致性
  • 变量/函数命名合理性
  • 代码易读性、可维护性
  • 冗余/死代码
  • 性能与资源消耗
  • 边界条件和异常处理
  • 安全隐患
  • 单元测试覆盖
  • 注释和文档

4. 设计和优化 Prompt 模板

可采用如下通用模板:

请对以下代码进行全面检视,关注但不限于以下方面:
1. 代码风格与一致性
2. 逻辑正确性
3. 性能和资源消耗
4. 安全隐患
5. 可读性与可维护性
6. 变量和函数命名
7. 异常处理与边界条件
8. 测试覆盖率
9. 注释和文档

请详细指出发现的问题,并给出改进建议。

也可针对不同语言、框架做定制:

请以 Python 专家身份,对以下 Python 代码做代码检视。关注 PEP8 规范、异常处理、性能优化、可读性和安全性等方面。请举例说明问题和改进方案。

5. 微调/训练模型

  • 数据准备:用上述标注和模板,制作训练数据集,把代码片段和检视目标作为输入,把高质量检视意见作为输出。
  • 训练方法:采用对话式微调(Instruction Tuning)、RLHF(人类反馈强化学习)等方法。
  • 评估指标:人工评审或自动化指标(如覆盖面、深度、准确性)评估 prompt 生成质量。

6. 自动化测试和真实场景验证

  • 生成多样化 prompt,让开发者或模型在实际 Code Review 流程中试用,收集反馈持续优化。
  • A/B 测试对比不同 prompt 在实际代码检视效率和质量上的提升。

7. 持续迭代和知识更新

  • 跟进社区最佳实践和最新安全/规范要求,不断丰富和调整 Prompt 模板。
  • 收集用户反馈,优化 Prompt 生成逻辑。

二、安全隐患专项 Prompt 优化方法

1. 明确安全检视的范围和场景

根据项目类型/技术栈,将如下内容融入 prompt:

  • Web应用:输入校验、XSS、SQL注入、CSRF、认证与授权、敏感信息泄露
  • 后端服务:身份认证、权限控制、敏感信息管理、日志安全
  • 移动端:数据加密、权限申请
  • 云原生:容器安全、依赖安全

2. 给出“安全问题清单”

请重点检查以下安全隐患:
1. 用户输入是否做了有效校验,防止 XSS/SQL 注入等攻击
2. 是否存在敏感信息(如 API 密钥、密码)硬编码或泄露
3. 认证和授权逻辑是否严谨,避免越权访问
4. 是否有充足的异常处理,防止信息泄露
5. 是否正确使用加密算法和安全库
6. 依赖包是否有已知安全漏洞
7. 日志是否包含敏感信息
8. 是否有安全相关的单元测试
9. 其他与当前技术栈相关的安全隐患
请详细说明发现的问题,并给出改进建议。

3. 针对语言/框架定制

Flask 示例:

请以安全专家身份,对以下 Flask 代码进行安全隐患检视,关注如下方面:
- 输入校验与过滤
- 路由权限验证
- 密码与密钥管理
- CSRF 防护
- 日志中的敏感信息
- 依赖库安全性
请指出潜在风险,并提出修复建议。

前端 JS 示例:

请重点检视以下前端 JavaScript 代码的安全隐患,包括:
- 跨站脚本攻击(XSS)
- DOM 操作安全
- 本地存储敏感信息
- 不安全的第三方依赖
- 用户数据暴露
请举例说明风险点和改进方法。

4. 结合高质量安全检视实例优化 Prompt

参考 OWASP Top 10、CWE、各类安全审计报告,不断完善你的 prompt 清单。

5. 安全隐患代码检视 Prompt 通用模板

请以安全审计专家身份,全面检视以下代码的安全隐患,包括但不限于:
- 用户输入校验与过滤
- 敏感信息管理(如密钥、密码、token 等)
- 认证与授权机制
- 加密算法与安全库使用
- 异常处理是否导致信息泄露
- 日志是否包含敏感信息
- 依赖库安全性
- 与业务相关的其他安全风险

请逐条列举发现的问题,说明原因,并给出具体修复建议。如有风险,请结合代码片段举例说明。

三、优秀 Prompt 项目推荐

1. OpenAI Prompt Engineering

2. GitHub 热门 Prompt 项目

3. 其它推荐资源


四、总结与建议

  • 从高质量实例积累、结构化归纳、模板设计、持续迭代入手,训练和优化代码检视 Prompt。
  • 针对安全隐患类,细化安全点、结合项目实际场景、明确输出结构,提升 Prompt 的实用性和专业性。
  • 多参考业界优秀项目,不断调整和完善自己的 Prompt 库。