人人都会AI编程

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

更新时间:2026-06-29

在利用大语言模型生成代码时,输出的质量高度依赖你给出的描述(Prompt)是否精准。
经过大量真实任务验证,可提炼出一条实用、可复现的描述公式:

高质量代码 = 清晰上下文 + 明确任务 + 技术约束 + 输入输出示例 + 边界情况处理

这五要素构成一条“黄金模板”,能显著提升代码的可用性与准确率。下面逐一拆解。

1. 清晰上下文

告诉模型当前处在什么项目、什么语言及环境里,避免它“凭空想象”。

  • 必须包含:编程语言、框架及版本(如 Python 3.11 + FastAPI 0.100
  • 可选包含:文件结构、已有的类/函数名、依赖库

2. 明确任务

用一句话精确描述你要实现的功能,杜绝模糊词汇。

  • ❌ “写个处理的函数”
  • ✅ “实现一个函数,读取 CSV 文件并将其中的 date 列从 YYYYMMDD 转为 YYYY-MM-DD 格式”

3. 技术约束

明确对代码风格、设计模式、性能、安全等方面的硬性要求。

  • 示例:“遵循 PEP8 规范,使用类型注解;时间复杂度不超过 O(n);所有外部调用需带超时重试。”

4. 输入输出示例

给出具体的输入、输出样例(配合函数签名效果更佳),让模型准确理解数据结构和边界。

  • 示例:
  输入:{"data": [1,2,3]}
  输出:{"sum": 6, "avg": 2.0}
  

5. 边界情况处理

要求代码主动应对空值、异常、非法输入等情况,避免生成“只走 happy path”的脆弱代码。

  • 示例:“如果输入列表为空,返回 sum=0, avg=None;如果元素非数字,抛出 ValueError 并携带报错元素索引。”

公式应用对比

❌ 一般描述(低质量 Prompt)

“帮我写一个 Python 程序,处理 list 里的数字并返回结果。”

生成结果可能:代码仅做了简单求和,无类型检查,函数名随意,易崩溃。

✅ 套用公式的描述

【上下文】 Python 3.11 环境,仅用标准库
【任务】 实现函数 calculate_stats(values: list) -> dict,计算列表数字的总和、平均值、最大值
【技术约束】 必须使用类型注解;时间复杂度 O(n);PEP8 风格
【输入输出示例】
输入:[1, 2, 3] → 输出:{"sum": 6, "avg": 2.0, "max": 3}
【边界处理】
- 空列表返回 {"sum": 0, "avg": None, "max": None}
- 数组包含非数字元素时,抛出 ValueError("Invalid element at index X")

生成结果:更健壮、可直接集成进项目的代码,甚至自带文档字符串。


小结

五要素描述公式并非“魔法咒语”,而是将无形需求结构化的工具。
无论你用的是 GPT-4、Claude 还是本地开源模型,输入质量决定了输出上限。将这一公式固化到日常开发流程中,能让你每次代码生成的“返工率”大幅下降,交付速度成倍提升。