前言在 AI 辅助编程AI Programming日益普及的今天很多开发者发现AI 写代码很快但写出能用的代码很难。往往是因为我们陷入了“模糊指令”的陷阱。本文将剥离理论概念直接通过对比案例和结构化图表带你掌握基于提示词的 AI 编程核心心法重点解析Google PTCF 框架与AI 编程五要素通用写作框架。1. 什么是提示词工程提示词工程 (Prompt Engineering)并非高深莫测的玄学它的本质是在用户意图与模型能力之间建立一座桥梁。核心认知提示词工程的核心思想与传统软件工程中的需求分析高度相似。传统开发向人类同事描述需求对方有背景知识可以主动追问。AI 编程向对技术极度敏感的大模型描述需求它没有背景知识无法主动追问只能依赖你提供的文字工作。因此输入文本的内容、结构和细节直接决定了模型的推理路径和最终输出。2. 常用技术与 Google PTCF 框架在动手之前我们需要掌握一些基础战术。表1 列出了几种最常用的提示词技术表 1常用提示词技术速查表技术名称核心思想典型示例适用场景零样本提示直接描述任务不提供示例“将下面这段代码的注释翻译为英文”任务明确AI 已有足够训练数据少样本提示提供 2~5 个输入-输出示例先给出 2 个正确的函数命名示例再要求 AI 命名新函数需要固定输出格式或特殊风格思维链提示要求 AI 在给出答案前进行逐步推理“请先分析这段代码的问题所在再给出修复方案”复杂逻辑分析、Bug 诊断角色提示为 AI 设定一个专业身份“你是一位有 10 年经验的 Python 后端工程师”需要特定领域专业知识结构化提示使用 Markdown 标题、代码块等组织信息用## 项目背景## 约束等标题分隔不同信息大多数编程任务在此基础上Google 在其官方指南中提出了更系统的结构化框架——PTCF 框架。它包含四个核心要素角色 (Persona)你希望 AI 以什么身份回答例如“你是一位专注于 Python Web 后端开发的高级工程师...”任务 (Task)你要 AI 完成什么具体动作例如“为用户服务实现一个分页查询接口”上下文 (Context)AI 需要哪些背景信息才能完成任务例如技术栈、数据库表结构、相关代码片段、约束条件格式 (Format)你希望输出什么结构结果例如“只输出代码包含类型注解附带 pytest 测试”3. AI 编程的独特性与挑战虽然 PTCF 是通用框架但在 AI 编程场景中我们需要特别注意以下三点独特性技术上下文的重要性远高于通用场景AI 生成的代码正确性取决于大量隐性技术约束版本兼容性、架构风格、团队规范。没有充分上下文的提示词AI 只能依赖训练数据中的“平均经验”结果往往与实际需求存在偏差。输出的正确性有客观标准与 AI 写文章不同AI 生成的代码有明确的对错之分能不能运行、性能是否达标。这意味着你可以在提示词中给出具体的验收标准让 AI 在输出时进行自我检验。迭代效率比一次完美更重要在实际编程中通常不需要一次得到完美的答案而是需要快速得到一个可以迭代改进的起点。图1 展示了 AI 编程中提示词工程的完整作用链路(注此处展示了从用户模糊想法 - 提示词工程补充上下文/明确目标 - 大语言模型 - 代码采纳/人工审查 - 可用代码的闭环流程)4. 实战核心AI 编程五要素通用写作框架为了将 PTCF 框架落地到具体的代码生成任务中我们总结了一套包含5 个核心要素的通用写作框架。只有当所有要素都被清晰说明时AI 才能真正地“理解”任务而不是“猜测”任务。4.1 五要素详解1. 项目背景 (Project Background)这是最容易被忽视的部分。告诉 AI 当前的项目情况尤其是影响最为显著的部分。技术栈明确版本如 Python 3.12 FastAPI 0.115。项目概况这是什么系统当前模块承担什么职责。相关文件与任务直接相关的类、函数或数据结构定义。2. 需求描述 (Requirement Description)清晰、具体地描述你想要 AI 做什么。避免使用“优化一下”、“写个接口”等笼统表述。错误示范“帮我优化这个查询函数”。正确示范“当前函数存在 N1 查询问题请使用 SQLAlchemy 的selectinload()重写使包含 100 个订单的查询次数降低到 3 次以内”。3. 修改范围 (Modification Scope)明确告知 AI可以修改哪些内容以及哪些不允许改动。这是防止 AI 过度扩展修改范围的关键要素。可以修改order_service.py中的get_orders_with_items()函数。不得修改该函数的输入参数和返回值类型models.py中的任何数据库模型定义不得引入新的第三方依赖。4. 约束边界 (Constraints Boundaries)列出技术或业务上的硬性约束这些是 AI 必须遵守的底线。安全约束禁止字符串拼接 SQL必须使用参数化查询。性能约束接口响应时间 P99 不超过 200ms。编码规范遵循 PEP8使用类型注解函数长度不超过 50 行。业务规则金额计算必须使用 Decimal 类型禁止使用浮点数。5. 验收标准 (Acceptance Criteria)告诉 AI 什么样的输出才算达到要求。好的验收标准有两个特点可以被自动化验证以及覆盖主要的异常场景。功能正确传入 user_id返回该用户的所有订单及其关联订单项。性能要求使用 100 个订单的测试数据数据库查询次数不超过 3 次。空结果处理当 user_id 对应的用户没有订单时返回空列表而非抛出异常。附带单元测试至少覆盖正常情况、空结果和用户不存在 3 种场景。4.2 通用提示词模板将上述 5 个要素组合起来就可以形成一个可复用的 AI 编程提示词模板1## 项目背景 2[技术栈及版本、项目架构概述、相关代码片段] 3 4## 需求描述 5[具体、可客观验证的任务描述] 6 7## 修改范围 8- 可以修改[列举] 9- 不可修改[列举] 10 11## 约束边界 12- [安全约束] 13- [性能约束] 14- [编码规范] 15- [其他约束] 16 17## 验收标准 18- [] [标准 1正常情况] 19- [] [标准 2异常情况] 20- [] [标准 3性能要求] 21- [] [附带测试用例]经验法则判断提示词是否足够完整有一个实用的经验法则把这个提示词交给一位刚加入团队、完全不了解项目的初级工程师他能不能在没有任何额外信息的情况下理解任务、完成实现并写出测试如果可以这个提示词就是足够完整了。