模块 2Tool 与 Agent Runtime

Agent 服务运行时

Runtime 拥有什么,不拥有什么

  • 接收任务、创建 Run、注入依赖和返回事件
  • 协调模型、Tool、策略、状态与观测
  • 不把业务规则隐藏在框架回调
  • 不把进程内对象误当持久状态

从请求进入到 Run 终止

接入与准入

  • 身份与租户
  • Schema 校验
  • 配额和并发门禁
  • 幂等键

执行上下文

  • Run ID 与 Trace ID
  • 取消信号和 Deadline
  • 模型/Tool/策略依赖

终止处理

  • 最终状态原子写入
  • Usage 和结果持久化
  • 流关闭与资源释放

按责任而非框架类名分层

Transport Adapter

  • HTTP/SSE/WebSocket
  • 协议错误映射

Runner

  • Loop 驱动
  • 步骤预算
  • 中断与恢复

Tool Executor

  • 契约校验
  • 权限、超时、重试与结果归一化

State、Policy、Telemetry

  • 持久状态
  • 决策门禁
  • Trace/Metric/Log

并发控制必须贯穿调用链

  • 请求级 AbortSignal 向模型、Tool 和存储传播
  • 用户取消与服务 Deadline 分开记录
  • 限制每 Run 的 Tool 并发和全局工作池
  • 取消后阻止晚到结果继续推进状态

配置、密钥与依赖生命周期

  • 进程级客户端复用与连接池
  • 租户级凭据解析和短期令牌
  • 启动时校验关键配置
  • 禁止把密钥、完整 Prompt 或敏感 Tool 结果写入日志

启动、健康检查与优雅关闭

Liveness 与 Readiness

  • 进程活着不等于 Provider、队列和存储可用
  • 停止接流量、等待或检查点化 Run、取消超时任务、刷新 Trace
  • 滚动发布期间的版本兼容和旧 Run 恢复

生产骨架的最小证据

  • 正常、超时、取消、Tool 失败和 Provider 限流测试
  • 高并发下的背压与资源上限
  • 每个 Run 可从入口追到模型与 Tool
  • 故障后状态可解释且无重复副作用