Skip to content

AI 客服机器人如何实时读公众号文章:用 Agent Skill 替代滞后知识库 ​

很多团队给客服机器人或内部分析助手接了一套知识库检索流程:把官方公众号的历史文章切片、生成向量、存进检索库,Agent 回答问题时先检索再作答。这套流程能应付"我们的退货政策是什么"这类不常变的问题,但一旦用户问的是"公司今天发的活动公告写了什么细节",机器人大概率答不上来,或者拿一篇几周前的旧文章硬凑答案。

问题出在更新节奏上。知识库的向量化通常是批处理任务,按天甚至按周跑一次,而公众号内容的更新是不规律的:可能连续几天没有新文章,也可能一天内发布好几篇。如果 Agent 依赖的是上一次批处理时的快照,那么在两次批处理之间发布的所有内容,对它来说都是不存在的。客服团队通常是在用户投诉"机器人答非所问"之后才发现,某篇关键公告发出去三天了,知识库还没收录。

另一个常见的临时方案是让 Agent 在回答问题时实时抓取公众号文章页面。这个思路方向是对的——不依赖批处理快照,按需取最新内容——但公众号文章页面的 HTML 结构、图片防盗链、跳转逻辑经常变化,直接抓取容易在正文提取、图片处理上出错,抓到的也是非结构化 HTML 而不是可以直接喂给模型的干净文本,还需要额外写清洗逻辑,维护成本不低。

用结构化数据源替代"批处理知识库 + 临时抓取" ​

更稳妥的做法是把"取最新文章"这件事从"定期重建知识库"里拆出来,变成 Agent 在回答问题时可以随时调用的一个能力,而且拿到的直接是结构化数据,不用自己写 HTML 解析。具体思路:

  1. 用一个稳定的数据源持续订阅目标公众号,新文章发布后能在小时级时间内变成结构化数据(含 Markdown 正文),而不是等下一次批处理;
  2. Agent 在需要引用"最新一篇文章"或"某个时间段内的文章"时,直接调用接口按需拉取,而不是依赖预先建好的向量索引;
  3. 常规问答(政策类、不常变的内容)仍然可以走原来的知识库检索,两条路径并行,各司其职。

Mp2RSS 提供的正是这一层数据源:贴入任意一篇公众号文章的链接即可订阅它所属的整个公众号,系统持续抓取该号新发布的文章,沉淀为含 Markdown 正文的结构化数据。从公众号发文到数据可见平均只需 2–3 小时,比多数批处理知识库的更新周期短得多。

第一步:订阅目标公众号 ​

不需要微信账号,用 GitHub 或 Google 账号登录控制台后,找一篇该公众号已发布文章的链接(形如 https://mp.weixin.qq.com/s?...),粘贴进订阅入口即可反查订阅整个公众号。也可以用 Open API 脚本化完成:

bash
curl -X POST https://mp2rss.bugcode.dev/open-api/subscriptions \
  -H "Authorization: Bearer {your_feed_key}" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://mp.weixin.qq.com/s?__biz=xxx"}'

订阅成功后系统从这一刻起收录新发布的文章,注意首次订阅不会回溯该公众号过去发布的历史文章,如果需要历史存量内容,要另外准备。

第二步:让 Agent 按需拉取最新文章 ​

订阅建立后,查询该公众号文章列表的接口随时可用:

bash
curl "https://mp2rss.bugcode.dev/open-api/subscriptions/{mpId}/articles?page=1&pageSize=5" \
  -H "Authorization: Bearer {your_feed_key}"

返回的每篇文章都带 Markdown 正文,可以直接拼进 Agent 的上下文,不需要额外做正文提取或清洗。把这个接口封装成 Agent 可调用的一个工具(tool/function),当用户问题涉及"最新""今天发的""刚更新的"这类时效性表述时,触发调用而不是走向量检索,就能把回答建立在小时级新鲜的数据上。

对于用 Claude Code、Cursor 等支持 Agent Skill 的工具搭建的助手,Mp2RSS 也提供对应的 Skill 接入方式,可以让 Agent 直接完成订阅、检索与拉取最新文章的操作,不用自己再封装一层 API 调用逻辑,接入方式可参考 快速开始 与仓库中的 AI Agent 接入说明。

第三步:区分"实时问答"与"批量语料"两种场景 ​

不是所有场景都需要实时调用接口。如果是给 Agent 做长期语料积累、支持全文检索或做趋势分析,批量拉取历史数据、定期同步进自己的存储仍然是合理做法,参考 订阅管理 中关于分页拉取与增量同步的说明。区分标准很简单:问题是否涉及"最新""今天""刚发布"这类时效性词,涉及就实时取数,不涉及就用已有语料库回答。

常见问题 ​

用 Agent Skill 实时取数会不会比预建知识库慢,影响回答速度? 单次接口调用的响应时间通常很短,对于涉及时效性的问题,这个延迟远小于用户等一份准确答案愿意接受的时间;而错误地引用过时内容造成的返工成本更高。对不涉及时效性的常规问题,仍然可以走预建知识库,不需要每次都实时调用。

如果公众号一天内发布好几篇文章,Agent 怎么知道该引用哪一篇? 拉取文章列表接口默认按发布时间倒序返回,取第一条即为最新一篇;如果问题涉及某个具体主题而不是"最新一篇",可以结合关键词在返回的 Markdown 正文里做匹配,或分页拉取更多条后由模型判断相关性。

订阅公众号后能立刻查到历史文章吗? 不能。首次订阅只从订阅成功那一刻起收录新发布的文章,不回溯历史内容。如果 Agent 需要覆盖历史语料,需要另外准备历史数据来源,或接受"从订阅日起逐步积累"的过程。

除了公众号,还能用同样的方式接入其他信源吗? Mp2RSS 同时支持订阅 X(Twitter)账号,推文与长文同样以结构化数据形式交付,可以用同一套 Open API 逻辑接入 Agent,只是 X 账号的搜索与订阅目前需要在 Web 控制台完成,Open API 文档中有完整的端点说明。

这套方案需要付费吗?订阅上限是多少? Mp2RSS 按订阅的信息源数量分档计费,50 个信息源每月 49 元、100 个每月 99 元、400 个每月 399 元,各档位功能完全一致(全部 Feed 格式、Open API、CLI),仅订阅上限不同,可以根据 Agent 需要覆盖的公众号数量选择档位,具体规则见 会员与计费。