基于目标 Agent 和基于效用 Agent 是两种类型的智能 Agent,它们在评估成功和做出决策的方式上有所不同。基于目标 Agent 被设计用来实现特定的、预定义的目标,并在这些目标实现后停止。相比之下,基于效用 Agent 使用数值“效用函数”来衡量结果的理想程度,使其能够在多个有效路径中选择最佳选项,即使没有严格定义单一目标。 关键区别在于它们的决策框架:基于目标 Agent 侧重于二元成功(目标实现或未实现),而基于效用 Agent 则优化质量或效率。
基于目标 Agent 的工作方式是识别直接导致其目标的行动。 例如,一个被编程为导航到建筑物中特定房间的机器人可能会使用寻路算法来到达目的地,并将任何有效路径视为同样可以接受。 一旦到达房间,Agent 的任务就完成了。 这种简单性使得基于目标 Agent 更容易为简单的问题进行设计。 但是,当需要权衡时,它们缺乏灵活性。 如果机器人还必须最大限度地减少电池使用或避免嘈杂区域,则基于目标 Agent 没有内置机制来优先考虑这些因素——它只关心到达目标。
基于效用 Agent 通过为每个可能的结果分配一个值(效用)来解决这个限制。 例如,一个电子商务推荐系统可能会权衡用户偏好、利润率和库存水平来推荐产品。 它不只是以“销售”为目标(一个目标),而是寻求最大化一系列指标组合的销售。 开发人员实现效用函数来量化权衡,例如在物流系统中平衡交付速度与运输成本。 这种方法非常适合存在多个竞争因素的复杂环境。 但是,设计准确的效用函数可能具有挑战性,因为它们需要领域知识才能正确加权变量。 基于效用的 Agent 通常用于资源分配、金融交易或任何优化比二元成功更重要的系统等场景。
总而言之,基于目标 Agent 更简单,适合于具有明确终点的任务,而基于效用 Agent 在需要细致决策的动态环境中表现出色。 开发人员根据问题是需要严格的目标实现(例如,解决难题)还是分级优化(例如,平衡云计算中的性能和成本)来选择它们。