首页 教程 常见问题

Agent SDK 钩子

在 Agent SDK 中使用钩子系统——在代理操作前后执行自定义逻辑。

钩子系统

钩子让你能在代理的关键操作前后插入自定义逻辑:

实现

class AgentHooks:
    def pre_call(self, messages):
        """在 API 调用前处理消息。"""
        print(f"即将发送 {len(messages)} 条消息")
        return messages

    def post_call(self, response):
        """处理 API 回复。"""
        print(f"收到回复: {len(response.content)} 个内容块")
        return response

    def pre_tool(self, tool_name, tool_input):
        """在工具执行前。"""
        print(f"即将执行: {tool_name}")
        return True  # 返回 False 可以取消

    def post_tool(self, tool_name, result):
        """处理工具结果。"""
        print(f"工具 {tool_name} 完成")
        return result

    def on_error(self, error):
        """处理错误。"""
        print(f"错误: {error}")

使用场景

下一步