Agent 不直接访问底层数据库,也不自由扫描完整 Ontology schema。
它在一个被配置和授权的边界内,通过 Ontology 暴露的对象、关系、上下文、函数和动作完成业务交互。
在 Palantir 体系里,Agent 不直接访问底层数据库表,也不自由扫描完整 Ontology schema。它是在被配置和授权的边界内,通过 Ontology 暴露的对象、关系、上下文、函数和动作完成业务交互。
Ontology 是企业业务世界的受治理语义接口;Agent 是通过自然语言使用这些接口的操作员。
你可以把 Ontology 理解为 Agent 的"操作系统"(AgentOS)——Agent 的一切能力都在 Ontology 这个受控边界内运行。
各部分的分工:
Palantir Ontology 是企业的 operational layer,坐在 datasets、virtual tables、models 之上,把底层数字资产映射成现实世界对象。它不是传统数据目录,也不只是知识图谱。
Object Types — Shipment, Order, Warehouse, Customer
Properties — status, ETA, priority, performanceScore
Links — Shipment → Order → Customer
解决:Agent 如何理解"企业里有什么,它们之间是什么关系"
Actions — updateShipmentETA, assignCarrier
Functions — calculateDelayRisk, optimizeSchedule
解决:Agent 如何从"回答问题"走向"执行业务"
关键理解:Palantir Ontology 的核心不是"把表换个名字",而是把企业的名词、关系、规则、动作和权限放到同一个受治理的语义层里。
建议把交互分成五层来看:
Context Layer 的作用是:在用户每次提问时,系统自动给 Agent 提供相关背景。关键特征:确定性触发 — 每条用户消息到达时自动执行,不依赖 LLM 自己判断要不要检索。
从 Object Type 检索对象,支持固定对象集(Variable Input)和语义搜索(Vector Embedding)两种方式。
配置:Object Type = Warehouse,绑定 Workshop 页面当前选中 Warehouse
效果:用户在 Workshop 选中"华南仓"后打开 Agent → Agent 自动拿到容量、积压量、负责人等信息 → 用户直接问"现在积压情况怎么样?"
配置:Object Type = CustomerComplaint,语义搜索 K=5
用户问"有没有客户反映过冷链断链导致货损的情况?"→ 系统自动向量化问题 → 搜索 embedding → 返回 5 条最相关历史投诉 → LLM 直接总结
从文档中检索相关内容,支持全文模式和语义 Chunk 模式两种方式。
配置:关联 Foundry 文档集,全文检索
效果:用户问"这份承运合同中关于延误赔偿的条款是什么?"→ Agent 直接拿到完整合同文本 → LLM 定位并解释相关条款
配置:关联多个合同/文档,语义搜索 K=3
用户问"承运商 A 的延误赔偿条款和免责条件"→ 系统自动从三份合同中搜出最相关的 chunk → LLM 直接对比分析
当内置检索不够用时,用 TypeScript 写自定义检索函数。函数输出 retrievedPrompt 字符串注入 LLM context。适合多数据源、多检索策略、多业务规则组合的复杂企业场景。
场景:用户问"这个客户最近情况怎么样?"
自定义函数同时拉取:CRM 沟通记录 + Ontology 活跃订单 + 语义搜索投诉工单 → 拼装成综合情报注入 LLM
Context Layer 是系统自动注入;Query Layer 是Agent 主动查询。Object Query Tool 允许 LLM 在配置边界内访问指定 Object Types 和 Properties,支持 filtering、aggregation、inspection、traversal of links。
"今天华南仓有多少个延误的高优先级订单?" → Filter: region="华南" + delayed + high priority → COUNT → 7
追问"哪几个是 VIP 客户?" → 沿 link Shipment→Order→Customer → Filter: serviceLevel="VIP" → 3 个
"订单 ORD-8832 的延误是哪个环节出的问题?" → 沿 link 逐层:Shipment → Carrier(履约率 72%)→ TransitHub(拥堵等级 high)→ 综合判断:车辆故障 + 中转枢纽拥堵
"各区域仓库积压情况对比?" → Group By: warehouse.region, Aggregation: COUNT(status="pending_dispatch") → 华南 42 / 华东 28 / 华北 15 / 西南 8
这是设计 Agent 时最容易混淆的一点。
| 维度 | Retrieval Context | Object Query Tool |
|---|---|---|
| 触发方式 | 每条用户消息自动触发 | LLM 自己决定是否调用 |
| 可靠性 | 确定性更强 | 依赖 LLM 判断,存在漏查风险 |
| 适合内容 | 当前业务对象、关键背景、必须看到的信息 | 探索性分析、临时查询、多轮追问 |
| 风险 | 配置不当带来 token 浪费或上下文噪声 | LLM 可能忘查、查错、查不全 |
Agent 查询到对象后,需要调用封装好的业务逻辑,而不是让 LLM 自己"脑补规则"。分工原则:LLM 负责理解意图、选择函数、解释结果;Function 负责执行业务规则、调用模型、做优化计算。
三个典型例子说明为什么不能让 LLM 自己算:
没有 Function:LLM 只能模糊判断"看起来有风险"。
有了 Function:函数内部整合历史数据 + 履约率 + 天气 + 预测模型 → 精确输出 high/medium/low + 原因
输入 Shipment object + 客户投诉邮件原文 → AIP Logic 提取情绪和诉求 → 查询历史处理方案 → 输出建议方案 + 历史成功率
50 个订单 + 3 个承运商 + 成本/时效约束 → 线性规划模型 → 最优分配方案 + 预估成本 ¥84,200
Action Layer 是 Agent 从"问答助手"变成"业务操作员"的关键。Action Tool 让 Chatbot 执行 ontology edit,可配置为自动执行或用户确认后执行。
Governance 是 Palantir AIP 和普通 Agent 框架的核心差异之一。它不是单独的一步,而是贯穿全链路的约束机制。
L1: 只注入 3 条线路 Shipment
L2: 只能查这 3 条线路
L3: 可用 calculateDelayRisk,不能 viewProfitMargin
L4: updateETA 可自动,assignCarrier 需确认
L5: 所有操作记录到审计日志
L1: 注入整个华南区域 Shipment 概览
L2: 可查所有线路 + 承运商绩效
L3: 可用 viewProfitMargin + optimizeAllocation
L4: assignCarrier 无需确认,但 cancelOrder 仍需确认
L5: 同样审计,但权限范围更大
用户问"公司今年总营收多少?" → 没有 Governance 的 Agent 可能"脑补"一个数字 → 幻觉。但有了 Governance:
L1 没配置财务 Context → L2 没 FinancialReport Object Type → L3 没授权财务 Function → Agent 只能诚实回答:"我没有权限访问公司财务数据"
| Prompted Tool Calling | Native Tool Calling | |
|---|---|---|
| 适用范围 | 所有模型 + 所有工具类型 | 部分 Palantir 模型 + Action/Object Query/Function/Update App Var |
| 调用方式 | 一次一个 tool | 可并行调用多个 tool |
| 适合场景 | 模型兼容性优先 | 性能优先、token 效率优先 |
关键澄清:Palantir 不是把整个 Ontology schema 全量塞进 system prompt。更准确的理解是 — 在具体 Chatbot / Application / Workflow 中,被配置、被授权、和当前任务相关的 Ontology 能力,以工具说明、上下文片段、函数签名、动作定义等形式暴露给 LLM。
下面用一个物流延误风险场景串联全部五层。以下流程是基于官方文档所做的推演,数字均为业务示例值。
上述五层架构主要描述内部 Agent(AIP Chatbot Studio / Workshop / AIP Logic)。外部 Agent 接入时需区分两个机制:
面向:开发者 / Ontology Builder
能做:修改 Ontology 类型定义(结构)
不能做:写入 ontology 数据(硬约束)
约束:所有修改需 proposal review + 人工审批
面向:外部业务 Agent / Headless Agent
能做:读取对象、执行 action、写入数据
不能做:修改 Ontology 类型定义
约束:application restrictions + OAuth 2.0
核心原则不变:Agent 通过受治理的 Ontology 接口访问对象、关系、函数和动作,而非绕过 Ontology 直接访问底层数据。
如果要设计一个类似 Palantir Ontology-aware Agent 的最小版本:
Palantir AIP Agent 与 Ontology 的交互,不是简单的 RAG 架构,也不是 LLM 直接查数据库。它是一个五层协同的 enterprise agent runtime:
真正值得借鉴的不是某一个 tool,而是这套设计思想:
把企业业务世界先建模成可查询、可计算、可执行、可治理的 Ontology,再让 Agent 在这个受控语义层上工作。
| 页面 | URL |
|---|---|
| AIP Overview | palantir.com/docs/foundry/aip/overview |
| AIP Architecture | palantir.com/docs/foundry/architecture-center/aip-architecture |
| AIP Features | palantir.com/docs/foundry/aip/aip-features |
| Chatbot Studio Tools | palantir.com/docs/foundry/chatbot-studio/tools |
| Chatbot Studio Core Concepts | palantir.com/docs/foundry/chatbot-studio/core-concepts |
| Retrieval Context | palantir.com/docs/foundry/chatbot-studio/retrieval-context |
| AIP Logic Overview | palantir.com/docs/foundry/logic/overview |
| Ontology System | palantir.com/docs/foundry/architecture-center/ontology-system |
| Ontology Overview | palantir.com/docs/foundry/ontology/overview |
| Palantir MCP | palantir.com/docs/foundry/palantir-mcp/overview |
| Ontology MCP (OMCP) | palantir.com/docs/foundry/ontology-mcp/overview |
| Model Integration | palantir.com/docs/foundry/model-integration/overview |
数据来源:Palantir 官方文档(截至 2026 年 6 月)。推断性内容已在文中标注,数字均为业务场景示例值。