一个叫 Khoj 的 AI 代理,专门用来查班加罗尔的新房项目。它不看宣传册,只看人跟人之间怎么连。
宣传册上是什么?效果图、会所、"RERA 认证"、开盘优惠。看不到的是,操盘这些人过去干过什么。
开发商通常为每个项目新设一家公司。这正常,也合法。但一家记录干净的新公司,可能由同一批董事在管——而他们上一家公司已经破产,留下半拉子楼。
地块的前任业主可能正陷在产权官司里。承包商可能在另外三个工地各拖了两年。
这些信息都不藏。它们在 RERA 备案、公司登记、法院记录和土地记录里。只是从来没人替买家把它们连起来。
"这安不安全"的答案,不在任何一份单独记录里。它在记录之间的关系里。
所以作者做了 Khoj(印地语"搜索")。
把关系画成图
这张知识图谱照着一位谨慎的房产律师会看的东西来建:开发商是品牌,控制公司,人是公司董事;公司开发项目,项目建在地块上,地块有前任业主;承包商建造项目,审批挂在项目下;投诉指向项目,官司牵涉土地、公司、人或承包商。
任何单独看就是警示信号的东西——烂尾项目、破产公司、待决官司、B-khata 地块——都打上 RedFlag 标签,带严重程度和原因。
数据是合成的,但贴近现实:91 个项目、46 家公司、100 个人,分布在班加罗尔真实地段,用固定种子生成,名字全是虚构的。
作者最喜欢的一个埋设故事叫 Skyvista Altura:Sarjapur 路的新盘,有 RERA、A-khata 土地、零投诉。看着完美,直到你发现它的公司和 Northstar Habitats 共用两名董事——后者正在破产程序中,留下两个烂尾项目。
把路径算成分数
作者要一个"构造上就可解释"的风险分,每一分背后都有一条路径。
对每个项目,一条查询找出所有通往红旗的四跳以内路径。每条路径贡献其红旗的严重程度,再按距离和每条边的强度衰减。分数用 100 乘以 1 减 e 的负 K 次方。
这就是 Katz 中心性,只是限定在红旗目标上。对所有路径求和是刻意的:跟一个失败开发商共用两名董事的公司,就该比共用一名的看起来更糟。
Skyvista Altura 的 10 条路径加起来 K 等于 1.87,得分 84.6。
教训一:拿整张图校准,别只对着演示案例
第一版把 Skyvista Altura 算对了,也把中位数项目算到了 94 分。承包商和土地整合商是枢纽,路径从项目跑到承包商,再跑到另一个项目,再跑到那个项目的 30 条投诉,什么都显得危险。
两条结构性规则修好了它:路径不能穿过另一个项目——烂项目本身已是红旗,它的投诉不该再算到邻居头上;一条路径最多用一次土地所有权边,这样曾经持有大量地块的整合商不会把无关项目连起来。
中位数降到 28,干净项目得 0 分,埋设的故事依然突出。
教训二:算法对方向有意见
FalkorDB 的介数中心性遵循边的方向。作者的边全指向"人→公司",于是没有任何最短路径穿过人,所有分数都是零。给每段董事关系补一条反向边后修好了。
代理不写查询语句
把 schema 丢给模型让它自己写查询很诱人,作者没这么做。代理拿到的是八个人工编写、带参数的工具,通过 MCP 提供。模型选工具、填参数,每个查询只读。
每条结果还会说明自己是什么类型的答案。发现被保存前,一个确定性校验器会从图里重算分数、按固定规则核对结论、拒绝任何提到工具从未返回过的实体的证据。模型自己给的数字,永远被计算出的数字替换。
记忆方面,FalkorDB 一个实例能装多张图,每个买家有自己的记忆图,互不泄漏。里面存偏好(改预算会新建节点取代旧节点)、常设规则(比如"永远查土地产权")、会话、候选清单和案卷。
两个代理通过图本身交接:Concierge 跟你对话、管记忆;Investigator 管市场图。Concierge 开一个 Case 节点,Investigator 往里写 Finding 节点,Concierge 再读回来。
作者最喜欢的一刻:候选清单里放两个干净项目,然后往图里加市场事件——一份承包商破产申请、一桩新产权诉讼。你回来时,Khoj 在你开口之前就说:"Whispering Woods 从 0 变成了 52",并给出那条新路径。
证明是图在干活
"把数据库拿掉它就废了"这话好说,作者去测了。基准测试往图的副本里注入 200 个新项目,表面全都干净。一半藏着四种风险模式之一,一半是干净对照,带陷阱,比如跟一个烂尾项目同地段、同银行。
最意外的一行是去掉那两条结构性规则的消融实验:它几乎全找出来了,但把 93% 的干净项目误标。图重要,怎么走图也重要。作者还用纯 Python 枚举路径重算了每个分数,与 FalkorDB 零不一致。
教训三:让基准测试打你的脸
一桩只点名地块前任业主的产权诉讼,得分刚好低于阈值,因为模型把它当成普通一跳做了衰减。在房产法里这是错的:你继承卖方的产权。所以产权链上的跳现在不衰减。这个改动是看到基准结果之后做的,报告里也写明了。
下一步,这套 schema 能直接对上真实公开数据源:K-RERA、MCA 公司备案、eCourts 和 Bhoomi 土地记录。有了真实结果,手工设定的严重程度可以拟合出来,而不是拍脑袋选。
图不只是代理的存储。它让代理的答案可核查。Khoj 说"避开"时,它把路径摆给你看,你可以自己验。
热门跟贴