支持型短信收件箱要处理的往往首先是路由问题,然后才是AI问题。有人问账单,有人要技术支持,还有人想找销售。应用必须理解消息、选择正确目的地、回复客户,并记住整个处理过程。

这个TypeScript示例在Telnyx Edge Compute上通过Agent SDK完整实现了上述流程。代码仓库:agent-sms-triage-bot。

它接收入站SMS webhooks,将每条消息分类为billing、support、sales、general四个主题之一,再根据主题查找路由表,通过短信回复,并把分拣历史保存到持久化actor状态中。默认路由表将主题映射到队列名:billing到billing-queue,support到support-queue,sales到sales-queue,general到general-queue。

请求流程是:入站短信 -> POST /webhooks/sms -> TriageAgent.triage(from, text) -> Telnyx AI推理完成主题分类 -> 持久化路由表查询 -> 短信回复 -> 分拣历史更新。

该应用为每个入站号码使用一个TriageAgent actor,actor中保存路由规则、最近历史、消息总数和主题计数。主要路由包括:POST /webhooks/sms处理Telnyx message.received事件;POST /debug/triage模拟入站短信;POST /routes更新路由表;GET /routes列出路由规则;GET /history返回最近分拣历史;GET /debug/state检查actor状态;GET /health/liveness和GET /health/readiness提供健康检查。

核心类是TriageAgent,它继承自Agent SDK的Agent类,并通过持久化状态保存路由表、分拣历史、总消息数和主题计数。AI分类调用使用Telnyx绑定:通过this.env.TELNYX.ai.openai.chat.createCompletion调用模型(默认moonshotai/Kimi-K2.6),并传入系统提示词和用户消息。