安爸-超级家庭

在一个智能体中,提示词应该有那几个模块组成?

安爸 发布于

为了引导提升大模型输出质量,因此输入大模型的提示词需要有特定的模板。

在前面的文章中说过大模型的应用开发,本质上就是对提示词对封装,那么在一个大模型应用中,提示词应该有那几个模块呢?

下面,我们以智能体开发为例,阐述一下提示词应该有那几个模块组成。

智能体中的提示词模块

1⃣ System Prompt(系统提示)

作用:

  • 为大模型定义角色、风格、边界和全局目标。
  • 常包含:
    • 智能体身份(如“你是一个智能项目工单生成智能体”)
    • 行为原则(准确、简洁、先澄清再回答)
    • 输出风格(是否 JSON / Markdown / 严格格式)
    • 禁止事项(不要编造、不要提供法律建议等)

2⃣ Tools / Functions Schema(工具或函数描述模块)

作用:

  • 告诉模型当前可用的工具和如何调用
  • 通常包含:
    • 工具名称
    • 工具用途描述(对模型而非用户)
    • 参数名称、类型、含义(JSON Schema)

LangGraph / LangChain智能体中,每次推理都需要注入,以便大模型调用合适工具。

3⃣ Chat History(对话历史)

作用:

  • 让大模型在当前对话中“有记忆”,知道用户已说过什么
  • 避免重复澄清问题
  • 支持多轮连续上下文理解

在 LangChain / LangGraph 中使用: MessagesPlaceholder(variable_name="chat_history")

来动态注入完整或摘要化的对话历史。

4⃣ User Input(用户输入)

作用:

  • 本次用户真实问题 / 指令
  • 用于让大模型根据当前输入做推理
    在提示词模板中通常占位为: {user_input} 或使用: HumanMessagePromptTemplate.from_template(human_prompt)

5⃣ Output Format Constraints(输出格式约束)

作用:

  • 指定输出的格式结构,方便解析和自动处理。
  • 可包含:
    • 严格要求输出 JSON / Markdown
    • 限制字段名、字段顺序
    • 示例输出

在生成结构化数据、SQL、工单时非常关键,常结合 StructuredOutputParserResponseSchema使用。

✅ 汇总结构(记忆示范)

【智能体提示词典型结构】 1⃣ System Prompt     - 定义角色、风格、目标     - 限制行为 2⃣ Tools / Functions Schema     - 工具名称、描述     - JSON Schema 参数定义 3⃣ Chat History     - 注入多轮对话历史或摘要 4⃣ User Input     - 用户本轮输入 5⃣ Output Format Constraints     - 明确格式要求     - 示例结果

✅ 在 LangGraph / LangChain 中如何组织?

from langchain.prompts import ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder system_prompt = "你是一个项目智能工单生成智能体..." human_prompt = "{user_input}" prompt = ChatPromptTemplate.from_messages([     SystemMessagePromptTemplate.from_template(system_prompt),     MessagesPlaceholder(variable_name="chat_history"),     HumanMessagePromptTemplate.from_template(human_prompt) ])

并通过:
✅ StructuredOutputParser确保输出结构
✅ 工具描述在 Agent 初始化时注入

实现完整提示词编排,让智能体稳定且可解析。

✅ 是否需要全部模块?

不同场景可裁剪:

  • 若不调用工具,可去掉工具描述
  • 若无记忆需求,可去掉 chat_history
  • 若只生成纯文本可弱化输出格式约束
    但在生产级智能体中,上述五模块通常完整保留

(文:AI探索时代)

在一个智能体中,提示词应该有那几个模块组成?最先出现在每时AI


扫描二维码,在手机上阅读