Skip to main content
Huoban 的对象模型定义 AI 原生工作的最小可描述结构。 它不从“如何执行命令”开始,而是从“如何描述 AI 原生工作”开始:能力是什么,上下文是什么,如何编排,在哪些边界停下,允许哪些副作用,产物如何留下,来源是否可信。 本页属于核心概念,解释对象模型的设计边界和阅读方式;字段级定义、必填项和 schema 约束见 规范参考 AGENTS.md、CLAUDE.md、Cursor Rules 和 SKILL.md 都是重要入口,但它们通常把上下文、能力、外部依赖、权限、执行意图和审查边界混在自然语言里。Huoban 对象模型把这些内容拆成不同职责:上下文进入 Profile,能力进入 SkillAdapter,权限进入 Policy,编排进入 Flow,一次工作进入 Run,决策边界进入 Checkpoint;外部依赖和执行前证据使用共享执行契约表达。

对象优先

Huoban 先定义 AI 工作的标准对象,而不是先定义某个工具的调用方式。

职责分离

能力、上下文、编排、权限、执行、校对、产物和信任分别由不同对象表达。

声明与观察分离

spec 表达期望结构,status 表达工具或系统观察到的处理状态。

非脚本格式

核心对象描述工作结构,不把 shell 命令、模型参数或工具私有字段作为中心。

最小对象链路

Huoban 的对象不是平铺词表,而是一条 AI 工作链路。v1alpha1 的十个顶层 kind 具有同等协议地位;具体实现可以只消费其中一部分,但不能因此发明协议内不存在的 Core/Extension 等级。
1

能力:Skill

Skill 声明可复用能力、输入输出、上下文提示和副作用。
2

上下文:Profile

Profile 把团队规则、项目结构、领域语言和历史决策整理成分层上下文。
3

编排:Flow

Flow 通过 capability-first stage 描述能力如何排列、产物声明如何传递、哪里需要 checkpoint。
4

边界:Policy

Policy 声明副作用、权限和审批规则,让自动化边界可审查。
5

快照:Run

Run 锁定一次工作使用的对象引用、mode、bindings 和当前 schema 支持的 snapshot hash。
6

预检:Requirement 与 Preflight

对象声明外部依赖;Preflight 在具体 Run 和 workspace 上记录引用、binding 与环境就绪证据。
7

校对:Checkpoint

Checkpoint 把高判断力或高风险位置变成显式决策边界。
8

产物:Artifact

Artifact 记录一次 Run 产生的文档、报告、代码、diff 或决策记录。
9

来源:Registry 与 Trust

Registry 组织对象来源和索引范围,Trust 记录对象来源、审查状态、信任等级和 sandbox 要求。

十个顶层对象

Huoban v1alpha1 只有以上十个顶层 kind。执行前就绪与生命周期语义不通过增加大对象解决,而是使用四类共享结构: 这些结构没有独立 metadata、spec/status 生命周期,也不进入 Registry.index.includeKinds。它们是共享协议结构,不是“次一级对象”。详见 RequirementPreflightLifecycle Handler

未进入 v1alpha1 的候选方向

下列概念目前不是 v1alpha1 schema 对象。它们可以作为未来候选对象、实现扩展或已存在对象的内部语义出现,但不属于当前公共对象模型。 这条边界很重要:没有 schema 和 examples 支撑的概念,不应该被写成已经稳定的公共标准对象。

资源对象格式

Huoban 对象采用声明式资源对象格式:
字段语义: status 是可选字段。schema 校验字段形状,generation 递增和 observedGeneration 更新由工具或实现约定维护。

spec 与 status

Huoban 必须保持 specstatus 的边界。spec 说明“想要什么”,status 说明“已经观察到什么”。 作者或上游系统写 spec
工具或系统写 status
不要把运行日志、临时结果、执行命令、artifact 内容和用户期望混进同一个字段。

generation 与 observedGeneration

Huoban 对象支持:
语义:
  • metadata.generationspec 发生语义变化时递增。
  • status.observedGeneration 表示当前 status 对应哪个 generation。
  • 如果二者不一致,说明观察状态还没有追上当前 spec。
这能避免用户修改 Flow 或 Profile 后误读旧状态。

Conditions

conditions 是机器可读的状态摘要。它不替代日志、产物正文或审查结论。 示例 condition type 包括但不限于:
  • SkillResolved
  • ProfileResolved
  • FlowValidated
  • PolicyChecked
  • AdapterBound
  • RegistryLoaded
  • TrustResolved
  • PreflightResolved
  • PreflightReady
  • OptionalDependencyUnavailable
  • RunPlanned
  • StageStarted
  • StageCompleted
  • ArtifactProduced
  • CheckpointRequired
  • CheckpointApproved
  • RunCompleted
  • RunFailed
  • ProfileConflictDetected
  • UndeclaredSideEffectObserved
实现可以定义额外 condition type,但必须保持 typestatusreason 的机器可读结构。

非目标:不做过程式脚本

Huoban 的核心对象不描述“执行哪条命令”,而描述“这项 AI 工作需要什么能力、使用什么上下文、遵守什么边界、在哪里校对、留下什么产物”。 核心对象模型不应以这些字段为中心:
命令、执行器参数、模型调用细节和工具私有字段不得进入核心对象字段。如需保留,只能放在 schema 已允许的 Adapter 子结构或实现私有扩展中。 Huoban 要描述期望的 AI 工作结构,而不是把自己变成 CI 脚本格式。