为什么由智能体来建
智能体在分支上构建本体;建与用分开;作者由凭证决定,审核按 review 或 yolo 处理。

本课目标
读完这一课,你将能够
- 说出智能体怎样构建本体(Ontology),以及 review 与 yolo 怎样审核
- 说出「建」与「用」为什么是两套工具,各自能做什么
- 判断一次请求的作者身份,解释智能体直接写 main 为什么会得到 409
branch_required
由智能体写定义
上一门课讲了权限与治理,分支和提案是其中把关的机制。这一门讲的是:谁来写这些改动。
本体的构件包括 Object Type、Link Type 和 Action。平台记录权限与审计。智能体在分支上写定义,再开提案。review 由人审核;yolo 允许有权修改本体的贡献者批准,检查通过后自动合并。
| 通用做法 | AIDC 的做法 | |
|---|---|---|
| 谁发现缺口 | 人,靠经验和需求会议 | 智能体,靠答不出的问题和新的数据源 |
| 谁写定义 | 人,在管理界面里 | 智能体,写成目录里的定义文件,先在分支上试 |
| 谁审核、合并 | 有权限的人 | review 只收本组织 developer 的网页登录;yolo 也收合格 Key |
| 构件、规则、权限、审计 | 一套 | 同一套,一样不改 |
为什么让智能体来建?因为最先发现「不够用」的,是每天拿它干活的智能体。示例工厂的采购员一周里三次问「哪些供应商在哪些物料上晚了」,采购智能体三次都答不出。它比任何人都清楚缺了什么。
让它自己写、自己测,再交给人审,既比等人想起来快,也比让它随手改现网安全。这个例子会贯穿整门课。
建与用是两套工具
智能体对本体做两类事,工具和规矩都不一样。
建:改定义
加一个 Object Type、一条 Link Type、一个属性。命令是 aidc semantic branch …。分支改定义,不改对象数据。智能体通过提案合并进 main,审核方式由 review 或 yolo 决定。
用:读写数据
读对象、查 SQL、执行 Action。命令是 aidc semantic objects、aidc semantic sql、aidc semantic apply。不需要提案,按调用者的权限走。
分开有两个好处。建的一方不会顺手改数据:给 supplier 加一个属性,不该悄悄动到任何一张采购订单。用的一方不会顺手改定义:忙着下采购订单的智能体,不该把「采购订单」重新定义一遍。示例工厂里,补一个交期承诺的概念属于「建」,事后用它数出晚了几张订单属于「用」。
作者由凭证决定
一次请求是人做的还是智能体做的,不由请求自己说了算。要是作者可以自己声明,智能体一句话就能把自己说成人,「智能体不能直接写 main」也就成了摆设。所以由凭证决定:
- 用 Agent Key(
aidc-sk-开头)发出的请求,一律是智能体作者。 - 用人的开发者 Key 发出的请求,如果环境变量
AIDC_AGENT_ID存在,命令行工具会自动带上x-aidc-author: agent:procurement-agent这样的请求头,作者升级成那个智能体。 - 请求头只能升级、不能降级:不能把智能体说成人。智能体也不能给自己提权。
下面这条命令,作者是智能体,所以直接写 main 会被拒绝:
export AIDC_AGENT_ID=procurement-agent
aidc semantic define ontology-change/
# 退出码 6,409 branch_required:
# 智能体改本体要走分支和提案,不能直接写 main
这个 409 不是故障,是设计:它把智能体推到唯一合法的路上,也就是分支。
按审批策略把关
智能体可以开分支、写定义、开提案。review 只接受本组织 developer 的网页登录审核。yolo 也接受能修改本体的开发者 Key,或主体在本体上是 Editor 或 Owner 的 Agent Key。安全策略改动仍须满足相关 Markings 的人批准。
review 不计作者自己的批准,每项改动都要由人批准。yolo 会计入有修改权限的作者批准,也允许合格贡献者自动批准;检查通过后自动合并。
这条路的第一步,是智能体自己发现该建什么。下一节讲它怎样发现,又怎样确认缺口是真的。
要点
- 智能体在分支上构建本体。review 由人审核;yolo 允许合格贡献者批准并自动合并。
- 「建」(改定义,走分支和提案)与「用」(读写数据,走查询与 Action)是两套工具,互不越界。
- 作者由凭证决定:Agent Key 一律是智能体,开发者 Key 加
AIDC_AGENT_ID升级为智能体,请求头不能降级。 - 智能体直接写 main 会得到 409
branch_required,这是设计,不是故障。 - review 只收本组织 developer 的网页登录。yolo 也收有修改权限的 Key,允许贡献者批准;安全策略改动仍须人批准。
练一练
分清建与用
用你自己的团队做一次盘点。
写下你团队的智能体本周做的六件事,每件标「建」或「用」。哪几件其实两样都沾了?拆成两步。
用 aidc whoami 看你手里是哪种 Key。设置和不设置 AIDC_AGENT_ID,同一条改定义的命令,作者各记为谁?
画出智能体 → 分支 → 提案 → main。分别标出 review 和 yolo 的审核方式,以及 Key 需要的权限。
小测
选一个答案,马上看解析。
Q1采购智能体设了 AIDC_AGENT_ID,直接运行 aidc semantic define 想把 DeliveryPromise 写进 main,会怎样?
智能体作者不能直接写 main,服务端不会替它转成提案:它要自己开分支、写定义、开提案。
Q2下面哪一件事属于「用」,不需要提案?
读数据、查 SQL、执行 Action 是「用」,按调用者的权限走;前两项都在改定义,属于「建」。
Q3一位开发者的 Key 在设置了 AIDC_AGENT_ID 的终端里发出请求,作者会记为?
命令行工具会带上 x-aidc-author,作者升级成智能体;请求头只能升级、不能降级,也不是想写谁就写谁。