客服助手 Agent

上线时间
May 1, 2026
项目类型
AI工具效率
产品平台
Web
我的角色
产品经理工程研发
设计方法
AgentPrompt EngineeringAI 自动化数据分析

customer-service-agent

背景

日常工作中,我需要处理来自全球各地用户关于产品的各种问题,这些问题都是通过邮件进行沟通的。

问题

在处理邮件的过程中,大部分时间其实是用来翻译和查询用户资料等操作。比如一位俄罗斯用户反馈 API Bug,此时我需要:

  1. 先将邮件翻译为中文以理解问题;
  2. 根据 email 查询用户信息,比如用户的 ID、消费量(是否是大客户)等;
  3. 根据前面的信息思考如何回复;
  4. 将回复转为对方的语言(例如俄语)并发送。

在这个过程中,只有"思考如何回复"才是核心的工作内容,其他工作都比较繁琐。

方案

为了提升工作效率,我决定利用 Agent 来完成邮件撰写、翻译以及用户信息查询和分析。

架构

在架构选择上,我选择了单层 Agent。这是因为 Agent 的工作比较简单,单层 Agent 已经完全够用,使用多 Agent 反而会增加维护成本,造成不必要的 Token 消耗。

工作模式

在工作模式方面,我没有采用 Plan-and-Execute 模式,因为整体回复的过程已经积累为成熟的工作流,Agent 直接按流程处理即可。我采用了 ReAct 模式,让 Agent 根据所获得的上下文来处理后续需要调用的工具以及回复方式。

记忆

用户反馈的问题同质化比较高,比如充值未到账、API 错误等,让 Agent 拥有记忆可以降低后续人工干涉的成本。记忆主要分为以下几类:

  • PREFERENCES:跨客户的沟通偏好,比如邮件语言要简洁、不要太多客套话这类规则。采用 md 文件格式存储,因为内容少,md 文件完全足够,且方便人工编辑。
  • Customer Facts:每个客户使用一个 md 文件进行记录,存储用户相关的信息。
  • Remembered Cases:存储客服案例,积累各类问题的处理方式,比如充值未到账通常会引导用户查看 Credits 页面,API 报错则要求用户提供请求参数等信息。使用向量存储,支持模糊搜索,对于案例参考,找到类似的案例即可,无须精确查询。

在存储案例时,为什么使用 db 而不是 markdown?主要基于以下三点考量:

  1. db 是结构化的,对于按 Email、时间进行筛选更加稳定;
  2. db 更方便做向量索引,支持模糊/类似的案例搜索;

工具设计

针对日常需求,设计了以下几项工具:

  • translate_email(翻译邮件):将邮件翻译为中文或目标语种。
  • get_user_info(获取用户信息):利用 Posthog 的 API 查询用户的 ID、充值金额等信息。
  • search_knowledge_base(搜索知识库):将 CometAPI 的文档作为知识库进行向量搜索,以此作为回复用户的资料参考。
  • recall_similar_cases(查找类似案例):参考类似案例的回复方式,复用历史沟通经验,提升回复质量。
  • get_contact_history(获取用户历史沟通记录):输入邮箱返回与此邮箱的沟通记录,在回复邮件时,通过沟通记录让 Agent 总结,可以快速了解沟通背景。

评估 AI 质量与优化

在遇到 Agent 回复质量不佳时,利用 LangSmith 检查 Agent 获得的上下文、可用 Tool 列表来定位问题并优化。

效果

经过实际运行,处理邮件数超过 100 封,效率提升了 75%。