把 AI 接入企业微信工作流
我把 AI 接入了企业微信工作流,让它帮我处理一些日常的轻度工作,整体感受还不错。记录一下接入过程中的几个关键决策和一些细节。不是什么高深的东西,只是分享一下我的实践。
一、企业微信的智能机器人
企业微信的智能机器人功能其实已经推出来挺久了,但很多人可能不知道它提供了长连接模式。
传统的机器人(现在叫消息推送)回调模式需要你有一个固定的公网域名来接收企微的消息推送,这很麻烦,如果只是小团队内部用用,为这个折腾一圈挺劝退的。
长连接模式不太一样——你的服务主动连上企微的长连接网关,消息通过这个长连接实时推送过来,不再需要暴露公网回调地址,有网就能跑,不需要固定的回调域名,支持内网部署了。
二、为什么选 AgentScope
因为目标是个人的轻量化工作,所以其实也没有做太多对比调研,就是大致看了文档感觉阿里的这个框架还挺靠谱的,很有工程味,就用了。我很喜欢这几个功能:
自动上下文压缩
企微机器人的使用场景里,对话往往不是一问一答就结束的。用户可能会连续问多个问题,或者在一个话题下反复追问。
这时候上下文管理就很关键。AgentScope 内置了自动上下文压缩能力,当上下文接近模型窗口上限时,会自动对历史对话做摘要压缩,把关键信息保留下来,而不是粗暴地截断。
对于企微这种每天大量对话的场景来说,这个能力省了很多手工维护上下文的功夫。对于我的需求来说,我不需要精细化管理上下文,简单的压缩足够了。
多智能体协作
企业的日常工作流很难用一个单一的 Prompt 覆盖。AgentScope 的多智能体机制允许我把不同的能力拆成独立的 Agent,他们之间可以通过消息通信协同工作。
比如我把我的机器人拆成了几个 Agent:
- Orchestrator:负责理解用户意图,分发到对应子 Agent
- QA Agent:处理知识问答类请求,背后挂 RAG
- Task Agent:执行一次性查询任务,比如查排期、查状态
- Flow Agent:处理需要多轮交互的流程
每个 Agent 各司其职,互不干扰,也方便独立迭代。
服务化部署
AgentScope 自带 Web API 和分布式支持,Agent 可以跨进程甚至跨机器运行。这意味着可以把重计算的任务丢到专门的服务器上,企微网关层只负责消息的接收和转发,架构上很干净。但我目前还没用到这个跨机器运行的能力。
三、工具调用审批:企微消息卡片
AI 调用工具是个很敏感的事情,AgentScope 提供了一个很方便的工具调用审批机制。
我利用企微的消息卡片能力,把这个审批流程做成了这样:
AI 决定调用工具
↓
AgentScope 触发审批
↓
企微机器人向我私聊一张消息卡片
↓
卡片内容:工具名 + 参数 + 调用原因
↓
卡片底部:✅ 同意 / ❌ 拒绝 按钮
↓
我点一下按钮 → 审批结果返回 AgentScope → 执行或取消效果大概是这样的——当我给机器人发了一条指令,AI 分析后发现需要调用某个内部工具,这时候如果根据我预设的规则,这次调用需要审批,那么我会收到一条来自机器人的私聊消息卡片:
请求调用工具:xxx 参数: {“user_id”: “xxx”} 原因: xxx
[✅ 同意] [❌ 拒绝]
我点一下"同意",AI 才会继续执行。
这个机制让我对 AI 的操作有完全的控制权。对于高风险的操作,我可以设置必须审批;对于低风险的操作,我可以设置自动放行。很容易就能实现一套可配置的 AI 权限控制。
具体实现上,企微的消息卡片 API 提供了按钮交互能力,AgentScope 的审批回调接口和企微的按钮事件回调对接起来就行,算不上复杂。
四、流式响应:实时展示 AI 状态
AI 在处理复杂任务时,如果一直沉默,我会困惑"它到底在工作还是卡死了"。
我用企微智能机器人的流式响应能力做了一个实时状态展示。效果是:
用户:帮我查一下xxx
机器人:已收到请求,正在处理...
(5秒后)
机器人:正在查询数据库...
(3秒后)
机器人:正在整理结果...
(2秒后)
机器人:xxxxxx(最终结果)我能实时看到 AI 的执行过程,体验上比干等要好很多。
这里有个坑哈:企微智能机器人的流式响应是全量更新,不是增量更新,就是每次推送都是完整的消息内容,而不是只推送新生成的部分,如果想做打字机效果,实测体验很卡顿。
五、一些经验
1. 企微适合"轻交互"
企微消息机器人的交互能力有限,适合做知识问答、快捷查询、简单流程。不适合做大量富文本展示或高频次交互操作。
2. 日志记录
建议每条消息都记录完整的处理链路,包括 Agent 的输入输出和耗时,防止出问题时无从下手。
六、总结
把 AI 接入企微工作流这件事,做下来感受是:并不需要多复杂的技术,关键在于把几个环节串好。
企微的长连接解决了消息通道问题,AgentScope 解决了多智能体组织和工具调用审批的问题,消息卡片和流式响应解决了交互体验的问题。
我不禁感叹,从年初到现在,模型本身的能力和AI相关框架的工程能力都有了很大的提升,并且还在持续快速提升中。