Skip to content

工单分诊 Playbook

场景

客服/运营工单需要快速分类优先级判断关键信息抽取,并给出下一步动作。

需要使用功能(关键特性)

  • 结构化输出:字段稳定,方便下游系统消费。
  • ensure_keys:保证关键字段一定出现。

具体操作

  1. output() 定义结构化字段。
  2. ensure_keys 固定关键字段。

完整代码

python
import json
from agently import Agently

Agently.set_settings(
    "OpenAICompatible",
    {
        "base_url": "http://localhost:11434/v1",
        "model": "qwen2.5:7b",
        "model_type": "chat",
    },
).set_settings("request_options", {"temperature": 0.2}).set_settings("debug", False)

agent = Agently.create_agent()

result = (
    agent.system(
        "你是客服工单分诊助手。仅输出结构化字段,字段要简短、可执行。"
    )
    .input(
        "我在 App 里购买会员被重复扣款两次,但订单里只显示一次。\n"
        "我想尽快退款,并确认后续不会再扣。"
    )
    .output(
        {
            "issue_type": (str, "问题类型:支付/退款/物流/账号/其它"),
            "priority": (str, "P0/P1/P2"),
            "summary": (str, "一句话摘要"),
            "user_requests": [(str, "用户诉求")],
            "next_action": (str, "建议动作"),
            "missing_info": [(str, "缺失信息")],
        }
    )
    .start(
        ensure_keys=[
            "issue_type",
            "priority",
            "summary",
            "user_requests[*]",
            "next_action",
        ],
        max_retries=1,
        raise_ensure_failure=False,
    )
)

print(json.dumps(result, ensure_ascii=False, indent=2))

真实输出

text
{
  "issue_type": "支付",
  "priority": "P1",
  "summary": "App购买会员被重复扣款,需退款并确认不再重复扣费。",
  "user_requests": [
    "尽快退款",
    "确认后续不会再重复扣费"
  ],
  "next_action": "核查订单情况并处理退款请求",
  "missing_info": [
    "具体订单号"
  ]
}

验证点

  • 字段完整出现(ensure_keys)。
  • issue_typepriority 等可直接驱动下游流程。