Open AI 给出的解释是:Agent 是能独立完成任务的系统,代表用户行事。它们由大语言模型驱动,能够使用工具、作出决策并能真正完成完整的工作流程。所以那些只会回答常见聊天任务的大模型,不算是 Agent。工具:双手,负责执行(调用API、访问网页、查资料等)指令:地图,告诉 Agent 该做什么、什么时候做、怎么做weather_agent = Agent( name= "Weather agent", instructions="You are a helpful agent who can talk to users about the weather.", tools=[get_weather], ) 让 Agent 真正发挥关键作用,需要它能够获取信息、主动执行操作、协调多个 Agent 联动工作。编排类工具:一个 Agent 调用另一个 Agentfrom agents import Agent, WebSearchTool, function_tool @function_tool def save_results(output): db.insert({ : output, : datetime.time()}) return "File saved"
search_agent = Agent( name="Search agent", instructions="Help the user search the internet and save results if asked.", tools=[WebSearchTool(),save_results], ) 提示:如果你的 Agent 工具有点多,那就要考虑拆分成多个 Agent 了。一个好用的 Agent 指令要结构清晰、有条理,并且展示了如何用模型从帮助文档中自动生成指令。当需要更多专业分工或复杂流程分支时,适合使用多 Agent。一个主 Agent 协调调度多个专属 Agent。它会根据任务把子任务派发给对应的 Agent,然后将结果统一整合成最终回复。Agent 之间可以通过 handoff 把流程传给另一个 Agent。handoff 是一种特殊函数,调用后直接切换到新的 Agent 并同步上下文。这种模式更灵活,适合不需要集中控制,允许多个 Agent 彼此接力完成任务的场景。你肯定不希望你的 Agent 胡说八道、泄露隐私或者自动去执行一些高风险操作吧。指南中也提供了一整套 guardrail 系统,包括:这些都可以集成到 Agent 的运行循环中,甚至能自动测试失败场景这份指南,是目前能真正落地 Agent 系统的最佳蓝图。如果你是开发者,强烈建议你认真读一读! |