模块 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
- 故障后状态可解释且无重复副作用