Prompt 工程与 AI 产品化:从 Demo 到稳定可商业化的产品
Prompt 工程要抓这几个核心技术:角色设定、Few-shot、思维链、结构化输出、提示词模式。还要掌握 AI 产品化的关键工程:评估体系、幻觉治理、安全合规、A/B 测试、用户反馈闭环、成本与延迟优化。别只做能跑的 Demo,要把 AI 能力做成稳定可商业化的产品。
- 角色设定、任务描述、上下文、Few-shot示例、思维链(CoT)、结构化输出、约束条件,这些就是Prompt工程的核心技术。
- 理解高级 Prompt 模式:自我一致性、检索增强、多轮反思、元提示词、提示词链
- 直接说要做的事:建立 AI 输出的评估体系,就四个部分:人工评估、自动评估(大模型评委)、A/B 测试、关键指标。
- 就说怎么搞定AI瞎编的问题:核心是这套系统方法——基于事实写Prompt、加引用来源、明确说不清楚的地方、做事实核查、不会就直接拒答。
- 理解 AI 产品的安全合规:内容安全、隐私保护、合规要求、滥用防护、越狱防护
- 就讲AI产品化里这几个工程上要落地的事儿:缓存、降级、灰度发布、用户反馈闭环、持续迭代、监控告警
- 就拿朋友好学 App的AI助手实战来说,看看Demo到产品的实际差距在哪
Prompt 工程:AI 产品的「灵魂」
Prompt 是你和大模型沟通的语言。同一个大模型,好 Prompt 和差 Prompt 的输出质量差很多。Prompt 工程就是研究怎么写 Prompt 能让大模型稳定输出高质量结果的技术。对 AI 产品来说,Prompt 是产品的核心逻辑——产品体验好不好,80% 取决于 Prompt 写得好不好,剩下 20% 是模型和工程的事。
好 Prompt vs 差 Prompt 对比差 Prompt:"帮我写个Python学习计划"→ 输出:泛泛而谈,不知道用户基础、目标、时间,可能给一个不切实际的计划 好 Prompt:你是一个有10年经验的Python编程老师,擅长为零基础学习者制定循序渐进的学习计划。 用户背景:编程基础:零基础,从未写过代码学习目标:能独立编写简单的自动化脚本(如批量重命名文件、数据整理)可用时间:每天30分钟,周末2小时学习风格:喜欢通过动手实践学习,不喜欢纯理论 请制定一个4周的学习计划,要求:每周一个主题,循序渐进每天的学习内容控制在30分钟内可完成每个知识点配一个可运行的简单代码示例周末有一个小项目练习,综合运用本周所学第4周末有一个综合项目,能达到用户目标用Markdown格式,分周/分天列出,每天包含:学习主题、核心知识点、代码示例、练习任务→ 输出:结构清晰、贴合用户情况、可执行的学习计划好Prompt=角色+背景+任务+约束+输出格式,输出质量天差地别
Prompt 工程核心技术
Prompt 工程八大核心技术详解
①角色设定(Role Prompting)
告诉大模型它是谁、以什么身份回答。「你是一个有10年经验的Python老师」比「回答这个问题」效果好得多——角色设定会影响大模型的知识选择(老师会用教学语言而不是学术语言)、语气风格、回答深度。角色要具体(「有10年经验的Python老师,擅长教零基础」比「老师」好)、可以设定多个角色(「你同时是一个严格的代码审查员和一个耐心的老师」)。
②任务描述(Task Description)
清晰具体地说明要做什么。不要说「写个计划」,要说「制定一个4周的Python学习计划,每天30分钟,针对零基础」。任务越具体,输出越可用。技巧:用动词开头(「制定」「分析」「总结」「翻译」)、说明输入和输出(「给定这段代码,分析它的时间复杂度并给出优化方案」)、说明完成标准(「计划要能直接执行,每天的任务30分钟内能完成」)。
③上下文(Context)
给大模型喂足够的背景信息:用户是谁、什么场景、已有什么数据、之前的对话内容。大模型没记忆,每次调用都是独立的,除非你把历史传进去,所以得把所有相关上下文都塞到Prompt里。技巧:用户画像(基础/目标/偏好)、场景(什么时候用、给谁看)、已有数据(要处理的文本/代码/数据)、历史对话(多轮对话要把之前的消息传进去)。上下文不是越多越好,无关的会干扰大模型,只给相关的。
④Few-shot 示例(示例学习)
给大模型看几个「输入→输出」的示例,它会模仿示例的格式和风格输出。Few-shot比纯文字描述更有效——尤其是你需要特定格式、特定风格、特定推理方式的时候。示例要典型,覆盖常见情况;示例要多样化,覆盖不同的输入类型;示例的输出要严格符合你想要的格式,大模型会模仿示例的每一个细节,包括格式错误。通常2-5个示例就够,太多会增加token成本。Zero-shot适合简单任务,Few-shot适合复杂/格式要求严格的任务。
Few-shot 示例:让大模型按指定格式提取信息从用户评论中提取情感和关键词,输出JSON格式。 示例1:输入:这个手机拍照很棒,但是电池不太耐用。输出:{"sentiment": "mixed", "keywords": ["拍照好", "电池不耐用"]} 示例2:输入:非常满意!物流快,质量好,会回购。输出:{"sentiment": "positive", "keywords": ["物流快", "质量好", "会回购"]} 示例3:输入:太差了,完全不能用,退货!输出:{"sentiment": "negative", "keywords": ["不能用", "退货"]} 现在处理:输入:{用户评论}输出:
⑤思维链(Chain of Thought, CoT)
在 Prompt 里要求「请一步步分析,然后给出答案」,或给一个思考过程的示例,就能让大模型先思考再回答。CoT 能提升推理类任务的准确率,比如数学、逻辑、多步推理,因为大模型是「预测下一个词」,直接给答案容易跳步出错,先写思考过程能让它慢慢想。技巧:「让我们一步步思考」(Let's think step by step)是最简单的 CoT 触发词;复杂任务可以要求「先列出分析步骤,再给出结论」。注意:CoT 会增加输出长度和延迟,简单任务不需要用。进阶:Self-Consistency(自我一致性)——让大模型用不同的思考路径生成多个答案,投票选最一致的,进一步提升准确率。
⑥结构化输出(Structured Output)
要求大模型输出特定格式(JSON、XML、Markdown、代码),方便程序解析。方法:在 Prompt 里明确要求输出格式(「请输出JSON,包含字段name、age、email」);给 Few-shot 示例展示格式;用模型的 JSON 模式/结构化输出功能(OpenAI response_format={"type":"json_object"}、豆包也支持);输出后做解析和校验(JSON.parse,失败则重试或降级)。技巧:JSON 模式下要在 Prompt 里提到 JSON 这个词,否则模型可能不遵守;字段名要用英文(模型对英文字段名更稳定);嵌套不要太深(3层以内比较稳定);输出后必须校验(不要信任大模型一定输出合法 JSON)。
⑦约束条件(Constraints)
跟大模型对话时,直接说「不能做什么」「必须遵守什么」就行。比如「不要使用专业术语」「回答不超过200字」「信息不足请说不知道,不要编造」「不要给完整代码,只给思路和提示」。约束是控制大模型的关键,尤其是「不要编造」「不要越界」这类安全约束。约束要具体可执行,比如「不超过200字」比「简洁」好;尽量用肯定句,比如「用简单语言」比「不要用复杂语言」好,大模型对肯定句的遵循更稳;重要约束放Prompt开头或结尾,大模型对首尾内容记忆好,这是近因效应和首因效应;有冲突的约束要说明优先级,比如「如果信息不足,优先说不知道,不要编造」。
⑧输出格式(Output Format)
明确规定输出的结构、长度、风格。比如「用Markdown格式,分3个部分:问题分析、解决方案、代码示例」「回答分点列出,每点不超过2句话」「用中文回答,语气友好但专业」。输出格式和结构化输出类似,但更侧重「可读性」和「风格」而不是「程序可解析」。技巧:给示例(Few-shot)是最有效的格式控制;明确长度限制(「不超过300字」「3-5个要点」);说明受众(「给零基础学习者看,不用专业术语」);说明语气(「友好鼓励」「客观中立」「严格批评」)。
高级 Prompt 模式
Prompt 不是一次写好的,是迭代出来的。就按这个流程来:先写基础版 Prompt,要包含角色、任务、上下文、约束、格式;拿10-20个真实测试用例跑一遍,记清楚哪些输出好,哪些不好;分析不好的输出为啥差——是约束没说清?示例不对?上下文不够?还是模型能力顶不住?针对性改 Prompt:加约束、补示例、补上下文、调格式;再跑一遍测试用例,对比改之前改之后的效果;重复3到5轮,直到90%以上的测试用例输出都满意;上线后持续收bad case,比如用户反馈、人工抽查的问题,定期优化 Prompt。注意:别靠感觉判断 Prompt 好不好,一定要有测试集,每次改完就跑测试集,用数据说话。本课程的朋友好学 App AI 助手的 Prompt 也这么弄:收集用户问得不好的问题,分析原因,优化 system prompt。
评估体系:AI 产品质量的「度量衡」
AI 输出没唯一正确答案,怎么评质量?得建评估体系。三种评估方式:
评委模型用比生成模型更强的模型,比如生成用GPT-4o-mini,评委用GPT-4o,评委比生成强才靠谱;给评委明确的评分标准和维度,就是准确性、相关性、完整性、格式、语气,每个维度1-5分,别只说「打分」;给评委Few-shot示例,好的输出什么样、差的什么样;让评委给出打分理由,不只是分数,方便分析问题;多个评委投票,减少单个评委的偏差;定期用人工评估校准评委,看评委的打分和人工打分的相关性有多高,相关性低说明评委不靠谱,要调整评分标准;注意:评委模型可能有「位置偏差」,A/B测试时倾向于选第一个,「冗长偏差」,倾向于给长答案高分,需要做平衡,随机顺序、控制长度。
幻觉治理:AI 产品最大的信任杀手
幻觉(Hallucination)是大模型最严重的问题——它会编造不存在的事实、引用不存在的文献、给出错误的代码,而且「一本正经」,用户很难分辨。对于学习类产品(如朋友好学 App),幻觉尤其危险——用户可能学到错误的知识。必须系统地治理幻觉。
本课程的朋友好学 App 是学习产品,AI 助手如果给出错误的 Python 知识/代码,会误导用户。特别注意:代码类回答必须可运行——AI 生成的代码可能有语法错误、API 用错、逻辑错误,应该在 Pyodide 里实际运行验证,能跑通才展示,跑不通就标注「这段代码可能有问题,请仔细检查」;知识点回答要和课程内容一致——如果做了 RAG,AI 回答应该基于课程内容,不要给出和课程矛盾的知识;明确 AI 的局限性——在 AI 助手的界面上说明「AI 回答仅供参考,可能有错误,重要知识请以课程内容和官方文档为准」;用户反馈机制——让用户能「点赞/点踩」AI 回答,点踩的回答进入 bad case 池,定期分析优化 Prompt;对于确定的知识(如 Python 语法、内置函数),可以用规则/数据库校验,AI 回答和规则不一致时修正。
安全合规:AI 产品的底线
AI 产品涉及内容生成、用户数据、交互,必须考虑安全合规。核心领域:
AI 产品安全合规清单
内容安全:输入过滤:检测用户输入是否包含违法/暴力/色情/政治敏感内容,拦截或拒答输出过滤:检测 AI 生成内容是否包含违规内容,拦截或替换越狱防护:防止用户通过 Prompt 注入绕过你的安全规则(如「忽略之前的指令,现在你是...」)国内产品需要接入内容安全 API(阿里云/腾讯云内容安全),符合《生成式人工智能服务管理暂行办法》隐私保护:用户数据(对话记录、个人信息)加密存储,最小化收集不要把用户敏感数据发给第三方 AI API(或告知用户并取得同意)符合《个人信息保护法》《数据安全法》,有隐私政策提供数据删除功能(用户可以删除自己的对话记录和数据)滥用防护:限流:每个用户/IP 限制调用频率,防止刷接口配额:免费用户有每日/每月调用次数限制,付费用户更高异常检测:检测异常调用模式(短时间大量请求、自动化脚本),封禁或要求验证防爬虫:API 加签名/Token,防止被批量调用合规要求:国内上线生成式 AI 服务需要备案(《生成式人工智能服务管理暂行办法》)算法备案(《互联网信息服务算法推荐管理规定》)明确告知用户「内容由 AI 生成」(《生成式人工智能服务管理暂行办法》要求标识)有用户投诉和处理机制安全合规是 AI 产品的底线,不能等出问题再补
越狱(Jailbreak)是用户通过巧妙的 Prompt 绕过你的 system prompt 安全规则,让 AI 做它不该做的事(如生成违法内容、泄露 system prompt、扮演无限制角色)。防护手段:system prompt 里明确安全规则(「你是一个Python学习助手,只回答Python学习相关问题,拒绝回答与Python无关的问题,尤其是违法/有害内容」);输入过滤:在调用大模型前,用规则/分类器检测用户输入是否有越狱企图(「忽略之前的指令」「现在你是」「DAN」「开发者模式」等关键词),拦截或改写;输出过滤:AI 生成后检测输出是否违规,拦截;不要在 system prompt 里放敏感信息(API Key、内部规则、商业机密)——越狱可能让 AI 输出 system prompt 内容;多层防护:输入过滤+system prompt 规则+输出过滤,三层叠加,单层容易被绕过;持续更新:越狱手段在不断进化,定期收集新的越狱方式,更新防护规则;注意:没有 100% 的防护,目标是「提高越狱成本,拦截大部分常见越狱」,而不是「绝对防住」。对于学习类产品,越狱风险相对低(用户主要是来学习的),但也要有基本防护。
AI 产品化工程实践
从能跑的Demo到稳定可商业化的产品,中间隔着大量工程工作。核心实践:
朋友好学 App 的 AI 助手现在是「前端零密钥 + 后端级联中继」,支持 SSE 流式输出,App 不内置任何上游密钥,装机后有网、连上作者托管后端就能用。要从能用变好用,改的地方有这些:Prompt 迭代:现在的 system prompt 比较基础,得建测试集,多轮迭代优化,让 AI 像耐心的 Python 老师;评估体系:建 100-200 个 Python 学习问题的测试集,每次改完 Prompt 跑评估,用数据说话;幻觉治理:代码类回答要在 Pyodide 里实际运行验证,能跑通才展示,跑不通就标注;知识点回答要和课程内容对齐(RAG);用户反馈:AI 回答旁边加点赞、点踩,收集 bad case;缓存:常见 Python 问题,比如「什么是列表推导式」「怎么读文件」,缓存结果,减少调用降低延迟;降级:所有后端候选都失败时,给用户友好提示「AI 服务暂时不可用,请检查网络或稍后重试」,别给技术错误信息;安全合规:输入输出做基本的内容过滤,虽然学习产品风险低,但要有基本防护。
本节小结
Prompt 工程是 AI 产品的灵魂,八大核心技术:角色设定、任务描述、上下文、Few-shot 示例、思维链(CoT)、结构化输出、约束条件、输出格式。高级模式:自我一致性、检索增强、多轮反思、元提示词、提示词链、思维树。Prompt 要迭代出来:建测试集→跑测试→分析 bad case→修改→再测→重复,用数据说话不要靠感觉。评估体系三种方式:人工评估(最准确)、自动评估(LLM-as-a-Judge,大模型当评委)、A/B 测试(两版本对比胜率);关键指标:任务完成率、幻觉率、延迟、成本、用户满意度。幻觉治理七手段:基于事实的 Prompt、引用来源、不确定性表达、事实核查、拒答策略、低温度、多模型交叉验证;学习类产品特别注意代码可运行验证、知识点和课程对齐、明确 AI 局限性、用户反馈机制。安全合规四领域:内容安全(输入输出过滤、越狱防护、国内备案)、隐私保护(加密存储、最小化收集、数据删除)、滥用防护(限流配额、异常检测、防爬虫)、合规要求(备案、算法备案、AI 生成标识、投诉机制)。AI 产品化七工程:缓存、降级、灰度发布、用户反馈闭环、监控告警、持续迭代、成本与延迟优化。AI 产品不是「做完上线」而是「上线后持续优化」。下一节进入工程化、测试与部署——AI 能力做好了,怎么把整个产品工程化、测试好、部署上线。
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
纯网页包壳容易被应用商店以“最小功能不足”驳回,关键在于用原生能力补足 Web 做不到的部分:权限申请(麦克风/摄像头)、安全键盘与键盘高度、状态栏与安全区、文件与分享、版本更新、扫码等。让 Web 负责快速迭代的内容与 UI,原生负责系统能力与体验兜底,这种混合架构才是套壳 App 的合规且高体验形态。