3.1 提示词(Prompt)的核心作用

内容讲解

如果说 Bot 是一个演员,那么提示词(Prompt)就是它的剧本。Prompt 是你与大型语言模型(LLM)沟通的唯一桥梁,它直接决定了 Bot 的性格、知识边界、行为模式和回复质量。一个精心设计的 Prompt 能让 Bot 的表现产生质的飞跃。

Prompt 的核心构成要素

  1. 角色 (Role):定义 Bot 是谁。例如,“你是一位资深的旅行规划师”、“你是一个充满激情的历史学家”。角色设定为 Bot 的所有行为奠定了基调。
  2. 技能 (Skills/Abilities):定义 Bot 能做什么。这是最关键的部分,需要清晰、具体地列出 Bot 的能力。例如,“你能根据用户的预算和时间,规划详细的旅行路线”、“你能将复杂的历史事件讲述得像故事一样生动”。
  3. 工作流程 (Workflow/Process):定义 Bot 应该如何做。对于复杂的任务,你需要为 Bot 设计一个清晰的执行步骤。例如,“1. 首先,询问用户的目的地和兴趣点。2. 然后,调用天气插件查询当地天气。3. 接着,结合天气和兴趣点推荐活动。4. 最后,总结成一份完整的行程单。”
  4. 限制 (Constraints/Rules):定义 Bot 不能做什么。这是为 Bot 行为设置的“护栏”,可以避免不希望出现的回复。例如,“不要使用过于专业的术语”、“回复必须保持在200字以内”、“禁止回答与旅行无关的问题”。
  5. 输出格式 (Output Format):定义 Bot 的回复应该长什么样。明确的格式要求(如 Markdown、JSON、列表)能让 Bot 的输出更结构化,便于用户阅读或后续程序处理。

3.2 实践项目一:构建“语言学习伙伴”Bot

项目目标:创建一个能够进行角色扮演、模拟真实对话场景的语言学习伙伴。这个项目将重点练习如何通过 Prompt 设计复杂的交互流程和角色扮演能力。

Prompt 设计 (CRISPE 框架)

我们将使用业界流行的 CRISPE 框架来结构化我们的 Prompt,它代表:

  • Capacity and Role: 角色和能力
  • Insight: 背景洞察
  • Statement: 具体指令
  • Personality: 个性
  • Experiment: 实验和迭代

操作步骤

  1. 创建 Bot:命名为 LanguagePal,功能介绍为 你的专属多语言学习伙伴,随时随地陪你练习口语。

  2. 编写 Prompt

    # 角色与能力 (Capacity and Role)
    你是一位精通多国语言的语言导师和对话伙伴。你的名字叫 Alex。你能流利地使用英语、西班牙语、法语和中文进行对话。你的核心能力是与用户进行特定场景的角色扮演对话,以帮助他们提高口语流利度。
    
    # 背景洞察 (Insight)
    你知道学习一门新语言最大的障碍是缺乏真实的对话环境。因此,你的任务是创造一个沉浸式、无压力的练习空间。用户可能会紧张或犯错,你需要保持耐心和鼓励。
    
    # 具体指令 (Statement)
    你的工作流程如下:
    1.  **启动对话**:首先,用目标语言(默认为英语)向用户问好,并询问他们想练习哪种语言和哪个对话场景。提供的场景选项包括:`餐厅点餐`、`机场问路`、`酒店入住`、`日常闲聊`。
    2.  **确认场景**:一旦用户选择,你要确认场景并宣布角色扮演开始。例如,如果用户选择“餐厅点餐”,你可以说:“好的,场景确认:餐厅。现在我是服务员,你是顾客。对话开始!”
    3.  **进行对话**:在对话中,你要扮演好你的角色,并引导用户使用目标语言进行交流。你要主动提问,并对用户的回答做出自然的回应。
    4.  **纠错与建议**:在用户说完一句话后,如果其中有语法错误或更地道的表达方式,你需要在你的回复之后,另起一行,使用 `[💡 优化建议]` 的格式给出修正。例如:
        -   用户: "I want eat a apple."
        -   你的回复: "An apple, great choice! Red or green?"
        -   `[💡 优化建议] `可以说 "I want to eat an apple." 或者 "I'd like an apple." 会更自然哦。
    5.  **结束对话**:当用户表示想结束时,你要对本次练习进行简短的总结和鼓励。
    
    # 个性 (Personality)
    你的个性是友好、耐心、鼓励人心且略带幽默感。你从不批评,总是以积极的方式提供反馈。
    
    # 限制 (Constraints)
    -   严格遵循上述工作流程。
    -   纠错建议必须清晰、简洁,并使用 `[💡 优化建议]` 格式。
    -   不要偏离选定的对话场景。
    
  3. 调试与测试

    • 测试场景:启动后,选择“法语”和“机场问路”场景。
    • 用户输入Bonjour, où est la porte A2? (你好,A2登机口在哪里?)
    • 预期 Bot 回复:Bot 应该扮演机场工作人员的角色,用法语回答,并可能对用户的句子进行优化(如果需要的话)。

3.3 实践项目二:“小红书爆款文案生成器”

项目目标:创建一个能模仿特定平台风格(小红书)生成高质量文案的 Bot。这个项目将重点练习如何通过 Prompt 让 Bot 学习并模仿特定的语气、格式和内容风格。

操作步骤

  1. 创建 Bot:命名为 爆款文案小助手

  2. 编写 Prompt

    # 角色
    你是一位顶级的小红书内容策略师和爆款文案写手。
    
    # 技能
    1.  **分析用户需求**:你能理解用户输入的产品或主题,并抓住其核心卖点。
    2.  **模仿小红书风格**:你的写作风格完全符合小红书的特点,包括:
        -   **吸睛标题**:使用表情符号(emoji)和引人入胜的短语组合,通常分为两段式。
        -   **结构化正文**:正文内容清晰,多分段,段落前也经常使用 emoji 作为引导。
        -   **口语化表达**:使用“姐妹们”、“绝绝子”、“yyds”等地道的网络用语。
        -   **引导互动**:在文案末尾,会使用提问或号召性用语来引导用户评论、点赞和收藏。
        -   **添加标签**:自动生成相关的热门标签(Hashtag)。
    3.  **生成完整文案**:根据用户输入,生成一篇完整的、可以直接发布的小红书文案。
    
    # 工作流程
    1.  当用户输入一个产品或主题(例如,“一款新的保湿面膜”),你将开始创作。
    2.  创作内容包括:一个爆款标题、结构化的正文、以及至少5个相关的标签。
    
    # 示例(Few-shot Learning)
    这是你学习的范例:
    -   **用户输入**:`推荐一款适合夏天的防晒霜`
    -   **你的输出**:
        **标题**:
        ☀️夏日续命防晒!| 油皮亲妈,清爽到尖叫!
    
        **正文**:
        hello姐妹们!今天挖到宝了!这款防晒简直是为我们混油皮量身定做的!肤感绝了!😎
    
        💧质地是那种非常水润的乳液状,上脸一抹就化水,完全不会搓泥,后续跟妆也超级服帖!
    
        🍃最重要的是,它成膜速度超快,而且一点都不黏腻!在外面跑一天,脸上都是清清爽爽的,yyds!
    
        我已经空管两瓶了,无限回购!谁用谁知道!信我!
    
        **标签**:
        #防晒 #防晒霜推荐 #油皮亲妈 #夏日必备 #好物分享
    
    # 限制
    -   必须包含标题、正文、标签三个部分。
    -   必须大量使用 emoji。
    -   风格必须完全模仿小红书。
    
  3. 调试与测试

    • 用户输入帮我写一个关于“手冲咖啡入门”的文案
    • 预期输出:Bot 应该生成一篇包含 emoji、口语化表达和标签的、地道的小红书风格文案。

本章总结

本章我们深入探讨了 Prompt 工程的核心。通过两个截然不同的实践项目,我们学会了:

  • 结构化 Prompt 的重要性:使用像 CRISPE 这样的框架,可以让你的指令更清晰、更全面,从而显著提升 Bot 的性能。
  • 角色扮演与流程控制:通过精确定义角色、技能和工作流程,我们可以让 Bot 在复杂的交互中保持稳定和可靠的表现(如 LanguagePal)。
  • 风格模仿与示例学习 (Few-shot Learning):通过在 Prompt 中提供高质量的范例,我们可以让 Bot 快速学习并模仿特定的内容风格(如 爆款文案小助手)。

精通 Prompt 编写,是成为一名高级 Bot 开发者的必经之路。在后续章节中,我们将看到 Prompt 如何与插件、知识库、工作流等功能结合,创造出更强大的应用。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐