AI编程提示词框架深度对比:CRISPE、BROKE、RTF实战指南 📅 2026/7/22 6:02:10 1. 项目概述从“会用”到“精通”的AI编程之路最近和不少刚入行或者想转行的朋友聊天发现大家对“AI编程”的热情空前高涨但普遍卡在了一个尴尬的阶段知道ChatGPT、Copilot这些工具很厉害也尝试着问过一些问题但总感觉用起来不顺手写出来的代码要么跑不通要么离自己的真实需求差很远。这感觉就像拿到了一把瑞士军刀却只会用它来拧螺丝完全没发挥出它的威力。问题的核心往往不在于工具本身而在于我们与AI沟通的方式——也就是“提示词”Prompt。“如何学好AI编程”这个标题背后指向的绝不仅仅是学会调用某个API或者使用某个插件。它本质上是一门关于如何与大型语言模型LLM高效协作以解决复杂编程问题的“元技能”。而“AI提示词框架深度对比分析”则是掌握这门技能的关键钥匙。市面上流传着各种各样的提示词框架比如CRISPE、BROKE、RTF还有各种角色扮演Role Play模板新手很容易看花了眼不知道哪个适合自己。今天我就结合自己从磕磕绊绊到流畅协作的实战经验来一次彻底的梳理和对比帮你找到最适合你当前阶段的“沟通心法”。这篇文章适合所有希望提升编程效率的开发者无论你是前端、后端、算法还是运维。我们将不局限于某个特定的AI编程软件如Copilot、Cursor、Claude Code而是聚焦于底层的方法论。掌握了这些框架你就能在任何支持代码生成的AI工具上游刃有余。接下来我会先带你理解为什么需要框架然后拆解几个主流框架的核心逻辑与适用场景最后分享一套我日常工作中融合了多个框架优点的“组合拳”实操流程。2. 核心思路为什么需要提示词框架很多人的第一个误区是把AI编程工具当成一个更智能的搜索引擎。你输入一句“用Python写个爬虫”然后指望它吐出一个完美无缺、直接能部署的脚本。结果往往令人失望生成的代码可能缺少关键库的导入错误处理一片空白或者逻辑完全不符合你的业务场景。这是因为当前的LLM本质上是“下一个词预测器”它根据你的输入提示词的上下文来推测你最可能想要什么。如果你的输入模糊、歧义、缺乏上下文它的输出自然也就随机、笼统、不实用。提示词框架的作用就是为这种沟通建立一个结构化的“协议”或“模板”。它强制你以更清晰、更完整、更机器可理解的方式来表述你的问题。这就像你和同事协作开发如果你只说“做个用户登录”那结果可能千差万别。但如果你提供一份详细的需求文档PRD包含功能描述、输入输出、边界条件、异常处理等协作效率和结果质量就会大幅提升。提示词框架就是写给AI的“需求文档模板”。一个好的框架通常包含以下几个关键维度角色与背景Role Context明确AI在这次交互中扮演什么角色例如资深Python后端专家、经验丰富的React前端架构师。这能激活模型内部与该角色相关的知识模式和表达风格。任务目标Task清晰、无歧义地定义你要它做什么。避免使用“帮我弄一下”、“优化代码”这类模糊词汇。约束与要求Constraints设定边界条件比如必须使用某个库、遵循某种代码规范PEP 8、不能使用某些已被弃用的函数、性能要求、安全性要求等。输入与输出格式Input/Output Format如果你有特定的输入数据样例或者希望输出以某种结构如JSON、Markdown表格、带注释的代码块呈现需要明确说明。评估标准Evaluation告诉AI你如何判断它的输出是否成功。例如“代码必须通过所有单元测试”、“函数的时间复杂度应低于O(n log n)”。通过框架来组织你的思考不仅能得到更好的AI输出更能反向训练你自己的问题拆解能力。接下来我们深入对比几个在实践中被广泛提及和验证的提示词框架。3. 主流提示词框架深度横评网上流传的框架很多但经过大量实践我认为以下几个最具代表性和实用性。我们将从核心思想、结构模板、最佳适用场景、优缺点四个维度进行对比。3.1 CRISPE 框架清晰严谨的“需求说明书”CRISPE 是一个字母缩写代表了六个维度它是最早被系统总结的框架之一结构非常清晰。核心思想将一次复杂的AI请求分解为六个按顺序填写的部分确保信息完整。结构模板C - Capacity and Role (能力与角色)你希望AI扮演什么角色R - Insight (背景洞察)提供相关的背景信息、上下文。I - Statement (任务陈述)清晰、具体地说明你要它做什么。S - Personality (风格个性)希望AI以何种风格回应如简洁、详细、幽默、严谨。P - Experiment (尝试)鼓励AI提出多种方案或尝试不同方法。E - Evaluation (评估)提供评估输出质量的标准。实战示例角色你是一位精通Python Pandas和性能优化的数据工程师。 背景我有一个包含100万行、20列的CSV文件sales_data.csv列包括date,product_id,quantity,price。我需要在内存有限的个人电脑上16GB RAM快速计算每个产品的月度总销售额。 任务请编写一个高效、内存友好的Python脚本来完成这个计算并将结果输出为一个新的CSV文件monthly_sales.csv包含year_month和total_sales两列。 风格请提供详细的代码注释并解释关键步骤为何能节省内存。 尝试可以考虑使用dask库或pandas的chunksize参数请分析两种方案的优劣并提供代码。 评估代码应能在我描述的硬件环境下顺利运行且处理时间应明显优于一次性将整个文件读入DataFrame。最佳适用场景当你面对一个定义明确但相对复杂、需要多步骤思考的任务时CRISPE是绝佳选择。例如设计一个数据库Schema、编写一个包含错误处理和日志的完整函数、进行代码重构方案设计。优点结构极度清晰强迫思考全面特别适合用于生成复杂、高质量的“一次性”输出如设计方案、完整脚本。缺点略显冗长对于非常简单的快速查询如“Python里怎么反转字符串”显得杀鸡用牛刀。其中的“Personality”和“Experiment”部分有时并非必需。3.2 BROKE 框架聚焦问题解决的“诊断书”BROKE 框架更像是一个问题解决导向的清单尤其适合调试、代码审查和优化场景。核心思想围绕一个具体的“问题”Bug或缺陷引导AI进行系统性分析。结构模板B - Background (背景)问题发生的环境、相关代码、错误信息。R - Request (诉求)你希望AI具体帮你做什么定位问题、修复问题、解释原因。O - Output (输出)你期望的输出格式修复后的代码、问题根因分析、优化建议列表。K - Key Constraints (关键约束)必须遵守的条件如不能改变API接口、必须保持向后兼容。E - Examples (示例)提供输入/输出的正反面例子帮助AI理解边界。实战示例背景我在使用FastAPI开发一个用户注册接口。当并发请求量稍大时偶尔会出现IntegrityError: duplicate key value violates unique constraint users_email_key错误。我的数据库是PostgreSQL使用了SQLAlchemy ORM。核心代码如下简化app.post(/register) async def register(user: UserCreate, db: Session Depends(get_db)): db_user crud.get_user_by_email(db, emailuser.email) if db_user: raise HTTPException(...) # 用户已存在 new_user crud.create_user(db, user) # 这里偶尔报错 return new_user诉求请帮我分析这个并发问题的根本原因并提供至少两种可靠的解决方案。 输出首先用通俗语言解释问题成因然后以代码块形式分别给出两种解决方案的完整实现并对比它们的优缺点。 关键约束必须保持API接口不变解决方案要考虑生产环境部署的可行性。 示例在单元测试中我模拟了10个线程同时用同一个邮箱调用此接口大约有3次会触发此错误。最佳适用场景代码调试、性能瓶颈分析、安全漏洞排查、理解复杂错误。当你遇到一个令人头疼的Bug时用BROKE框架组织你的提问AI往往能给出直击要害的分析。优点问题导向结构紧凑特别适合迭代式对话。你可以基于AI的第一次回答继续用BROKE框架深入追问。缺点对于开创性、无明确“问题”的任务如“给我一个创业点子”支持较弱。高度依赖你提供的背景和示例的准确性。3.3 RTF 框架高效迭代的“敏捷开发流程”RTF 是我个人非常偏爱的一个框架它特别符合程序员与AI协作的天然节奏定义、执行、改进。核心思想将交互过程模拟为一个极简的软件开发循环Role角色 - Task任务 - Format格式。结构模板R - Role (角色)指定AI角色。T - Task (任务)给出具体任务。F - Format (格式)明确要求输出的格式。实战示例角色你是一个React hooks和性能优化专家。 任务我有一个显示用户列表的组件UserList当前使用useEffect和useState来获取和存储数据。请将其重构为使用useSWR库进行数据获取并添加错误处理和加载状态显示。 格式请提供重构后的完整函数组件代码使用TypeScript。在代码后用列表形式说明此次重构带来的三个主要好处。最佳适用场景日常编码任务尤其是那些你已明确知道要做什么但希望AI高效生成代码或进行代码转换的场景。例如语法转换Python to JavaScript、库的迁移从Requests到aiohttp、代码风格统一。优点极其简洁高效几乎没有冗余信息适合快速来回的对话。在配备了Copilot或Cursor这类IDE插件的环境中用RTF进行连续对话体验非常流畅。缺点对任务的清晰度要求极高。如果任务本身定义模糊例如“优化我的网站”AI的输出也会很模糊。它缺乏CRISPE中的背景和约束也缺乏BROKE中的问题深度。3.4 角色扮演Role Play与思维链CoT高阶技巧除了上述结构化框架还有两种强大的“非框架”技巧常被结合使用。角色扮演Role Play这其实是所有框架中“Role”部分的强化版。你可以给AI一个非常具体、细致的角色描述这能极大提升输出质量。“假设你是Google的资深SRE工程师拥有15年处理大规模分布式系统故障的经验。你擅长从监控指标、日志和系统架构图中快速定位瓶颈。你的沟通风格冷静、精准喜欢用比喻来解释复杂问题。现在请以这个身份来帮助我...”这种设定能激活模型更深层次的专业语料库给出的建议往往更具实操性和行业洞察。思维链Chain-of-Thought, CoT简单说就是要求AI“把思考过程说出来”。这对于解决逻辑推理、数学计算或复杂决策问题至关重要。你可以在提示词中直接要求“请一步步推理展示你的思考过程。”“我的程序有一个函数输入一个整数列表需要找出其中三个数它们的和最接近给定的目标值。请先不要直接写代码而是用中文一步步分析你会采用什么算法为什么并估算时间复杂度和空间复杂度。”这样做有两个好处一是你可以检查AI的逻辑是否正确二是如果结果有误你能更容易定位是推理的哪一步出了问题便于后续纠正。为了更直观地对比我将上述框架的核心特点总结如下表框架名称核心焦点最佳场景优点缺点一句话总结CRISPE完整性复杂方案设计、完整脚本编写结构全面输出质量高需求描述清晰冗长不适合简单查询写给AI的“详细设计文档”BROKE问题解决代码调试、错误分析、性能优化问题导向分析深入适合迭代对话依赖准确的背景输入创造性弱针对Bug的“诊断与处方”RTF执行效率日常编码、语法转换、代码重构简洁高效对话流畅学习成本低对任务明确性要求极高与AI的“敏捷开发对话”角色扮演专业性需要深度领域知识的任务输出极具专业性和洞察力角色描述需要精心设计召唤一个“领域专家”思维链可解释性逻辑推理、算法设计、数学问题过程透明便于验证和纠错会显著增加输出长度让AI“把作业本给你看”4. 我的融合实战流程从需求到代码的“组合拳”在实际工作中我不会僵化地只用某一个框架而是根据任务阶段灵活组合使用它们。下面我以一个真实的后端API开发任务为例展示我的完整工作流。任务为一个内部内容管理系统开发一个“文章发布”的RESTful API端点。4.1 第一阶段需求澄清与架构设计使用CRISPE角色扮演一开始我可能只有一个模糊的想法。我会用强化版CRISPE来启动。角色你是一位经验丰富的后端架构师精通FastAPI、SQLAlchemy和Pydantic对RESTful API设计、数据库事务和数据验证有深刻理解。背景我们正在开发一个内部CMS需要一个新的API端点来发布文章。文章数据来自前端表单包含标题、内容、摘要、作者ID、分类ID列表以及一个封面图URL。系统已有用户表和分类表。任务请为我设计这个POST /articles端点的完整实现方案。需要包括数据模型定义SQLAlchemy Pydantic、API路由函数、核心业务逻辑如数据验证、关联处理、基本的错误处理。考虑到文章可能有多个分类请妥善处理多对多关系。风格方案描述请清晰、结构化关键决策请解释理由。尝试请考虑两种事务处理边界1在同一个事务中处理文章创建和分类关联2先创建文章再异步处理分类关联。分析其优劣。评估方案应遵循FastAPI最佳实践代码具备良好的可读性和可维护性能正确处理并发创建可能带来的唯一性约束问题。这个提示词会引导AI输出一个非常详细的设计草案包括可能的ArticleModel、ArticleCreateSchema、以及路由函数的伪代码。它帮我理清了核心实体和关系。4.2 第二阶段代码实现与填充使用RTF拿到设计草案后我需要具体的代码。这时切换到高效的RTF模式。角色基于刚才我们讨论的后端架构师角色。任务根据刚才的设计编写完整的FastAPI路由函数create_article。请使用SQLAlchemy的异步会话实现“在同一个事务中处理文章和分类关联”的方案。需要包含依赖注入获取数据库会话、使用Pydantic模型验证输入数据、处理分类ID列表到分类对象的查询与关联、完整的try-except错误处理包括回滚、并返回创建成功的文章数据。格式提供一个完整的app/api/endpoints/articles.py文件中的代码块。关键复杂处需添加注释。AI会生成一份相当可用的代码初稿。但其中可能有一些细节需要调整比如特定的导入方式、公司内部的工具函数名等。4.3 第三阶段调试与优化使用BROKE假设我在集成测试时发现当传入不存在的分类ID时程序没有给出友好的错误提示而是可能因为外键约束导致数据库错误。这时我用BROKE框架来精准解决这个问题。背景在create_article函数中category_ids列表可能包含数据库中不存在的分类ID。当前代码直接使用db.query(Category).filter(Category.id.in_(category_ids)).all()查询如果部分ID不存在这些ID会被静默忽略文章会与存在的分类关联但用户不知道哪些ID无效。诉求修改逻辑实现“全有或全无”的验证。即如果category_ids中任何一个ID在数据库中不存在则整个请求失败并返回一个清晰的错误信息指明哪些ID无效。输出提供修改后的代码片段并解释修改后的逻辑。关键约束保持API的响应格式一致错误信息应清晰且符合HTTP状态码规范例如使用422。示例输入category_ids: [1, 2, 99]假设ID 99不存在期望返回{detail: Invalid category IDs: [99]}状态码422。通过这样一轮对话AI能给出一个添加了预查询和验证的优化版本。4.4 第四阶段复杂逻辑推理使用思维链最后我可能想对某个算法细节进行优化比如“如何高效地验证大量ID是否存在而不造成N1查询问题”。“在刚才的验证场景中如果category_ids列表很长比如上百个我们如何优化验证查询避免性能问题请一步步推理1. 直接使用in_查询的优缺点2. 是否存在更好的方法比如使用临时表或批量查询结合集合操作3. 请给出你认为最优方案的伪代码和复杂度分析。”要求AI展示思维链我可以评估其建议的合理性并吸收其思路最终写出更优质的代码。这个“CRISPE设计 - RTF实现 - BROKE调试 - CoT优化”的组合流程覆盖了从需求到交付的完整闭环让我与AI的协作既系统又高效。5. 常见“踩坑”点与进阶技巧掌握了框架还要避开常见的陷阱并学会一些高阶技巧才能真正成为AI编程的高手。5.1 新手常犯的五个错误提示词过于简短模糊这是万恶之源。“写个登录功能”这种提示词得到的代码必然漏洞百出。务必使用框架来扩展细节。忽视上下文长度限制AI有上下文窗口限制如128K。在长对话中如果你不断提出新问题而不清理历史最早的关键信息如系统设定、角色定义可能会被“遗忘”导致后续回答质量下降。对于超长任务要有意识地在关键节点上“重述”或“总结”核心约束。把AI的输出当真理AI会“幻觉”Hallucinate即生成看似合理但完全错误的信息比如编造一个不存在的库函数。永远要对AI生成的代码进行审查、测试和验证尤其是涉及安全、资金和核心逻辑的部分。一次问太多事一个提示词里要求AI同时完成“设计数据库”、“编写API”、“创建前端页面”结果往往每一项都做不好。遵循“单一职责原则”一个提示词聚焦一个明确的任务。不进行迭代很少有人能一次就写出完美的提示词。把与AI的对话看作迭代开发过程。根据第一次的输出调整你的提示词比如补充约束、修正方向、要求更具体。5.2 让AI成为“结对编程”伙伴的进阶技巧提供示例Few-Shot Learning这是提升效果的大杀器。如果你想要某种特定格式的代码直接给AI看一两个例子。例如如果你公司有特定的API响应包装格式先给它看一个成功和失败的响应例子它后续生成的代码就会遵循这个格式。使用“系统提示词”System Prompt许多AI编程工具如Cursor允许你设置持久的“系统提示词”这相当于给AI一个长期的角色和规则设定。你可以在这里设定全局角色、代码风格“使用Black格式化”、禁止事项“不要使用print调试请用日志”。分步骤引导对于极其复杂的任务不要指望一步到位。将其分解为多个子任务一步步引导AI完成。例如“第一步请分析这个需求列出需要的数据表和字段。第二步根据第一步的输出设计SQLAlchemy模型。第三步编写创建这些表的Alembic迁移脚本。”利用AI阅读和理解现有代码将你的代码库或错误日志粘贴给AI让它帮你解释、总结或找出问题。提示词可以是“这是我项目models.py的部分代码请用通俗的语言总结一下主要的数据模型及其关系。”或者“这是我从服务器日志中截取的错误堆栈请帮我分析可能的原因。”5.3 工具链整合提示词框架在IDE中的实践理论最终要落地到工具。以目前最流行的AI编程IDE之一Cursor为例你可以这样整合我们的框架设置强大的系统提示词在Cursor的设置中填入一个综合性的角色定义和基础规则这相当于一个常驻的“CRISPE角色层”。使用引用上下文Cursor允许你用引用当前文件或其他文件。在编写提示词时你可以写“参考schemas.py中UserCreate的格式为文章创建一个创建用的Pydantic模型ArticleCreate。”这完美提供了BROKE框架中的“背景”。进行迭代式聊天在Chat面板中按照RTF或BROKE的格式进行快速对话。例如选中一段代码然后提问角色任务格式“作为代码审查专家请优化我选中的这段循环提高其可读性。输出修改后的代码并说明理由。”使用“/”命令快速生成对于非常模式化的任务如创建测试、生成文档字符串可以直接使用Cursor内置的/test、/doc命令这些命令背后其实就是预置好的优质提示词框架。学好AI编程本质上是学习一种新的、与智能体协作的思维模式。提示词框架是这种思维模式的结构化表达。它没有唯一的标准答案CRISPE、BROKE、RTF各有其适用的战场。我的建议是从RTF开始练习因为它最简单能让你快速获得正反馈然后引入BROKE来提升你解决问题的能力在需要设计复杂方案时尝试使用完整的CRISPE最后在所有交互中有意识地运用角色扮演和思维链来提升输出质量。最重要的不是记住框架的名字而是理解其背后的原则清晰、具体、有上下文、可迭代。开始时可能会觉得写提示词比写代码还累但一旦形成肌肉记忆你会发现它带来的效率提升是惊人的。你将不再是一个人在编程而是始终与一个不知疲倦、知识渊博的专家伙伴进行着高效的“结对编程”。