2025Agent智能体时代来临认识自主思考的OpenHands
编辑
Openhands 更加智能的Agent
今天聊一下很硬的干货。
我之前就有预测了“2025是AI Agent爆发的一年”
今天分享一个有关Agent智能体的开源项目,OpenHands---简要概括就是一个更加具有自由度的Agent
相较于传统的Agent(只可以简单调用API,如查天气、查新闻),OpenHands具有更大自由度:
-
可以自主操作电脑:OpenHands可以像人类一样操作电脑,包括打开应用、代码编写、命令行操作、网页浏览等
-
可以进行多智能体协作:多个OpenHands智能体可以相互配合,共同完成复杂任务
-
具有记忆和规划能力:能够记住之前的操作和经验,并据此制定合理的行动计划,计划推进时可以实时监测优化。
在聊技术之前,谈谈看法
首先在模型层方面,我认为已经到达一个小阶段的顶峰了,下一个突破可能需要很长时间。
另外现在 AWS乃至阿里云等从云服务层面开始降低开发者成本了,所以Agent整体进程应该会持续加快。
简单的AI应用未来恐怕越来越难以生存,大家对AI应用的预期整体会被越来越多的Agent拉上去。
“Agent+”的产品将会越来越多,未来将有望成为 AI 应用层的基本架构.
其次有开发者说Agent会直接融入模型层,这也是未来有可能的,但是Agent+有缺点,那就是时间成本与费用Token消耗极大。
OpenHands 的技术原理
- 事件流架构:基于事件流管理代理与环境的交互,包括代理的动作和环境的观察结果。
- Docker 沙箱:为每个任务会话启动一个安全隔离的 Docker 容器沙箱,所有动作都在沙箱中执行。
- 动作执行 API:API 服务器在 Docker 沙箱中运行,处理命令执行、Python 代码执行和网页浏览等动作。
- 任意 Docker 镜像支持:支持代理在任意操作系统和软件环境中运行,基于任意 Docker 镜像的运行时实现。
- 代理技能:AgentSkills 库提供一些基本工具无法实现的实用功能,如文件编辑、文档阅读等。
- 多代理委托:支持一个代理将特定子任务委托给另一个代理执行,实现多代理之间的协作。
项目架构
整体构架图如下 系统主要分成两部分, 一部分是web前端,负责处理和用户的交互,并显示结果。而后端负责处理业务逻辑,并执行智能体。 项目部署的时候,
前端编译成静态html,服务端用python 实现,默认监听端口3000, 为一个web server。 当用户新创建一个工程的时候,或者一个全新的会话时,
python 后端服务会启动一个 docker 的container,处理该工程项目。
前端构架图如下
前端主要有3个页面, 一个是设置页, 主要是设置大模型相关的; 一个是聊天,负责处理用户的请求,并调用大模型,另外一个页面,是vscode 的页面。
服务端的架构如下:
核心, 是接受请求, 然后创建 session, 当用户发送请求后, 由Agent 对用户请求进行分析, 创建 Plan,
同时会创建一个CommandManager, 在第一次的时候, 会创建一个Docker sandbox,比如命令运行, 文件创建, 这些, 都会通过
CommandManager 下发到docker 执行。对于每次会话, 会有一个State 来维护整个周期的交互。 包括
本次任务的Plan,递增的交互id, 后台行为的Observation列表, 行为执行历史, 以及更新信息列表。 对于每个下发的命令 ,
会有一个Observer, 来监听命令的执行。
- 0
- 0
-
分享