【笔记】Agent应用开发与落地全景
正文详见:动手学Agent应用开发-课程详情 | Datawhale
一、智能体(agent)定义
目前并没有一个共识,任何一个非单次大模型调用的系统,都有可能被其开发者称为agent。
OpenAI的AGI五级分类:
- level 1:Conversational AI,仅限于语言对话,能力有限,缺乏复杂任务执行能力。
- level 2:Reasoners,在专业领域能够独立推理,不需要外部工具。
- level 3:Agents,能长时间自主执行任务,无需监督。
- level 4:Innovators,产生新思路,推动科技突破。
- level 5:Orgnaizers,能管理协调整个组织。
多种Agent定义:
Agent = 大模型 + 记忆 + 自主规划 + 工具使用(OpenAI)
Agent是一个使用LLM决定应用程序控制流的系统。(LangChain)
不必拘泥于是否属于Agent,而应关注其具备agentic的程度。即智能属性。一个agentic systen 的智能程度可以有不同的等级(类似自动驾驶),取决于LLM对系统行为的决策权。
- Code:完全由人写代码决定。
- LLM Call:有一次大模型调用。
- Chain:链式结构,有多次的大模型调用。
- Router:路由模型,大模型决策行动方向,但不支持成环(no cycies)。
- State Machine:成环后,在计算机术语里面就是一个自动机。
- Autonomous:完全由LLM决定,没有人类参与。
二、Agent System 的结构划分
从架构上看,agentic system可以分为两大类系统:
- 工作流(Workflow):通过预定义代码路径编排LLM和工具。侧重于流程固定和可预测性。适合任务明确,步骤预定义的场景。
- 自主智能体(Autonomous Agent):LLM动态控制决策和工具使用,自主规划任务。侧重灵活性与自我决策。适合于任务步骤难以预知,需要长期自主规划的场景。
对很多场景,通过RAG和prompt优化可能已经足够,增加系统复杂度会伴随延迟和成本。
三、Agentic Systen 组成模块
3.1 基础构建模块:增强型LLM
智能体系统的基础是具备检索、工具使用和记忆功能的增强型LLM。
了解OpenAI接口文档。
- 复杂应用使用的模型能力都是基于API,需要搞清楚大模型接口逻辑。
- 开发时建议优先直接使用API,只在必要时借助高级框架。
3.2 工作流(Workflow)
提示链 Prompt Chaining,适用于一个任务可以拆分成可以顺序执行的子任务。牺牲延迟获取更高的准确性。
- 按顺序拆分任务,每一步有LLM生成内容。
- 可以在任意中间步骤添加程序检查(Gate模块)以确保整个过程依然按计划执行。
路由 Routing,多个任务有明显的差异。或者一些常见问题可以交给小模型,一个困难问题交给强大模型。
- 根据输入分类,分配给专门的后续任务。
并行 Parallelization,同时执行多个任务。两个变体:
- 分段(Sectioning):将任务划分为可以并行运行的独立子任务。(如:一个负责回答,一个负责查看回答是否违规)
- 投票(Voting):对同一任务进行多次执行,从而获得多样化输出,以进行对比或投票。(如:从多个角度查看回答是否违规)
协调者-工作者 Orchersrator-Works,与并行相比,协调工作者模型的子任务是不可被认知的,并行模型的子任务是被预先设定好的。
- 协调者动态的拆解任务并分配给工作者。
- 工作者专注子任务。
评估-优化循环 Evaluator-Optimizer,一个LLM生成输出,另一个LLM进行反馈和优化,反复循环。
3.3 自主智能体(Autonomous Agent)
自主智能体是完全自主的,他从用户指令开始,整个过程独立完成。
- 执行过程中获取环境真实反馈(例如工具调用或者代码执行情况)
- 支持人工检查点干预(可以在检查点或遇到阻碍暂停时,等待人类反馈)
- 设置终止条件(保证任务不会无休止运行)
适用于开放性问题,即当任务步骤数量难以预知或无法预先固定时。
关键组件:
- 规划模块(Planning):
- 子目标拆解:将复杂任务分解为可管理的子目标。
- 反思优化:通过自我评估改进执行策略。
- 记忆系统(Memory):
- 短期记忆(上下文)。
- 长期记忆(外部存储)。
- 工具使用(Tools):
- 获取外部实时信息与功能扩展(mcp)
四、构建智能体系统的框架
- 全代码框架
- LangChain & LangGraph
- LlamaIndex
- 低代码平台
- 毕昇
- Dify
- Coze
- FastGPT
低代码workflow产品设计:
- 独立、完备的流程编排框架,才能够覆盖足够复杂的场景
- 不简单是一个被bot调用的工具
- 不需要划分出chatflow和workflow
- Human in the loop特性:中间过程支持灵活的输入/输出和多样的人机交互
- 复杂的业务场景需要人类与AI进行写作,人类也要参与到执行过程的判断和决策
- 节点之间是否支持成环
- 支持成环能够适用更多的场景
Agent产品:
- ChatGPT DeepResearch
- Manus
- 扣子空间
- 毕昇灵思
- AutoGLM沉思