diff --git a/metagpt/roles/di/swe_agent.py b/metagpt/roles/di/swe_agent.py index 5acce5f9d..2e1fb6412 100644 --- a/metagpt/roles/di/swe_agent.py +++ b/metagpt/roles/di/swe_agent.py @@ -11,7 +11,6 @@ from metagpt.prompts.di.swe_agent import ( ) from metagpt.roles.di.role_zero import RoleZero from metagpt.tools.libs.terminal import Bash -from metagpt.tools.swe_agent_commands.swe_agent_utils import extract_patch class SWEAgent(RoleZero): @@ -72,6 +71,9 @@ class SWEAgent(RoleZero): This function is specifically added for SWE bench evaluation. """ + # only import when evaluation is needed + from metagpt.tools.swe_agent_commands.swe_agent_utils import extract_patch + commands, ok = await self._parse_commands() if not ok: return diff --git a/tests/metagpt/environment/mgx_env/run_mgx_env.py b/tests/metagpt/environment/mgx_env/run_mgx_env.py index 0d5287412..2cd299f17 100644 --- a/tests/metagpt/environment/mgx_env/run_mgx_env.py +++ b/tests/metagpt/environment/mgx_env/run_mgx_env.py @@ -6,6 +6,7 @@ from metagpt.environment.mgx.mgx_env import MGXEnv from metagpt.roles import Architect, Engineer, ProductManager, ProjectManager from metagpt.roles.di.data_analyst import DataAnalyst from metagpt.roles.di.engineer2 import Engineer2 +from metagpt.roles.di.swe_agent import SWEAgent from metagpt.roles.di.team_leader import TeamLeader from metagpt.schema import Message @@ -26,6 +27,7 @@ async def main(requirement="", enable_human_input=False, use_fixed_sop=False): engineer, # QaEngineer(), DataAnalyst(tools=[""]), + SWEAgent(), ] )