3.0 本章介绍
从函数到对象:构建 Agent 的蓝图
在前两个 Module 中,你学会了编写函数和管理数据。现在,是时候学习如何将它们组织成对象——这是构建复杂 AI Agent 系统的关键。
小白理解 - 什么是面向对象?
想象你在玩一个养宠物游戏:
概念 游戏类比 编程含义 类(Class) 宠物的"种族模板"(如:狗、猫) 定义一类东西的"蓝图" 对象(Object) 你实际养的宠物(如:小黑、大黄) 根据蓝图创建的具体实例 属性(Attribute) 宠物的特征(名字、颜色、年龄) 对象拥有的数据 方法(Method) 宠物能做的事(吃饭、睡觉、叫) 对象能执行的操作 不用 OOP:你要写"小黑吃饭"、"小黑睡觉"、"大黄吃饭"、"大黄睡觉"...
用 OOP:定义一个"狗"类,所有狗都能吃饭、睡觉,然后创建小黑、大黄即可!
面向对象编程(OOP)让你能够:
- 将数据和行为封装在一起
- 通过继承复用代码
- 使用多态实现灵活的设计
- 构建可维护的大型系统
为什么 AI Agent 开发要学 OOP?
LangChain 中的例子: BaseTool(类) → 定义"工具"该有什么 ├── SearchTool → 搜索工具 ├── CalculatorTool → 计算工具 └── YourCustomTool → 你自己写的工具 所有工具都有 name、description 属性 所有工具都能 run() 执行理解 OOP,你就能:
- 看懂 LangChain 源码
- 自定义自己的 Tool、Agent
- 扩展现有功能
LangChain 和 LangGraph 大量使用 OOP。理解 OOP,你就能理解它们的设计哲学。
本章学习目标
- ✅ 掌握类和对象的基础
- ✅ 理解继承和多态
- ✅ 学习 Protocol 和抽象基类
- ✅ 掌握 dataclass 简化类定义
- ✅ 实战:实现自定义 LangChain Tool 类
本章内容导航
Module 3: 面向对象编程
├── 3.0 本章介绍
├── 3.1 类与对象:Agent 的抽象
├── 3.2 继承与多态:扩展 Agent 功能
├── 3.3 Protocol 与 ABC:LangChain 的设计模式
├── 3.4 数据类(dataclass):简化 Agent 配置
├── 3.5 实战:实现自定义 LangChain Tool
└── 3.6 小结和复习下一节:3.1 类与对象