🧠 Agents and Capabilities
CodeAct Agent
描述
该Agent实现了CodeAct的思想(论文,推特),将LLM agents的行为合并到一个统一的代码动作空间中,以实现_简化_和_性能_(详情见论文)。
概念理念如下图所示。在每个回合,Agent可以:
- 对话:用自然语言与人类交流,进行澄清、确认等。
- CodeAct:选择通过执行代码来完成任务
- 执行任何有效的Linux
bash
命令 - 使用交互式Python解释器执行任何有效的
Python
代码。这是通过bash
命令模拟的,详细信息请参见插件系统。
插件系统
为了使CodeAct agent在仅能访问bash
动作空间时更强大,CodeAct agent利用了OpenDevin的插件系统:
- Jupyter插件:通过bash命令实现IPython执行
- SWE-agent工具插件:为软件开发任务引入的强大bash命令行工具,由swe-agent提供。
演示
https://github.com/OpenDevin/OpenDevin/assets/38853559/f592a192-e86c-4f48-ad31-d69282d5f6ac
CodeActAgent使用gpt-4-turbo-2024-04-09
执行数据科学任务(线性回归)的示例
动作
Action
,
CmdRunAction
,
IPythonRunCellAction
,
AgentEchoAction
,
AgentFinishAction
,
AgentTalkAction
观测
CmdOutputObservation
,
IPythonRunCellObservation
,
AgentMessageObservation
,
UserMessageObservation
方法
方法 | 描述 |
---|---|
__init__ | 使用llm 和一系列信息list[Mapping[str, str]] 初始化Agent |
step | 使用CodeAct Agent执行一步操作,包括收集前一步的信息并提示模型执行命令。 |
search_memory | 尚未实现 |
进行中的工作 & 下一步
[] 支持Web浏览 [] 完成CodeAct agent提交Github PR的工作流程
Monologue Agent
描述
Monologue Agent利用长短期记忆来完成任务。 长期记忆存储为LongTermMemory对象,模型使用它来搜索过去的示例。 短期记忆存储为Monologue对象,模型可以根据需要进行压缩。
动作
Action
,
NullAction
,
CmdRunAction
,
FileWriteAction
,
FileReadAction
,
AgentRecallAction
,
BrowseURLAction
,
GithubPushAction
,
AgentThinkAction
观测
Observation
,
NullObservation
,
CmdOutputObservation
,
FileReadObservation
,
AgentRecallObservation
,
BrowserOutputObservation
方法
方法 | 描述 |
---|---|
__init__ | 使用长期记忆和内部独白初始化Agent |
_add_event | 将事件附加到Agent的独白中,如独白过长自动与摘要一起压缩 |
_initialize | 使用INITIAL_THOUGHTS 列表为agent提供其能力的上下文以及如何导航/workspace |
step | 通过添加最近的动作和观测修改当前状态,然后提示模型考虑其接下来的动作。 |
search_memory | 使用VectorIndexRetriever 在长期记忆中查找相关记忆。 |