高级智能体(预览版)
用于长时间运行的高级工具,添加文件工作区、子智能体委派、编程工具调用以及沙盒 JavaScript 代码解释器。
此功能目前处于预览阶段,仅在 Automation Cloud 中可用。它在 Automation Suite 中不可用。
智能体是一个模型加一个线具。模型进行推理,而线束是围绕它构建的所有内容:驱动它的循环、它可以调用的工具以及它可以写入的内存。UiPath 低代码智能体提供两种装具,运行同一模型不同,同一模型会产生不同的结果。
标准线具是原因与操作循环。智能体读取提示、调用工具、读取结果并做出回答,所有内容都保存在单个上下文窗口中。对于可通过几次工具调用完成的工作,这种方法高效且可预测。
高级线束专为长时间运行而构建。它将中间工作保存在文件工作区而非提示词中,将工作片段委派给子智能体,能从代码中以编程方式调用工具,并随着运行的增加压缩上下文。这使其在数十次工具调用和长文档中保持连贯性,否则单个上下文窗口会被填满,并且智能体将忘记其已经完成的操作。
标准版与高级版的对比
安全带是根据智能体来选择的。为一个智能体选择高级工具不会改变任何其他智能体的行为。
| 功能 | 标准运行模式 | 高级运行模式 |
|---|---|---|
| 执行循环 | 借助工具分析原因,然后采取行动 | 采取行动、观察、调整,如此重复直至完成 |
| 工作记忆 | 上下文窗口 | 智能体读取和写入的文件工作区 |
| 委派 | 无 | 具有自己的隔离上下文的子智能体 |
| 上下文压缩 | 不可用 | 卸载已完成的工具输出,并剪除较旧的历史记录 |
| 工具调用 | 模型每个轮次调用一次工具 | 也可以在单轮内从代码调用工具 |
| 读取文件 | 需要文件处理工具,例如分析文件 | 文件到达工作区并使用内置文件工具读取 |
| 典型工作 | 简短且范围明确的任务 | 长时间运行、多步骤、文档繁重的任务 |
选择线束
高级线束套件工作,显示以下两个或多个信号:
- 该工作运行时间长,需要调用数十次工具,而不是几次。
- 智能体的中间工作很重要,应保留为以后可以打开的文件。
- 部分工作是独立的,单独处理会受益。
- 涉及的材料大于单个提示词的内容,例如长文档或大型记录集。
研究、分析和文档密集型工作流是典型的示例。智能体必须收集证据,根据一组标准进行权衡并证明结论的任何任务也是如此。
对于时间短、可预测且只需调用几次工具即可完成的任务,标准线具仍然是更好的选择。它也没有预览限制。
功能
高级工具可将以下内容添加到智能体中,无需进行配置。
上下文和文件
- 文件工作区:每次运行时的文件系统,其中包含用于列出、读取、写入、编辑、删除、搜索和匹配文件的工具。中间结果将存储在文件中,而不是存储在提示词中,从而保持上下文较小。
- 直接文件访问:高级智能体不需要分析文件工具。用户在对话智能体的聊天窗口中上传的输入文件和上传的文件会自动下载到工作区中,并使用内置文件工具读取。由于它们以真实文件形式到达,因此智能体可以搜索长文档并仅读取所需的部分,而无需将整个文件传递给模型。
- 工作区记忆:智能体在工作区中为自己保留的注释,会在每轮都会加载回系统提示中。
- 上下文压缩:系统会卸载已完成的工具输出,并剪除较旧的历史记录,因此提示词在长时间运行时仍然易于处理。
工作区记忆与智能体记忆不同。工作区记忆属于一次运行,驻留在该运行的工作区中。智能体记忆是一个单独的持久性存储,它在运行中携带情景和升级记忆,并且可以在智能体之间共享。
执行工作
- 子智能体委派:智能体将一部分工作交给通用子智能体,该子智能体在自己的上下文中运行,仅返回结果,使主上下文保持整洁。
- 程序化工具调用:智能体编写能直接调用自身工具的 JavaScript,所以它可以在一个步骤内扇出项目列表,进行筛选和聚合,而非每次工具调用时都会进行一次模型往返操作。为个人暂停运行的工具将被排除,并改为正常调用,因此不会丢失任何功能。
- 代码解释器:一个持久性的 JavaScript 沙箱,用于计算、编程工具调用以及调度子智能体。它没有网络和文件系统访问权限。
- 自更正:检测工具调用失败、架构不匹配和死角,并使用调整后的方法重试。
选择高级工具
设计低代码智能体时,请在“智能体工具”设置中选择工具。提供了两个选项,即“标准工具”和“高级工具” ,其中高级选项标记为预览。
将现有智能体移至高级线束将永久丢弃在其工具上配置的任何静态和参数值,以及每个模型的任何设置。切换回来不会将其恢复。
处理文件
在数据管理器中声明文件输入的方式与声明标准线束的方式相同,并且可以按名称从提示中引用文件输入。智能体也可能会自行找到它们,因为在运行开始之前,每个输入文件都已放置在其工作区中。
工作区文件作为作业的附件上传,因此可以在人工输入暂停的情况下生存,并在运行恢复时再次出现。附件名称添加前缀用于将其标记为工作区文件,以便与其他附件一起显示在作业中。
并非每次运行都会保留其工作区。默认情况下,系统会在运行暂停时上传自主智能体的工作区,因此不会保留未暂停而完成的运行中的文件。对话智能体在同一对话的切换之间保留其工作区。
消耗
高级智能体按每次 LLM 调用计费,其方式和使用的单元与标准智能体相同。有关每个模型层的标准费率和定价计划,请参阅许可。
在公开预览期间,高级智能体消耗量较标准消耗量节省 50% 。
由于高级线夹会委派和修改其工作,因此,与相应的标准智能体运行相比,单次运行的高级智能体会调用更多的 LLM。每次运行的总消耗量取决于智能体的调用次数,而不仅仅是每次调用的消耗率。
尚不支持
以下是高级线束在预览版中的差距,而非永久性特征。
- 无法配置工具参数值。每个工具参数均由模型提供。静态值和参数值不可用。
- 防护机制不受支持。已配置防护栏的高级智能体拒绝运行,启动时失败,并显示错误“高级智能体尚不支持防护栏”。如果监管策略要求在发布智能体之前使用升级或人机回圈防护机制,则只有升级才能满足该策略。
- 某些 Integration Service 活动不可用。受影响的活动在高级智能体上显示为“已禁用”。
- 无法定义自定义子智能体。智能体委派给内置通用子智能体。即将支持配置自定义子智能体。
- 高级智能体无法克隆为编码智能体。有关该转换的详细信息,请参阅“将低代码智能体克隆为已编码智能体” 。
相关信息
- 许可
- 智能体内存
- 限制
- UiPath 博客上的标准智能体与高级智能体