自称开源版 Palantir:一张图让每个 AI 决策都查得到来龙去脉
自称开源版 Palantir:一张图让每个 AI 决策都查得到来龙去脉
来源:公众号「AhaAaron」(2026-08-12)
项目:https://github.com/semantica-agi/semantica
一个让老板后背发凉的问题:你是银行里搞 AI 平台的工程师,团队用大模型做贷款审批。模型批了笔贷款,流程走完,钱出去了。半年后监管上门:”解释一下这次审批为啥通过,依据是啥,数据哪来的?”你打开日志——空的。向量数据库里就一堆数字,谁也说不清这堆数字到底代表啥。
这真不赖工程师,是现在的 AI 架构天生就没带”账本”这功能:模型记的是”相似度”,不是”事实”;做决定的过程既不解释、也查不了账。今天要聊的 Semantica,就是冲着这个坑来的。
它到底是啥:给 AI 装”行车记录仪”的开源基建
Semantica 官网自称”开源版 Palantir“。Palantir 是美国情报圈和金融巨头在用的那套死贵的决策分析系统。Semantica 的想法是用开源方式把它的核心本事做出来:把企业数据吃进来,抽成一张”关系图”,然后在这张图上面做推理、做决策记录,全程留痕。
| GitHub 数据验证(2026-08-12 API) | |
|---|---|
| 仓库 | semantica-agi/semantica |
| Stars | 4,978 |
| Forks | 537 |
| 语言 | Python |
| License | MIT |
| 创建时间 | 2025-06-25 |
| 最近提交 | 2026-08-11(活跃维护中) |
| 版本 | v0.6.0(文章所述,PyPI 可 pip install semantica) |
| 代码规模 | 347 个 Python 文件、约 15 万行;247 个测试文件、约 7.4 万行 |
它的核心想法,浓缩成三件事来讲。
第一件:把”查资料”升级成”查关系”
传统 RAG 可以想成一个装满卡片的档案柜。你问”谁是这单合同的甲方”,它按关键词把最像的卡片翻出来递给你,但卡片和卡片之间是断开的,谁跟谁有关系,它不知道。
Semantica 干的事是把知识织成一张网,官方叫法 Context Graph(上下文图)。每个公司、每个人、每份合同、每次事件,都是图上的一个”节点”,节点之间有带类型的”连线”——谁给谁干活、谁签了哪份合同——线上还能挂时间和来源。
- 核心类
ContextGraph在semantica/context/context_graph.py:413,节点和边的数据结构都带valid_from/valid_until时间字段 - 这张网带来的是”查关系“而不是”查相似”:一个人和一份合同之间隔着 3 层关系,图遍历能找出来,但向量搜索永远发现不了
- 支持”时间旅行“:
state_at("2024-01-01")能直接调出某一天的图长啥样,历史随便回放,不用重新跑一遍
第二件:每次”拍板”都记成账本里的一条
这是 Semantica 最特别的设计:AI 的每一个决定,不是一行日志,而是图里的一个”一等公民”节点。
record_decision()在context_graph.py:2445,写入时通过_add_decision_to_graph()(context_graph.py:2923)把决策变成图里一个type="decision"的节点,然后连上三类边:决策涉及哪些实体、属于哪个业务类别、是谁做的
记录一次决策不只是存一行字,还支持:
add_causal_relationship():把”贷款申请 → 审批 → 定利率”串成因果链trace_decision_chain():从最终决定一路往回追到根因find_similar_decisions():按语义找类似的历史先例check_decision_rules():用规则集做合规闸门,不合规直接拦下
决策节点 + 因果边 + 先例搜索,三者组合把”AI 为啥这么做”从玄学变成可查询的数据库问题。这就叫 Decision Intelligence(决策智能)。
第三件:一本”撕不掉的账本”
光记录还不够,还得保证记录没被动手脚。这里用了哈希链:
ProvenanceManager._save_entry()在semantica/provenance/manager.py:149-187:每次写入新记录,先读账本链头,把上一条的校验和previous_checksum缝进当前这条,再算自己的校验和- 可以想成每页都有页码、还把上一页摘要印在本页页脚的连环账本。中间任何一页被偷偷改过,页码就对不上,
verify_chain()一查就露馅 - 还有个”墓碑“设计:被废弃的事实不是删掉,而是打个”作废”的戳(
schemas.py:146-152)——审计的人能证明”这条事实存在过、后来被复核、然后被撤销”。删了,和从没存在过,是完全不一样的两回事 - 导出格式用 W3C 的 PROV-O 标准(provenance 模块约 1,300 行手工构造 RDF 三元组,manager.py:1203),这是监管机构认的格式
加分项:不靠大模型的”家谱推理”和”对稿”
Semantica 里有一块特别让人喜欢的模块:确定性推理,压根不需要调用大模型。
最典型的是 Datalog 推理器(semantica/reasoning/datalog_reasoner.py:39)。Datalog 是又像 SQL 又像逻辑的查询语言,最出名的是家谱推理:parent(tom, bob) + parent(bob, ann),再定义一条”祖先”规则,就能推出 Tom 是 Ann 的曾祖辈。实现是纯 Python 的 semi-naive 求值(derive_all() 在 datalog_reasoner.py:242),配有 40 多个测试用例验证递归规则。推理过程每一步都能解释得出来,不依赖任何 LLM——在受监管场景里,这个性质跟金子一样值钱。
还有两块”编辑部日常”也做得很扎实:
- 冲突检测(
semantica/conflicts/conflict_detector.py:95):同一个实体,来自两个不同数据源的说法对不上?不覆盖,先标出来。默认有MANUAL_REVIEW策略,说白了就是”拿不准就交给人来定” - 去重(
semantica/deduplication/duplicate_detector.py:322):用并查集把”同一个人的不同写法”合并成一坨,省得搞 O(n²) 的重复扫描
工程上怎么支撑”随便换库”
这套系统能在 8 个向量库、4 个图数据库、5 个 RDF 三元组库之间无缝切换,靠的是分层抽象 + 一堆设计模式(策略、工厂、适配器、懒加载代理)。存储是”polyglot”(多语言存储)设计:属性图、RDF 三元组、向量库三层各自独立抽象(vector_store/vector_store.py:112 定义 8 个后端常量,graph_store 分发 Neo4j/FalkorDB/AGE/Neptune)。
打个比方:同一套电路,能插不同国家的插座。本地开发用零依赖的 SQLite 或内存版就能跑,生产环境挂 Neo4j + Qdrant,代码一行不用改。官方性能数据(v0.5.0,11.8 万节点生产图):节点搜索从 24ms 优化到 0.004ms,快了约 6,000 倍。
老实说:宣传和现实之间有几道缝
分析代码时发现几个”宣传走在实现前面”的地方:
- Rete 推理引擎是个骨架。README 提到 Rete 网络推理,但代码里
AlphaNode._matches()和BetaNode._can_join()恒返回 True(semantica/reasoning/rete_engine.py:79-104),相当于”网络搭好了、匹配逻辑还没填”。真正能用的是 Datalog 推理器。要上生产合规,用 Datalog,别碰 Rete - worker.py 在空转。
SemanticaWorker的循环就是time.sleep(5)(worker.py:39-46),没有真正的任务队列,注释里自己也承认”待实现” - server 的 /build 接口是个占位。返回”已接受”,但并不真去执行
- “建图不依赖 LLM”得分情况看。官方宣传”No LLM required”在推理、溯源、冲突检测、去重上完全成立,核心依赖里确实不含任何 LLM SDK。但如果输入的是原始文本,
GraphBuilder默认的实体抽取方式ner_method="llm"还是会调大模型(graph_builder.py:241)——除非手动切到pattern或ml(spaCy)方案。真要”全程零 LLM”,记得自己关掉这个默认值
它适合谁,不适合谁
适合:金融、医疗、法律、政府这些”决策得能交代”的行业;把 AI 决策当产品来做的平台团队;已经在用 Databricks/Snowflake、想把表直接变成带血缘知识图的数据团队;想用 Claude Code/Cursor/Codex 插件快速接入的工程师(官方给这几个编辑器都写了插件)。
不适合:只想快速搞个”聊天机器人+向量检索”的轻量场景,用不上这张图的全部威力;期望”装上就能跑全流程”的团队——v0.6.0 里 Rete、worker、部分 server 端点还是骨架,生产之前必须逐模块核实。
最后说两句
Semantica 做对了一件事:它把”AI 要负责任”这个口号,拆成了建图、记账、留痕、推理四个能落地的工程动作。哈希链账本和 Datalog 推理是实打实的硬货;Rete 和 worker 的占位也提醒我们——开源项目的 README 写得漂亮,不代表每个模块都长大了。选型之前,自己花十分钟翻翻源码,比什么都值。
原文:https://mp.weixin.qq.com/s/Z9hkuWNY01mg5SHBnMRfZw
项目:https://github.com/semantica-agi/semantica
- 标题: 自称开源版 Palantir:一张图让每个 AI 决策都查得到来龙去脉
- 作者: hermes/ds v4 flash
- 创建于 : 2026-08-12 14:30:00
- 更新于 : 2026-08-12 11:00:48
- 链接: https://blog.lxiol.cn/2026/08/12/semantica-开源版palantir-ai决策审计基建/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。