FLOW.md•2.17 kB
# Agent Flow
## Complete Workflow
```
Initial State:
{
action_description: "search for repositories on GitHub"
website_url: "https://github.com"
}
↓ action_agent
{
action_description: "search for repositories on GitHub"
website_url: "https://github.com"
function_metadata: { function_name, parameters, returns, description }
}
↓ input_agent
{
action_description: "search for repositories on GitHub"
website_url: "https://github.com"
function_metadata: { ... }
test_inputs: [ {query: "python async"}, {query: "react"}, ... ]
}
↓ task_agent
{
action_description: "search for repositories on GitHub"
website_url: "https://github.com"
function_metadata: { ... }
test_inputs: [ ... ]
task_description: "Navigate to GitHub, search for X, extract Y..."
}
↓ browser_loop_agent (for each test_input)
FOR EACH test_input:
attempt = 1
current_task = task_description
LOOP (max 3 attempts):
↓ browser_agent(website_url, current_task)
↓ scoring_agent(current_task, browser_result)
IF score >= 8:
✓ PASS → break loop
IF attempt < 3:
↓ feedback_agent(website_url, current_task, evaluation)
current_task = improved_task
attempt++
ELSE:
✗ FAIL → break loop
Final State:
{
action_description: "search for repositories on GitHub"
website_url: "https://github.com"
function_metadata: { ... }
test_inputs: [ ... ]
task_description: "..."
test_results: [
{
test_input: {query: "python async"},
attempts: 2,
final_score: 9,
final_reasoning: "...",
final_result: "...",
status: "pass"
},
...
]
}
```
## Agent Responsibilities
1. **action_agent**: Natural language action → structured function metadata
2. **input_agent**: Generate realistic test inputs based on function parameters
3. **task_agent**: Function metadata → browser automation instructions
4. **browser_loop_agent**: Execute browser tests with feedback loop
- **browser_agent**: Execute browser automation
- **scoring_agent**: Evaluate result (0-10)
- **feedback_agent**: Generate improved task (if score < 8)