第八章
Prompt 构建
🎧 语音播放
理解 Hermes 如何组装给 LLM 的"指令"
🎯 本章目标
- 理解 Prompt 的组成结构
- 掌握系统提示词的构建方法
- 理解工具描述的注入方式
📚 前置知识
- 第五章的 Agent 循环
💡 学完收获
- 能够优化 Agent 的行为
- 理解 Prompt 工程的价值
8.1 什么是 Prompt?
Prompt 就是给 LLM 的"输入"。Hermes 构建的 Prompt 包含:
Prompt 构建流程
flowchart LR
A["🤖 System Prompt"] --> D[Messages]
B["🛠️ Tool Definitions"] --> D
C["👤 用户输入"] --> D
D --> E["📡 LLM API"]
style A fill:#ede9fe,stroke:#7c3aed
style B fill:#d1fae5,stroke:#059669
style C fill:#dbeafe,stroke:#2563eb
8.2 Prompt 组成
System
角色设定 · 行为规则
User
用户输入的消息
Tools
工具说明和参数
8.3 系统提示词构建
系统提示词定义了 Agent 的"人格"和能力边界:
agent/prompt_builder.py
system_parts = [
BASE_PROMPT, # 基础角色设定
AVAILABLE_TOOLS, # 可用工具列表
TOOL_DESCRIPTIONS, # 工具详细说明
MEMORY_SUMMARY, # 记忆摘要(如果启用)
SKILLS_CONTENT, # 技能内容
]
💡 System Prompt 的重要性
System Prompt 决定了 Agent 的"性格"和"能力"。一个好的 System Prompt 可以让同一个模型表现出完全不同的行为。
8.4 工具描述注入
工具描述是动态注入到 System Prompt 中的:
工具描述格式
## Available Tools
You have access to the following tools:
### web_search
Search the web for information.
Args: query (string)
### read_file
Read contents from a file.
Args: path (string)
8.5 记忆摘要
长对话时,记忆摘要让 LLM 快速了解背景:
Memory Summary 示例
用户正在开发一个 Python 项目,使用 pip 和 virtualenv。
之前的对话讨论了包管理和虚拟环境配置。
📚 本章总结
本章重点:
- Prompt = System + Tools + User Input
- System Prompt 定义 Agent 人格
- 工具描述动态注入
一句话记忆点: Prompt 就是给 AI 的"任务卡"——写得越清楚,执行越准确
延伸思考
- 如何让同一个 Agent 既能做翻译又能写代码?
- System Prompt 太长会有什么影响?