Agent Loop
目标
Agent Loop 负责一轮或多轮模型调用、工具调用、工具结果回填和最终回答生成。
核心对象
| 对象 | 说明 |
|---|---|
ChatRequest |
Agent 输入请求 |
ToolCall |
模型请求的工具调用 |
ToolResult |
工具执行结果 |
LLMResult |
provider 返回的模型内容和工具调用 |
AgentResponse |
Agent 最终响应 |
流程
- 接收
ChatRequest。 - 构造模型上下文。
- 调用 provider。
- 将 provider tool calls 转为
ToolCall。 - 通过
ToolExecutor.execute_one()执行工具。 - 将工具结果转回模型上下文,必要时继续循环。
- 输出
AgentResponse和事件流。
Harness 边界
金融任务、组合验证、最终回答质量控制等领域逻辑不应硬编码在通用 Agent Loop 中。它们应通过 harness、tools、presenters 或插件参与流程。
相关代码
dojoagents/agent/loop.pydojoagents/agent/models.pydojoagents/agent/events.pydojoagents/tools/executor.py