|
文档
预约演示平台
平台MCPCLIAPI
工作流
指南更新日志

欢迎

  • 概览
  • 身份验证
  • 错误与状态码
  • Webhook 签名

本地化

  • 概览
  • 创建任务
  • 锁定不可翻译的键
  • 查看任务组状态
  • 获取单个作业
  • 列出作业
  • Webhook 结果投递
  • 实时进度(WebSocket)

流水线

  • 概览
  • 本地化前 AI 预编辑
  • 人工审核
  • AI 审校(后编辑)
  • 改写成更自然的文案
  • 回译检查
  • 配置 Pipeline
  • 查看流水线运行记录

预配

  • 概览
  • 创建预配作业
  • 来源类型
  • AI 会提取哪些内容
  • Webhook 投递
  • 实时进度(WebSocket)

同步

  • 本地化
  • Recognize

引擎管理

  • Engine Suggestions

AI 会提取哪些内容

你已经提交了源内容,任务正在运行。引擎 ID 已通过 202 返回,引擎配置也在逐步补齐。本页要回答的,正是那个决定你会不会信任结果的问题:到底有哪些内容正在被补齐?

“AI 配置了我的引擎”这句话,足以让工程师本能地警惕,而这种警惕完全合理。它可能意味着一个你无法检查的黑箱;可能意味着记录散落在各个语言环境里,你根本对不上账;也可能意味着代理读到的源内容过于单薄、几乎没提取出什么,却悄悄只创建了寥寥几条记录。所以这一页会把这三件事讲得非常具体:代理会产出三类配置;每一类都会按可预测的规则映射到你的语言环境;任务还会返回一份摘要,逐条列出它创建的所有记录。最终输出的是你可以查看和编辑的普通记录,而不是一个只能靠信任接受的结论。

如果你刚接触异步 provisioning,建议先看 Async Provisioning API 概览 建立整体认知,再看 源类型 了解什么样的源内容值得提交。本页讲的是另一端最终产出的内容。

本页内容

  • 三类组成部分
  • 每一类如何映射到语言环境
  • 输出摘要
  • 如何解读内容偏少的摘要
  • 后续步骤

三类组成部分#

代理会读取所有内容——无论是抓取到的页面,还是直接提供的原始内容——并创建三类引擎配置。它们不是 provisioning 专用的新格式,而是你原本就会在 engine 上手动创建的同一套基础配置。也正因如此,代理创建的所有内容,之后都能在控制台里继续编辑,和你编辑自己创建的内容完全一样。

组成部分识别内容示例
品牌语调语气、风格、正式程度、写作规范“使用正式德语(Sie 形式)。句子保持简洁直接。”
术语表条目产品名称、技术术语、品牌专属译法、不可翻译术语“Acme” → 不可翻译,“workspace” → “Arbeitsbereich”(de)
指令格式规则、文化惯例、领域专属指南“德语翻译中的日期一律使用 DD.MM.YYYY 格式。”

真正让译文听起来像你的产品、而不是泛泛直译的,正是这三类内容——你选定的正式程度、永远不翻译的名称、始终统一的日期格式。代理的工作,就是从源内容里找出这些已经明确表达过的决策,并把它们写成记录。

这里有一个影响预期的重要前提,必须说清楚:代理提取的是明确写出来的内容,不是字里行间的暗示。源内容把规则说清楚,就会生成记录;如果源内容只是示范了不错的语气,却没有明确写出规则,提取结果往往就会很少。这是源内容本身的特性,不是引擎的问题——源类型 会说明如何挑选那些会把规则明确写出来的源内容。

每一类如何映射到语言环境#

本地化引擎的配置是按目标语言环境组织的,所以一条记录不仅要说明规则是什么,还要说明它适用于哪里。代理会按一套你可以预期的规则为每条记录分配语言环境,而在阅读输出之前,最值得先理解的,就是 * 这个通配符。

  • 品牌语调和指令在适用于所有语言时会使用 *。 像“句子保持简洁直接”这样的语气规则,并不是德语专属;它描述的是你的产品在所有语言中的写作方式。代理会把它分配到 * 这个目标语言环境上,因此它会应用到引擎支持的所有目标语言。真正只适用于某一种语言的规则(例如“德语使用 Sie 形式”),则会分配给对应的语言环境。
  • 术语表条目会按语言对分别创建,因为翻译总是从一种语言到另一种特定语言——“workspace” → “Arbeitsbereich” 这个对应关系只属于德语。
  • 不可翻译术语是例外,它们使用 *。 像 “Acme” 这样永远不翻译的品牌名,在所有语言里都不可翻译,因此它只需按 * 存储一次,而不必为每个语言对重复录入。

所以,当你在任务创建的记录里看到 * 时,它既不是占位符,也不代表有缺失。它的意思是“这条规则全局适用”——比如全局语气规则、全局指令,或者在任何语言中都不翻译的术语。相应地,具体的语言环境代码则表示:这条规则只作用于那一种语言。

为什么通配符是一种特性,而不是等着你去覆盖的默认值

对 * 最常见的一种怀疑是:“代理只是懒得判断这到底属于哪个语言环境。” 实际上正好相反。一个在所有语言中都成立的品牌语调或不可翻译术语,本来就应该是全局的——如果把它钉死在某一个语言环境上,反而会导致它悄无声息地无法应用到其他语言。通配符表达的正是“这条规则与具体语言无关”,而这恰恰就是语气规则或品牌名称最常见的情况。

输出摘要#

任务完成后,会返回一份摘要,点名列出代理创建的全部内容。这就是你的收据:每一条记录都有计数和标识,同时还会附带失败项清单。

json
{
  "brandVoices": {
    "count": 3,
    "ids": ["bv_A1b2C3d4", "bv_B2c3D4e5", "bv_C3d4E5f6"]
  },
  "glossaryItems": {
    "count": 12,
    "ids": ["gi_A1b2C3d4", "gi_B2c3D4e5", "..."]
  },
  "instructions": {
    "count": 5,
    "ids": ["ins_A1b2C3d4", "ins_B2c3D4e5", "..."]
  },
  "errors": []
}

每个组成部分都会返回一个 count,以及已创建记录的 ids——品牌语调对应 bv_,术语表条目对应 gi_,指令对应 ins_。这些不是含糊的确认信息,而是引擎中真实存在的记录 ID。你可以从列表里拿任意一个 gi_,在控制台中打开,准确查看或修改代理提取出的内容。摘要让你从“AI 做了一些事”,走到“它具体做了这二十件事”,这正是黑箱和你可以查看、可以编辑的普通记录之间的根本区别。

摘要会通过你在创建任务时设置的渠道送达给你:如果你配置了 webhook,它会出现在任务完成后发送到回调 URL 的 payload 中,并作为 summary 字段返回。如果你是通过 WebSocket 观察任务进度,那只是一个存活与进度通道——它会持续推送抓取和配置的进展,而不会发送这个摘要对象。摘要会随完成时的 webhook 一起到达;WebSocket 负责告诉你该在什么时候去读取它。

单条失败项不会导致整个任务失败。

如果某一条记录创建失败,也不会拖累其余结果。失败会记录在 errors 数组中,成功创建的记录仍会应用到引擎,任务也依然会正常完成。你拿到的是一个已部分配置好的引擎,以及一份精确列出待回查项的清单——而不是一个空引擎加一段堆栈跟踪。只有在整次运行完全没有产出任何可用内容时,任务才会整体失败;例如所有源都抓取失败。关于这种失败场景及其 provisioning.failed payload,可参见 Webhook delivery。

如何解读内容偏少的摘要#

摘要不仅告诉你创建了什么,也会通过计数告诉你这次运行到底值不值得。某个组成部分的 count 为 0 并不代表出错——摘要结构仍然完整,引擎也确实已创建——但这本身就是信息。三个品牌语调加十二个术语表条目,说明这是一个已经配置起来的引擎。相反,如果所有项都是零,且 errors 数组也是空的,那就说明返回的引擎几乎是空白的,代理其实是在告诉你:它几乎没找到多少可提取的规则。

出现这种情况时,原因几乎总在上游:源内容里明确写出的具体规则太少,代理没有足够内容可提取。摘要是你发现问题的地方;源类型 是你解决问题的地方。第一次运行时,最现实的预期应该是:这张收据只会如实反映你的源内容到底说了什么——摘要丰富,说明源内容丰富;摘要单薄,说明可提取的信息本来就不多。

这也是为什么摘要和引擎本身同样重要:它让你能够验证配置,而不是靠猜。看一眼计数,再按 ID 打开几条记录,确认代理确实抓到了你预期的内容——你可以查看和编辑的普通记录,外加一张清清楚楚告诉你该检查什么的收据。

后续步骤#

源类型
什么样的源内容值得提交——以及为什么摘要偏少,通常要从这里找原因。
Webhook delivery
任务完成时通过回调 URL 接收摘要,失败时接收错误 payload。
实时进度(WebSocket)
在引擎逐步补齐的过程中,实时查看抓取与配置进度——然后再从完成时的 webhook 中读取摘要。
用你的新引擎开始翻译
记录就位后,即可通过异步 Localization API 将内容分发到每一个语言环境。

这个页面对你有帮助吗?

Max PrilutskiyMax Prilutskiy·已更新 4 天前·1 分钟阅读