场景

客户反馈:
“模型最近漏检比较多,请帮我分析原因并给出处理方案。”

多智能体分工:

  1. 现场信息分析 Agent
    分析光源、相机角度、曝光、工件位置等现场因素。

  2. 数据集分析 Agent
    分析样本数量、标注质量、正常/异常样本比例。

  3. 模型分析 Agent
    分析模型版本、阈值、误检/漏检、是否过拟合。

  4. 主管 Agent Supervisor
    负责判断该让哪个 Agent 处理,最后汇总方案。

LangGraph 支持这种 supervisor 多智能体协作模式:由主管智能体统一接收用户问题,再把任务分发给专业智能体。(LangChain 参考文档)


安装

pip install langgraph langgraph-supervisor langchain-openai

示例代码

import os
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
from langgraph_supervisor import create_supervisor

os.environ["OPENAI_API_KEY"] = "你的 OpenAI API Key"

model = ChatOpenAI(model="gpt-4o-mini")


# 1. 现场信息分析 Agent
field_agent = create_react_agent(
    model=model,
    tools=[],
    name="field_agent",
    prompt="""
你是AI工业质检现场工程专家。
重点分析:
- 光源是否稳定
- 相机角度是否变化
- 曝光时间是否合理
- 工件位置是否偏移
- 触发信号是否稳定
请给出现场排查建议。
"""
)


# 2. 数据集分析 Agent
data_agent = create_react_agent(
    model=model,
    tools=[],
    name="data_agent",
    prompt="""
你是AI训练数据分析专家。
重点分析:
- 样本数量是否足够
- 缺陷样本是否覆盖新场景
- 标注是否准确
- 正常/异常样本比例是否合理
- 是否存在脏数据
请给出数据优化建议。
"""
)


# 3. 模型分析 Agent
model_agent = create_react_agent(
    model=model,
    tools=[],
    name="model_agent",
    prompt="""
你是AI模型诊断专家。
重点分析:
- 当前模型版本是否合适
- 阈值是否过高或过低
- 是否存在过拟合
- 漏检和误检的可能原因
- 是否需要重新训练或灰度发布
请给出模型优化建议。
"""
)


# 4. Supervisor 主管智能体
workflow = create_supervisor(
    agents=[field_agent, data_agent, model_agent],
    model=model,
    prompt="""
你是AI质检系统的项目主管。
你需要根据客户问题,协调不同专家智能体:
- 现场问题交给 field_agent
- 数据问题交给 data_agent
- 模型问题交给 model_agent
最后汇总成一份清晰的排查报告。

报告格式:
1. 初步判断
2. 可能原因
3. 需要客户补充的信息
4. 短期解决方案
5. 长期优化方案
"""
)

app = workflow.compile()


result = app.invoke({
    "messages": [
        {
            "role": "user",
            "content": """
客户反馈:最近产线上漏检变多。
现场换过一批物料,光源没有重新标定。
当前模型是 v1.3,阈值 0.85。
训练数据大约 300 张,其中缺陷样本 40 张。
请分析可能原因,并给出处理建议。
"""
        }
    ]
})

print(result["messages"][-1].content)

这个案例的协作逻辑

用户问题
   ↓
Supervisor 主管智能体
   ↓
判断问题涉及:现场 + 数据 + 模型
   ↓
分别调用:
field_agent
data_agent
model_agent
   ↓
Supervisor 汇总
   ↓
输出完整排查报告

输出结果大概会是

1. 初步判断
漏检增加可能不是单一模型问题,而是现场变化、数据不足和阈值设置共同导致。

2. 可能原因
- 换了新物料,但光源没有重新标定
- 缺陷样本只有 40 张,覆盖不足
- 阈值 0.85 偏高,可能导致部分低置信度缺陷被过滤
- v1.3 模型可能没有学习到新物料特征

3. 需要客户补充的信息
- 新旧物料照片
- 漏检图片
- 当前曝光参数
- 光源角度
- 标注样本
- 系统日志
- 漏检频率

4. 短期解决方案
- 降低阈值到 0.75~0.8 做 A/B 测试
- 重新标定光源和相机角度
- 收集漏检样本并人工复核

5. 长期优化方案
- 增加新物料缺陷样本
- 建立数据闭环
- 训练 v1.4 模型
- 灰度发布
- 增加双模型校验机制

这个案例很适合写成文章标题:
“用 LangGraph 搭建一个 AI 工业质检多智能体协作系统”