一个任务,三个云函数接力跑完
你提交的文本先交给采集函数(落库并给出任务号),它用 fn.invoke 调分析函数做结构化拆解,
分析函数再调报告函数生成结论。三段的输入输出全部留痕——中间哪一环慢、哪一环挂,看得见。
提交任务
POST /api/faas任务会写入数据仓库,需要登录;分析环节调用平台 AI,同样需要登录。
执行链路
待机1
采集与建单 协作流-采集
校验输入、生成任务号、写入 flow_jobs 表
2
结构化分析 协作流-分析 ← fn.invoke
由采集函数调用;用 ai.chat 拆出要点,AI 不可用时降级为规则拆解
3
生成报告 协作流-报告 ← fn.invoke
汇总分析结果,落库并回写任务状态
历史任务
flow_jobs · db.findMany还没有跑过任务。
为什么拆三个函数
采集是纯写库(快、便宜),分析要调 AI(慢、花钱),报告只做汇总。拆开后分析函数失败不会让整个任务丢失,重跑也只需重跑那一环。
超时是递减传递的
云函数有 30 秒总预算。fn.invoke 会把调用方已耗掉的时间扣掉再传给下游,所以链条越长,留给最后一环的越少——这是设计,不是 bug。
降级路径是真的
AI 环节被 try 包住:上游不可用时自动退到关键词规则拆解,流水线照样跑完,只是结果标注了「规则模式」。
实景与氛围
图片来自 Pexels,已落自有对象存储


