本页目录
Package 模型
当你的领域不只是几份文档,而是需要有名字的对象、明确的关系、可预测的检索 和安全的操作时,AOE 才真正有用。Package 是你负责、发布和升级的单位: 它告诉 AOE 领域是什么、哪些知识属于它,以及 Agent 可以请求哪些操作。
你可以使用的四类 Package
Model Package ─────── 领域词汇与行为
Corpus Package ────── 领域知识与证据
Adapter Package ───── 外部来源 / Provider 连接
Domain Package ────── 由以上部分组成的可部署产品
原型阶段可以放在一个仓库里;当 Model、数据和 Provider 由不同团队负责时, 再分别发布即可。
Model Package:描述你的领域
Model Package 回答:“这里可以有什么?可以做什么?”它声明:
- 类型与字段:应用可以存储或解析的对象;
- Relation:方向、基数、遍历、选择、加载顺序、冲突处理和环策略;
- Projection:
summary、core、full各层返回哪些字段,以及 token target; - Retrieval:Candidate generator、Feature、Constraint 和 Reranker;
- Function 与 Action:纯计算与改变状态的操作;
- Policy 与 Capability:谁可以请求 Action,以及需要满足什么条件;
- Validator 与 Migration:如何检查输出,如何演进 Release。
这些声明本身是数据。AOE 用 meta-schema 验证它们,并在 Model Lock 中记录 确切版本与 schema digest;引擎不会内置一套所有领域都必须复用的业务类型。
一个简单的心智模型
假设你在构建客服助手,Model Package 可以声明:
Incident ── affects ──> Service
Incident ── owned-by ─> Team
Incident ── blocks ───> Release
它还可以声明 summary 返回标题和严重级别,core 增加影响范围与负责人,
full 再增加时间线和证据。同一个 Engine 也可以编译完全无关的 Recipe 或
Compliance Model。
Corpus Package:发布你的知识
Corpus Package 回答:“哪些材料被针对这个 Model 发布?”它拥有:
- Source Unit 与资产;
- Corpus identity 及兼容的 Model range;
- Provenance、署名与 license metadata;
- Visibility 与发布策略;
- Evaluation fixture 与 golden query;
- Release 版本、签名配置和证据。
人编辑的是 Source,构建后得到不可变 Snapshot:
corpus/sources/
│
├─ normalized Units
├─ model-defined projections
├─ _index.xml
├─ corpus.manifest.json
└─ model.lock
不要手工编辑这些生成物。Runtime 在服务 Unit 前会重新计算并检查 identity 与 content digest。
Adapter Package:连接外部世界
Adapter Package 可以连接来源目录、搜索 Provider、Validator、Evaluation Provider 或 Action Provider。它可以增加集成,但不能悄悄向 Model Package 增加类型或关系。 这样外部 Provider 才可以替换,权限也能被清楚地看见。
Domain Package:交付一个可用体验
Domain Package 把这些部分组合成 Agent 可以使用的产品:
domain-package/
├── model/ # 领域契约
├── corpus/ # 版本化知识
├── adapters/ # import 与 provider
├── tools/ # 可选领域工具
└── skills/ # 可选 Agent 使用指南
Skill 是可选的说明层:可以教 Agent 如何提问、如何编写 Package,但不能替代 Model、授予 Capability,也不能绕过 Action Policy。
版本与 Owner
Model 与 Corpus 各自拥有版本。Corpus 声明它适用的 Model range,Compiler 把
最终解析到的确切 Model 写入 model.lock。因此在挂载 Release 前,Host 可以确认:
- 这是 Corpus 期望的 Model 吗?
- Snapshot 完整且没有被篡改吗?
- 返回的 bytes 属于谁,许可证是什么?
发布流程请阅读编译与 Snapshot。要看完整的 外部 Package,请参考 Frontend Design Domain Package。
本页在构建时读取所属仓库中的版本化 Markdown。