接着讲讲 然后看看业内现在有什么成熟的方案吗?

有现成方案。其中,Palantir 最接近“业务对象+语义+受控动作”的完整路线;Cube 更适合分析问数;Stardog 更适合跨系统语义整合。它们不是同一类产品,不能只看都写了“Agent+semantic layer”就当成可以互相替代。 接着刚才那个补偿场景讲,关键是:标准化“模型怎么理解和使用业务”,不等于让模型自己承担业务规则。 一、怎么做成类似 tool calling 的能力 下面这些接口名是假设的设计,不是已经存在的行业标准。 用户说:“给这个重点客户的延误订单申请补偿。” Agent 可以按这样的过程工作: 先发现定义:查询 Order、Customer,以及“重点客户”“延误”的定义。返回的不只是说明文字,还包括客户等级的时间口径、订单和客户的关联方式、定义版本。 再查询事实:通过业务查询接口找订单,返回对象 ID、状态、数据更新时间。模型不需要自行猜测该连接哪几张表。 然后检查动作:查询“创建补偿申请”需要的参数、适用对象,以及是否需要审批。 最后执行:业务后端重新检查资格和权限,创建申请,返回申请编号与执行结果。 这里最重要的一点是: 模型看过“符合补偿资格”,不代表执行时就一定还能补偿。 例如查询后订单已经被别人补偿了,或者申请人的权限发生变化。执行端仍然要校验当前状态、处理并发和幂等,不能信任模型之前的判断。 所以,我更倾向于把它理解成三层: MCP 这样的协议负责“发现和调用接口”。 业务语义层负责“对象、关系和规则是什么意思”。 业务运行系统负责“操作能不能做、怎样可靠地做”。 MCP 已经提供工具发现、输入输出 schema 等机制,但不会替企业定义“重点客户”,更不会自动实现审批和事务。接上 MCP,不等于具备完整 ontology。 二、业内有哪些可用方案 Palantir Foundry/AIP:最接近完整的业务操作路线 官方的 Ontology MCP 已经可以把对象类型、动作类型、查询函数暴露给外部 Agent,让它读取对象、查询数据、执行预定义动作,并通过应用限制和权限控制访问。 对应刚才的例子,就是把 Order、Customer、CompensationRequest,以及“创建补偿申请”放到同一个业务模型里,再让 Agent 通过限定的动作操作。 这里还有个容易混淆的区别: Ontology MCP 面向业务模型的使用者,能执行预定义动作、受控写入业务数据。 Palantir MCP 面向开发者,主要用于构建和修改本体结构,不是同一个入口。 我的选型判断:如果目标是让 Agent 真正操作企业业务系统,这条路线最值得研究。但它是平台路线,不是给现有项目装一个 SDK 就完成改造。业务建模、数据对接、权限设计仍然需要自己做。 官方文档: https://palantir.com/docs/foundry/ontology-mcp/overview/ Cube:成熟分析语义层路线,更适合“把数查对” 假设用户问:“华东重点客户上个月的延误率是多少?” 难点是大家对“华东”“重点客户”“延误率”采用一致口径,而不是执行补偿。 Cube 的语义层集中管理指标定义、关联关系、访问规则和缓存。当前官方文档也提供 Agent 通过 MCP server 或 Chat API 接入的方式。 它还有 Meta API,让应用发现有哪些可查询的模型;查询经过语义层运行时校验和权限处理,而不是让 Agent 直接对仓库随意执行 SQL。 适合 BI、经营分析、产品内嵌问数这类场景。 边界也很清楚:统一“补偿金额怎么统计”,与执行“给客户发补偿”,不是同一件事。后者仍然需要业务服务。 另外,Cube Core 开源,不代表完整平台里的全部 Agent 功能都属于开源 Core,选型时要区分。 官方文档: https://docs.cube.dev/docs/introduction Stardog:成熟知识图谱/语义整合路线,更适合跨系统理解业务 例如客户资料在 Aurora,购买记录在 Redshift,同一个客户在两边需要通过统一身份关联。 AWS 的官方示例就是用 Stardog 建立 Customer、Order 等概念和数据映射,通过虚拟图在查询时访问底层数据,再按共享标识关联结果。 业务规则可以定义在语义层中,而不是让模型每次重新写一遍判断逻辑。它也支持 OWL 推理、规则,以及图级访问控制。 这类方案适合跨系统实体关系复杂、需要统一身份、规则推理或知识治理的场景。 但要区分“底层平台成熟”和“最新 Agent 接口成熟”。AWS 示例明确区分直接 SPARQL 工具接入与需要相应 API 访问条件的 Stardog Cloud MCP 路径,不能因为有集成文章就默认所有接口都已无门槛、全面可用。 而且,它解决跨系统查询,并不意味着自动解决跨系统写入事务。 官方案例: https://aws.amazon.com/blogs/machine-learning/build-a-semantic-layer-for-agentic-ai-on-aws-with-stardog-and-amazon-bedrock-agentcore/ Microsoft Fabric IQ Ontology:值得关注,但当前还是 Preview 官方文档仍将 ontology 标注为预览。它提供实体类型、属性、关系和数据绑定,适合已经使用 Fabric、OneLake、Power BI 的团队评估。 可以从已有 Power BI semantic model 生成 ontology,是比较实际的迁移入口。 但如果问题是“现在有哪些成熟方案可以直接作为核心生产依赖”,我不会把它和成熟底座放在同一个档位。要单独评估预览限制和支持范围。 官方文档: https://learn.microsoft.com/en-us/fabric/iq/ontology/overview 三、普通 Agent 项目怎么落地 我的建议是不必一开始就建设“全公司的 ontology”,先围绕一个闭环做最小业务契约。 就做售后补偿: 明确客户、订单、补偿申请三个对象的身份与关系。 把重点客户、延误、补偿资格的定义集中管理,带上适用时间和版本。 提供查询订单、检查资格、创建申请几个业务接口,而不是先给模型一个万能数据库工具。 执行端实现权限校验、状态校验、幂等、审计;需要审批的动作进入审批流程。 最后测试几个真正容易出事故的情况:同一请求重试、客户等级变更、订单已被补偿、越权访问、查询后状态变化。 这套可以先用现有数据库和业务服务实现,再通过工具调用或 MCP 暴露。不一定需要图数据库,也不应把一份带 description 的 schema 就称为完整本体系统。 选型可以浓缩成一句话: 把数查对,看 Cube;把跨系统概念和关系统一,看 Stardog;让 Agent 基于统一业务模型受控地执行动作,重点研究 Palantir。真正要学的是这些系统如何把业务定义连接到确定性执行,而不只是它们如何画出一张关系图。