Agent 核心概念与专业术语¶
约 14737 个字 预计阅读时间 49 分钟
前言¶
- 大语言模型(LLM):海量数据预训练的自然语言模型
- 通用人工智能(AGI):具备通用智能的AI系统
- 智能体(Agent):能自主感知环境采取行动的实体
- 多智能体系统(MAS):多个智能体协作完成复杂目标
第一章 初识智能体¶
1. 智能体核心定义与要素¶
- 传感器(Sensors):智能体感知环境的输入通道
- 环境(Environment):智能体所处的外部世界
- 执行器(Actuators):智能体改变环境状态的输出装置
- 行动(Action):智能体对环境施加的具体操作
- 自主性(Autonomy):智能体独立决策的能力
- 智能体循环(Agent Loop):感知-思考-行动的持续闭环
- 感知(Perception):智能体接收环境输入的过程
- 观察(Observation):环境反馈给智能体的信息
- 思考(Thought):智能体的内部推理与决策过程
- 工具选择(Tool Selection):从工具库选择最适工具
- 状态变化(State Change):行动后环境状态的更新
- 交互协议(Interaction Protocol):规范信息交换的结构化格式
- 解析器(Parser):将行动指令翻译为实际函数调用
- PEAS模型:描述任务环境的四维分析框架
- 性能度量(Performance):评估智能体达成目标程度的指标
2. 传统智能体分类¶
- 反射智能体(Simple Reflex Agent):基于条件-动作规则的即时响应
- 基于模型的反射智能体:拥有内部世界模型的反应式系统
- 世界模型(World Model):智能体对环境内部状态的建模
- 基于目标的智能体:主动选择能达成目标的行动
- A*算法:基于启发式的经典路径搜索算法
- 基于效用的智能体:在冲突目标间最大化期望满意度
- 学习型智能体:通过与环境交互自主改进性能
- 强化学习(RL):通过试错和奖励信号学习决策
3. 时间与反应性分类¶
- 反应式智能体(Reactive Agents):对刺激即时响应的决策模式
- 规划式智能体(Deliberative Agents):深思熟虑后再行动的模式
- 混合式智能体(Hybrid Agents):结合反应性与规划性的双模系统
- 反应性(Reactivity):追求响应速度的决策模式
- 规划性(Deliberation):追求最优解的深思熟虑
4. 知识表示分类¶
- 符号主义AI(Symbolic AI):智能源于符号逻辑操作
- 亚符号主义AI(Sub-symbolic AI):知识内隐分布在神经网络中
- 神经符号主义AI(Neuro-Symbolic AI):融合神经网络和符号推理
- 黑箱(Black Box):内部决策过程不可解释的模型
- 系统1:快速直觉并行的思维模式
- 系统2:缓慢基于逻辑的审慎推理
5. 任务环境分类¶
- 确定性环境:行动结果完全可预测
- 随机性环境:行动结果存在不确定性
- 多智能体环境:环境中存在多个行动者
- 序贯环境:当前动作会影响未来状态
- 动态环境:智能体决策时环境自身也在变化
6. LLM新范式与提示工程¶
- GPT(生成式预训练Transformer):OpenAI的生成式预训练模型
- LLM智能体:以大语言模型为核心决策引擎的智能体
- 提示工程(Prompt Engineering):设计指令模板引导LLM行为
- Thought-Action-Observation:智能体输出结构的三要素格式
- 任务分解:将复杂目标拆解为可执行子步骤
- 工具调用(Tool Call):LLM执行外部API或函数的能力
- 上下文理解:基于历史进行连贯推理
- 结果合成:将多步执行结果整合为最终答案
- 应用程序编程接口(API):软件间通信和数据交换接口
7. 智能体框架与工具¶
- LangChain:构建LLM应用的流行开源框架
- LlamaIndex:连接大模型与外部数据的索引框架
- BabyAGI:早期自主任务执行智能体框架
- AutoGPT:早期通用自主智能体框架
- CrewAI:模拟虚拟团队的多智能体协作框架
- AutoGen:微软灵活多智能体对话框架
- MetaGPT:模拟软件公司的组织化多智能体框架
- LangGraph:基于状态图的智能体执行控制框架
- AgentGPT:单智能体自主循环迭代范式
- CAMEL:角色扮演式多智能体对话框架
- AgentScope:灵活多智能体交互网络框架
8. 协作模式¶
- 单智能体自主循环:思考-规划-执行-反思闭环
- 多智能体协作:多个智能体分工完成复杂目标
- 角色扮演式对话:为智能体设定角色进行结构化对话
- 组织化工作流:模拟团队分工的层级协作模式
- 高级控制流架构:基于状态图灵活控制执行流程
- 状态图(State Graph):定义智能体状态转移的图结构
- Workflow:预先定义的步骤化任务编排
- 人机协同:AI辅助人类而非取代的工作模式
9. AI编程助手¶
- GitHub Copilot:代码自动补全和对话式AI助手
- Claude Code:Anthropic开发的终端AI编程助手
- Trae:轻量级AI代码生成和优化工具
- Cursor:AI原生代码编辑器
第二章 智能体发展史¶
1. 符号主义时代¶
- 符号主义(Symbolicism):智能源于符号逻辑运算
- 物理符号系统假说(PSSH):智能本质是符号的计算与处理
- 艾伦·纽厄尔(Allen Newell):PSSH提出者,图灵奖得主
- 赫伯特·西蒙(Herbert A. Simon):PSSH提出者,图灵奖得主
- 专家系统(Expert System):模拟人类专家领域决策的程序
- 知识库(Knowledge Base):存储领域专家知识和经验
- 推理机(Inference Engine):应用规则推导新结论的计算引擎
- 知识表示(Knowledge Representation):知识在计算机中的编码方式
- 产生式规则(Production Rules):IF-THEN形式的知识表示
- 正向链(Forward Chaining):从事实推导结论的数据驱动推理
- 反向链(Backward Chaining):从目标反推证据的目标驱动推理
- MYCIN:斯坦福开发的细菌感染诊断专家系统
- 置信因子(Certainty Factor):表示结论可信度的数值指标
- SHRDLU:威诺格拉德开发的积木世界智能体
- 特里·威诺格拉德(Terry Winograd):SHRDLU的开发者
- 积木世界:验证智能体能力的简化三维虚拟空间
- 自然语言理解:解析和理解人类语言的能力
- 指代消解:确定代词所指对象的过程
- 知识获取瓶颈:知识难以规模化编码的根本难题
- 常识问题:机器缺乏人类常识背景知识的困境
- Cyc项目:构建大规模常识知识库的长期项目
- 框架问题(Frame Problem):高效判断动作后哪些事物未改变
- 系统脆弱性(Brittleness):规则系统遇到意外情况完全失灵
2. ELIZA与规则对话¶
- ELIZA:1966年MIT开发的模式匹配聊天机器人
- 约瑟夫·魏泽鲍姆(Joseph Weizenbaum):ELIZA的开发者
- DOCTOR:ELIZA模仿心理治疗师的脚本
- 模式匹配(Pattern Matching):基于关键词规则匹配输入文本
- 文本替换(Text Substitution):用预设模板替换匹配内容
- ELIZA效应:用户将机器误解为有理解能力的心理现象
- 无状态(Stateless):每次回应仅基于当前输入无记忆
3. 心智社会理论¶
- 心智社会(The Society of Mind):智能源自简单单元协作的理论
- 马文·明斯基(Marvin Minsky):心智社会理论提出者
- 自上而下(Top-down):中央处理器统一规划决策的设计
- 机构(Agency):协同工作的简单智能体组成高层单元
- 涌现(Emergence):局部交互自发产生复杂整体智能
- 分布式人工智能(DAI):去中心化多智能体计算范式
- 去中心化控制(Decentralized Control):无中央节点的协调机制
- 涌现式计算(Emergent Computation):局部规则自发解决复杂问题
- 智能体的社会性(Agent Sociality):智能体间交互通信的社会维度
- 通信语言(ACL):智能体间标准化的交互通信协议
- 契约网:智能体间的任务分配协商协议
- 蚁群算法:模拟蚂蚁觅食的涌现式优化算法
- 粒子群优化:模拟鸟群觅食的群体智能算法
4. 联结主义与学习范式¶
- 联结主义(Connectionism):自下而上模拟神经网络的范式
- 反向传播算法:通过误差反向调整神经网络权重
- 深度学习:多层神经网络构成的机器学习分支
- 自然语言处理(NLP):使计算机理解和生成人类语言
- 预训练(Pre-training):在海量数据上训练通用语言模型
- 微调(Fine-tuning):用少量标注数据适配特定任务
- 自监督学习(Self-supervised Learning):利用数据自身结构学习
- 涌现能力(Emergent Abilities):大模型规模达标后突现的能力
- 上下文学习(In-context Learning):通过输入示例学习无需调参
- 少样本(Few-shot):提供少量示例完成任务
- 零样本(Zero-shot):不提供示例直接完成新任务
- 思维链(Chain-of-Thought):引导模型分步推理提升准确率
5. 强化学习¶
- 策略(Policy):从状态到行动的映射函数
- 状态(State):环境在特定时刻的描述
- 奖励(Reward):评价行动好坏的标量反馈信号
- 累积奖励(Cumulative Reward):从当前到未来的总奖励
- 回报(Return):智能体最大化长期奖励的总和
6. 现代LLM智能体架构¶
- LLM驱动的智能体:以LLM为核心的现代智能体系统
- 感知模块(Perception Module):接收和预处理环境输入
- 规划模块(Planning Module):制定宏观目标和任务分解
- 反思(Reflection):对自身行动和结果进行批判性分析
- 自我批判(Self-criticism):内部评估推理质量的机制
- 记忆模块(Memory):存储历史信息和交互上下文
- 执行模块(Execution Module):解析并执行工具调用指令
- 工具箱(Tool Use):智能体可用外部工具集合
- 工具结果(Tool Result):工具执行后返回的反馈数据
- 记忆更新(Memory Update):根据行动结果更新记忆
7. 三大思潮与里程碑¶
- 行为主义(Behaviorism):通过与环境的试错交互学习最优策略
- 杰弗里·辛顿(Geoffrey Hinton):推动反向传播和深度学习复兴
- 深蓝(Deep Blue):IBM击败人类国际象棋冠军的计算机
- TD-Gammon:时序差分学习的西洋双陆棋程序
- AlphaGo:基于强化学习击败人类围棋冠军的AI
- 卷积神经网络(CNN):专门处理网格结构数据的网络
- Transformer:完全基于注意力机制的神经网络架构
- AI Agent技术栈:从底层模型到上层应用的完整技术分层
- Letta:发布AI Agent技术栈图谱的公司
第三章 大语言模型基础¶
1. 统计语言模型¶
- 语言模型(LM):计算词序列出现概率的模型
- 马尔可夫假设(Markov Assumption):词概率只依赖前有限个词
- N-gram模型:基于马尔可夫假设的统计语言模型
- Bigram:考虑前一个词的双词统计语言模型
- Trigram:考虑前两个词的三词统计语言模型
- 最大似然估计(MLE):以观测频率估计概率的方法
- 数据稀疏性(Sparsity):稀有序列概率为零的现象
- 平滑(Smoothing):解决零概率问题的技术手段
- 链式法则:将句子概率分解为条件概率连乘
2. 神经网络语言模型¶
- 前馈神经网络语言模型:Bengio提出的神经网络语言模型
- 词嵌入(Word Embedding):将词映射为连续空间向量
- 余弦相似度(Cosine Similarity):衡量向量夹角相似度的指标
- 循环神经网络(RNN):带隐藏状态能处理序列的网络
- 隐藏状态(hidden state):RNN在时间步间传递的短期记忆
- 长期依赖问题:序列过长导致早期信息无法传递
- 梯度消失:反向传播中梯度趋零无法学习远距离依赖
- 梯度爆炸:反向传播中梯度过大导致训练不稳定
- 长短时记忆网络(LSTM):通过门控解决长期依赖的RNN
- 细胞状态(Cell State):LSTM中独立于隐藏状态的信息通路
- 门控机制(Gating Mechanism):控制信息流动的微型神经网络
- 遗忘门(Forget Gate):控制丢弃哪些过去信息
- 输入门(Input Gate):控制存入哪些新信息
- 输出门(Output Gate):控制输出哪些当前信息
3. Transformer架构¶
- 注意力(Attention):计算序列元素间关联权重的机制
- 编码器-解码器(Encoder-Decoder):先理解再生成的架构
- 编码器(Encoder):理解输入生成富含上下文的表示
- 解码器(Decoder):基于编码器表示逐词生成输出序列
- 自注意力(Self-Attention):序列内元素互相计算关联权重
- 查询(Query, Q):代表当前词元主动查询的角色
- 键(Key, K):代表可被查询的标签或索引
- 值(Value, V):代表词元本身携带的内容信息
- 多头注意力(Multi-Head Attention):多组注意力并行计算不同特征
- 缩放点积注意力:带缩放因子的点积注意力计算
- Softmax:将分数转换为概率分布的归一化函数
- 位置前馈网络(FFN):逐位置独立处理的双层线性变换
- 残差连接(Residual Connection):跳过子模块直接传递梯度
- 层归一化(Layer Normalization):单样本特征维度归一化
- 内部协变量偏移:层输入分布变化导致训练不稳定
- 位置编码(Positional Encoding):注入序列位置信息的编码
- 正弦余弦位置编码:用正余弦函数计算位置向量
4. Decoder-Only架构¶
- Decoder-Only架构:仅保留解码器的大语言模型架构
- 自回归(Autoregressive):基于已生成内容逐步预测下一词
- 掩码自注意力(Masked Self-Attention):阻止关注未来位置的注意力
- 因果掩码:将未来位置分数设为零的掩码矩阵
5. 提示工程关键概念¶
- 提示(Prompt):用户与LLM沟通的输入指令
- Temperature:控制输出随机性的采样温度参数
- Top-k采样:只从前k个高概率词中采样的策略
- Top-p采样(核采样):从累积概率达p的候选集中采样
- 贪心采样:始终选择概率最高的词
- 零样本提示(Zero-shot Prompting):不给示例直接指令完成任务
- 单样本提示(One-shot Prompting):提供一条示例引导输出格式
- 少样本提示(Few-shot Prompting):提供多条示例提升任务表现
- 指令调优(Instruction Tuning):用指令-回答数据微调模型
- 角色扮演(Role-playing):赋予模型特定角色引导回答风格
- 上下文示例(In-context Example):在提示中嵌入输入输出示例
- 思维链(Chain-of-Thought, CoT):引导模型逐步推理
6. 分词技术¶
- 分词(Tokenization):将文本转换为数字序列的过程
- 分词器(Tokenizer):定义文本切分规则的算法
- 词元(Token):分词后的最小语义单元
- 未登录词(OOV):词表中未出现的词
- 子词分词(Subword Tokenization):常见词保留完整,生僻词拆分子词
- 字节对编码(BPE):迭代合并高频相邻词元对构建词表
- WordPiece:合并能最大提升语言模型概率的词元对
- SentencePiece:将空格视为普通字符的子词分词工具
- 上下文窗口:模型一次能处理的最大Token数量
7. 模型生态与选型¶
- Hugging Face Transformers:标准化的预训练模型加载库
- AutoModelForCausalLM:自动加载因果语言模型的类
- AutoTokenizer:自动加载匹配分词器的类
- RLHF(人类反馈强化学习):用人类偏好优化模型对齐意图
- GPT系列:OpenAI各代大语言模型
- Gemini系列:Google DeepMind原生多模态模型
- Claude系列:Anthropic注重安全性的闭源模型
- 文心一言(ERNIE Bot):百度开发的中文大语言模型
- 腾讯混元(Hunyuan):腾讯开发的大语言模型
- 华为盘古(Pangu-α):华为开发的大语言模型
- 科大讯飞星火(SparkDesk):科大讯飞的大语言模型
- 月之暗面(Moonshot AI):拥有超长上下文窗口的中文模型
- Llama系列:Meta开源的综合性大语言模型
- 混合专家(MoE):仅激活部分参数提升计算效率的架构
- Mistral AI系列:法国少参数高性能开源模型
- 通义千问(Qwen):阿里开源的强中文能力模型
- ChatGLM:清华与智谱AI合作的开源中文模型
- BERT:Google基于编码器的双向预训练模型
- LMSys Chatbot Arena Leaderboard:公开大模型综合能力排行榜
8. 缩放法则与局限性¶
- 缩放法则(Scaling Laws):性能与参数量数据的幂律关系
- Chinchilla定律:参数量和训练数据量存在最优配比
- 能力涌现:模型规模达阈值后突现新能力
- 指令遵循(Instruction Following):准确理解并执行用户指令
- 模型幻觉(Hallucination):模型生成与事实相矛盾的内容
- 事实性幻觉:生成内容与现实事实不符
- 忠实性幻觉:生成内容偏离源文本含义
- 内在幻觉:生成内容与输入直接矛盾
- 检索增强生成(RAG):从外知识库检索信息辅助生成
- 多步推理与验证:分步推理并自我检查的过程
- 知识时效性:模型知识限于训练数据截止日期
- 偏见(Bias):训练数据中刻板印象被模型吸收反映
- 自回归生成机制:逐个预测下一个词元的生成方式
第四章 智能体经典范式构建¶
1. 基础组件¶
- HelloAgentsLLM:定制化LLM客户端支持流式响应
- ToolExecutor:统一管理和调度外部工具的执行器
- 工具(Tools):智能体与外部世界交互的函数集合
- 流式响应:逐块接收模型生成的内容
2. ReAct范式¶
- ReAct(Reasoning and Acting):推理与行动紧密结合的智能体范式
- Thought:智能体对当前状态的内部分析与思考
- Action:智能体决定执行的具体工具操作
- Observation:工具执行后返回的结果反馈
- ReActAgent:封装ReAct循环的智能体类
- 系统提示词(System Prompt):定义角色工具和输出格式的指令
- 输出解析器(Parser):从LLM文本提取结构化信息
- 正则表达式:用于解析Thought和Action的模式匹配
- SerpApi:提供结构化Google搜索结果的API
- 高可解释性:Thought链清晰展示决策过程
- 动态规划与纠错:基于Observation动态调整后续行动
- 工具协同能力:推理能力与工具执行能力的结合
- 提示词脆弱性:模板微小变动影响模型行为稳定性
- 局部最优:步进决策缺乏长远全局规划视角
3. Plan-and-Solve范式¶
- Plan-and-Solve:先完整规划后严格执行的智能体范式
- 规划阶段(Planning Phase):将问题分解为分步行动计划
- 执行阶段(Solving Phase):严格按照计划逐一执行步骤
- Planner:负责生成结构化行动计划的规划器
- Executor:负责逐一执行计划并维护执行状态
- 状态管理(State Management):记录中间结果供后续步骤使用
- PlanAndSolveAgent:整合规划器和执行器的智能体类
- 协调者(Orchestrator):协调内部组件完成任务
- 组合优于继承:通过组合组件而非继承实现扩展
- 静态计划:一次性生成不可中途修改的计划
4. Reflection范式¶
- Reflection:赋予智能体自我反思和迭代优化的范式
- Memory(记忆模块):存储执行和反思轨迹的短期记忆
- 短期记忆:保存当前任务的交互和反馈历史
- 多模态记忆:支持文本代码图像等多种形式的记忆
- Reflexion框架:Shinn提出的智能体口头强化学习框架
- 反馈(Feedback):评审员对初稿的结构化改进意见
- 优化(Refinement):根据反馈对初稿进行修正
- 执行-反思-优化:智能体自我校正的三步迭代循环
- ReflectionAgent:封装反思迭代循环的智能体类
- 自我校正循环:不依赖外部反馈的内部纠错回路
- 模型调用开销:多次迭代带来的额外API成本
- 以成本换质量:用延迟和计算量换取更优结果
- 埃拉托斯特尼筛法:高效找出范围内所有素数
- 分段筛法(Segmented Sieve):大内存受限时的分段筛素数
- 奇数筛法(Odd Number Sieve):只标记奇数的空间优化筛法
第五章 基于低代码平台的智能体搭建¶
1. 低代码平台¶
- 低代码平台:图形化模块化快速构建应用
- Coze(扣子):字节跳动的零代码智能体构建平台
- Dify:开源LLM应用开发与运营平台
- FastGPT:开源知识库问答与Agent构建工具
- n8n:开源工作流自动化工具
- 魔搭社区(ModelScope):阿里云AI模型与MCP服务平台
- 阿里云百炼:阿里云大模型服务平台
- 原型(Prototype):快速验证想法的最小可行产品
2. 提示词与知识¶
- 系统提示(System Prompt):定义智能体长期行为准则的指令
- 用户提示(User Prompt):定义具体任务指令的提示词
- 提示词工程(Prompt Engineering):设计和优化提示词的技术
- 提示词模板:可复用的提示词格式模板
- 角色设定:为智能体赋予专业角色定位
- 知识库(Knowledge Base):存储结构化知识的数据库
- 向量知识库:以向量形式存储的知识库
- 向量化存储:将文本转为向量以便语义检索
- 文本向量化(Embeddings):将文本转换为向量表示
3. 平台功能模块¶
- 插件(Plugin):扩展智能体功能的模块化组件
- 工作流(Workflow):多个节点连接而成的自动化流程
- 可视化编排:通过拖拽方式构建工作流
- 节点(Node):工作流中执行操作的最小单元
- 触发节点(Trigger Node):启动整个工作流的节点
- 常规节点(Regular Node):处理数据和逻辑的节点
- AI Agent节点:n8n中整合模型记忆工具的节点
- Simple Vector Store:n8n的简化向量存储节点
- LLM节点:工作流中嵌入的大语言模型节点
- 问题分类器:智能路由用户请求的分类模块
- 意图识别:识别用户输入意图的技术
- 效果评测:评估智能体输出质量的机制
4. RAG系统¶
- 检索增强生成(RAG):检索外部知识增强模型生成
- RAG Pipeline:检索增强生成的完整处理链路
5. 多智能体模式¶
- 多智能体架构:多个智能体协同工作的系统架构
- 单智能体自主规划:单个智能体独立规划执行
- 单智能体对话流:单个智能体对话流程模式
- 多智能体模式:多个智能体协同工作模式
6. 架构与部署¶
- 后端即服务(BaaS):提供后端能力即服务的模式
- LLMOps:LLM应用运维管理的理念
- 分层模块化架构:分层解耦便于扩展的架构设计
- 模型中立设计:平台不绑定特定模型供应商
- 私有化部署:将服务部署在自有环境
- 分布式部署:将系统部署在多台服务器
- 持久化存储:数据在服务重启后不丢失
- 混合开发模式:平台与代码结合的开发方式
- 零代码:无需编写代码即可构建应用
7. 安全与发布¶
- RBAC权限控制:基于角色的访问控制机制
- AES-256加密:高级加密标准256位算法
- 审计日志:记录系统操作行为的日志
- 版本控制:管理代码版本变更的系统
- SSE模式:服务器推送事件通信模式
- 发布渠道:智能体部署发布的目标平台
第六章 框架开发实践¶
1. 框架总览¶
- 智能体框架:高效构建智能体应用的规范架构
- 模型层(Model Layer):与大语言模型交互的抽象层
- 工具层(Tool Layer):工具定义注册执行的接口层
- 记忆层(Memory Layer):处理短期长期记忆的模块化层
- 事件回调机制(Callbacks):生命周期关键节点触发回调
- 多智能体协作:多个智能体协同完成任务
- 复杂工作流控制:复杂流程精确控制的技术
2. AutoGen¶
- AutoGen:微软对话驱动的多智能体框架
- 对话驱动协作:通过对话实现智能体协作
- 群聊(GroupChat):多智能体群组对话模式
- AssistantAgent:AutoGen中基于LLM的任务解决者
- UserProxyAgent:AutoGen中人类用户代理和执行器
- 轮询群聊(RoundRobinGroupChat):按固定顺序发言的群聊
- 异步优先:采用async/await异步编程架构
- autogen-core:AutoGen底层核心模块
- autogen-agentchat:AutoGen对话智能体高层接口
- OpenAIChatCompletionClient:标准OpenAI模型客户端
- 消息驱动架构:以消息为交互基础的架构模式
- TextMentionTermination:关键词匹配终止条件
- 最大轮次(max_turns):防止无限循环的安全阀
- Human-in-the-loop(人机协作):人类参与审核的模式
3. AgentScope¶
- AgentScope:阿里达摩院消息驱动多智能体平台
- MsgHub(消息中心):AgentScope的消息路由分发中枢
- AgentBase:AgentScope的统一智能体基类
- reply方法:智能体核心响应方法
- 组合式架构:通过组合而非继承构建系统
- 消息路由:消息分发和路由机制
- 远程过程调用(RPC):跨节点远程通信技术
- 结构化输出:约束智能体输出格式的机制
- 分层解耦:将系统分为独立层次的架构原则
- 扇出管道(fanout_pipeline):并行向所有智能体发消息
- 消息持久化:消息自动保存到数据库
- 原生分布式支持:智能体可部署在不同服务器
- 异步解耦:消息发送接收方时间解耦
- 位置透明:智能体无需关心对方位置
- 可观测性:系统运行状态的可见性
4. CAMEL¶
- CAMEL:角色扮演驱动的多智能体协作框架
- 角色扮演(Role-Playing):智能体扮演特定角色协作
- 引导性提示(Inception Prompting):结构化初始指令引导协作
- AI用户(AI User):CAMEL中提出需求的角色
- AI助理(AI Assistant):CAMEL中执行任务的角色
- 任务完成标志:标识任务完成的特殊标记
- 轻架构重提示:CAMEL的设计哲学
- 多模态能力:支持文本图像音频多种模态
- 模型适配:支持多种LLM后端的适配能力
- 生态联动:与主流框架的互操作性
5. LangGraph¶
- LangGraph:基于图结构的智能体工作流框架
- 状态机(State Machine):基于状态的流程控制模型
- 有向图(Directed Graph):节点和边构成的有向结构
- 全局状态(State):LangGraph中共享的状态对象
- 节点(Nodes):图中执行具体计算步骤的单元
- 边(Edges):定义节点间跳转逻辑的连接
- 条件边(Conditional Edges):根据条件动态跳转的边
- StateGraph:LangGraph的状态图类
- TypedDict:Python的类型化字典
6. 设计理念¶
- 涌现式协作:从简单规则中涌现复杂协作行为
- 显式控制:明确精确地控制流程每一步
- 工程化:将原型推向生产应用的技术实践
- 角色专业化分工:智能体各司其职协作
第七章 构建你的Agent框架¶
1. 框架设计原则¶
- HelloAgents:本书自建的智能体框架名称
- 分层解耦:将系统分为独立层次降低耦合
- 职责单一:每个组件只负责一个职责
- 接口统一:所有组件遵循统一接口规范
- 万物皆为工具:将Memory等模块抽象为工具
- 轻量级设计:框架设计轻量不臃肿
- 教学友好:框架设计便于教学
- 渐进式学习路径:由浅入深的学习设计
- 约定优于配置:减少用户配置负担的原则
2. 核心组件¶
- HelloAgentsLLM:框架统一的大模型调用接口
- Message类:框架内统一的消息格式定义
- Config类:中心化配置管理类
- Agent基类:所有智能体的抽象基类
- Tool基类:框架统一工具抽象基类
- ToolRegistry:工具注册和管理中心
- ToolParameter:工具参数定义系统
- 多提供商支持:支持多种LLM供应商切换
- 自动检测机制:自动推断LLM服务类型的机制
3. Agent实现¶
- SimpleAgent:基础对话智能体实现
- ReActAgent:推理与行动结合的智能体
- ReflectionAgent:自我反思优化的智能体
- PlanAndSolveAgent:分解规划逐步执行
- FunctionCallAgent:基于函数调用机制的智能体
4. 工具系统¶
- 工具注册机制:统一注册和管理工具
- 工具链(ToolChain):多个工具顺序执行的链式调用
- 工具链管理器:管理工具链的注册和执行
- 异步工具执行器:并行执行多个工具的执行器
- 线程池(ThreadPoolExecutor):管理并发线程的池化技术
- 单一职责原则:每个工具只负责特定功能
- 链式调用机制:多个工具按顺序执行
- 降级机制:服务不可用时的备用方案
- 参数解析:智能解析工具调用参数
- 表达式求值:解析和计算数学表达式
5. 本地模型部署¶
- VLLM:高性能LLM推理引擎
- PagedAttention:VLLM的内存管理技术
- 连续批处理:提高模型吞吐量的批处理技术
- Ollama:简易本地大模型部署工具
- CUDA:NVIDIA并行计算平台
6. 关键库与技术¶
- Pydantic:Python数据验证库
- BaseModel:Pydantic的数据模型基类
- ABC抽象基类:Python的抽象类机制
- abstractmethod:Python抽象方法装饰器
- OpenAI SDK:OpenAI官方Python开发工具包
- OpenAI Function Calling:原生函数调用机制
- function calling schema:函数调用的JSON Schema定义
- 流式响应:逐块返回模型生成结果
第八章 记忆与检索¶
1. 认知科学基础¶
- 认知科学:研究人类认知过程的科学
- 感觉记忆(Sensory Memory):持续0.5-3秒的感官信息记忆
- 工作记忆(Working Memory):持续15-30秒的临时信息处理
- 长期记忆(Long-term Memory):持续可达终生的信息存储
- 程序性记忆:技能和习惯的程序化记忆
- 陈述性记忆:可用语言表达的知识记忆
- 语义记忆(Semantic Memory):一般知识和概念的抽象记忆
- 情景记忆(Episodic Memory):个人经历和事件的记忆
- 编码(Encoding):将信息转换为可存储形式
- 存储(Storage):将编码信息保存在系统中
- 检索(Retrieval):从记忆中提取相关信息
- 整合(Consolidation):短期记忆转为长期记忆
- 遗忘(Forgetting):删除不重要或过时信息
- 遗忘曲线:描述记忆随时间衰减的曲线
- 记忆固化:神经科学中记忆稳定的过程
2. 记忆系统架构¶
- 记忆系统(Memory System):存储和检索交互信息的系统
- MemoryManager:记忆系统的统一协调管理器
- MemoryItem:标准化记忆数据结构
- MemoryConfig:记忆系统参数配置
- BaseMemory:记忆类型的通用基类
- MemoryTool:记忆系统统一入口工具
- WorkingMemory:临时信息短期存储(TTL管理)
- EpisodicMemory:具体事件长期存储(时间序列)
- SemanticMemory:抽象知识概念存储(知识图谱)
- PerceptualMemory:多模态数据存储模块
- TTL(Time To Live):数据自动过期机制
- 会话ID:标识单次会话的唯一编号
- 用户ID:标识用户的唯一编号
3. 记忆评分与检索算法¶
- 重要度权重:评估记忆重要程度的参数
- 时间衰减:随时间降低记忆得分的机制
- 指数衰减模型:模拟遗忘曲线的数学模型
- 时间近因性:记忆时间接近当前的程度
- 混合评分:综合多种因素的评分算法
- 多因素评分:综合考虑多种因素的评分机制
- 混合检索:结合多种检索策略的方法
- 向量检索:基于向量相似度的语义搜索
- 图检索:基于知识图谱的关系推理检索
- 重排序:对检索结果重新排序优化
4. RAG技术演进¶
- 检索增强生成(RAG):检索外部知识增强模型生成
- 朴素RAG(Naive RAG):RAG技术的初期简单模式
- 高级RAG(Advanced RAG):引入优化技术的RAG模式
- 模块化RAG(Modular RAG):可插拔组件的RAG模式
- 稠密嵌入(Dense Embedding):基于深度学习的文本向量化
- BM25:改进的文本检索排序函数
- TF-IDF:词频-逆文档频率文本表示方法
- 多查询扩展(MQE):生成多个查询提高召回率
- 假设文档嵌入(HyDE):生成假设答案进行检索
- 查询重写:优化查询表述以提升检索效果
- 文档分块:将长文档分割为小片段
- 检索-读取模式(Retrieve-Read):RAG的基础模式
5. RAG工具实现¶
- RAGTool:RAG系统的统一入口工具
- DocumentProcessor:文档处理器(多格式解析)
- Pipeline:RAG管道(端到端处理流程)
- 上下文构建:智能合并和截断检索结果
- LLM增强生成:基于上下文的准确问答生成
- 数据提取:从文档中提取文字内容
- 文本分割:将长文本切分为片段
- 向量化:将文本转换为嵌入向量
6. 文档处理¶
- MarkItDown:微软开源的文档转Markdown工具
- OCR:光学字符识别技术
- Markdown结构感知分块:利用标题层次的分块策略
- 智能分块:基于语义和结构的分块方法
- 重叠策略:分块间保留重叠内容保持上下文
- CJK字符:中日韩统一表意文字
- 语义分割:基于语义边界的文本分割
7. 存储后端¶
- Qdrant:高性能向量数据库
- Neo4j:知识图谱图数据库
- SQLite:轻量级嵌入式关系数据库
- 知识图谱:实体和关系组成的结构化知识
- 实体(Entity):知识图谱中的节点
- 关系(Relation):知识图谱中的边
- 混合存储架构:结合多种存储系统的架构设计
8. 嵌入服务¶
- 嵌入模型:将文本转换为向量的模型
- DashScopeEmbedding:通义千问云端嵌入服务
- LocalTransformerEmbedding:本地Transformer嵌入模型
- TFIDFEmbedding:基于TF-IDF的轻量级嵌入方案
- all-MiniLM-L6-v2:轻量级句子嵌入模型
- 跨模态检索:不同模态间的语义检索
- CLIP模型:多模态图像文本编码模型
- CLAP模型:多模态音频文本编码模型
- 多模态编码器:编码文本图像音频的模型
9. 关键问题与解决¶
- 无状态(Stateless):LLM每次调用独立无关联
- 上下文丢失:长对话中早期重要信息丢失
- 个性化缺失:无法记住用户偏好习惯
- 上下文窗口限制:LLM一次处理文本的最大长度
- 幻觉问题:模型生成不准确信息的现象
- 可解释性:提供信息来源增强可信度
- 命名空间隔离:多用户数据隔离机制
第九章 上下文工程¶
1. 核心概念¶
- 上下文工程(Context Engineering):系统化构造优化输入上下文的方法
- 提示工程(Prompt Engineering):编写与组织LLM指令获得优质结果
- 上下文腐蚀(Context Rot):tokens增加导致模型回忆能力下降
- 注意力预算(Attention Budget):LLM有限的注意力资源
- 边际收益递减:tokens增加收益递减的规律
- 候选信息宇宙:所有可能进入上下文的信息集合
- 最小必要信息集:勾勒期望行为的最少信息
2. GSSC流水线¶
- GSSC流水线:Gather-Select-Structure-Compress四阶段
- Gather(汇集):从多源汇集候选信息的第一阶段
- Select(选择):按评分选择最相关信息的第二阶段
- Structure(结构化):组织成模板的第三阶段
- Compress(压缩):超限上下文兜底压缩的第四阶段
- ContextBuilder:实现GSSC流水线的上下文构建器
- ContextPacket:候选信息的统一数据封装结构
- ContextConfig:上下文构建的配置参数管理
3. Select评分机制¶
- Jaccard相似度:计算关键词重叠的相关性分数
- 指数衰减模型:计算时间近因性分数
- 贪心算法:按分数从高到低填充token预算
4. 上下文管理技术¶
- JIT上下文(Just-in-time Context):按需动态加载的即时上下文
- 渐进式披露(Progressive Disclosure):逐步暴露信息指导决策
- 压缩整合(Compaction):压缩摘要重启上下文窗口维持连贯
- 结构化笔记(Structured Note-taking):关键信息写入外部持久化存储
- 子代理架构(Sub-agent Architectures):主代理规划子代理执行
- 分层上下文管理:即时+会话+持久三层架构
- 位置编码插值:让模型推理时适配更长的序列
- 混合策略:前置加载高价值上下文+按需自主探索
5. 工具设计原则¶
- 最小可行工具集(MVTS):精心挑选的最小工具集合
- NoteTool:结构化笔记持久化记忆管理工具
- TerminalTool:安全的命令行即时文件访问工具
- 命令白名单:TerminalTool只允许安全的只读命令
- 沙箱机制:TerminalTool限制工作目录访问
- 超时控制:限制命令执行时间防资源耗尽
- 输出大小限制:限制命令输出防内存溢出
6. 关键技术与格式¶
- Few-shot(示例):提供给LLM的少量典型示例
- System Prompt(系统提示):定义角色定位和行为准则
- Transformer注意力机制:n²级别两两注意力关系约束
- Markdown+YAML格式:NoteTool兼具可读性和结构化
- Theta缩放:性能梯度而非悬崖式崩溃
7. 案例应用¶
- 代码库维护助手(CodebaseMaintainer):整合三大工具的长程案例
第十章 智能体通信协议¶
1. MCP协议(Model Context Protocol)¶
- MCP(Model Context Protocol):智能体与工具标准化通信协议
- Host(宿主层):用户交互界面层
- Client(客户端层):协议通信层
- Server(服务器层):具体功能实现层
- Tools(MCP工具):主动执行操作的核心能力
- Resources(MCP资源):被动提供数据的核心能力
- Prompts(MCP提示):提供模板的核心能力
- 关注点分离:MCP三层各司其职的设计优势
- 上下文共享:MCP的设计哲学
- 上下文共享:MCP的设计哲学
- JSON-RPC 2.0:MCP底层通信协议
- FastMCP:MCP协议的Python实现库
- Smithery:MCP服务器官方发布平台
- MCPServer:自定义MCP服务器的构建基类
2. MCP传输层¶
- 传输层无关性(Transport Agnostic):MCP不依赖特定传输方式
- Stdio Transport:标准输入输出传输方式
- Memory Transport:内存传输方式(用于测试)
- HTTP Transport:HTTP远程传输方式
- SSE Transport:Server-Sent Events实时传输
- StreamableHTTP Transport:流式HTTP双向通信传输
3. MCP工具封装¶
- MCPTool:MCP协议的工具封装器
- 自动展开机制:MCPTool自动展开服务器工具为独立工具
- 工具集成困境:需为每个服务编写适配器的问题
- 动态发现:运行时发现新服务和能力
- 互操作性:不同开发者工具可无缝集成
4. A2A协议(Agent-to-Agent Protocol)¶
- A2A(Agent-to-Agent Protocol):智能体间点对点协作协议
- A2ATool:A2A协议的工具封装器
- Task(A2A任务):A2A协议的核心抽象概念
- Artifact(A2A工件):A2A协议的协作产出抽象概念
- 任务生命周期:A2A定义任务的标准状态流转
- A2AServer:A2A协议的服务端实现
- A2AClient:A2A协议的客户端实现
- 点对点架构(P2P):A2A的网状拓扑架构
- 星型拓扑:中央协调器的传统架构
- 对等通信:A2A的设计哲学
- 协商机制:A2A支持智能体间协商提案
5. ANP协议(Agent Network Protocol)¶
- ANP(Agent Network Protocol):大规模智能体网络协议
- ANPTool:ANP协议的工具封装器
- 服务发现(ANP):ANP让智能体动态发现服务
- 智能路由(ANP):ANP根据能力选择最优智能体
- DID身份验证:ANP的去中心化身份验证机制
- 去中心化服务发现:ANP的设计哲学
- ANPDiscovery:ANP服务发现中心
- ANPNetwork:ANP智能体网络管理
- 负载均衡:ANP中选择负载最低的服务器
6. Function Calling¶
- Function Calling:LLM内在的函数调用理解与生成能力
第十一章 Agentic RL¶
1. 训练范式¶
- Agentic RL:将LLM嵌入感知-决策循环通过RL优化多步任务
- SFT(监督微调):让模型学习任务格式和基础能力
- GRPO(群组相对策略优化):无需值模型的简化PPO变体
- PPO(近端策略优化):经典RL算法限制策略更新幅度
- RLHF(人类反馈强化学习):通过人类偏好数据优化模型
- RLAIF(AI反馈强化学习):用AI替代人类标注偏好数据
- 预训练(Pretraining):海量文本上学习语言规律
- 后训练(Post-training):对齐人类偏好和价值观
- PBRFT(偏好强化微调):传统单轮对话质量优化范式
2. 强化学习基础¶
- MDP(马尔可夫决策过程):强化学习的形式化框架
- 状态空间(S):MDP中智能体所处状态的集合
- 行动空间(A):MDP中智能体可选行动的集合
- 奖励函数(R):定义什么是好行为的数值评估
- 折扣因子(gamma):MDP中远期奖励的折扣系数
- 轨迹(Trajectory):完整的状态-行动-奖励序列
- 奖励建模(RM):学习人类偏好的质量评估模型
3. 奖励设计¶
- AccuracyReward(准确率奖励):答案正确得1错误的二值奖励
- LengthPenaltyReward(长度惩罚):正确时惩罚过长答案
- StepReward(步骤奖励):正确时奖励清晰推理步骤
- 稠密奖励:每步都给予反馈的奖励结构
- 稀疏奖励:只在任务完成时给予的奖励
- 混合奖励:结合稠密和稀疏奖励
- 奖励黑客(Reward Hacking):智能体找到奖励捷径未完成任务
- 组内相对奖励:GRPO用组平均奖励替代优势函数
- KL散度惩罚:限制策略偏离参考模型的距离
4. 训练基础设施¶
- TRL(Transformer强化学习):Hugging Face强化学习库
- RLTrainingTool:统一训练工具支持SFT和GRPO
- 因果语言建模:根据上文预测下一个词的预训练任务
- 负对数似然:预训练和SFT的损失函数
5. 微调技术¶
- LoRA(低秩适配):冻结原参数只训练低秩矩阵的微调
- LoRA权重合并:将LoRA权重合并回基础模型
- 8-bit量化:降低模型精度加速推理
- 课程学习(Curriculum Learning):从简单任务逐步到困难
6. 训练加速与工具¶
- 分布式训练:多GPU/多节点加速训练
- DeepSpeed ZeRO:通过分片优化器状态降低显存
- DDP(数据并行):每个GPU持有完整模型副本
- Hugging Face Accelerate:分布式训练加速配置库
- 网格搜索(Grid Search):遍历所有参数组合的调优
- 随机搜索(Random Search):随机采样参数的高效调优
- 贝叶斯优化:用概率模型指导参数搜索
- Optuna:贝叶斯超参数优化库
- Weights & Biases(wandb):机器学习实验跟踪平台
- TensorBoard:TensorFlow可视化训练工具
7. 评估指标¶
- 数值误差:预测值与真实值的绝对误差
- 平均长度:生成答案的平均token数
- 推理步骤数:答案包含的推理步骤数量
- 格式正确率:答案符合预期格式的比例
8. 数据集与模型¶
- GSM8K(小学数学8K):高质量小学数学应用题数据集
- Qwen3-0.6B:阿里云0.6B参数小语言模型
- CoT(思维链):链式推理提示方法
9. 核心能力维度¶
- 推理(Reasoning):多步逻辑推导得出结论的能力
- 工具使用(Tool Use):智能体调用外部工具的能力
- 记忆(Memory):保持和重用过去信息的能力
- 规划(Planning):制定行动序列达成目标的能力
- 自我改进(Self-Improvement):回顾输出纠正错误的能力
- 感知(Perception):理解多模态信息的能力
第十二章 智能体性能评估¶
1. 评估系统¶
- 评估系统(Evaluation System):客观衡量智能体性能的系统
- 评估基准(Benchmark):标准化的数据集评估指标方法
- 持续评估系统:定期自动运行评估监控性能趋势
- 分层评估策略:快/标/全三层递进评估
2. 评估基准¶
- BFCL(伯克利函数调用排行榜):UC Berkeley函数调用评估基准
- GAIA(通用AI助手):Meta AI和Hugging Face通用能力评估
- AIME(美国数学邀请赛):中等难度数学竞赛
- ToolBench:清华大学16000+真实API评估基准
- API-Bank:Microsoft Research的API文档理解评估
- AgentBench:清华大学8领域通用智能体评估
- WebArena:CMU真实网页环境任务评估
- ChatEval:多智能体对话系统质量评估
- SOTOPIA:社交场景智能体互动能力评估
3. 评估方法¶
- AST匹配(抽象语法树匹配):将函数调用解析为语法树比较
- 准精确匹配(Quasi Exact Match):先归一化再精确匹配
- LLM Judge:用大语言模型作为评委的评估方法
- Win Rate(胜率):成对对比评估的胜出比例
- 人工验证(Human Verification):人类专家审核生成数据质量
4. 评估指标¶
- 准确性指标:Accuracy/Exact Match/F1 Score
- 效率指标:Response Time/Token Usage
- 鲁棒性指标:Error Rate/Failure Recovery
- 协作指标:Communication Efficiency/Task Completion
- 分级准确率(Level-wise Accuracy):按难度级别的准确率
- 加权准确率(Weighted Accuracy):考虑类别权重的准确率
- 难度递进下降率:难度增加时准确率的衰减比率
- 平均分(Average Score):LLM Judge多维度评分的均值
- 及格率(Pass Rate):平均分达到3.5分的比例
- 优秀率(Excellent Rate):平均分达到4.5分的比例
- 败率(Loss Rate):生成数据在对比中失败比例
- 平局率(Tie Rate):生成数据与参考数据持平比例
5. 评估维度¶
- 正确性(Correctness):LLM Judge评估的数学逻辑维度
- 清晰度(Clarity):LLM Judge评估的问题表述维度
- 难度匹配(Difficulty Match):LLM Judge评估的难度维度
- 完整性(Completeness):LLM Judge评估的解答维度
6. 评估工具实现¶
- BFCLEvaluationTool:BFCL一键评估工具
- GAIAEvaluationTool:GAIA一键评估工具
- LLMJudgeTool:LLM Judge评估工具
- WinRateTool:Win Rate评估工具
- AIMEGenerator:AIME风格数学题目生成器
- HumanVerificationUI:基于Gradio的人工验证Web界面
- 评估报告(Evaluation Report):自动生成的Markdown格式报告
7. 数据集管理¶
- BFCLDataset:BFCL数据集加载器
- GAIADataset:GAIA多模态数据集加载器
- AIDataset:支持生成数据和真题的统一加载器
- 受限数据集(Gated Dataset):需申请权限的数据集
- Hugging Face Token:访问受限数据集的认证令牌
- JSONL格式:每行一个JSON对象的行分隔格式
8. 技术工具¶
- Gradio:Python Web界面框架用于人工验证
- LaTeX:数学公式排版语言
第十三章 智能旅行助手¶
1. 架构设计¶
- 前后端分离架构:前后端独立开发部署的模式
- Vue3+TypeScript:前端框架和类型化语言
- FastAPI:现代Python Web后端框架
- HelloAgents:自建的多智能体框架
- 高德地图API:提供地图和位置服务的API
- Unsplash API:免费图片搜索API
- MCP协议:连接LLM和外部工具的标准化协议
2. 数据模型¶
- Pydantic:Python数据验证和序列化库
- BaseModel:Pydantic中所有模型的基类
- Field函数:定义字段默认值和验证规则
- 自定义验证器(field_validator):模型创建前转换数据
- 嵌套模型:模型字段使用另一个模型类型
- 范围验证(ge/le/gt):限制数值范围的验证规则
- 自底向上模型设计:从基础模型逐步组合成复杂结构
3. 智能体组件¶
- 多智能体协作:多个Agent分工完成复杂任务
- SimpleAgent:HelloAgents基础智能体类
- ReactAgent:支持多轮思考-行动循环的Agent
- Thought-Action-Observation循环:思考-行动-观察核心循环
- AttractionSearchAgent:景点搜索专家Agent
- WeatherQueryAgent:天气查询专家Agent
- HotelAgent:酒店推荐专家Agent
- PlannerAgent:行程规划专家Agent
4. MCP工具集成¶
- MCPTool:封装MCP服务器的工具类
- auto_expand:自动展开MCP服务器所有工具
- npx:Node.js包执行器
- uvx:Python包执行器
- JSON-RPC:MCP服务器通信协议格式
- 共享MCP实例:多Agent共享同一MCP服务器进程
5. 前端技术¶
- 单页应用(SPA):页面不刷新的前端架构
- Axios:基于Promise的HTTP请求库
- Composition API:Vue3组合式API编码方式
- ref:Vue3创建响应式变量的函数
- Ant Design Vue:企业级Vue UI组件库
- 双向数据绑定(v-model):数据和视图自动同步
- 高德地图JS API:前端地图渲染SDK
- AMapLoader:异步加载高德地图JS API
- Marker:地图上的标记点
- html2canvas:将DOM元素转为Canvas的库
- jsPDF:浏览器端生成PDF的库
- 拦截器(Interceptor):Axios请求/响应拦截处理
- 栅格布局(a-row/a-col):Ant Design响应式栅格系统
- 条件渲染(v-if):Vue按条件显示DOM元素
- 深拷贝(JSON.parse/stringify):创建完全独立的对象副本
- 侧边导航:页面侧边的快速定位菜单
- POI搜索:高德地图兴趣点搜索
6. 功能特性¶
- 状态管理(编辑模式):维护原始和当前两份计划状态
- 模拟进度条:定时器模拟后端处理进度
- OpenAPI文档:FastAPI自动生成的API文档
- 类型安全:编译时发现类型错误
- 组件化开发:UI拆分为独立可复用组件
第十四章 自动化深度研究智能体¶
1. 研究范式¶
- TODO驱动的研究范式:将复杂研究分解为子任务执行
- 问题剖析:将开放主题拆解为可检索查询
- 多轮信息采集:持续搜索并去重整合资料
- 反思与总结:识别知识空白并生成结构化总结
2. 智能体组件¶
- 智能规划器(TODO Planner):分解研究主题的规划Agent
- 任务执行器(Task Executor):搜索并总结子任务的执行Agent
- 报告生成器(Report Writer):整合总结生成报告的Agent
- ToolAwareSimpleAgent:支持工具调用监听的扩展Agent
- tool_call_listener:工具调用时的回调监听函数
3. 研究三阶段¶
- 规划阶段(Planning):研究三阶段之任务分解
- 执行阶段(Execution):研究三阶段之搜索总结
- 报告阶段(Reporting):研究三阶段之整合生成
- 顺序协作:Agent按固定线性顺序执行
4. 工具系统¶
- SearchTool:封装多搜索引擎的统一搜索工具
- NoteTool:持久化笔记到Markdown文件的工具
- ToolRegistry:统一注册和管理工具的注册表
5. 搜索引擎生态¶
- Tavily:面向AI的搜索API
- SerpApi:聚合搜索引擎API
- DuckDuckGo:隐私保护搜索引擎
- Perplexity:AI驱动问答搜索引擎
- SearXNG:自托管的开源元搜索引擎
- Advanced模式:组合多个搜索引擎的增强模式
6. 搜索优化¶
- 搜索结果去重:去除重复URL提高质量
- Token限制:限制文本Token数量防止超长
- 搜索结果缓存:缓存查询结果提高效率
- MD5哈希:生成缓存键的哈希算法
7. 服务层架构¶
- PlanningService:调用规划Agent的服务层
- SummarizationService:调用总结Agent的服务层
- ReportingService:调用报告Agent的服务层
- SearchService:调度搜索引擎的服务层
8. 前端与实时通信¶
- SSE(Server-Sent Events):服务器主动推送技术
- EventSource:前端接收SSE事件的API
- StreamingResponse:FastAPI流式响应类
- 全屏模态对话框:全屏沉浸式研究界面UI
- 实时进度展示:SSE推送研究进度到前端
- marked库:将Markdown转为HTML的库
- GFM(GitHub Flavored Markdown):GitHub扩展Markdown语法
9. 报告质量¶
- 结构化报告:包含标题概述分析和参考文献
- 来源引用:为每个观点添加来源标记
- 配置化管理:通过.env文件切换搜索引擎
- 规划质量评估:检查覆盖全面性和查询精准性
第十五章 构建赛博小镇¶
1. 游戏架构¶
- Godot 4.5:开源2D/3D游戏引擎
- 游戏引擎+后端服务分离架构:渲染与逻辑分离的分层设计
- NPC智能体系统:基于SimpleAgent的NPC实现
2. 记忆系统¶
- MemoryManager:统一管理短期和长期记忆
- WorkingMemory:容量有限的短期记忆
- EpisodicMemory:存储所有历史的长期记忆
- Qdrant:向量数据库用于语义检索
- SQLite:关系型数据库持久化记忆
- 短期记忆:保持对话上下文连贯性
- 长期记忆:存储全部互动历史记录
- 向量检索:语义搜索相关历史记忆
3. 好感度系统¶
- 好感度系统:量化NPC对玩家态度的机制
- 好感度等级:陌生/熟悉/友好/亲密/挚友五级
- RelationshipManager:管理好感度的服务类
- 情感分析(analyze_sentiment):LLM分析玩家态度情感
- 好感度影响对话:动态调整提示词改变回复风格
4. NPC对话系统¶
- 批量对话生成:一次LLM调用生成多个NPC对话
- NPCBatchGenerator:批量生成NPC对话的生成器
- 混合模式:批量生成背景对话+即时响应用户交互
- 背景对话:NPC自主的日常对话和行为
- 即时响应:玩家交互时实时个性化回复
- 角色提示词设计:为NPC配置独特系统提示词
5. Godot核心概念¶
- 场景(Scene):Godot中节点的集合(.tscn文件)
- 节点(Node):Godot中最基本的构建块
- 场景实例化:复用场景创建多个独立副本
- GDScript:Godot的类Python脚本语言
- 信号(Signal):Godot节点间事件通信机制
- AutoLoad:Godot自动加载单例机制
- @export:GDScript变量导出到编辑器
- @onready:节点就绪时延迟初始化变量
6. Godot关键节点¶
- CharacterBody2D:处理角色物理移动的节点
- AnimatedSprite2D:显示角色动画的节点
- CollisionShape2D:定义碰撞形状的节点
- Area2D:检测进入/退出区域的节点
- Camera2D:跟随玩家的摄像机节点
- CanvasLayer:始终显示在上层的UI图层
- TileMap:瓦片地图节点构建场景
- HTTPRequest节点:Godot内置HTTP通信节点
- AudioStreamPlayer:播放音效的音频节点
7. 游戏功能¶
- 4方向动画:上下左右四个移动方向动画
- 巡逻系统:NPC随机游走行为逻辑
- Input.get_vector:获取WASD方向输入
- move_and_slide:带碰撞检测的物理移动
- 对话气泡:NPC头顶显示的简短对话
- 交互区域(InteractionArea):检测玩家靠近的范围
8. 后端服务¶
- StateManager:跟踪NPC位置和忙碌状态
- DialogueLogger:双输出(控制台+文件)日志系统
- CORS中间件:允许Godot跨域访问后端
- API路由:/npcs/status和/dialogue等端点
9. 扩展系统¶
- 事件系统(动态事件):会议/派对/紧急任务等
- 情感系统(扩展):NPC喜怒哀乐情绪状态
- 任务系统(扩展):好感度触发NPC特殊任务
- 多人在线(扩展):WebSocket实时通信支持
第十六章 毕业设计¶
1. 开发基础¶
- 开源项目:以开源形式提交到社区仓库
- Jupyter Notebook:交互式编程和文档格式(.ipynb)
- JupyterLab:增强版Jupyter开发环境
- README文档:项目说明和技术文档
- requirements.txt:Python项目依赖列表文件
2. Git协作流程¶
- Pull Request(PR):GitHub提交代码的协作方式
- Fork:复制他人仓库到自己的GitHub账号
- SSH密钥:安全连接GitHub的认证方式
- 上游仓库(upstream):源仓库的远程引用
- 开发分支(feature/):功能开发的独立分支
- 合并(merge):将分支代码合入主分支
- PR标题格式:[毕业设计] 项目名称 - [ ] 描述
- 提交类型规范:feat/fix/docs/style/refactor/test/chore
- Review流程:社区成员审查代码并提出建议
3. 项目规范¶
- .env文件:环境变量配置文件
- .gitignore:指定Git忽略的文件规则
- 项目命名规范:GitHub用户名-项目名称格式
- 大文件处理:视频/数据集/模型的存储方案
- 测试清单:项目提交前逐项检查列表
4. 选题方向¶
- 生产力工具类:提升工作效率的项目方向
- 学习辅助类:帮助学习的项目方向
- 创意娱乐类:创意和娱乐项目方向
- 数据分析类:数据处理分析项目方向
- 生活服务类:日常生活辅助项目方向
5. 示例项目:CodeReviewAgent¶
- CodeReviewAgent:智能代码审查示例项目
- CodeAnalysisTool:代码静态分析自定义工具
- StyleCheckTool:PEP 8代码风格检查工具
- BaseTool:HelloAgents工具基类
- ToolParameter:定义工具参数名称和类型
- AST模块:Python抽象语法树解析库
- PEP 8:Python官方代码风格规范
- 静态分析:不运行代码的语法结构分析
- 代码审查报告:Markdown格式的结构化报告
6. 安全与质量¶
- 边界条件:输入输出的极端情况处理
- 资源泄漏:未释放的系统资源问题
- SQL注入:数据库安全漏洞类型
- XSS(跨站脚本):Web安全漏洞类型
- 性能瓶颈:代码执行效率低下的位置
- 设计模式:软件设计通用解决方案
7. 外部平台¶
- Qwen2.5-72B-Instruct:通义千问72B指令模型
- ModelScope API:阿里模型服务平台API
- HuggingFace Datasets:开源数据集平台
- HuggingFace Models:开源模型平台
- 图床服务:图片托管第三方服务