Skip to content

Commit 8bf8b2e

Browse files
committed
update tools; add ChecklistTool for task planning and integrate into agent
1 parent aee9e9b commit 8bf8b2e

3 files changed

Lines changed: 10 additions & 1 deletion

File tree

argus/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from argus.llm.base import LLMClient
1212
from argus.tools.ask_web_agent import AskWebAgentTool
1313
from argus.tools.base import Tool
14+
from argus.tools.checklist import ChecklistTool
1415
from argus.tools.shell import ShellTool
1516
from argus.utils.evermind import EverMindMemory
1617
from argus.web_agent import WebAgent
@@ -19,6 +20,7 @@
1920
"Agent",
2021
"WebAgent",
2122
"AskWebAgentTool",
23+
"ChecklistTool",
2224
"Content",
2325
"SystemMessage",
2426
"UserMessage",

config.example.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ agent:
1010
After each tool call, wait for the result before deciding the next step.
1111
Please briefly explain your reasoning before each tool call.
1212
13+
## Task Planning (MANDATORY FIRST STEP)
14+
Before doing anything else, call the `checklist` tool with action='init' to make a detailed plan listing every step you plan to take.
15+
After completing each step, you have to call `checklist` with action='complete' and the step's index to mark this step is done.
16+
If you discover new steps mid-task, use action='add'.
17+
If you find your plan is not working, you may make a new plan by calling `checklist` with action='init' again.
18+
1319
## Recommended Workflow Phases (follow in order)
1420
You have a limited number of steps. Spend them wisely across these phases:
1521
1. **Explore** (≤12 steps): Understand the codebase and locate the relevant code.

run_swebench_multimodal.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from argus.llm.anthropic import AnthropicClient
2323
from argus.llm.base import LLMClient
2424
from argus.llm.openai import OpenAIClient
25+
from argus.tools.checklist import ChecklistTool
2526
from argus.tools.shell import ShellTool
2627

2728
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(name)s: %(message)s")
@@ -146,7 +147,7 @@ def _build_agent(cfg: AgentConfig, instance: dict, port: int, web_agent: WebAgen
146147

147148
agent = Agent(
148149
llm=llm,
149-
tools=[shell, AskWebAgentTool(web_agent)],
150+
tools=[ChecklistTool(), shell, AskWebAgentTool(web_agent)],
150151
system_prompt=cfg.system_prompt,
151152
max_steps=cfg.max_steps,
152153
log_dir=log_dir,

0 commit comments

Comments
 (0)