人人都会AI编程

4.2.1 高质量代码生成的描述公式

更新时间:2026-06-30

要让 AI 生成可直接落地、无需大幅修改的代码,关键在于把“需求描述”从模糊的一句话拆成五个确定要素。我们将其总结为一个可直接套用的公式:

高质量代码提示 = 角色定位 + 具体任务 + 上下文信息 + 约束条件 + 输出要求

下面按要素说明,并给出真实可用的模板。


五个要素说明

| 要素 | 作用 | 真实示例 |
|------|------|----------|
| 1. 角色定位 | 设定代码风格与专业深度 | “你是一位有 8 年经验的 Python 后端工程师,习惯写防御式代码和完整注释。” |
| 2. 具体任务 | 用动词开头,明确要做什么 | “编写一个函数,将用户上传的 CSV 文件解析为 Pandas DataFrame,并自动检测日期列。” |
| 3. 上下文信息 | 提供现有环境,避免 AI 假设错误依赖 | “项目使用 Python 3.9,Pandas 1.5,不允许使用 eval。该函数将被 views.py 中的上传接口调用。” |
| 4. 约束条件 | 划定边界:性能、安全、异常、依赖 | “文件大小不超过 50MB;空值用 NaN 表示;必须处理编码错误(utf-8 失败时回退到 gbk)。” |
| 5. 输出要求 | 规定代码格式和附带内容 | “只输出代码块和简短的使用说明,不需要逐步解释思路。代码需包含类型注解。” |


直接复用模板

角色:你是一位经验丰富的 [语言/领域] 工程师,[补充风格要求]。

任务:请编写 [具体功能],用于 [使用场景]。

上下文:
- 运行环境:[语言版本 / 框架版本]
- 现有依赖:[已安装的库 / 已有代码结构]
- 调用方式:[如何被调用]

约束:
- 必须处理:[异常/边界情况]
- 禁止使用:[特定方法或库]
- 性能/安全要求:[具体指标]

输出:
- 代码格式:[如:带类型注解、符合 PEP8]
- 附带内容:[如:单元测试 / 使用示例 / 复杂度分析]
- 排除内容:[如:不要解释思路,不要 apologizing]

对比示例

低效描述(会得到通用玩具代码):

“帮我写一个读取 CSV 的代码。”

高效描述(会得到接近生产环境的代码):

角色:你是一位资深 Python 数据工程师,注重异常处理和内存效率。
任务:编写一个生成器函数 stream_csv_rows,逐行读取大 CSV 文件并返回字典。
上下文:运行环境 Python 3.10,仅使用标准库 csv,不允许用 Pandas。将在 2GB 内存容器中调用。
约束:文件可能含 BOM;遇到无法解码字符时跳过该行并记录日志;首行缺失标题时抛出 ValueError。
输出:提供完整可运行代码(含类型注解),附一个使用示例,不要输出逐步思考过程。


三条实用建议

  1. 约束宁多勿少

AI 默认倾向于“最大兼容的通用解”。你把异常处理、边界条件、禁用方案明确写出来,代码才会贴近真实业务。

  1. 上下文控制在 3–5 条

给出关键依赖和调用环境即可。超过 500 字的无关联背景反而会让模型抓不住重点。

  1. 复杂需求分两步走

如果逻辑复杂,先让 AI 输出接口定义(函数签名 + 参数说明),你确认后再要求实现细节。这比一次性堆砌 10 个要求效果更好,也能减少返工。