* 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.5 KiB
sidebar_position
| sidebar_position |
|---|
| 3 |
🧠 Agents et Capacités
Agent CodeAct
Description
Cet agent implémente l'idée CodeAct (article, tweet) qui consolide les actions des agents LLM en un espace d'action code unifié pour à la fois la simplicité et la performance (voir article pour plus de détails).
L'idée conceptuelle est illustrée ci-dessous. À chaque tour, l'agent peut :
- Converse : Communiquer avec les humains en langage naturel pour demander des clarifications, des confirmations, etc.
- CodeAct : Choisir d'accomplir la tâche en exécutant du code
- Exécuter toute commande
bashLinux valide - Exécuter tout code
Pythonvalide avec un interpréteur Python interactif. Cela est simulé à travers la commandebash, voir le système de plugin ci-dessous pour plus de détails.
Système de Plugin
Pour rendre l'agent CodeAct plus puissant avec seulement l'accès à l'espace d'action bash, l'agent CodeAct exploite le système de plugins d'OpenHands:
- Plugin Jupyter : pour l'exécution d'IPython via la commande bash
- Plugin outil agent SWE : Outils de ligne de commande bash puissants pour les tâches de développement logiciel introduits par swe-agent.
Démonstration
https://github.com/All-Hands-AI/OpenHands/assets/38853559/f592a192-e86c-4f48-ad31-d69282d5f6ac
Exemple de CodeActAgent avec gpt-4-turbo-2024-04-09 effectuant une tâche de science des données (régression linéaire)
Actions
Action,
CmdRunAction,
IPythonRunCellAction,
AgentEchoAction,
AgentFinishAction,
AgentTalkAction
Observations
CmdOutputObservation,
IPythonRunCellObservation,
AgentMessageObservation,
UserMessageObservation
Méthodes
| Méthode | Description |
|---|---|
__init__ |
Initialise un agent avec llm et une liste de messages list[Mapping[str, str]] |
step |
Effectue une étape en utilisant l'agent CodeAct. Cela inclut la collecte d'informations sur les étapes précédentes et invite le modèle à exécuter une commande. |
En cours de réalisation & prochaine étape
[] Support de la navigation sur le web [] Compléter le workflow pour l'agent CodeAct afin de soumettre des PRs Github
Agent Planificateur
Description
L'agent planificateur utilise une stratégie d'incitation spéciale pour créer des plans à long terme pour résoudre les problèmes. L'agent reçoit ses paires action-observation précédentes, la tâche actuelle, et un indice basé sur la dernière action effectuée à chaque étape.
Actions
NullAction,
CmdRunAction,
BrowseURLAction,
GithubPushAction,
FileReadAction,
FileWriteAction,
AgentThinkAction,
AgentFinishAction,
AgentSummarizeAction,
AddTaskAction,
ModifyTaskAction,
Observations
Observation,
NullObservation,
CmdOutputObservation,
FileReadObservation,
BrowserOutputObservation
Méthodes
| Méthode | Description |
|---|---|
__init__ |
Initialise un agent avec llm |
step |
Vérifie si l'étape actuelle est terminée, retourne AgentFinishAction si oui. Sinon, crée une incitation de planification et l'envoie au modèle pour inférence, en ajoutant le résultat comme prochaine action. |