在计算机科学中,自主代理是一种软件程序,它以代理关系为用户或另一个程序行事,其名称源自拉丁语agere(意为“做”)。与按需调用的传统程序不同,自主代理自行激活,感知其上下文,并决定何时执行操作以完成任务。它们由其行为而非方法和属性来定义,并且可以单独运行或与其他代理和人员交互。常见示例包括聊天机器人、购物机器人和机器人等具身系统,这些系统可能表现出自然语言理解等类人特质。
代理的概念提供了一种描述能够以一定自主性行事的复杂软件实体的方式。虽然所有代理都是程序,但并非所有程序都是代理。关键区别包括持续性(持续运行并决定何时行动)、自主性(无需人工干预即可进行任务选择和目标导向行为)、社交能力(与其他组件通信和协调)以及反应性(感知并响应环境)。这些属性将代理与任意程序、对象和专家系统区分开来,后者缺乏这种灵活且主动的行为。
历史发展
自主代理的思想根源可追溯至Hewitt的Actor模型(1977年),该模型描述了具有内部状态和通信能力的自包含、交互式且并发执行的对象。软件代理系统直接由多代理系统(MAS)演变而来,而多代理系统本身又源于分布式人工智能(DAI)、分布式问题求解(DPS)和并行AI。John Sculley在1987年发布的“Knowledge Navigator”视频普及了终端用户与代理交互的愿景,尽管早期实现常因自上而下的方法而失败。从20世纪90年代起,代理类型的范围显著扩大,涵盖了基于Web的应用和搜索引擎。
核心特征
自主代理并非严格为任务而调用,而是自行激活。它们可能驻留在主机上的等待状态中,感知上下文,并在起始条件满足时转换到运行状态。它们不需要用户交互,并且可以调用其他任务,包括通信。代理的概念意味着有权决定哪些操作是适当的。代理可以自主运行,也可以与其他代理或人员协作,并且可能分布在物理上不同的计算机上,或是移动的,将其执行迁移到不同的处理器上。
类型与应用
买方代理,也称为购物机器人,会穿越互联网等网络以检索有关商品和服务的信息。它们对于CD、书籍和电子元件等商品产品效率很高,并且通常针对数字支付服务进行了优化。其他类型包括在独立机器上执行的分布式代理,以及多代理系统,其中代理协同工作以实现单个代理无法独自完成的目标。在现代背景下,自主代理越来越多地利用大型语言模型和生成式AI来执行复杂推理和任务执行,OpenAI和Anthropic等公司正在开发代理框架。
对组织与用户的影响
软件代理可以自动化复杂或重复的任务,为终端用户带来显著益处。实施代理来处理行政要求通常会提高工作满意度,因为它将个人从繁琐的例行公事中解放出来,并允许更深入地参与实质性任务。这可以支持减少层级干预的自主工作。然而,必须考虑组织和文化影响。信任受损、技能退化、隐私流失和社会疏离是潜在的不利因素。将重要任务委托给代理的用户可能会失去信息素养技能,并且代理需要完整的用户配置文件,从而引发隐私问题。过度依赖代理进行通信可能导致社会疏离,用户通过其代理的视角来看待世界。
与相关概念的区别
智能代理,也称为理性代理,不仅限于计算机程序;它们可能包括机器、人类或能够进行目标导向行为的人类社群。这一定义比智能软件代理更广泛,后者特指计算性的。专家系统与代理的不同之处在于,它们不与其环境耦合,不设计用于反应性或主动性行为,并且不考虑社交能力。对象不如代理自主,后者表现出灵活的行为并维持至少一个控制线程,通常更多。这些区别有助于澄清自主代理在人工智能和机器学习研究中的独特作用,在这些研究中,它们代表了从被动工具向主动数字行动者的转变。