代理
Chain与Agent的区别:
- Chain是预先定义好的操作序列(硬编码)
- Agent则利用语言模型作为推理引擎,动态决定操作序列和执行顺序
LangChain的核心理念: 让语言模型(如GPT-3/4)来动态选择执行的操作序列,而不是通过硬编码方式预先定义。这代表了一种新的编程范式 - 由AI自主决定程序逻辑。
- Agent的四大关键组件:
a) 代理(Agent)
b) 工具(Tools)
c) 工具包(Toolkits)
d) 代理执行器(AgentExecutor)
AgentExecutor的核心机制:
- 通过
_take_next_step方法控制执行流程 - 调用
self.agent.plan进行决策 - 根据决策调用相应工具
- 收集观察结果(Observation)后进入下一轮决策
第二轮思考:
-
保留了第一轮的基础提示结构
-
通过提示词引导模型:
- 将数学问题转换为Python表达式
- 使用numexpr库执行计算
- 根据运行结果给出答案
整个过程的ReAct框架实现
- 思考(Thought):每轮确定下一步行动
- 行动(Action):选择并使用适当工具
- 观察(Observation):获取工具执行结果
- 重复上述过程直至完成任务
使用PlayWright工具包
结构化工具对话代理
-
第一轮:
- 使用navigate_browser工具访问网站
- 确认成功访问
-
第二轮:
- 使用get_elements工具获取标题
- 通过CSS选择器指定标题元素
-
第三轮:
- 整理并输出最终结果
- 以结构化方式呈现所有标题
工具和工具箱
大模型推理能力 + 工具执行能力 = LangChain的核心优势
这种设计思路使LangChain成为一个强大的AI应用开发框架,通过工具体系将大模型的认知能力转化为实际的问题解决能力。
arXiv(论文研究集成):访问和检索学术资料,论文
展示了示例LangChain如何将AI能力与实际办公需求结合,创建实用的个人ai助理,比如邮件检查,垃圾邮件处理。
LangChain通过多种的代理类型和强大的工具系统展现了现代AI应用开发的新范式。包括结构化工具对话代理到Plan and Execute代理,它提供了灵活的开发方案,使大模型能够更智能地完成复杂任务。在工具系统的设计上,LangChain采用了统一的框架和标准化接口,让开发者能够轻松集成各种功能,从学术研究的arXiv工具到日常办公的Gmail、Office365工具箱,再到代码管理的GitHub工具箱,都能无缝对接。这种模块化和可扩展的架构设计,不仅让AI应用具备了强大的实用价值,也为未来AI助理的发展提供了广阔空间。