在一個智能體中,提示詞應該有那幾個模塊組成? 原創
“ 為了引導提升大模型輸出質量,因此輸入大模型的提示詞需要有特定的模板。”
在前面的文章中說過大模型的應用開發,本質上就是對提示詞對封裝,那么在一個大模型應用中,提示詞應該有那幾個模塊呢?
下面,我們以智能體開發為例,闡述一下提示詞應該有那幾個模塊組成。

智能體中的提示詞模塊
1、System Prompt(系統提示)
作用:
- 為大模型定義角色、風格、邊界和全局目標。
- 常包含:
a.智能體身份(如“你是一個智能項目工單生成智能體”)
b.行為原則(準確、簡潔、先澄清再回答)
c.輸出風格(是否 JSON / Markdown / 嚴格格式)
d.禁止事項(不要編造、不要提供法律建議等)
2 、Tools / Functions Schema(工具或函數描述模塊)
作用:
- 告訴模型當前可用的工具和如何調用
- 通常包含:
a.工具名稱
b.工具用途描述(對模型而非用戶)
c.參數名稱、類型、含義(JSON Schema)
在 LangGraph / LangChain智能體中,每次推理都需要注入,以便大模型調用合適工具。
3、Chat History(對話歷史)
作用:
- 讓大模型在當前對話中“有記憶”,知道用戶已說過什么
- 避免重復澄清問題
- 支持多輪連續上下文理解
在 LangChain / LangGraph 中使用:
MessagesPlaceholder(variable_name="chat_history")來動態注入完整或摘要化的對話歷史。
四、User Input(用戶輸入)
作用:
- 本次用戶真實問題 / 指令
- 用于讓大模型根據當前輸入做推理
在提示詞模板中通常占位為:
{user_input}
或使用:
HumanMessagePromptTemplate.from_template(human_prompt)五、Output Format Constraints(輸出格式約束)
作用:
- 指定輸出的格式結構,方便解析和自動處理。
- 可包含:
a.嚴格要求輸出 JSON / Markdown
b.限制字段名、字段順序
c.示例輸出
在生成結構化數據、SQL、工單時非常關鍵,常結合 ??StructuredOutputParser???或 ??ResponseSchema??使用。
? 匯總結構(記憶示范)
【智能體提示詞典型結構】
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探索時代?? 作者:DFires
?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
已于2025-7-30 06:53:41修改
贊
收藏
回復
分享
微博
QQ
微信
舉報
回復
相關推薦

















