概述
使用LangGraph多智能体工作流、RAG搜索和LaunchDarkly AI配置,在20分钟内构建具有动态配置功能的多智能体系统。
您可能遇到过这种情况:AI聊天机器人在测试中表现良好,但在生产环境中GPT-4成本失控。您切换到Claude,但现在欧洲用户需要不同的隐私规则。每次更改都意味着另一次部署、更多测试,以及祈祷不会出现问题。
那些发布速度更快的团队?他们动态控制AI行为,而不是硬编码所有内容。
今日构建内容
在接下来的20分钟内,您将拥有一个LangGraph多智能体系统,包含:
- 监督代理:协调专业代理之间的工作流
- 安全代理:检测PII和敏感信息
- 支持代理:使用您的业务文档回答问题
- 动态控制:通过LaunchDarkly更改模型、工具和行为,无需代码更改
先决条件
您需要:
- Python 3.9+ 和 uv 包管理器
- LaunchDarkly 账户
- OpenAI API 密钥
- Anthropic API 密钥
步骤1:克隆和配置(2分钟)
|
|
在LaunchDarkly中创建项目"multi-agent-chatbot",获取SDK密钥并配置.env文件。
步骤2:添加业务知识(2分钟)
|
|
适用文档类型:法律合同、医疗协议、SaaS文档、电子商务目录等。
步骤3:初始化知识库(2分钟)
|
|
这使用OpenAI的文本嵌入模型和FAISS向量数据库构建RAG基础。
步骤4:定义工具(3分钟)
在LaunchDarkly中创建两个工具:
search_v2工具:
- 描述:使用向量嵌入进行语义搜索
- Schema:包含查询字符串和返回结果数量
reranking工具:
- 描述:使用BM25算法按相关性重新排序结果
- Schema:包含原始查询和要重新排序的结果数组
步骤5:在LaunchDarkly中创建AI代理(5分钟)
创建三个AI配置:
监督代理
- 名称:supervisor-agent
- 模型:Claude 3.7 Sonnet
- 任务:分析用户输入是否包含PII,并推荐最优路由
安全代理
- 名称:security-agent
- 模型:Claude 3.7 Sonnet
- 任务:检测和移除PII,提供详细的脱敏信息
支持代理
- 名称:support-agent
- 模型:Claude 3.7 Sonnet
- 参数:{“max_tool_calls”:5}
- 附加工具:reranking, search_v2
- 任务:使用知识库搜索和研究论文回答问题
步骤6:启动系统(2分钟)
|
|
访问 http://localhost:8501
步骤7:测试多智能体系统(2分钟)
测试查询:
- 基础知识测试:“什么是强化学习?”
- PII检测测试:“我的邮箱是[email],我需要帮助。”
观察LangGraph的工作流程:监督代理首先路由到安全代理检测PII,然后将控制权传递给支持代理使用RAG系统进行文档搜索。
步骤8:尝试新功能
实时更改代理配置:
功能1:即时切换模型
- 在support-agent配置中将模型从Claude改为GPT-4
- 返回聊天界面测试相同问题
功能2:调整工具使用
- 将max_tool_calls从5改为2
- 测试复杂问题,观察代理如何选择性搜索
功能3:改变代理行为
- 修改支持代理的任务说明,使其成为研究专家
- 测试问题如"功能标志的最佳实践是什么?"
所有更改立即生效,无需部署、重启或停机。
理解您构建的系统
您的LangGraph多智能体系统包含:
- LangGraph编排:监督代理使用LangGraph状态管理基于内容分析智能路由请求
- 隐私保护:安全代理检测和脱敏PII
- RAG知识系统:支持代理结合LangGraph工具链与RAG系统进行语义文档搜索和重新排序
- 运行时控制:LaunchDarkly控制LangGraph行为和RAG参数,无需代码更改
下一步
在第二部分,我们将添加:
- 基于地理位置的隐私规则
- 外部数据的MCP工具
- 业务层级配置
- 成本优化策略
在第三部分,我们将运行A/B实验,用真实数据证明哪些配置效果最佳。
关键要点
- 多智能体系统在每個代理有特定角色时效果最佳
- 动态配置比硬编码更好地处理变化的需求
- LaunchDarkly AI配置无需部署即可控制和更改AI行为
- 从简单开始,随着了解有效方法增加复杂性