Robert Brennan 01ae22ef57
Rename OpenDevin to OpenHands (#3472)
* 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>
2024-08-20 00:44:54 +08:00

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 :

  1. Converse : Communiquer avec les humains en langage naturel pour demander des clarifications, des confirmations, etc.
  2. CodeAct : Choisir d'accomplir la tâche en exécutant du code
  • Exécuter toute commande bash Linux valide
  • Exécuter tout code Python valide avec un interpréteur Python interactif. Cela est simulé à travers la commande bash, voir le système de plugin ci-dessous pour plus de détails.

image

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:

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.