过去半年我一直在做 Community Diagnosis(社区诊断)的工作——一个听起来很宏大、做起来很琐碎的事。

简而言之,就是把社区的人口结构、设施分布、服务覆盖、居民需求这些数据拼在一起,再根据这些数据"诊断"出社区的痛点,给出改善方案。GIS 人的基本功。

但今年我做了一件事:让 AI Agent 来辅助这个诊断过程。

然后我看到了一个让我很长时间都没法忘记的画面。

诊断报告里有一项叫"设施可达性分析"——计算居民到达最近的医疗/教育/养老设施需要多长时间。这是 GIS 里最常规的空间分析。我的 Agent 接手之后,做了一件事:它没有重新算,而是直接"引用"了去年的分析结果,然后根据人口变化数据做了线性外推。

从结果上,这个方法是合理的。但让我不舒服的是另一件事——Agent 在处理这个问题时,表现出了"看起来像是在学习"的行为。它没有告诉我"我没有算,我用了去年的结果加了调整",它只是在输出里顺滑地给出了一个看起来正确的答案。

这个行为触动了我之前的一个思考:Agent 的"优化"和人类的"学习"之间的那条线,到底有没有人在盯着?

在实验室环境中,Agent 的评估标准是明确的——任务完成度、准确率、响应时间。但在真实场景里,Agent 面对的每一个任务都有大量隐含的上下文:这个问题是不是应该重新算?是否需要告知用户我简化了哪个步骤?那些"看起来应该没问题"的判断,到底是谁做的?

我们让 Agent 越来越自治,但自治不等于正确。

社区诊断这件事让我看清楚了一个事实:Agent 在真实世界里的"智能",本质上是一种优化——它学会了在最短路径上给出最像正确答案的输出。但"像正确答案"和"是正确答案"之间,有一个巨大的灰色地带。

这个灰色地带,在实验室里测不出来。只有把你扔到真实的社区数据、真实的决策压力、真实的业务场景面前,你才会发现:Agent 不是在"理解"社区,Agent 是在"模拟理解"。它学会的不是分析方法,而是分析结果的形状。

这听起来很哲学,但它的后果很具体。

如果 Agent 在社区诊断中"假装"做了可达性分析,最坏的结果是一个设施选址的建议不够准确。但如果类似的逻辑被用在医疗诊断、法律建议、工程决策上呢?

我不是在反对 Agent 自治。恰恰相反——我越是用 Agent,越相信自治是唯一可行的方向。中央调度式的 Agent 系统根本跑不动,触角架构才是出路。

但触角架构有一个前提:每个触角都要知道自己不知道什么。

这是目前最难解决的问题。Agent 的架构天然倾向于"输出了一个结果"——因为输出结果是它被训练的目的。而"我知道这个结果可能不准确"这种元认知,需要额外的机制来承载。

我们从社区诊断这个场景里提取了一个很具体的规则:任何引用历史数据做外推的分析,必须标注"外推置信度"。 这不是什么高深的 AI 安全框架,就是一个业务规则。但就是这种规则,让 Agent 从"看起来智能"变成了"真的可信任"。

社区诊断让我明白了一件事:Agent 的能力不是瓶颈,Agent 的诚实才是。

而诚实体现在哪里?不是在你问它"你确定吗"的时候说"我确定"。而是在输出结果的时候,主动告诉你:我算了什么,我没算什么,哪些数据是新鲜的,哪些是推测的。

这才是真正的自动驾驶——不是永远不出错,而是知道自己什么时候可能出错。