1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
//! Handoffs 示例 //! //! 展示如何使用 HandoffManager 在多个 Agent 之间切换。 //! //! # 运行 //! ```bash //! cargo run --example handoffs //! ``` // Handoffs 示例仅展示用法说明,无需导入 LLM 类型 #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { println!("=== Handoffs 示例 ===\n"); // Handoffs 允许在多个专业 Agent 之间切换 println!("Handoffs 工作流程:"); println!("1. 主 Agent 接收用户请求"); println!("2. 判断需要哪种专业技能"); println!("3. 将对话交接给专业 Agent"); println!("4. 专业 Agent 处理完成后可交接回主 Agent"); println!("\n示例场景:"); println!("- 客服 Agent → 技术支持 Agent → 回到客服"); println!("- 通用助手 → 代码专家 → 文档专家"); println!("- 销售顾问 → 产品专家 → 售后服务"); println!("\nHandoffManager 使用方式:"); println!(" let manager = HandoffManager::new(primary_agent)"); println!(" .with_handoff(\"tech\", tech_agent)"); println!(" .with_handoff(\"docs\", docs_agent);"); println!(" let result = manager.run(\"帮我解决技术问题\").await?;"); println!("\n提示: 需要设置 OPENAI_API_KEY 才能进行真实调用。"); Ok(()) }