该文档介绍了RAE(Refinement Acting Engine)框架,它利用层次化操作模型使智能代理能在动态、不可预测的环境中执行任务。文档重点阐述了如何通过UPOM(不确定性感知操作模型规划)和蒙特卡洛推演将深思熟虑的规划集成到RAE中,以优化方法选择。此外,它还探讨了机器学习(Learnπ和LearnH)如何进一步增强这一规划过程,并展示了该组合系统在网络安全等复杂应用中的有效性。
层次化精化执行引擎 (RAE)
- 定义与操作: RAE是一种执行引擎,通过层次化精化方法在动态、不可预测且部分可观测的环境中执行任务。
- 模型区别: 使用操作模型(包含执行指令和通常为层次化的结构)而非描述性模型,以适应上下文并对事件做出反应。
- 核心机制: 循环处理外部任务或事件,为每个任务选择方法实例,创建精化堆栈,并通过
Progress程序推进执行,若失败则通过Retry机制尝试其他方法。 - 任务与方法: 任务是执行器要执行的活动,每个任务可对应一个或多个精化方法,这些方法是扩展的HTN(分层任务网络)方法,包含前置条件和执行体。
RAE的规划集成
- 规划需求: RAE在选择方法实例时需要规划,以避免代价高昂或不可恢复的失败,尤其是在存在多种可选方法时。
- SeRPE的挑战: 早期尝试SeRPE(顺序精化规划引擎)通过模拟RAE并使用经典动作模型进行规划,但面临实现困难(需要回溯代码执行)和经典动作模型局限性(如无法预测感知操作的效果)的问题。
- UPOM方法: 提出UPOM(不确定性感知操作模型规划)作为解决方案,它通过蒙特卡洛推演在模拟环境中运行RAE,评估不同方法实例的预期效用,并利用UCT(Upper Confidence Bound for Trees)算法指导选择。
RAE与UPOM的协同作用
- 紧密集成: RAE在需要选择方法实例时,会调用UPOM进行规划,从而实现行动与规划的紧密耦合。
- 对比优势: 相比于其他预见性方法(如Run-Lazy-Lookahead),RAE+UPOM能更好地处理执行过程中状态的意外变化,因为它能根据新状态重新进行规划选择,提高系统的适应性。
- 开源实现: RAE+UPOM的Python实现已开源,供研究和应用。
规划与行动中的学习
- 学习必要性: 考虑到在线规划的时间限制,学习算法可以优化RAE的决策过程,特别是在时间不允许进行全面搜索时。
- Learnπ: 通过训练分类器学习一个选择函数,当时间不足以执行UPOM时,根据当前任务和上下文直接选择最佳方法。
- LearnH: 学习一个启发式函数来指导UPOM的搜索,用于估计搜索树叶节点的预期效用,从而在时间只允许部分搜索时提高效率。
评估与实际应用
- 实验验证: 实验结果表明,RAE结合UPOM或学习算法能显著提高效率和成功率,证明规划和学习对RAE性能的提升作用。
- 网络安全应用: 在软件定义网络(SDN)中的网络攻击自动恢复领域得到原型应用,通过RAE+UPOM自动化恢复程序,在效率、重试率、成功率和弹性方面均优于人工专家。
