第十三,十四,十五篇笔记 | 豆包MarsCode AI刷题

128 阅读2分钟

代理

Chain与Agent的区别

  • Chain是预先定义好的操作序列(硬编码)
  • Agent则利用语言模型作为推理引擎,动态决定操作序列和执行顺序

LangChain的核心理念: 让语言模型(如GPT-3/4)来动态选择执行的操作序列,而不是通过硬编码方式预先定义。这代表了一种新的编程范式 - 由AI自主决定程序逻辑。

  1. 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助理的发展提供了广阔空间。