订单退款 Agent 系统架构¶
本系统是一个电商客服场景下的多模块 Agent,负责处理用户的订单查询与退款请求。
模块划分¶
- intent_parser(意图识别):解析用户自然语言,判断意图(
refund/order_status/chitchat),抽取订单号等实体。 - order_service(订单服务):负责订单相关的读写。
- 工具
query_order(order_id):查询订单状态与金额。 - 工具
verify_refund_eligibility(order_id):校验订单是否满足退款条件(是否已支付、是否在退款时限内、是否已退过款)。退款流程中此步骤为强制前置校验。 - payment_service(支付服务):对接第三方支付网关。
- 工具
process_refund(order_id, amount):发起退款。第三方网关偶发不稳定,要求实现重试 + 退避并在最终失败时上报,不得静默丢弃。 - inventory_service(库存服务):查询与回补库存。
- 工具
check_stock(sku):查询库存。要求单次调用延迟不超过 5000ms,超时应走降级路径而非阻塞主流程。 - notification_service(通知服务):向用户发送结果通知。
关键调用链(退款)¶
user -> intent_parser -> order_service.query_order
-> order_service.verify_refund_eligibility # 强制前置校验
-> payment_service.process_refund # 需重试+退避
-> notification_service.notify_user
可观测性¶
系统为每次任务落一条 trajectory(轨迹)日志,记录每一交互轮次(turn)的模块、工具、输入输出、状态与延迟(latency_ms)。轨迹用于线上问题诊断与回归测试重放。