Skip to content

Agent 运行时架构

PRX Agent 运行时是驱动所有自主 Agent 行为的核心执行引擎。它管理 Agent 会话的生命周期,协调工具调度,处理流式响应,并强制执行资源限制。

架构概览

运行时基于事件驱动架构,每个 Agent 会话在隔离的执行上下文中运行。主要组件包括:

  • 会话管理器 -- 创建和追踪活跃的 Agent 会话
  • Agent 循环 -- 处理 LLM 响应和执行工具调用的核心调度循环
  • 记忆层 -- 提供跨轮次的上下文回忆和压缩
  • 工具注册表 -- 管理可用工具及其权限策略
┌─────────────────────────────────────────┐
│              会话管理器                    │
│  ┌───────────┐  ┌───────────┐           │
│  │  会话 A    │  │  会话 B    │  ...     │
│  │ ┌───────┐  │  │ ┌───────┐  │         │
│  │ │ 循环  │  │  │ │ 循环  │  │         │
│  │ │ 记忆  │  │  │ │ 记忆  │  │         │
│  │ │ 工具  │  │  │ │ 工具  │  │         │
│  │ └───────┘  │  │ └───────┘  │         │
│  └───────────┘  └───────────┘           │
└─────────────────────────────────────────┘

执行模型

每个 Agent 会话遵循请求-响应循环:

  1. 接收用户输入 -- 文本消息、工具结果或系统事件
  2. 构建上下文 -- 组装系统提示词、记忆和对话历史
  3. LLM 推理 -- 从配置的提供商流式获取响应
  4. 工具调度 -- 如果 LLM 发出工具调用,在沙箱中执行
  5. 循环或返回 -- 如果调用了工具则继续循环,否则返回最终响应

配置

可以在 config.toml 中调整运行时行为:

toml
[agent]
max_turns = 50
max_tool_calls_per_turn = 10
session_timeout_secs = 3600
stream_buffer_size = 64

[agent.limits]
max_concurrent_sessions = 8
max_memory_mb = 512

进程隔离

Agent 会话可以选择在独立进程中运行以实现故障隔离。详见 会话 Worker 了解进程隔离执行模型。

相关页面

Released under the Apache-2.0 License.