camel
camel copied to clipboard
[Feature Request] Implement a specialized agent for software engineering tasks
Required prerequisites
- [x] I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
- [x] Consider asking first in a Discussion.
Motivation
The goal is to support software engineering tasks such as issue resolution, following benchmarks like SWE-Bench and SWE-Lancer. A typical workflow involves repository-level operations, including viewing, creating, deleting, and modifying code files, as well as executing bash commands. All actions should be executed within a sandboxed environment (e.g., Docker).
Solution
We propose integrating the CodeActAgent implementation from OpenHands, a general-purpose coding agent. More details on its functionality can be found in the CodeActAgent README.
To achieve this:
- Implement a new agent class,
CodeActAgent, by inheriting from theBaseAgentclass, usingChatAgentas a reference. - Support
execute_bashandstr_replace_editoractions, as defined in the OpenHands implementation. Note that the implementation requests for these tools will be addressed in a separate issue. - Integrate Docker runtime and support inference for a typical SWE like task instance (TBD).
Alternatives
No response
Additional context
No response