循序渐进 · AIP 教学 · AIP Logic(五)

暂存写入(Staged writes)

让 AI 直接改你的 Ontology 太危险怎么办?暂存写入让改动先停下来等人审,通过后才落库。

全部目录 AIP 首页 ← 上一篇 暂存写入(Staged writes) 下一篇 →
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/logic/staged-writes/
原始标题:AIP Logic • Staged writes • Palantir · 所属:AIP Logic(用积木搭 AI 逻辑)

先记住这几条

① 写入可以暂存
不直接落库,先挂起等审核。
② 人工审核是安全阀
尤其适合高风险或高价值的写操作。
③ 与 Automate 配合
审核通过后自动流转。
0

写在前面

Beta

暂存写入(staged writes)处于开发的 beta 阶段,可能在你的 enrollment 上不可用。功能在积极开发期间可能会发生变化。请联系 Palantir Support 申请访问权限。

暂存写入为那些会编辑 Ontology 中对象的 AIP Logic 函数提供了一种改进的执行模型。新建的 Logic 函数很快将默认启用暂存写入。

与旧版 Ontology 编辑行为相比,暂存写入的 Logic 函数:

  • 支持嵌套函数和 action 调用中的 Ontology 编辑。 一个暂存写入的 Logic 函数可以调用其他暂存写入函数,或直接进行 Ontology 编辑的其他函数,也可以应用由其他会进行 Ontology 编辑的函数所支撑的 action。这在以前是不受支持的。
  • 支持所有对象集过滤器。 现在支持所有对象集过滤器,包括 contain keywordsrelative time range,而这两个在旧版模式下不受支持。

关于暂存写入语义的完整描述,请参阅暂存写入文档

1

与旧行为的关键差异

要点:升级前必须知道的变化。

暂存写入的 Logic 函数与旧版 Ontology 编辑行为之间有几处显著差异。

Ontology edits in nested function and action calls

启用暂存写入后,你的 Logic 函数可以调用其他暂存写入函数(例如其他 Logic 函数或 TypeScript v2 函数),或直接进行 Ontology 编辑的其他函数,也可以应用由其他会执行 Ontology 编辑的函数所支撑的 action。此前,在一个 Logic 函数内部调用由另一个同样会进行 Ontology 编辑的 Logic 函数所支撑的 action,是不受支持的。

嵌套调用所做的编辑,对同一 Logic 执行中的后续读取是可见的。所有编辑都会被暂存到临时存储中,并在执行完成时应用到 Ontology。

例如,一个处理支持邮件的 Logic 函数可以创建一个 Support Ticket 对象,然后应用一个由另一独立 Logic 函数支撑的分流(triage)action。该分流函数可以分配工单并编辑相关对象。所有编辑会被一起暂存,你 Logic 函数中靠后的 block 可以查询这两者的结果。

Support for all object set filter boards

在旧版模式下,一旦你的 Logic 函数做了编辑,某些对象集过滤器 board 在本次执行的剩余过程中就不再受支持:

  • Contain keywords
  • Contain keywords (in order)
  • Relative time range

启用暂存写入后,整个 AIP Logic 执行过程中都支持所有对象集过滤器。

Function output is no longer a list of Ontology edits

会编辑 Ontology 的旧版 Logic 函数会返回一个 Ontology 编辑列表作为其输出。改用暂存写入的 Logic 函数则会把编辑暂存到临时存储中,并在执行完成时将其应用到 Ontology。因此,该函数不再返回 Ontology 编辑,而可以返回其他类型的值。

由于暂存写入的 Logic 函数不返回 Ontology 编辑,它们无法在 Automate 的 Logic effect 中被选中。要从 Automate 调用暂存写入的 Logic 函数,请用一个 action type 将其包装,并使用 action effect。参见下文自动化暂存写入的 Logic 函数

2

启用或停用暂存写入

要点:开关在哪、怎么配。

新建的 Logic 函数很快将默认启用暂存写入。你可以使用 AIP Logic 中 Execution mode settings 下的 Enable staged write mode 开关,为某个 Logic 函数开启或关闭暂存写入。

AIP Logic 中的暂存写入开关。
AIP Logic 中的暂存写入开关。

禁用暂存写入会使函数回退到旧版行为,即函数返回一个 Ontology 编辑列表作为其输出。如果你的工作流依赖从 Automate 的 Logic effect 直接调用该 Logic 函数,你可能需要禁用暂存写入。

我们建议保持启用暂存写入,并通过 action type 来调用你的函数。旧版行为不支持嵌套 action 调用中的 Ontology 编辑,在函数做过编辑后不支持关键字过滤器和相对时间范围过滤器,并且将来会被弃用。

Versioning when switching modes

切换暂存写入对版本的影响取决于该函数的输出类型:

  • 输出类型是一个 Ontology 编辑列表: 启用或禁用暂存写入会发布一个新的函数主版本(major version),因为根据 Logic 配置的不同,输出类型会变为另一种类型。在 action 或 Automate 中配置的版本范围不会跨越主版本边界,因此现有使用方会继续针对先前发布的版本运行,不会自动升级。参见下文迁移现有自动化
  • 输出类型不是 Ontology 编辑列表: 切换暂存写入不会改变输出类型,因此不会发生主版本递增。如果现有使用方配置了自动升级,它们会自动采用新版本。
3

在 Automate 中使用暂存写入的 Logic 函数

要点:审核流程怎么流转。

暂存写入的 Logic 函数必须通过 action type 调用,才能在 Automate 中使用。该 action 提供了用于暂存和应用编辑的执行上下文。

Create an action type from your Logic function

AIP Logic 为暂存写入的 Logic 函数提供了 Create action 按钮,用于生成一个调用你函数的 action type:

  1. 在你的 AIP Logic 文件中,导航到 Usage 标签页并选择 Create action
  2. 检查生成的 action type。该 action 的参数由你 Logic 函数的输入映射而来。
  3. 保存该 action type。
AIP Logic 中的 Create action 按钮。
AIP Logic 中的 Create action 按钮。

随后你可以在 Automate 的 action effect 中使用这个 action,也可以在任何其他支持 action 的地方(例如 Workshop)应用它。

创建 action type 并不会启用或禁用该函数上的暂存写入;执行模式仅由 Enable staged write mode 开关控制。

或者,你也可以在 Ontology Manager 中配置一个现有的 action type,使其由你的 Logic 函数支撑。使用 Create action 新建一个 action type 通常更为简单。

Create an automation

对于暂存写入的 Logic 函数,在你创建好 action type 后,导航到 Automate 并创建一个 action effect

在 Automate 中,像处理任何其他 action effect 一样,从触发该自动化的对象或值来配置 action 参数。action effect 可用的所有 Automate 能力——包括将 action 暂存为供人工审核的提案、重试策略和回退 effect——都适用于调用暂存写入 Logic 函数的 action。

4

迁移已有自动化

要点:老配置怎么过渡。

如果你为一个已在自动化中通过 Logic effect 直接使用的 Logic 函数启用了暂存写入:

  • 该自动化会继续运行,针对先前发布的该函数旧版主版本。启用暂存写入不会破坏现有自动化。
  • 如果你尝试将该自动化更新到该函数的暂存写入主版本,你将被阻止保存,因为 Logic effect 仅支持旧版 Logic 函数。
  • Automate 中的 Auto upgrade to compatible versions 设置不会把自动化迁移到暂存写入版本,因为自动升级永远不会跨越主版本边界。

要将现有自动化迁移到暂存写入:

  1. 在你的 Logic 函数上启用暂存写入并发布。如果该函数的输出类型是一个 Ontology 编辑列表,这会创建一个新的主版本。
  2. 在 AIP Logic 的 Usage 标签页中选择 Create action,从该函数生成一个 action type。
  3. 在你的自动化中,将 Logic effect 替换为一个提交所生成 action 的 action effect。
  4. 保存该自动化。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

本组其他页面 · AIP Logic(用积木搭 AI 逻辑)

同一主题下的相邻内容。

常见问题速答 · FAQ

关于「暂存写入(Staged writes)」,读者最常问的几个问题。

与旧行为的关键差异是什么?
升级前必须知道的变化。暂存写入的 Logic 函数与旧版 Ontology 编辑行为之间有几处显著差异。
启用或停用暂存写入是什么?
开关在哪、怎么配。新建的 Logic 函数很快将默认启用暂存写入。你可以使用 AIP Logic 中 Execution mode settings 下的 Enable staged write mode 开关,为某个 Logic 函数开启或关闭暂存写入。
迁移已有自动化是什么?
老配置怎么过渡。如果你为一个已在自动化中通过 Logic effect 直接使用的 Logic 函数启用了暂存写入。