现在位置: 首页 > AI 入门教程 > 正文

Prompt 提示词

学会与 AI 对话的基本功——写好提示词,用好 AI 工具。

为什么提示词很重要

同样一个问题,不同的问法,得到的答案质量天差地别。

你可能有过这样的经历:

你问 AI:帮我写个报告。AI 给了你一篇泛泛而谈、空洞无物的文章。

但如果换个提示词问:我是产品经理,帮我写一份 2026 年 Q2 的产品路线图报告,目标读者是技术团队,需要 5 个主要功能点,每个功能点包含开发周期和风险评估,字数控制在 800 字以内。AI 给出的是一份结构清晰、内容具体、直接能用的文档。

这就是提示词的差别。

提示词(Prompt)是你与 AI 沟通的语言。

AI 只能根据你给的信息来回应,给的信息越具体、越明确,输出的结果就越符合预期。

提示词的黄金法则:输入模糊,输出也模糊;输入具体,输出才具体


什么是 Prompt

Prompt(提示词)就是你输入给 AI 的文字内容。

Prompt 可以是一个问题、一个指令、一段描述,或者是这些的组合。

好 Prompt vs 坏 Prompt

我们用对比来说明两者的区别:

维度❌ 不推荐的写法✅ 推荐的写法
清晰度"帮我写点东西""帮我写一封给客户的邮件,内容是告知他们我们的产品将于下月涨价 10%"
角色设定"翻译这段话""你是一位专业的英语翻译,擅长科技文档翻译,请把以下内容翻译成中文,保持技术术语的准确性"
格式要求"列个清单""用无序列表列出 5 个要点,每个要点不超过 20 字"
上下文"帮我看看这个代码""这是一段 Python 爬虫代码,运行时报错说'连接超时',帮我分析可能的原因并给出 3 个解决方案"
风格语气"写个通知""写一份面向公司全体员工的放假通知,语气正式,内容简洁,包含放假时间、注意事项、值班安排三个部分"

看出规律了吗?

好的提示词会告诉 AI:你是谁、要做什么、给谁看、用什么格式、有什么约束条件。


基础提示词结构

一个完整的提示词通常包含以下四个要素。

不必每次都写全,但写得越全面,结果越可控。

任务描述(做什么)

明确告诉 AI 你要它完成什么任务。

这是提示词的核心部分,必须写清楚。

总结这篇文章的主要观点。

把这段 Python 代码改成 JavaScript。

帮我起 10 个适合奶茶店的店名。

背景信息(上下文)

告诉 AI 相关的背景情况,帮助它理解任务场景。

没有上下文,AI 只能瞎猜。给了上下文,它的回答才会切题。

我是一名大三计算机专业的学生,正在准备面试...

这是我们公司的产品介绍,目标客户是中小企业主...

我要写一篇给小学生看的科普文章,不能用复杂术语...

输出格式要求(怎么呈现)

指定 AI 输出的格式:列表、表格、段落、代码、JSON 等。

明确的格式要求能让你省去二次整理的时间。

用表格形式呈现,包含三列:步骤名称、操作说明、注意事项。

输出 JSON 格式,包含 'id'、'name'、'description'三个字段。

用三个段落回答,每段不超过 100 字。

示例(给个参考)

给 AI 一两个示例,让它明白你想要什么样的输出。

这叫 Few-shot Learning,也就是给几个例子学习一下。

例如:

输入:高兴,输出:兴高采烈、心花怒放、喜出望外

现在请处理:难过


三种基础提示类型

根据你的目的,提示词可以分为三种基本类型。

问题型:直接提问

用于获取信息、解释概念、寻求建议。

这是最简单的提示类型,适合信息查询类场景。

Python 中 list 和 tuple 的区别是什么?

如何提高团队的沟通效率?

2026 年最值得学习的前端框架有哪些?

提问时注意:越具体越好。

不要只问:怎么学编程,要问:我是零基础,想做 Web 开发,应该先学 HTML/CSS 还是 JavaScript?请给出一个 3 个月的学习计划。

指令型:告诉 AI 做什么

用于完成具体任务:写作、翻译、改代码、整理数据等。

指令型提示词需要明确、具体、可执行。

把这段文字翻译成英文,保持原文的幽默感。

把这个长段落拆分成 5 个小点,每个点加一个小标题。

帮我优化这段代码,加上注释,并找出可能的 Bug。

对话型:多轮交流

不是一次性提问,而是持续对话,逐步深入。

这种方式适合复杂任务,可以一边聊一边调整方向。

你:"我想做一个个人博客网站,有什么技术方案推荐吗?

AI:"根据你的需求,可以考虑以下几种方案:...

你:"我选 Hugo,那具体怎么开始呢?

AI:"好的,使用 Hugo 搭建博客的步骤如下:...

你:"等等,我不想用 GitHub Pages,有没有其他免费的托管方案?

对话型提示的关键是:记住 AI 有上下文记忆。你不需要每次都重复前面的内容,直接接着聊就行。


角色扮演提示

给 AI 设定一个角色,它的回答会更专业、更符合场景。

这是最简单但最有效的技巧之一。

为什么角色扮演有用

AI 在训练时见过大量不同角色的文本。当你告诉它"你是一名律师"时,它会自动调整语气、用词和思维方式,更像一个真实的律师。

同样的问题,不同的角色会给出完全不同的答案。

比如你问:"如何让更多人知道我的产品?

设定角色回答侧重点
营销专家品牌定位、渠道选择、活动策划
销售总监转化漏斗、客户跟进、成交技巧
产品经理产品卖点、用户体验、差异化
技术负责人技术实现、性能优化、数据分析

常用角色模板

这里有一些常用的角色设定,你可以直接套用或根据需要修改:

你是一名经验丰富的 Python 开发工程师,擅长代码审查和性能优化,请帮我看一下这段代码...

你是一位专业的文案撰稿人,有 10 年广告行业经验,请帮我改写这段产品描述...

你是我的日语外教,发音标准,善于纠正初学者的错误,请帮我检查这段对话的语法...

你是一位创业导师,曾经成功创办过三家科技公司,请帮我分析这个商业计划...

角色设定越具体,效果越好。

不要只说"你是个专家",要说"你是有 5 年电商数据分析经验的专家,特别擅长用户行为分析"。


让输出更精准的技巧

掌握这几个技巧,你的提示词功力会大增。

指定输出格式

明确告诉 AI 用什么格式输出,能省去你大量整理时间。

常用格式包括:

格式类型示例指令
列表"用无序列表列出 5 个要点..."
表格"用表格呈现,列名:功能、优点、缺点..."
代码"输出完整的 Python 代码,包含注释..."
JSON"输出 JSON 格式,字段:id、name、price..."
Markdown"用 Markdown 格式,包含 3 个二级标题..."

控制长度

告诉 AI 你希望输出多长,避免它说得太多或太少。

用一句话总结...

写一个 300 字左右的简介...

详细说明,至少 500 字...

指定语气与风格

告诉 AI 用什么语气说话,适应不同的沟通场景。

语气正式,适合给领导看...

用轻松幽默的方式表达...

语言通俗易懂,适合小学生理解...

保持专业、客观、中立...

思维链(Chain of Thought)

对于复杂问题,让 AI 把思考过程说出来,而不是直接给答案。

这样可以显著提高答案的准确性,也方便你检查它的推理过程。

请一步步分析这个问题,先说明你的思路,再给出答案。

遇到不确定的地方,请说明你的假设和推理过程。


常见错误与修正

初学者容易犯这些错误,我们来看如何修正。

错误一:提示太模糊

这是最常见的问题。

❌ 模糊的提示✅ 改进后的提示
"帮我写个文案""帮我写一篇奶茶店新品上市的微信公众号文案,目标读者是 18-25 岁的年轻人,风格活泼有趣,突出'第二杯半价'的促销活动,字数 300-500 字"
"帮我看看这个代码""这是一段用 Python 写的用户注册接口代码,帮我检查是否有 SQL 注入风险、密码加密是否安全、错误处理是否完善,分别列出问题和修复建议"
"帮我做个计划""帮我制定一个为期 3 个月的健身计划,目标是减重 5 公斤,每周运动 3 次,每次 1 小时,主要运动方式是跑步和力量训练,请按周给出具体安排"

错误二:要求太多,一次说不完

不要试图在一个提示词里把所有事都做完。

复杂任务应该分成多轮对话,一步步来。

❌ 不要这样:"帮我写一个电商网站,要有用户注册、商品展示、购物车、订单管理、支付功能,用 React 和 Node.js 开发,数据库用 MySQL,给我完整的代码。

✅ 应该这样:

你:"我想做一个简单的电商网站,技术栈想用 React + Node.js + MySQL,第一步应该做什么?

AI:"建议先设计数据库表结构,我们可以从用户表、商品表开始...

你:"好的,帮我设计用户表和商品表的结构,需要包含哪些字段?

...(一步步深入)

错误三:不给反馈,一错到底

AI 的第一次输出可能不完美。

没关系,告诉它哪里不好,让它改。

你:"这篇文章太长了,而且太技术化,我的读者是初学者,看不懂。

AI:"抱歉,我来改写得更简洁易懂一些...

你:"好多了,但第二部分还是有点复杂,能不能用类比来说明这个概念?

AI:"好的,我们用'寄快递'来类比这个网络通信过程...

记住:提示词是一个迭代过程。很少有一遍就完美的情况。


实战练习:10 个高频使用场景模板

这里整理了 10 个最常用的提示词模板,你可以直接套用。

场景Prompt 模板
邮件写作你是一名专业的商务写作助手,请帮我写一封给{收件人身份}的邮件,主题是{邮件主题},主要内容是{具体内容},要求语气{正式/友好/委婉/直接},字数控制在{数字}字以内。
文章摘要请阅读以下文章,帮我生成一份{字数}字的摘要,包含以下要点:1){核心观点一};2){核心观点二};3){核心观点三}。请用简洁明了的语言总结。
代码解释你是一名耐心的编程老师,请帮我解释这段{编程语言}代码的作用,逐行说明关键语句的功能,并指出这段代码的优缺点和可能的改进方向。
翻译你是一位专业的{源语言}到{目标语言}翻译,擅长{领域}翻译,请将以下内容翻译成{目标语言},要求:1)保持专业术语的准确性;2)符合{目标语言}的表达习惯;3)风格{正式/口语化}。
会议纪要请根据以下会议记录整理一份会议纪要,包含:1)会议时间、地点、参会人员;2)讨论的主要议题;3)形成的决议;4)待办事项及负责人。请用简洁清晰的语言呈现。
简历优化你是一名资深的 HR 顾问,请帮我优化这段简历描述,让它更专业、更有说服力。请用"动词 + 成果"的方式改写,量化工作成果,使用行业关键词,突出个人贡献。
学习计划我想学习{知识/技能},目前的基础是{基础描述},目标是{具体目标},可用时间是{时间安排}。请帮我制定一个{时间长度}的学习计划,按阶段列出学习内容、推荐资源和检验方法。
头脑风暴我想 brainstorm 一下{主题/问题},请帮我想出{数量}个创意点子,要求:1)不局限于常规思路;2)考虑可行性;3)每个点子用一句话说明核心思路和可能的实现方式。
问题排查我遇到了一个问题:{问题描述}。我已经尝试了{尝试过的方法},但都没有解决。请帮我分析可能的原因,按可能性从高到低列出,并给出对应的排查步骤和解决方案。
内容改写请帮我改写以下内容,目标读者是{读者群体},风格要求{风格描述},字数{字数要求}。请保留核心信息,但用更{通俗/专业/简洁/详细}的方式表达。

这些模板可以根据具体情况灵活调整。

关键是:把模糊的需求拆分成具体的要素,逐个填入模板


用代码调用 AI 的例子

除了在聊天界面输入提示词,你也可以通过代码来调用 AI API。

我们用 Python 来演示:

实例

# ============================================
# 使用 Python 调用 AI API 发送提示词
# 这个示例展示如何结构化你的提示词
# ============================================

import json
from typing import Dict, Optional


class PromptBuilder:
    """提示词构建器,帮助你结构化地组织提示词"""

    def __init__(self):
        self.role = None          # 角色设定
        self.task = None          # 任务描述
        self.context = None       # 背景信息
        self.format = None        # 输出格式
        self.examples = []        # 示例
        self.constraints = []     # 约束条件

    def set_role(self, role: str) -> "PromptBuilder":
        """设定 AI 的角色"""
        self.role = role
        return self

    def set_task(self, task: str) -> "PromptBuilder":
        """设定任务"""
        self.task = task
        return self

    def set_context(self, context: str) -> "PromptBuilder":
        """设定背景信息"""
        self.context = context
        return self

    def set_format(self, format_spec: str) -> "PromptBuilder":
        """设定输出格式"""
        self.format = format_spec
        return self

    def add_example(self, input_example: str, output_example: str) -> "PromptBuilder":
        """添加示例"""
        self.examples.append({"input": input_example, "output": output_example})
        return self

    def add_constraint(self, constraint: str) -> "PromptBuilder":
        """添加约束条件"""
        self.constraints.append(constraint)
        return self

    def build(self) -> str:
        """构建最终的提示词"""
        parts = []

        if self.role:
            parts.append(f"角色:{self.role}")

        if self.context:
            parts.append(f"背景:{self.context}")

        if self.task:
            parts.append(f"任务:{self.task}")

        if self.examples:
            parts.append("示例:")
            for i, example in enumerate(self.examples, 1):
                parts.append(f"  输入{i}:{example['input']}")
                parts.append(f"  输出{i}:{example['output']}")

        if self.format:
            parts.append(f"输出格式:{self.format}")

        if self.constraints:
            parts.append("约束条件:")
            for constraint in self.constraints:
                parts.append(f"  - {constraint}")

        return "\n".join(parts)


def simulate_ai_call(prompt: str, api_key: Optional[str] = None) -> Dict:
    """
    模拟 AI API 调用(实际项目中替换为真实 API 调用)
    这里仅演示如何使用结构化提示词
    """

    print("=" * 60)
    print("发送给 AI 的提示词:")
    print("-" * 60)
    print(prompt)
    print("=" * 60)

    # 这里仅做演示,实际项目中会调用真实的 API
    # 例如:OpenAI API、Anthropic API 等

    return {
        "status": "success",
        "prompt_sent": prompt,
        "message": "这是 AI 的模拟回复(实际使用时会替换为真实 API 响应)",
        "tips": "在 runoob 实际项目中,请配置你的 API Key 并调用真实 API"
    }


# ============================================
# 使用示例 1:写邮件
# ============================================

print("\n【示例 1:写邮件】")

prompt1 = (PromptBuilder()
           .set_role("你是一名专业的商务写作助手,擅长英文邮件写作")
           .set_context("我是 runoob 公司的市场经理,需要给客户写一封跟进邮件")
           .set_task("写一封邮件,询问客户对我们产品方案的反馈,并预约下周的会议")
           .set_format("邮件格式,包含:主题、称呼、正文、落款")
           .add_constraint("语气友好但专业")
           .add_constraint("不超过 200 词")
           .build())

result1 = simulate_ai_call(prompt1)
print(f"API 状态:{result1['status']}")


# ============================================
# 使用示例 2:代码优化
# ============================================

print("\n【示例 2:代码优化】")

prompt2 = (PromptBuilder()
           .set_role("你是一位经验丰富的 Python 高级工程师,擅长代码审查")
           .set_task("优化下面的代码,使其更高效、可读性更好")
           .set_context("这是一段处理学生成绩数据的代码,运行速度有点慢")
           .set_format("输出优化后的代码,并用注释说明改动原因")
           .add_constraint("保持原有功能不变")
           .add_constraint("兼容 Python 3.8+")
           .build())

result2 = simulate_ai_call(prompt2)
print(f"API 状态:{result2['status']}")

运行这段代码,你会看到结构化提示词是如何构建的。

实际项目中,你需要替换成真实的 API 调用(如 OpenAI、Anthropic、或其他厂商的 API)。