RedmineUP Cloud 的 Marat 说,团队即将发布一款叫 AI Agent 的 Redmine 插件,内置 MCP 服务器。发布之前,他们先让自己的客服团队拿真实客户工单跑了一遍。结果发现,难的部分不是大模型,而是你按什么顺序把东西引进来。

打开网易新闻 查看精彩图片

他的判断很直接:如果你的客服跑在 Redmine 上,你手里已经压着多年的已解决工单、wiki 页面和客户历史。这些知识今天只是躺在那里,RAG 能让它变得可用。下面是他一步步试出来的顺序。

第一步:先只做检索,不碰自动化

Agent 用 Redmine 原生搜索去查 wiki 页面和 issue,以提问者本人的身份去查。不需要另建索引同步,客户之间也不会串权限。每个答案都带来源链接,比如“见 #4521 和 SSO 那篇 wiki”。

第二步:分诊加草稿,但发送键在人手里

邮件变成工单时触发 webhook。Agent 只从 Redmine 里已存在的 ID 中挑分类、优先级和负责人,写好草稿,全部存成私有备注:

  • PUT /issues/4812.json
  • issue 字段里填 category_id、priority_id、assigned_to_id
  • notes 写入“AI triage: billing, EN, customer frustrated. Similar: #3310.”加草稿回复
  • private_notes 设为 true

他总结了三条救了他们的规则:

  1. 封闭列表。不在列表里的值一律拒绝。
  2. 不自动发送。只写私有备注,任何内容都到不了客户那里。
  3. 不成环。Agent 自己的更新也会触发 webhook,所以要把机器人事件过滤掉。

这一步要跑 2 到 4 周,按分类记录“无需修改或仅小改就发出”的草稿占比。这个数字决定哪里可以安全地自动化。

第三步:报表靠一句话问出来

通过 MCP,客服主管直接输入:“项目 X 的首次响应时间中位数和 P90,4 小时内回复的占比,按年份看趋势。”Agent 负责搭查询、出图表,然后解释长尾部分。

第四步:一线 Agent,还在设计阶段

只在准确率已被验证的窄分类里自动回复,比如密码重置、“我的发票在哪”。其他情况连同一份摘要转给人工。

第五步:客户 360

CRM 和 Helpdesk 数据一次调用取齐。有个小但有用的技巧:LTV 这类分数在代码里算,只让大模型负责解释。数字保持可复现。

他的结论是:别从聊天机器人起步。从检索开始,加上草稿,做度量,只在数字说安全的地方才自动化。