时空分析 SpatioAgent 的由来
这个时空分析 AI Agent,SpatioAgent,可能是世界上首个同时在多个垂类数据采集资源调度和研究任务分析实现自闭环的大数据时空语义分析 AI Agent。
为什么说我敢说他是世界首个呢,因为加的定语足够长。
开门见山,SpatioAgent 主要解决是下面这几类痛点需求:
1、苦于在正式数据分析任务前,需要做大量数据采集清洗的这类重工程任务,而因为自己是其他专业转行感到力不从心的商业数据分析师。
2、拥有良好的数据集,不知道怎么下手分析的爬虫工程师。
3、以上两者兼有的工程师、或者只是想轻轻验证自己好奇心的研究者。
本质上,SpatioAgent 解决的是很具体、很脏的问题:很多研究和商业分析,最难的不是写结论,万事开头难,难的是先把能分析的数据弄出来。
而且想研究一个城市最近在讨论什么、居民和游客的关注点差在哪、某个政治人物或品牌的态度怎么变、某个活动前后人流和语义氛围有没有动静诸如此类的任务,听上去像一句 prompt 就能解决,做起来,却完全是另外一回事。
首先得有数据,得知道它覆盖哪个城市、哪个时间段,得清洗文本、处理地点、对齐时间窗口,而且所有的大模型本质上都具有讨好型人格,还得防着模型一本正经地拿空气编报告。
所谓“深度研究”,深的往往不是研究,而是大模型的套路和你熬夜的黑眼圈,有感于此,我把这条链路做成了这个 SpatioAgent。
SpatioAgent 面向的是带时间、地点信息的城市签到文本。
比起普通文本,它多了时间和空间两个维度:普通文本只能问“大家在聊什么”,时空文本还能问这个话题在哪里升温、本地人和游客是不是在聊同一件事、某个实体的支持和反对有没有随时间变化、城内或跨城的流动有没有可观察的方向。
我把数据限定在带有签到地点信息的时空文本,因为它比起单纯的文本信息,维度更多元,时间空间双向扩展,能够衍生出更多系统性综合性的分析任务。
目前内置三类核心分析:
SpatioAgent 的前端页面设计参考了 ChatGPT,不过风格是我个人喜欢的橙白系(可以切换日间/夜间模式),可以多会话,所有会话数据持久化保存在数据库中,,最好将类似的分析任务放在同一会话中,

SpatioAgent 主界面
SpatioAgent 也设计了跨 Session 的 User Profile Preference 实现,即全局记住用户的偏好,后续的 Agent 回答会结合这个偏好。
每一次执行分析都有详细的步骤拆解统计耗时并实时显示进度,这得益于对 SpatioAgent 同时对自主调用各种 MCP、SKill 工具的 trace 做了追踪记录。

实时进度链路
同时支持将一次对话或者一次会话通过海报的形式分享出去。

分享海报
其他细致入微的小功能就不再赘述,欢迎大家查看后文产品地址亲身体验。
很多人第一反应是:这不就是让大模型联网搜一下、再写份报告吗?
其实不是。通用搜索擅长找网页、找新闻、找已有观点,但它不擅长临时为你的研究问题构建一个垂直数据集。
比如你问“墨尔本某段时间里,游客和本地人在城市空间里的讨论重点有什么不同”,Codex 或者 Claude Code 虽然都能联网实时搜索,但这些联网的 AI 搜索引擎最多给你十几篇文章,然后简单总结归纳,而你真正需要的是一批带时间、地点、文本、用户行为线索的数据,然后对它做聚合分析。
这些大模型接的搜索都是通用 AI 搜索引擎,不可能在专用数据集的构建速度和精度上有很强的表现,甚至大概率都没有这个能力。
而本文介绍的这个大数据时空语义分析 Spatio Agent,内置了多款构建垂类数据集的 MCP Tools,经过多次迭代,已经集成了海外所有主流社交媒体平台的时空文本的实时采集能力,然后交付后续 Agent 分析。
SpatioAgent 的做法是先判断你要分析的城市和时间范围有没有数据:有就进入对应分析分支;部分有就改用可分析的相邻窗口,并告诉你发生了什么;没有的绝不硬编数据,而是默默把这次数据缺口记下来。
实名讨厌那种“数据没有、但语气很满”的 AI,看似聪明,只有情绪,没有价值,对严谨的工程或者商业分析来说,这是一件很危险的事情。
所以系统里有一个专门的 Node,模型不猜不编,直接查本地数据覆盖范围,超出范围时做软重定向或直接说明无法分析。
说白了就是:能做就做,不能做就别装。
更具体地来说,当 Agent 的 trace 发现用户的分析任务缺少指定时间范围内、或者指定空间范围内的数据集时,他会记录本次缺失,多个用户投票加权得到的高优时空数据集会被 agent 捕获到,交由 human in loop 确认后,启动指定的 MCP Tool 开始获取数据预备下一次用户的分析。
还是和上文一样,考虑到各种限制,虽然它具有这种能力,线上的 SpatioAgent 被设计成在缺失用户需求数据集时,不会自动启动 MCP Tool 获取,而是只是默默地 trace,投票权高的才会被管理员看到确认后才调用爬取的 MCP Tool 。
目前只线上只运行着完马斯克的那个社交平台 X 的时空数据 SSE MCP Server 。初始数据集只澳大利亚的部分城市。
讲完了数据,接下来将分析,SpatioAgent 是基于 Langgraph 编排的,所有通过拒答的可能执行的分析任务都会被意图识别到,并路由到不同的子图上,每一个子图就是一个分析工作流,目前系统预置了三款分析工作流。
1、主题挖掘 – 从指定区域的推文中提取热点话题、情绪倾向,并对比本地居民与游客的关注点差异。
2、立场演变 – 追踪某个实体(人物、政策、品牌)在时间窗口内支持/反对态度的动态变化。
3、迁徙模式 – 分析用户位置变动,识别跨城或同城的主要流动方向。
说起来为什么有编排这个 Agent 的想法呢,其实这个 idea 几年前就已经起心动念了(那个时候 AI 能力不强,Agent 也不盛行),
几年前,我在分析老美选举的时候,分析各州 stance 的时候又大量重复性的工作(虽然代码有复用),到今天直接把他们蒸馏作为 Agent 系统的一个子图,分析速度和便利性都可谓是有数量级的提升。
虽然只内置了三个 subgraph,但是可以针对一些特点的商业分析任务,比如热门城市商圈之间的打卡规律分析等等,均可以扩展新的 subgraph,插拔更新到这个 Langgraph Agent 上,扩展性极强。
我对所有用户开放了 SKill 扩展能力,系统的 Skill 插件市场预置了十款 SKill,他们分别是
1、话题 Topic SubGraph 下的
1.1 本地-访客语境对比
1.2 异常与新兴信号雷达
1.3 城市时间节律
1.4 ...
2、立场 Stance SubGraph 下的
2.1 立场趋势对照,比较命名实体在阶段内的立场变化。
3、迁徙 Migration SubGraph 下的
3.1 总结城市内或城市间的聚合流动方向和迁移线索。

Skills 应用市场
而且,支持用户创建自己的 Skill ,可以自己使用也可以提交公开审核后显示在公共 Skill 市场,可以被其他用户按需选中加载。

自定义 Skills
用户可以把合适的 Skill 加到当前聊天里,让同一个底层数据集按不同方法被解读。
Skill 并不是这个有向 Agent 系统中的一等公民,只有 SubGraph 才是,Skill 只是 SubGraph 中的一个执行 Node 。