吴恩达AI应用中的Prompt工程核心原理与实践方法

21 阅读11分钟

前言

随着大语言模型技术的快速普及,AI应用开发不再局限于复杂的算法编程,Prompt工程逐渐成为普通人与开发者落地AI场景的核心能力。作为人工智能领域的权威学者,吴恩达在AI应用课程中系统梳理了Prompt设计的核心逻辑、基础架构与落地规则,打破了大众对“Prompt只是简单提问”的认知误区。优质的Prompt能够精准调动大模型能力,规范模型输出结果,大幅提升AI交互与应用开发的效率。本文将围绕吴恩达提出的Prompt核心原则、五大构建模块、核心函数用法及实操规则,系统拆解AI应用中Prompt的设计逻辑与实践技巧,为高效使用大模型、开发轻量化AI应用提供理论与实操支撑。

一、Prompt设计的核心基本原则

吴恩达在课程中明确提出,优质Prompt的核心底层逻辑是清晰详细的指令表达标准化的输出约束,这两大原则是所有Prompt设计的基础,贯穿各类AI应用场景。

首先,清晰且详细的Prompt是精准获取模型响应的前提。大语言模型不具备主动揣测人类意图的能力,模糊、简短、表意模糊的指令,极易导致输出内容偏离需求、逻辑混乱、内容空洞。而清晰的指令能够明确任务核心目的,让模型锁定主题、减少错误;详细的指令则为模型提供充足的上下文信息,填补信息差,避免模型因信息缺失产生无效输出。在实操中,清晰意味着指令目标明确,杜绝歧义;详细则代表补充场景、要求、范围、风格等关键信息,让模型的输出有明确依据。

其次,约束模型输出结构,优先指定JSON格式返回。在AI应用开发中,无序的文本输出难以被程序读取、调用和二次开发,而JSON格式结构规整、层级清晰、适配各类代码接口。吴恩达重点强调,面向工程化、落地化的AI Prompt,必须主动约束输出格式,强制模型返回结构化数据,这是实现AI自动化、模块化应用的关键,也是区分普通对话Prompt与工程级Prompt的核心标准。

二、Prompt的五大核心构建模块

吴恩达总结的Prompt五大构建模块,是标准化、高质量Prompt的通用框架,适配文本总结、内容创作、数据提取、智能问答等绝大多数AI场景,是Prompt工程的核心骨架。五大模块相辅相成,缺一不可,能够系统性提升指令的完整性与有效性。

  • 第一,任务定义模块。明确告知模型需要完成的核心任务,比如总结、翻译、改写、分类、数据分析等,杜绝任务模糊,让模型精准定位工作方向。

  • 第二,上下文信息模块。补充任务相关的背景资料、原始文本、场景场景、适用范围等核心信息,为模型输出提供素材支撑,避免内容空洞。

  • 第三,输出要求模块。包含输出字数、风格、语气、角度、侧重点等细节要求,规范输出内容的质量与形态。

  • 第四,格式约束模块。指定输出结构,如段落式、分点式、JSON结构化数据等,适配人工阅读或程序调用需求。

  • 第五,纠错优化模块。提前规避模型常见问题,比如禁止冗余废话、禁止偏离主题、保证内容真实准确,进一步提升输出精度。

五大构建模块的核心价值,是将随意的自然语言提问,转化为标准化、工程化的指令,彻底解决大模型输出随机性强、质量不稳定的问题,让AI输出结果可复用、可迭代、可落地。

三、get_response核心函数的应用优势

在AI应用开发中,Prompt并非单纯的人工对话指令,而是可以通过代码函数封装、批量调用的工具,吴恩达重点讲解的get_response函数,是连接Prompt与大模型API的核心载体,大幅提升了Prompt的复用性与灵活性。

该函数最核心的优势是参数默认值优化设计,这一语法特性让函数适配多场景使用,无需每次调用都重复配置基础参数,实现了简便、高效、灵活的开发需求。从API调用逻辑来看,大模型接口主要分为两类,

  • 一是基础的completions完成接口,核心参数为自定义prompt指令,适用于单轮简单任务;

  • 二是chat.completions对话接口,适配多轮对话场景,通过结构化消息列表实现连续交互。

chat.completions接口的消息模板是Prompt工程的关键实操要点,消息列表包含四大角色内容:

  • system系统指令,用于定义模型身份、工作规则、输出标准
  • user用户首轮提问,输入核心Prompt与任务需求
  • assistant模型历史回复,用于承接多轮对话上下文
  • user二次提问,用于补充需求、修正内容、细化任务

通过该结构化模板,开发者可以精准控制每一轮对话的逻辑,实现复杂AI任务的落地,同时搭配get_response函数的封装特性,实现Prompt指令的复用与批量调用,极大降低了AI应用的开发门槛。

# JS 模块化
# 浏览器的副产品 2015 es6+
# import openai from OpenAI
from openai import OpenAI
# go里面没有class ,也不需要new
client = OpenAI(
    api_key="",
    # 转发请求
    base_url="https://api.deepseek.com/v1",
    
)
# 参数默认值
# 工具函数
# 主要用deepseek-chat 不传
# 传入 其它模型
# llm 很智能
# - completions aigc 生成
# - chat  聊天+completions  生成接口 对话形式
def get_completion(prompt, model="deepseek-chat"):
    response = client.chat.completions.create(
        model=model,
        messages=[
            {"role": "user", "content": prompt}
        ]
    )
    return response.choices[0].message.content  

print(get_completion("何为vibe coding"))
# get_completion("",'gpt-5')
#(deepseek)

image.png

四、吴恩达Prompt实操核心规则

结合理论与工程实践,吴恩达提炼出最适配新手与开发者的实操规则,核心可概括为“清晰表意、具体赋能、格式锚定”。

清晰表意是基础,核心是规避歧义、明确目标,让模型完全理解任务需求,从根源减少内容跑偏、逻辑错误、答非所问等问题。具体赋能是关键,要求为任务提供充足的上下文与参考信息,避免模型无依据输出、凭空捏造内容。在文本总结、自然语言处理等机器学习常见任务中,为精准区分指令文本与待处理素材,吴恩达提出标准化标注方式:利用{text}字符串占位符搭配```特殊符号,划定独立的文本处理区间,清晰告知大模型待加工内容的边界,杜绝模型混淆指令与原始数据。同时,文本总结、语义分析、文本分类、机器翻译等,都是NLP与机器学习依托Prompt实现的高频基础任务,标准化的文本标注方式可大幅提升这类任务的处理精度。

# python 多行字符串模板
text = f"""
你应当通过尽可能清晰、具体的指令,来明确你希望模型完成的任务。
这能引导模型产出符合预期的结果,同时降低回复内容偏离主题或出现错误的概率。
不要把编写清晰的提示词和精简提示词混为一谈。
很多时候,篇幅更长的提示词能为模型提供更完整的说明与背景信息,进而让输出内容更加详实、贴合需求。
"""
# 字符串模板
prompt = f"""
将三个反引号之间的文本总结为一句话。
```{text}```
"""
# (deepseek)

image.png

# 一步一步,分步执行,有利于任务的顺序执行
# 用户的输入
# 具身智能
text = f"""
泡一杯茶其实很简单!
首先把水烧开。烧水的同时,拿出茶杯,放入茶包。
水烧开后,将热水冲入杯中浸泡茶包。静置片刻让茶香析出。
几分钟后取出茶包。
根据个人口味,还可以加入糖或牛奶。
这样一杯美味的茶饮就泡好了。
"""
# 转义 符号本身
prompt = f"""
你将收到由三个引号包裹的文本。
若文本中包含一系列操作指令,
请按照以下格式重新整理这些指令。
步骤一···
步骤二···
步骤三···
···
步骤 N ···

如果文本中没有一系列操作指引,
直接输出**没有必要的步骤**
\"\"\"{text}\"\"\"
"""
print(get_completion(prompt))

image.png

同时,实操中必须严格约束响应结果格式,工程化场景下优先采用JSON结构化输出,且不能仅设置单一基础字段,需要丰富JSON键值体系,并搭配自然语义注释加持,让输出数据层级清晰、用途明确、便于程序解析与人工校验。例如可设计task_type(任务类型)、result_content(任务输出结果)、confidence(结果置信度)、remark(结果补充说明)等核心key,全方位完善输出结构,适配二次开发需求。

prompt =f"""
请列出四大名著,并标注对应的作者于书籍类型
使用JSON格式呈现,需包含一下字段:
book_id(书籍编号)、title(书名)、author(作者)、genres(书籍类型)、desc(概述)。
"""
print(get_completion(prompt))
# (deepseek)

image.png

text = f"""
在一座风光宜人的小村庄里,姐弟俩杰克和吉尔动身前往山顶的水井取水。
两人一路欢歌向上攀登,不料意外突生 
—— 杰克被石头绊倒,滚下山坡,吉尔也跟着摔了下去。
二人虽受了些轻伤,还是回到了家中,得到家人温柔的安抚。
这场小意外并未磨灭他们冒险的兴致,此后他们依旧满心欢喜地四处游玩。
"""
# nlp 任务 翻译任务
prompt = f"""
执行以下操作:
将三个反引号内的文本概括为一句话。
把这句话摘要翻译成法语。
列出法语摘要中出现的所有人名。
使用JSON格式呈现,包含字段:french_summary(法语摘要)、
num_names(人物数量)、names(人物名字,用&链接)。
答案分行展示。

Text: 
```{text}```
"""
print(get_completion(prompt))

image.png

除此之外,吴恩达Prompt体系包含两大进阶核心技巧,分别是少样本提示与模型幻觉规避,是高阶AI应用开发的关键。

  • Few-shot少样本提示,是指在Prompt指令中附带少量标准示例,无需撰写冗长复杂的文字指令,让模型直接参照示例的输出格式、逻辑结构、语言风格、内容维度快速对齐任务要求。这种方式极大降低了复杂任务的指令成本,适配分类、提取、格式规整、文案生成等各类场景,有效解决模型输出风格不统一、逻辑错乱的问题。
# Few-shots  例子
prompt = f"""
你的任务是保持统一的行文风格作答。
提问:请讲讲何为耐心。
回答:能凿出幽深峡谷的江河,源自涓涓细流;
恢弘壮阔的交响乐,起于单个音符;
精美繁复的织锦,始于一丝线。
提问:请讲讲何为韧性?
"""
print(get_completion(prompt))
# (deepseek)

image.png

  • 大模型幻觉问题是Prompt工程必须重视的核心痛点。LLM具备强大的文本生成能力,但存在内容真假混杂的固有缺陷,会凭空捏造事实、数据、案例、专业理论,出现看似通顺但完全错误的输出。因此在Prompt设计中,除了规范指令、补充上下文、增加示例外,还需要额外添加校验约束指令,要求模型基于真实上下文输出,禁止编造未提及内容,从指令层面最大限度抑制模型幻觉,保障输出内容的真实性与准确性。
# 大模型幻觉
prompt = f"""
介绍一下蜜雪冰城品牌的滑雪装备
"""
print(get_completion(prompt))
# deepseek大模型解决

image.png

总结

吴恩达的Prompt工程体系,打破了传统AI交互的随意性,构建了一套标准化、工程化、可落地的Prompt设计逻辑。其核心本质并非复杂的技巧堆砌,而是以“清晰具体指令、结构化格式约束”为核心原则,以五大构建模块为标准化框架,以get_response函数为开发工具,同时融合少样本提示进阶技巧,针对性规避大模型幻觉缺陷,全方位规范大模型的输入与输出。这套体系覆盖了基础对话、文本处理、工程开发、复杂任务落地等全场景需求,通过精准指令、示例参考、格式约束、风险规避,彻底解决了大模型输出随机性强、易出错、不可复用的问题。对于AI学习者与开发者而言,熟练掌握这套完整的Prompt规则,能够摆脱无效提问,精准调动大模型能力,高效落地各类轻量化AI应用,显著提升人机交互与AI开发的整体效率,是当下AI应用开发的核心基础技能。

image.png