
导读本文将分享蚂蚁最新的基于 #Ray 的分布式 #Agent 框架,Ragent。
主要内容包括以下几个部分:

Background
-
第一个是 Profile 模块,它定义了 Agent 的个性,即扮演怎样的角色,比如它可以是一个温和的旅游助手,执行旅游管理、数据分析等任务。 -
第二个是 Memory 模块,包括两部分:一是 Knowledge,包含行业知识和先验知识;二是 Experience,记录 Agent 过去的对话、用户问题、思考过程及行动结果,这些经验将帮助 Agent 改进后续的行为,避免重复错误。 -
第三个是 Planning 模块,用于将复杂任务拆解成更容易执行的子任务。通过这种方式,Agent 可以在文本交互的基础上完成更广泛的任务。Planning 常见的算法有 Chain of Thought和Tree of Thought,这些就像程序设计中的流程图,用来拆解复杂问题。 -
第四个是 Action 模块,根据经验和规划执行实际任务。与大模型不同,Agent 不仅仅是文本或图像输入输出,而是能对现实世界产生实际影响。Action 模块的一个关键功能是 Function Calling,让模型调用外部功能,甚至在某些场景中与机械臂等物理设备交互。
-
首先,Agent 会从用户那里获取任务,例如用户要求从文档中学习知识,提供了文档链接。 -
第二步,模型进入思考阶段,决定如何开展任务。这里可以使用 planning 模块中的算法,如 React 或 Chain of Thought。在这个流程中,我们使用了 React 策略,即思考一步,执行一步。 -
第三步,模型决定采取具体行动。对于 RAG 场景,可以使用工具如 LlamaIndex 或 LangChain 对文档进行解析,或调用 Lucene 和 VectorDB 进行语义检索,甚至进行实时搜索。 -
第四步,将初始思考、选择的行动及其结果作为三元组(triplet)存储到 Memory 中,来指导后续工作。 -
第五步,继续循环思考和执行,直到完成用户任务。
Motivation
Design & Impl.


往期推荐

点个在看你最好看
SPRING HAS ARRIVED
