- An isolated agent with root access.
- Will be given a task and using tools the agent should complete the task.
- Ideally agent should plan first and create a plan of action / tasks.
- Then using tools it should complete the tasks
- write_file: to write a file to disk.
- read_file: read a file from disk.
- ls: ie read files.
- make_directory: to create a new directory.
- shell_tool: execute shell commands
- python_interpreter: execute python code
- js_interpreter: execute js code
- ts_interpreter: execute ts code
- xdot: a graph drawing tool.
- Create a project and write code.
- Create diagrams using xdot
- Execute code to get results
- Should do fs operations only on ~/workspace
- Should not run malicious bash scripts.
- Planner agent split the given task to multiple subtasks in planning phase.
- These tasks are executed sequentially.
- when each task is done/undergoing, it can replan and re arrange the task queue.
- There should be a state that manages the task queue with description and task status.
- Planner memory
- Subtask memory
- Shared memory.
- Overall goal.
- Current plan
- Full file tree + description
- Task queue state
- Current task goal
- Current task's previous conversations.