HelloAgents学习:PartⅠChapterⅠ初识智能体

所有知识点来源于Github开源项目HelloAgents

网站:Hello-Agents

智能体定义

简洁定义:

人工智能领域,智能体被定义为任何能够通过传感器感知 其所处环境 ,并自主 通过执行器采取行动达成指定目标的实体。

关键:智能

智能体的智能在于"自主性"

其并非被动响应外部刺激/严格执行预设指令的程序,而能够基于其感知和内部状态进行独立决策。

形成从感知到行动的闭环。

大语言模型驱动的智能体

以LLM大语言模型驱动的智能体,通过在海量数据上的预训练,获得了隐式的世界模型&强大的涌现能力,使其能够更加灵活、通用的方式应对复杂任务。

|--------|-------------------|
| 对比维度 | LLM驱动的智能体 |
| 核心引擎 | 基于预训练模型的推理引擎 |
| 知识来源 | 从海量非结构化数据中间学习、内化 |
| 处理指令 | 可理解高层级、模糊的自然语言 |
| 工作模式 | 概率性的、生成式的 |
| 泛化/适应性 | 强,具备强大的涌现能力&泛化能力 |
| 开发范式 | 模型训练&提示工程&微调 |

LLM智能体出现之前,规划旅行意味着用户需要在多个专项应用之间(天气、地图、购票网站)之间手动切换,用户自己扮演信息整合&决策的角色。LLM智能体将整个流程整合了起来。当接收到例如"规划一次厦门之旅"这样的模糊指令时,工作方式体现了以下几点:

  1. 规划&推理 :智能体首先会将这个高层级目标分解为一系列逻辑子任务,EX:[确认出行偏好] -> [查询目的地信息] -> [制定行程草案] -> [预订票务住宿] 这是一个内在的由模型驱动的规划过程。

  2. 工具使用:执行规划时,智能体识别到信息缺口,自动调用外部工具进行补全。EX:调用天气查询接口获取实时天气信息,基于"预报有雨"这一信息,调整活动。

  3. 动态修正 :交互过程当中,智能体会将用户反馈(EX:"这家酒店太贵了")作为新的约束,并根此进行调整,重新搜索并统计符合新要求的选项。整个"查天气→调行程→订酒店"流程展现了其根据上下文动态修正自身行为的能力

智能体构成&运行原理

任务环境定义

想要了解智能体运作,我们必须知道其所处的任务环境 。人工智能领域,通常使用PEAS模型来精确描述一个任务环境,分析其性能度量Performance、环境Environment、执行器Actuators、传感器Sensors

EX:智能旅行助手的PEAS模型描述:

实践中,LLM智能体所处的智能环境展现出若干复杂特性,这些特性直接影响着智能体设计。

首先,环境通常是部分可观察的。例如,旅行助手在查询航班时通常无法一次性获取所有航空公司的全部实时座位信息。只能通过航班预定API,看到该API返回的部分数据,这就要求智能体必须具备记忆(记住已经查询过的航线)和探索能力(尝试不同的查询日期)的能力。

其次,行动的结果也并非总是确定的。根据结果的可预测性,环境可分为确定性随机性。旅行助手的任务环境就是典型的随机性环境。当它搜索票价时,两次相邻的调用返回的机票价格和余票数量都可能不同,这就要求智能体必须具备处理不确定性、监控变化并及时决策的能力。

此外,环境中还可能存在其他行动者,从而形成多智能体(Multi-agent) 环境。对于旅行助手而言,其他用户的预订行为、其他自动化脚本,甚至航司的动态调价系统,都是环境中的其他"智能体"。它们的行动(例如,订走最后一张特价票)会直接改变旅行助手所处环境的状态,这对智能体的快速响应和策略选择提出了更高要求。

最后,几乎所有任务都发生在序贯动态 的环境中。"序贯"意味着当前动作会影响未来;而"动态"则意味着环境自身可能在智能体决策时发生变化。这就要求智能体的"感知-思考-行动-观察"循环必须能够快速、灵活地适应持续变化的世界。

运行机制

智能体并非一次性完成任务,而是通过一个持续的循环与环境进行交互,这个核心机制被称为智能体循环Agent Loop

循环主要包含以下几个相互关联的阶段:

  1. 感知Perception :循环的起点。智能体通过其传感器(API监听端口、用户输入接口等)接收来自环境的输入信息。这些信息即观察Observation,既可以是用户的初始指令,也可以是上一步行动所导致的环境状态变化反馈。

  2. 思考Thought:接收到观察信息之后,智能体进入核心决策阶段。对于LLM智能体而言,通常是大模型驱动的内部推理过程。如图,思考阶段可进一步细分为两个关键环节:

    1. 规划Planning:智能体基于当前观察及其内部记忆,更新对任务和环境的理解,并制定活调整一个行动计划。可能涉及将复杂目标拆分为一系列更加具体的子任务。

    2. 工具选择Tool Selection:根据当前计划,智能体从可用的工具库当中,选择最适合执行下一步骤的工具,确定调用工具的具体参数。

  3. 行动Action:决策完成之后,智能体通过其执行器执行具体行动。通常表现为调用一个选定的工具(代码解释器、搜索引擎等)从而对环境施加影响,意图改变环境状态。

行动并非是循环的终点。智能体行动会引起环境Environment状态变化State Change,环境随即产生新的观察作为结果反馈。新的观察又会在下一轮循环中被智能体感知系统捕获,形成一个持续的"感知→思考→行动→观察"的闭环。智能体通过不断重复这一循环,逐步推进任务,从初始状态向目标状态演进。

智能体感知&行动

工程实践当中,为了让LLM有效驱动这个循环,我们需要一套明确的交互协议规范其与环境之间的信息交换。

智能体的输出不再是单一的自然语言回复,而是一段遵循特性格式的文本,其中明确展示了其内部的推理过程和最终决策。

这个结构通常包含两个核心部分:

  • Thought思考:智能体内部行动决策的快照。以自然语言形式阐述智能体对当前情境的分析、回顾上一步的观察结果、进行自我反思与问题分解,最终规划出下一步的具体行动。

  • Action行动:智能体基于思考之后,决定对环境施加的具体操作。通常以函数调用的形式表示。

EX:一个正在规划旅行的智能体可能会生成如下格式的输出:

复制代码
Thought: 用户想知道北京的天气。我需要调用天气查询工具。
Action: get_weather("北京")

这里的Action字段构成了对外部世界的指令。一个外部解析器Parser会捕捉到这条指令,并调用相应的get_weather工具。

行动执行之后,环境会返回一个结果。EX:get_weather工具可能返回一个包含详细天气数据的JSON对象。然而,原始的机器可读数据(如JSON)通常包含LLM无需关注的冗余信息,而且格式不符合自然语言处理的习惯。

因此,感知系统的重要职责就是扮演传感器的角色:将原始输出处理并封装为一段简洁、清晰的自然语言文本------Observation 观察

复制代码
Observation:北京当前天气为晴,气温为25摄氏度,微风。

综上,这段由Thought、Action、Observation构成的严谨循环,LLLM智能体得以将内部语言推理能力与外部真实信息、工具操作能力结合起来。

智能体应用的协作模式

当前,我们的角色更多的是使用者、写作者。基于智能体在任务中的角色和自主性程度,其协作模式主要有两种:

  1. 高效工具,融入工作流

  2. 自主协作者,智能体之间进行合作完成复杂目标

作为开发工具的智能体

深度集成到开发者工作流当中,作为强大的辅助工具。增强开发者角色,通过自动化处理繁琐/重复性任务,让开发者专注于创造性工作。提升软件开发的效率、质量。

EX:cursor\codex\claude code\Trae等

共同指向一个明确的趋势:AI正在深度融入软件开发的全生命周期,通过构建高效的人机工作流,重塑软件工厂效率、开发范式。

作为自主协作者的智能体

相比于第一种,第二种交互模式将智能体自动化程度提升到了全新的层次------自主协作者。这种模式,我们直接将高等级的任务委托给智能体。智能体将独立的进行规划、推理、执行、反思,最终交付成果。

EX:CrewAI、AutoGen等框架。

主流方向:

  1. 单智能体自主循环:早期典型范式。一个通过用智能体通过"思考-规划-执行-反思"闭环,不断进行自我提示、迭代,以完成一个开放式的高层级目标。

  2. 多智能体协作:当前主流探索方向,通过模拟人类团队协作模式解决复杂问题。可以细分为不同的协作模式:

    1. 角色扮演式对话:例如CAMEL框架,通过为两个智能体设定明确的角色(EX:程序员&产品经理)和沟通协议,让他们在一个结构化的对话中协同完成任务。

    2. 组织化工作流:例如MetaGPT、CrewAI。模拟一个分工明确的"虚拟团队"(EX:软件公司)。每个智能体都有预设的职责和工作流程(SOP),通过层级化、顺序化方式进行协作,产出高质量协作成果。

  3. 高级控制流架构:例如LangGraph等框架。更加侧重于为智能体提供更强大的底层工程基础。将稚嫩提执行过程建模为状态图(State Graph),从而能更灵活、更可靠实现循环、分支、回溯以及人工介入等复杂流程

WorkFlow&Agent之间的差异

工作流和智能体都旨在实现任务自动化,但是其底层逻辑、核心特征和使用场景是截然不同的。

简单来说:WorkFlow是让AI按部就班的执行指令,而Agent则是赋予AI自由度去自主完成目标。

如图,工作流是一种传统的自动化范式,核心是对一系列任务或者步骤进行预定义的、结构化的编排。本质是一个精确的、静态的流程图,规定了在何种条件下、以什么顺序进行操作。

EX:企业费用报销审批流程

员工提交报销单→金额小于500元,直接由部门经理审批→大于500元的,先由部门经理审批,再流转至财务总监审批→审批通过之后,通知财务部门打款

整个过程每一步都内精确地预先设定。

与工作流不同的是,基于LLM的智能体模型是一个具备自主性的、以目标为导向的系统。不仅是执行预设指令,而是能够在一定程度上理解环境、进行推理、制定计划、并动态地采取行动达成最终目标。LLM在其中扮演着"大脑"的角色。

EX:智能旅行助手

指令:"请帮我查询一下今天北京天气,然后根据天气推荐一个合适的旅游景点"

处理过程充分展现自主性:

  1. 规划&工具调用:Agent首先将任务拆分为两个步骤:①查询天气 ②基于天气推荐景点 。随即,会自主选择并调用对应的天气查询工具,并将北京作为参数传入。

  2. 推理&决策:假设API返回结果为"晴朗,微风"。Agent的LLM"大脑"基于信息进行推理"晴天适合户外活动"。接着,它会根据这个判断,在知识库/搜索引擎种筛选出合适的户外景点。

  3. 生成结果:Agent综合信息,给出完整的、人性化的回答:"今天北京天气晴朗,微风,非常适合户外游玩。为您推荐前往【颐和园】,您可以在昆明湖上泛舟,欣赏美丽的皇家园林景色。"

这个过程中没有任何写死的判定规则,Agent会根据用户输入的信息实时进行自主推理并进行推荐。

由此我们可以看出Agent的核心价值------基于实时信息进行动态推理和决策的能力

相关推荐
小曾不摆烂2 小时前
Agent经典论文——ReAct框架
人工智能·自然语言处理·大语言模型·agent
小茴香3532 小时前
React学习笔记(一)
笔记·学习·react.js
我想我不够好。2 小时前
4.27消防监控学习 1.30min
学习
ai产品老杨2 小时前
告别协议碎片化:基于 GB28181 与 RTSP 的统一 AI 视频中台架构实现(附 Docker 源码交付方案)
人工智能·架构·音视频
即答侠2 小时前
实时 AI copilot 的 4 级 fallback 设计:用户感知 0 中断,SLA 从 92% 拉到 99.6%
前端·人工智能
ykjhr_3d2 小时前
AI数字人工具哪个好用?华锐云空间自研高效AI数字人平台
人工智能
坚持不懈的大白2 小时前
并查集知识点学习
学习
InfiniSynapse2 小时前
minimax_image插件基本上能做到无AI感出图了
人工智能·ai作画·数据分析·aigc