Hello-Agents 完整概念性知识体系
文档来源:《Hello-Agents》—— 从零开始构建智能体(Datawhale 社区开源教程)
GitHub: 50.3k+ Stars, 6.1k+ Forks
在线阅读: https://hello-agents.datawhale.cc
文档范围: 全部 16 章节(第一部分~第五部分)
生成时间: 2026-05-17
目录
第一部分:智能体与语言模型基础
第一章 初识智能体
1.1 智能体的基础定义
智能体(Agent) 是任何能够通过传感器(Sensors)感知其所处环境(Environment),并自主地通过**执行器(Actuators)采取行动(Action)**以达成特定目标的实体。
核心四要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 环境(Environment) | 智能体所处的外部世界 | 道路交通、金融市场 |
| 传感器(Sensors) | 感知环境的组件 | 摄像头、麦克风、API |
| 执行器(Actuators) | 对环境施加影响的组件 | 机械臂、方向盘、代码执行 |
| 自主性(Autonomy) | 独立决策能力 | 基于感知和内部状态进行推理 |
1.2 传统智能体类型
演进路径:简单反射智能体 → 基于模型的反射智能体 → 基于目标的智能体 → 基于效用的智能体 → 学习型智能体
| 类型 | 核心特征 | 示例 |
|---|---|---|
| 简单反射智能体 | 条件-动作规则 | 自动恒温器 |
| 基于模型的反射智能体 | 内部世界模型 | 自动驾驶汽车 |
| 基于目标的智能体 | 主动规划 | GPS导航系统(A*算法) |
| 基于效用的智能体 | 多目标权衡 | 综合路线规划 |
| 学习型智能体 | 通过经验自我改进 | AlphaGo Zero |
1.3 LLM智能体的核心能力
以智能旅行助手为例:
- 规划与推理:将高层目标分解为逻辑子任务
- 工具使用:主动调用外部工具补全信息缺口
- 动态修正:根据用户反馈调整后续行动
1.4 智能体分类维度
基于时间与反应性分类
| 类型 | 特征 | 示例 |
|---|---|---|
| 反应式 | 即时响应,低延迟 | 安全气囊系统 |
| 规划式 | 深思熟虑,提前规划 | GPS导航 |
| 混合式 | 结合两者 | 智能旅行助手 |
基于知识表示的分类
| 类型 | 核心理念 | 类比 |
|---|---|---|
| 符号主义 AI | 知识源于符号的逻辑操作 | 一丝不苟的图书管理员 |
| 亚符号主义 AI | 知识内隐分布在神经网络中 | 牙牙学语的孩童 |
| 神经符号主义 AI | 融合符号主义和亚符号主义 | 双系统协同 |
1.5 智能体构成与运行原理
PEAS 模型
| PEAS要素 | 说明 |
|---|---|
| P(Performance) | 性能度量 |
| E(Environment) | 环境 |
| A(Actuators) | 执行器 |
| S(Sensors) | 传感器 |
Agent Loop(智能体循环)
感知(Perception)→ 思考(Thought)→ 行动(Action)→ 环境反馈 → 循环
Thought-Action-Observation 交互协议
Thought: 用户想知道北京的天气。我需要调用天气查询工具。
Action: get_weather("北京")
Observation: 北京当前天气为晴,气温25摄氏度。
1.6 关键术语表
| 术语 | 英文 | 定义 |
|---|---|---|
| 智能体 | Agent | 能感知环境、自主行动的实体 |
| 环境 | Environment | 智能体所处的外部世界 |
| 传感器 | Sensors | 感知环境的组件 |
| 执行器 | Actuators | 对环境施加影响的组件 |
| PEAS模型 | PEAS Model | 描述任务环境的框架 |
| 符号主义 | Symbolic AI | 基于逻辑规则的AI范式 |
| 亚符号主义 | Sub-symbolic AI | 基于神经网络的AI范式 |
第二章 智能体发展史
2.1 符号主义时代
物理符号系统假说(1976年)
提出者:艾伦·纽厄尔、赫伯特·西蒙(图灵奖得主)
核心论断:
- 充分性论断:任何物理符号系统都具备产生通用智能行为的充分手段
- 必要性论断:任何能展现通用智能行为的系统,必然是物理符号系统
专家系统
代表:MYCIN系统(斯坦福大学)
核心组件:
- 知识库:存放领域专家知识(IF-THEN规则)
- 推理机:正向链/反向链推理
置信因子(CF):用-1到1之间的数值表示结论可信度
SHRDLU 系统(1968-1970年)
开发者:特里·威诺格拉德
三大核心能力:
- 自然语言理解
- 规划与行动
- 记忆与问答
历史地位:奠定”感知-思考-行动”闭环设计基础
符号主义的根本性挑战
| 挑战 | 描述 |
|---|---|
| 常识知识瓶颈 | 专家系统知识需人工编码,成本高昂 |
| 框架问题 | 如何高效判断动作执行后哪些事物未改变 |
| 系统脆弱性 | 规则外的微小变化导致系统失灵 |
2.2 规则驱动聊天机器人
ELIZA 系统(1966年)
开发者:约瑟夫·魏泽鲍姆
算法流程:
关键词识别 → 分解规则 → 代词转换 → 重组规则 → 生成回应
局限性:
- 缺乏语义理解
- 无上下文记忆
- 规则扩展性问题
“ELIZA效应”:用户相信ELIZA能理解自己
2.3 明斯基的心智社会
著作:《心智社会》(The Society of Mind)
核心引言:
“智能的本质来自大量简单底层智能体之间的局部交互——涌现”
三大根本性问题:
| 问题 | 符号主义观点 | 心智社会观点 |
|---|---|---|
| “理解”是什么? | 一种单一能力 | 多过程协同 |
| “常识”是什么? | 庞大规则库 | 分布式经验网络 |
| 如何构建? | 追求统一的逻辑系统 | 不完美的大杂烩 |
2.4 学习范式的演进
联结主义 vs 符号主义
| 特征 | 符号主义 | 联结主义 |
|---|---|---|
| 知识表示 | 明确的符号或规则 | 连接权重分布式存储 |
| 设计哲学 | 自上而下 | 自下而上 |
| 灵感来源 | 数理逻辑 | 生物大脑神经网络 |
强化学习框架
| 要素 | 定义 | 示例 |
|---|---|---|
| 智能体 | 学习者和决策者 | AlphaGo |
| 环境 | 智能体外部交互对象 | 围棋规则 |
| 状态(S) | 环境在某一时刻的描述 | 棋盘位置 |
| 行动(A) | 智能体能采取的操作 | 落子位置 |
| 奖励(R) | 环境反馈的评价信号 | 胜利+1 |
预训练-微调范式
预训练阶段(自监督学习,海量文本)→ 微调阶段(少量标注数据)
涌现能力:
- 上下文学习
- 思维链推理
2.5 LLM驱动智能体架构
外部环境 → 感知模块 → 规划模块+LLM → 执行模块 → 反馈 → 循环
↑
记忆模块
第三章 大语言模型基础
3.1 语言模型演进
统计语言模型与 N-gram
核心公式(概率链式法则):
$$P(w_1,w_2,\cdots,w_m) = P(w_1) \cdot P(w_2|w_1) \cdots P(w_m|w_1,\cdots,w_{m-1})$$
马尔可夫假设:词的出现概率只与前面 n-1 个词有关
致命缺陷:数据稀疏性、泛化能力差
神经网络与词嵌入
词嵌入:将词映射为高维连续向量,语义相近的词向量位置相近
词向量的语义运算:
vector('King') - vector('Man') + vector('Woman') ≈ vector('Queen')
RNN 与 LSTM
RNN:引入隐藏状态,赋予”记忆”能力
LSTM门控机制:
- 遗忘门:决定丢弃哪些信息
- 输入门:决定存入哪些新信息
- 输出门:决定输出哪些信息
3.2 Transformer 架构
自注意力机制
Q, K, V 三个角色:
| 角色 | 含义 |
|---|---|
| 查询 (Query) | 当前词元主动”查询”其他词元 |
| 键 (Key) | 可被查询的词元”标签” |
| 值 (Value) | 词元本身携带的”内容” |
注意力计算公式:
$$\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^{T}}{\sqrt{d_{k}}}\right)V$$
多头注意力
将 Q, K, V 切分成 h 份,每份独立计算注意力再拼接,让模型从不同角度关注不同类型的关联。
位置编码
问题:自注意力机制本身不包含词元顺序信息
解决方案:使用正弦和余弦函数生成位置向量
$$PE_{(pos,2i)} = \sin\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right)$$
3.3 Decoder-Only 架构
核心思想:语言的核心任务是”预测下一个最可能出现的词”
自回归 (Autoregressive) 工作模式:
输入 → 预测下一个词 → 添加到输入 → 再次预测 → 循环
优势:
- 训练目标统一
- 结构简单,易扩展
- 天然适合生成任务
3.4 与大语言模型交互
Temperature(温度)
| 温度范围 | 输出特点 | 适用场景 |
|---|---|---|
| 低 (0~0.3) | 精准、确定 | 事实性任务、代码生成 |
| 中 (0.3~0.7) | 平衡、自然 | 日常对话 |
| 高 (0.7~2) | 创新、发散 | 诗歌创作、头脑风暴 |
提示方法对比
| 类型 | 示例数量 | 特点 |
|---|---|---|
| 零样本 (Zero-shot) | 0 | 直接下达指令 |
| 单样本 (One-shot) | 1 | 提供一个完整示例 |
| 少样本 (Few-shot) | 多 | 提供多个示例 |
思维链 (CoT)
在提示中加入 “请逐步思考” 或 “Let’s think step by step”,显著提升复杂推理任务准确性。
3.5 分词方法
| 方法 | 优点 | 缺点 |
|---|---|---|
| 按词分词 | 直观 | 词表爆炸、OOV问题 |
| 按字符分词 | 词表小、无OOV | 语义信息少 |
| 子词分词 | 兼顾词表大小和语义 | - |
BPE算法:统计相邻词元对频率,合并最高频的一对
3.6 模型幻觉 (Hallucination)
幻觉类型:
| 类型 | 表现 |
|---|---|
| 事实性幻觉 | 与现实世界事实不符 |
| 忠实性幻觉 | 未忠实反映源文本含义 |
| 内在幻觉 | 与输入信息直接矛盾 |
缓解方法:RAG、多步推理验证、外部工具调用、RLHF
第二部分:构建你的大语言模型智能体
第四章 智能体经典范式构建
4.1 ReAct(推理与行动)
核心思想:将推理与行动显式结合,形成”思考-行动-观察”循环
形式化表达:
$$\left(th_t,a_t\right)=\pi\left(q,(a_1,o_1),\ldots,(a_{t-1},o_{t-1})\right)$$
工作流程:
| 组件 | 说明 |
|---|---|
| Thought | 分析当前情况、分解任务 |
| Action | 调用外部工具 |
| Observation | 执行结果反馈 |
特点:
| 优点 | 局限性 |
|---|---|
| 高可解释性 | 对LLM能力强依赖 |
| 动态规划与纠错 | 执行效率问题 |
| 工具协同能力 | 提示词脆弱性 |
4.2 Plan-and-Solve(规划与执行)
核心思想:先规划,后执行
形式化表达:
$$P = \pi_{\text{plan}}(q)$$
$$s_i = \pi_{\text{solve}}(q, P, (s_1, \dots, s_{i-1}))$$
适用场景:
- 多步数学应用题
- 需要整合多个信息源的报告撰写
- 代码生成任务
4.3 Reflection(自我反思)
核心思想:执行 → 反思 → 优化
形式化表达:
$$F_i = \pi_{\text{reflect}}(\text{Task}, O_i)$$
$$O_{i+1} = \pi_{\text{refine}}(\text{Task}, O_i, F_i)$$
特点:引入事后自我校正循环,显著提升解决方案质量
4.4 三种范式对比
| 范式 | 核心优势 | 适用场景 |
|---|---|---|
| ReAct | 环境适应性、动态纠错 | 探索性任务 |
| Plan-and-Solve | 结构性和稳定性 | 逻辑路径确定 |
| Reflection | 解决方案质量跃迁 | 准确性和可靠性要求极高 |
第五章 基于低代码平台的智能体搭建
5.1 低代码平台核心价值
| 价值 | 说明 |
|---|---|
| 降低技术门槛 | 封装复杂技术细节 |
| 提升开发效率 | 快速验证想法和搭建原型 |
| 更好的可观测性 | 图形化展示数据流动 |
| 标准化与最佳实践 | 内置行业最佳实践 |
5.2 三大平台对比
| 平台 | 核心定位 | 适用人群 | 特点 |
|---|---|---|---|
| Coze | 零代码/低代码Agent构建 | AI入门用户、产品经理 | 可视化界面、丰富插件 |
| Dify | LLM应用开发与运营平台 | 技术团队、企业 | 全栈支持、9000+工具 |
| n8n | 工作流自动化工具 | 深度集成开发者 | 强大”连接”能力 |
5.3 平台选择建议
- 快速原型验证、非技术用户 → Coze
- 企业级应用、复杂业务逻辑 → Dify
- 深度业务集成、自动化流程 → n8n
第六章 框架开发实践
6.1 为什么需要智能体框架
- 提升代码复用与开发效率:通用 Agent 基类封装核心循环
- 实现组件解耦与可扩展性:模型层、工具层、记忆层分离
- 标准化复杂的状态管理:处理上下文窗口、历史信息持久化
- 简化可观测性与调试:事件回调机制
6.2 四大框架对比
| 框架 | 核心理念 | 协作模式 | 特点 |
|---|---|---|---|
| AutoGen | 对话驱动协作 | 多角色群聊 | 自然对话映射 |
| AgentScope | 工程化优先 | 消息驱动 | 分布式部署 |
| CAMEL | 角色扮演 | 双智能体协作 | 引导性提示 |
| LangGraph | 图结构控制 | 状态机/有向图 | 支持循环和分支 |
6.3 设计权衡
“涌现式协作”与”显式控制”的选择
- AutoGen/CAMEL:让协作行为从对话规则中”涌现”
- LangGraph:明确每一步和跳转条件,换取可靠性
工程化维度
- AgentScope 代表从”能运行”到”能稳定服务”的跨越
第七章 构建你的 Agent 框架
7.1 HelloAgents 设计理念
| 理念 | 含义 | 实现方式 |
|---|---|---|
| 轻量级与教学友好 | 完整可读性 | 极简依赖策略 |
| 基于标准API | 遵循OpenAI API标准 | 兼容主流LLM |
| 渐进式学习路径 | 每章代码保存为可pip安装的版本 | 版本迭代 |
| 万物皆为工具 | Memory、RAG统一抽象 | 消除不必要抽象层 |
7.2 框架目录结构
hello_agents/
├── core/ # 核心框架层
│ ├── agent.py # Agent基类
│ ├── llm.py # HelloAgentsLLM统一接口
│ ├── message.py # 消息系统
│ └── config.py # 配置管理
├── agents/ # Agent实现层
│ ├── simple_agent.py # SimpleAgent
│ ├── react_agent.py # ReActAgent
│ ├── reflection_agent.py # ReflectionAgent
│ └── plan_solve_agent.py # PlanAndSolveAgent
├── tools/ # 工具系统层
│ ├── base.py # 工具基类
│ ├── registry.py # 工具注册机制
│ └── builtin/ # 内置工具集
└──
7.3 四种 Agent 范式对比
| Agent类型 | 核心机制 | 适用场景 |
|---|---|---|
| SimpleAgent | 基础对话 | 简单问答 |
| ReActAgent | 思考→行动→观察循环 | 需要工具调用 |
| ReflectionAgent | 执行→反思→优化循环 | 质量要求高 |
| PlanAndSolveAgent | 规划→执行步骤 | 复杂多步骤任务 |
第三部分:高级知识扩展
第八章 记忆与检索
8.1 为什么需要记忆系统
大语言模型本质上是无状态的,导致三大局限:
| 局限 | 表现 | 影响 |
|---|---|---|
| 上下文丢失 | 长对话中早期信息被遗忘 | 无法维持连贯对话 |
| 个性化缺失 | 无法记住用户偏好 | 交互体验差 |
| 学习能力受限 | 无法从过往经验学习 | 无法持续改进 |
8.2 四层记忆架构
| 记忆类型 | 存储 | 容量/过期 | 检索方式 |
|---|---|---|---|
| 工作记忆 | 纯内存+TTL | 50条/15-30秒 | TF-IDF+关键词 |
| 情景记忆 | SQLite+Qdrant | 持久化 | 向量+时间序列 |
| 语义记忆 | Qdrant+Neo4j | 持久化 | 向量+图关系 |
| 感知记忆 | Qdrant(多模态) | 持久化 | 跨模态检索 |
8.3 评分机制
| 记忆类型 | 评分公式 |
|---|---|
| 工作记忆 | (向量×0.7 + 关键词×0.3) × 时间衰减 × (0.8 + 重要性×0.4) |
| 情景记忆 | (向量×0.8 + 时间×0.2) × 重要性权重 |
| 语义记忆 | (向量×0.7 + 图×0.3) × 重要性权重 |
8.4 RAG 系统
高级检索策略:
| 策略 | 原理 | 效果 |
|---|---|---|
| MQE(多查询扩展) | 使用LLM生成n个语义等价查询 | 提升召回率 |
| HyDE(假设文档嵌入) | 生成假设性答案文档用于检索 | 改善精度 |
第九章 上下文工程
9.1 核心概念:上下文腐蚀
上下文腐蚀 (Context Rot):随着上下文窗口tokens增加,模型准确回忆信息的能力反而下降。
核心观点:LLM有有限的”注意力预算”,每新增一个token都消耗预算。
9.2 长时程任务三大策略
| 策略 | 说明 | 适用场景 |
|---|---|---|
| 压缩整合 | 对话接近上限时高保真总结,重启新窗口 | 长对话连续性任务 |
| 结构化笔记 | 固定频率写入外部持久化存储 | 迭代式开发和研究 |
| 子代理架构 | 专长子代理在干净窗口中深挖 | 复杂研究与分析 |
9.3 GSSC 流水线
| 阶段 | 全称 | 职责 |
|---|---|---|
| G | Gather | 多源信息汇集 |
| S | Select | 智能选择(相关性+新近性评分) |
| S | Structure | 结构化输出 |
| C | Compress | 兜底压缩 |
评分公式:
综合分数 = 相关性权重 × 相关性 + 新近性权重 × 新近性
第十章 智能体通信协议
10.1 三大协议定位对比
| 协议 | 全称 | 核心定位 | 解决什么问题 |
|---|---|---|---|
| MCP | Model Context Protocol | 智能体-工具桥梁 | 如何访问外部工具和服务 |
| A2A | Agent-to-Agent Protocol | 智能体间对话 | 多个智能体如何协作 |
| ANP | Agent Network Protocol | 大规模网络基础设施 | 如何发现和连接智能体 |
10.2 MCP 协议详解
核心能力:
| 能力 | 说明 | 示例 |
|---|---|---|
| Tools | 主动执行操作 | 读文件、调用API |
| Resources | 被动提供数据 | 文件URI、表结构 |
| Prompts | 指导性模板 | 代码审查模板 |
架构:Host-Client-Server 三层架构
10.3 协议选择指南
需要访问外部服务? → 是 → 使用 MCP
↓ 否
需要多智能体协作?
├─ 小规模(2-10个)→ 使用 A2A
└─ 大规模网络 → 使用 ANP
第十一章 Agentic-RL
11.1 为什么需要强化学习
| 传统监督学习局限 | Agentic RL 优势 |
|---|---|
| 数据质量依赖,只能模仿 | 可探索超越人类示范的方案 |
| 缺乏探索能力 | 主动探索 |
| 难以优化多步推理 | 可精确优化累积奖励 |
11.2 LLM 训练全景图
预训练(因果语言建模)→ 后训练(SFT → RM → RL微调)
↓
PPO / GRPO
11.3 后训练三步骤
| 步骤 | 目标 | 损失函数 |
|---|---|---|
| SFT | 遵循指令和对话格式 | $-\sum \log P(y_i|x_i)$ |
| RM | 评估回答质量 | $-\mathbb{E}[\log \sigma(r_w - r_l)]$ |
| RL | 优化策略 | $J_{PPO} = \mathbb{E}[r] - \beta D_{KL}$ |
11.4 PBRFT vs Agentic RL
| 维度 | PBRFT | Agentic RL |
|---|---|---|
| 状态 | 静态 | 动态演化 |
| 时间跨度 | T=1,单步 | T≫1,多步 |
| 行动空间 | 仅文本生成 | 文本+工具调用 |
| 奖励 | 单步奖励 | 累积折扣奖励 |
11.5 GRPO vs PPO
| 维度 | PPO | GRPO |
|---|---|---|
| Value Model | 需要 | 不需要 |
| 模型数量 | 4个 | 2个 |
| 训练稳定性 | 一般 | 较高 |
GRPO核心公式:
$$J_{GRPO} = \mathbb{E}\left[\frac{\pi_\theta}{\pi_{ref}}(r - \bar{r}{group})\right] - \beta \cdot D{KL}$$
11.6 LoRA 参数高效微调
核心思想:参数变化可用低秩矩阵表示
$$\Delta W = BA, \quad B \in \mathbb{R}^{d \times r}, A \in \mathbb{R}^{r \times k}$$
效果(Qwen3-0.6B):全量微调 ~12GB → LoRA ~1-6GB
第十二章 智能体性能评估
12.1 评估体系架构
Tool 层(评估工具化封装)
↓
Evaluator 层(评估执行)
↓
Dataset 层(数据管理)
12.2 核心评估基准
| 基准 | 来源 | 评估能力 | 数据规模 |
|---|---|---|---|
| BFCL | UC Berkeley | 工具调用能力 | 1120+ |
| GAIA | Meta + HuggingFace | 通用AI助手能力 | 466 |
| AgentBench | 清华大学 | 8领域通用能力 | 多领域 |
12.3 BFCL 评估机制
AST匹配算法:
# 匹配规则
1. 函数名必须精确匹配
2. 参数键值对集合相等(忽略顺序)
3. 参数值在语义上等价
12.4 GAIA 评估机制
准精确匹配流程:
归一化处理 → 精确匹配
"$1,234.56" → "1234.56"
"Paris, London" → "berlin,london,paris"
第四部分:综合案例进阶
第十三章 智能旅行助手
13.1 项目概述
核心功能:
- 智能行程规划(景点、餐饮、酒店)
- 地图可视化
- 预算计算
- 行程编辑
- 导出功能(PDF/图片)
13.2 技术架构
| 层级 | 技术栈 | 职责 |
|---|---|---|
| 前端层 | Vue3 + TypeScript | 用户交互、地图可视化 |
| 后端层 | FastAPI | API路由、业务逻辑 |
| 智能体层 | HelloAgents | 任务分解、工具调用 |
| 外部服务层 | 高德API、LLM API | 底层数据与能力 |
13.3 多智能体协作设计
| Agent名称 | 职责 | 调用工具 |
|---|---|---|
| AttractionSearchAgent | 搜索景点 | 高德POI搜索 |
| WeatherQueryAgent | 查询天气 | 高德天气查询 |
| HotelAgent | 推荐酒店 | 高德POI搜索 |
| PlannerAgent | 生成行程 | 无,专注整合 |
13.4 MCP 工具集成
通过 MCPTool 接入高德地图 MCP 服务器,16个工具自动展开,Agent 可直接调用。
第十四章 自动化深度研究智能体
14.1 深度研究的三大难点
| 难点 | 说明 |
|---|---|
| 信息不断发散 | 研究主题可能涉及多个分支 |
| 事实快速更新 | 需要持续跟踪最新信息 |
| 高来源要求 | 用户需要可追溯的引用 |
14.2 智能体三大核心能力
| 能力 | 说明 |
|---|---|
| 问题剖析 | 将开放主题拆解为可检索的查询 |
| 多轮信息采集 | 结合不同搜索API持续挖掘 |
| 反思与总结 | 识别知识空白,生成结构化总结 |
14.3 三阶段流程
规划阶段(3-5个子任务JSON)
↓
执行阶段(搜索→总结→记录)
↓
报告阶段(整合生成报告)
14.4 三个 Agent 协作
| Agent | 名称 | 输出 |
|---|---|---|
| Agent 1 | TODO Planner | 3-5个子任务JSON |
| Agent 2 | Task Summarizer | Markdown总结+引用 |
| Agent 3 | Report Writer | 完整研究报告 |
第十五章 构建赛博小镇
15.1 核心功能
- 智能 NPC 对话系统
- 记忆系统(短期/长期)
- 好感度系统(5个等级)
- 游戏化交互(2D像素风格)
- 实时日志系统
15.2 技术架构
| 架构层级 | 技术选型 | 核心职责 |
|---|---|---|
| 前端层 | Godot 4.5 | 游戏渲染、玩家控制 |
| 后端层 | FastAPI | API路由、NPC状态管理 |
| 智能体层 | HelloAgents | NPC智能核心、记忆管理 |
| 外部服务层 | LLM API、Qdrant、SQLite | 模型能力、持久化 |
15.3 好感度等级
| 等级 | 分数范围 | NPC行为表现 |
|---|---|---|
| 陌生 | 0-20 | 礼貌疏远,回复简短 |
| 熟悉 | 21-40 | 愿意正常交流 |
| 友好 | 41-60 | 把玩家当朋友 |
| 亲密 | 61-80 | 信任玩家,愿意分享 |
| 挚友 | 81-100 | 无话不谈 |
15.4 性能优化:批量生成模式
- 后台批量生成:定时为所有 NPC 生成背景对话(5分钟间隔)
- 玩家交互即时响应:直接调用专属 Agent 生成个性化回复
第五部分:毕业设计及未来展望
第十六章 毕业设计
16.1 毕业设计形式
以开源项目形式提交到 Hello-Agents 共创仓库(Co-creation-projects目录)
提交内容:
- 可运行的 Jupyter Notebook 或 Python 脚本
- 完整依赖列表
requirements.txt - 清晰的
README.md说明文档 - 可选:演示视频、截图、数据集
16.2 推荐选题方向
| 类别 | 示例 |
|---|---|
| 生产力工具 | 智能代码审查助手、智能会议助手 |
| 学习辅助 | 智能论文助手、智能编程导师 |
| 创意娱乐 | 智能故事生成器、智能游戏NPC |
| 数据分析 | 智能数据分析师、智能舆情监控 |
| 生活服务 | 智能健康助手、智能理财助手 |
16.3 开发流程
- Fork 仓库 → 创建开发分支
- 环境配置 → 安装依赖、配置 API 密钥
- 项目开发 → 编写代码、测试
- 文档编写 → README、requirements.txt
- 提交 PR → 等待 Review、合并
附录
A. 关键公式汇总
| 名称 | 公式 |
|---|---|
| 语言模型概率 | $P(w_1,w_2,\cdots,w_m) = P(w_1) \cdot P(w_2|w_1) \cdots P(w_m|w_1,\cdots,w_{m-1})$ |
| 注意力机制 | $\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^{T}}{\sqrt{d_{k}}}\right)V$ |
| Temperature采样 | $p_i^{(T)} = \frac{e^{z_i/T}}{\sum_{j=1}^k e^{z_j/T}}$ |
| SFT损失 | $\mathcal{L}{SFT} = -\sum{i=1}^{N} \log P(y_i | x_i; \theta)$ |
| GRPO目标 | $J_{GRPO} = \mathbb{E}\left[\frac{\pi_\theta}{\pi_{ref}}(r - \bar{r}{group})\right] - \beta D{KL}$ |
B. 框架选型指南
| 场景 | 推荐框架 |
|---|---|
| 快速原型验证 | Coze / Dify |
| 企业级应用 | Dify / LangGraph |
| 深度业务集成 | n8n |
| 群聊式协作 | AutoGen |
| 工业级工程 | AgentScope |
| 显式控制流 | LangGraph |
C. 参考资源
| 资源 | 链接 |
|---|---|
| 在线文档 | https://hello-agents.datawhale.cc |
| GitHub 仓库 | https://github.com/datawhalechina/hello-agents |
| MCP 官方 | https://modelcontextprotocol.io |
| A2A 官方 | https://a2a-protocol.org |
| ANP 官方 | https://agent-network-protocol.com |
文档整理完毕 | 基于《Hello-Agents》全部 16 章内容系统性提取