EKO 智能体SDK架构介绍

EKO 智能体SDK架构的概述

EKO 智能体SDK(Eko框架)是由清华大学、复旦大学和斯坦福大学联合开发的智能体开发框架,旨在通过自然语言与简单代码快速构建“虚拟员工”,实现自动化任务执行。以下是其核心功能与技术特点的详细解析

核心功能与应用场景
  1. 自动化任务执行
    • 数据收集与分析:例如,自动抓取雅虎财经的股票数据(价格、市值、交易量),生成可视化报告。
    • 系统测试:模拟用户操作进行登录页面测试,验证密码策略、生成测试报告。
    • 文件管理:清理指定目录下的大文件(如删除大于1MB的文件)。
  2. 跨平台支持
    • 浏览器自动化:通过截图和网页元素识别技术,操作网页按钮、输入框等交互元素。
    • 电脑系统操作:支持命令行指令(如文件读写、进程管理),未来将扩展GUI操作。
    • 插件化扩展:可作为浏览器插件使用,适应不同工作环境。
  3. 生产级干预机制
    • 实时监控与调整:允许开发者在工作流执行前后插入逻辑(如验证输入、重试失败任务)。
    • 安全控制:浏览器环境采用API密钥管理,电脑端操作需用户授权,确保系统级访问安全。

 

分层规划

核心是一个分层规划框架,它将任务规划与执行分离开来:

规划层
  • 将自然语言描述转换为结构化的工作流

  • 使用大型语言模型(如Claude/OpenAI)将复杂任务分解为离散步骤

  • 在执行前验证工作流结构和工具需求

  • 创建可复用、可检查的工作流定义

执行层
  • 动态执行工作流,同时适应运行时条件

  • 根据上下文处理工具选择和排序

  • 管理工作流节点之间的依赖关系

  • 提供基于钩子的执行控制

 

任务描述

任务描述是用自然语言输入定义需要完成的任务。它关注期望的结果,而不是需要的具体步骤或工具。在我们的示例中,“将大象放进冰箱”是一个任何人都能理解的任务描述,但实现它需要仔细的规划和执行。

子任务

当Eko接收到任务描述时,它首先在规划阶段将其分解为逻辑子任务。每个子任务代表一个有意义的工作单元,有助于实现总体目标。在我们的大象示例中,Eko识别出三个子任务:打开冰箱门、推大象进去和关闭门。这种分解在任何实际执行开始之前发生。

可用工具

每个子任务都有一组可能帮助完成它的工具。这些工具在规划阶段根据子任务的要求和工具的能力确定。在我们的示例中,我们使用三个虚构的工具 - “移动手”()、“门使用”()和“施加力量”() - 来说明这个概念。

框架对比

Web信息抽取

Eko通过一种创新的方法处理网络信息:

  • 识别并用唯一标识符标记网页上的交互元素

  • 创建可视化覆盖层以显示元素之间的关系

  • 将截图与伪HTML结合,以实现强大的元素识别

  • 通过结合视觉和结构理解,增强浏览器自动化的准确性

这项技术对于浏览器自动化任务尤为重要,能够在不同页面状态下提供可靠的元素识别。

 

 

环境感知架构

Eko在不同的JavaScript环境中提供一致的能力,同时适应每个环境的独特约束:

浏览器扩展环境
  • 完整的浏览器自动化能力

  • 标签页和窗口管理

  • DOM交互和内容提取

  • 跨域通信处理

网络环境
  • 为网络应用提供沙箱操作

  • DOM操作和事件处理

  • 内容提取和处理

  • 安全的API端点集成

Node.js环境
  • 系统级文件操作

  • 命令执行和进程管理

  • 完整的Node.js API访问

  • 直接访问本地资源

工具系统

工具是Eko自动化中的构建块:

工具定义
  • 每个工具都有一个独特的名称和描述

  • 定义其输入模式和需求

  • 实现特定的执行逻辑

  • 可以访问共享的执行上下文

工具注册
  • 管理每个环境中可用的工具

  • 处理工具注册和验证

  • 提供工具枚举和元数据

  • 确保工具兼容性

工具类别
  • 浏览器自动化工具(OpenUrl、BrowserUse等)

  • 系统交互工具(FileRead、CommandExecute等)

  • 内容处理工具(ExtractContent、ExportFile等)

  • 支持自定义工具以实现可扩展性

钩子系统

钩子提供了对工作流执行的深度可见性和控制:

工作流钩子
  • beforeWorkflow/afterWorkflow用于设置和清理

  • 访问工作流级别的状态和变量

  • 控制工作流的初始化和完成

子任务钩子
  • beforeSubtask/afterSubtask用于节点级控制

  • 监控并修改子任务的执行

  • 访问执行上下文和结果

工具钩子
  • beforeToolUse/afterToolUse用于细粒度控制

  • 修改工具的输入和输出

  • 实现自定义错误处理和恢复

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值