Agent 系统概述
Agent 系统是 OpenClaw 的 AI 大脑——负责与大语言模型交互、执行工具调用、管理流式输出和维护对话上下文。
源码位置
src/agents/ # ~312 files
├── pi-embedded-subscribe.ts # Agent 执行主入口
├── pi-embedded-subscribe.types.ts # 参数类型定义
├── pi-embedded-subscribe.handlers.tools.ts # 工具调用处理
├── pi-embedded-helpers.ts # 辅助函数
├── pi-tools.ts # 工具定义和注册
├── pi-tool-policy.ts # 工具策略
├── pi-session.ts # Agent 会话
├── pi-models.ts # 模型配置
├── pi-streaming.ts # 流式处理
├── pi-context.ts # 上下文管理
└── ... # 更多模块核心流程
核心概念
| 概念 | 说明 | 源文件 |
|---|---|---|
| Agent Session | AI 对话会话 | pi-session.ts |
| Embedded Subscribe | Agent 执行的主循环 | pi-embedded-subscribe.ts |
| Block Chunker | 消息合并与分块 | pi-embedded-subscribe.ts |
| Tool Factory | 工具注册和策略 | pi-tools.ts |
| Delta Buffer | 流式 delta 缓冲 | pi-embedded-subscribe.ts |
Agent 执行模型
Agent 的执行是一个循环过程:
每次循环中:
- 将用户消息(和上下文)发送给 AI 模型
- 流式接收响应 delta
- 如果模型请求工具调用,执行工具并将结果反馈给模型
- 重复直到模型给出最终回复