14.2 工具执行运行时
14.2.1 工具调用生命周期
完整调用链路
LLM 输出 tool_use → pi-agent-core 解析 → 工具分发
│
┌─────────┴─────────┐
│ before_tool_call │ ← 插件钩子(可拦截/修改)
└─────────┬─────────┘
│
┌─────┴─────┐
│ 工具执行 │ ← abort signal 守卫
└─────┬─────┘
│
┌─────────┴─────────┐
│ after_tool_call │ ← 插件钩子(通知)
└─────────┬─────────┘
│
┌─────────┴─────────┐
│ 结果格式化 + 持久化 │
└─────────┬─────────┘
│
┌─────────┴─────────┐
│ tool_result_persist │ ← 插件钩子(可修改结果)
└─────────┬─────────┘
│
返回给 LLMbefore_tool_call 钩子包装
Abort Signal 守卫
包装顺序
14.2.2 工具结果格式化
AgentToolResult 结构
JSON 结果模式
图片结果模式
工具结果持久化钩子
14.2.3 错误处理与重试策略
工具级错误处理
钩子错误隔离
超时控制
本节小结
Last updated