* Replace OpenDevin with OpenHands * Update CONTRIBUTING.md * Update README.md * Update README.md * update poetry lock; move opendevin folder to openhands * fix env var * revert image references in docs * revert permissions * revert permissions --------- Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>
4.0 KiB
sidebar_position
| sidebar_position |
|---|
| 3 |
🧠 Agents and Capabilities
CodeAct Agent
描述
该Agent实现了CodeAct的思想(论文,推特),将LLM agents的行为合并到一个统一的代码动作空间中,以实现_简化_和_性能_(详情见论文)。
概念理念如下图所示。在每个回合,Agent可以:
- 对话:用自然语言与人类交流,进行澄清、确认等。
- CodeAct:选择通过执行代码来完成任务
- 执行任何有效的Linux
bash命令 - 使用交互式Python解释器执行任何有效的
Python代码。这是通过bash命令模拟的,详细信息请参见插件系统。
插件系统
为了使CodeAct agent在仅能访问bash动作空间时更强大,CodeAct agent利用了OpenHands的插件系统:
- Jupyter插件:通过bash命令实现IPython执行
- SWE-agent工具插件:为软件开发任务引入的强大bash命令行工具,由swe-agent提供。
演示
https://github.com/All-Hands-AI/OpenHands/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执行一步操作,包括收集前一步的信息并提示模型执行命令。 |
进行中的工作 & 下一步
[] 支持Web浏览 [] 完成CodeAct agent提交Github PR的工作流程
Planner Agent
描述
Planner agent利用特殊的提示策略为解决问题创建长期计划。 在每一步中,Agent会获得其先前的动作-观测对、当前任务以及基于上一次操作提供的提示。
动作
NullAction,
CmdRunAction,
BrowseURLAction,
GithubPushAction,
FileReadAction,
FileWriteAction,
AgentThinkAction,
AgentFinishAction,
AgentSummarizeAction,
AddTaskAction,
ModifyTaskAction
观测
Observation,
NullObservation,
CmdOutputObservation,
FileReadObservation,
BrowserOutputObservation
方法
| 方法 | 描述 |
|---|---|
__init__ |
使用llm初始化Agent |
step |
检查当前步骤是否完成,如果是则返回AgentFinishAction。否则,创建计划提示并发送给模型进行推理,将结果作为下一步动作。 |