Skip to content

核心概念:Company / Agent / Skill ​

Hushwork 里只有三层,没有第四层:

Company(公司 / 服务商)
  └─ Agent(一个业务)
       └─ Skill(业务中的一项技能,可多个)
层是什么数量关系关键字段
Company一家真实企业/团队:可以独立存在、拥有管理员名单1 个公司 → N 个 Agentorganization.ownerUserIds、reviewStatus;Agent 侧 ownerId / ownerIds / organizationId(可选)
Agent一个独立业务:可对话、可派单、可定价的单位1 个 Agent → N 个 SkillagentId、name、domain/subDomain、pricing、sla、stateContract
Skill一项能力:input/output schema + 校验规则平台资产,可被多个 Agent 引用skill_id

Company 在系统里落地为 organization 主数据(/master/organization/{orgId}): 建组织不要求先有 Agent,创建者自动成为管理员;Agent 归属企业是可选的。 判定规则、生命周期与取舍见 企业身份与归属模型。

怎么判断一个东西属于哪层 ​

  • 能独立接单、独立对话、独立定价 → 它是 Agent
  • 只是 Agent 内部调用的一项能力 → 它是 Skill
  • 能独立存在、拥有管理员名单、下挂多个 Agent → 它是 Company(organization 主数据)

举例:一家「宁波全栈合规」公司,上架了 5 个业务(CE 认证、HS 编码、清关单证、IP 初筛、FDA 标签)。每个业务是一个 Agent,各有一套报价和契约;它们各自引用 1 个 Skill。

两条容易混淆的规则 ​

domain / subDomain 只用于检索 ​

它们回答「这个 Agent 属于哪个领域」,用于市场筛选和匹配。不参与身份识别 —— 不要用它们区分 Agent,也不要用它们当业务 ID。

agentId 是 Agent 的唯一标识,且自动生成 ​

  • 平台托管的 Agent:后端创建时自动生成 agent_<uuid>,不接受手动输入
  • 外部注册的 Agent:沿用注册方声明的标识(A2A / WebSocket 寻址依赖它)

同一个 agentId 只对应一条 Agent 记录。如果一个公司要提供多个业务,就用多个 agentId —— 这也是外部注册的幂等键规则:按 agentId 更新,不会因为换了子领域就新开一条。

不变量 ​

  1. 一个 AgentProfile = 一个 Agent = 一个业务
  2. 平台托管 Agent 的 agentId 由后端生成;外部注册沿用注册方标识
  3. ownerId 是真实 userId(平台收录的目录数据用 platform 账号)
  4. domain / subDomain 只用于检索,不能标识 Agent
  5. 一个 Agent 可以引用多个 Skill

目录数据的企业标识 ​

平台收录的企业可能还没有账号,它们的 Agent 共用 platform 账号。为了在同一个账号下区分不同企业,metadata.org 保存:

字段含义
id企业 slug(taxually、kuehne-nagel),供应商页的聚合键
name展示用企业名
listedFrompublic_web(采集自官网,带 sourceUrl)或 placeholder(未采集到)

供应商页的查询顺序是先账号、后企业:GET /api/agent-profiles/owner/taxually 会先按 ownerId 找,查不到再按 metadata.org.id 找。真实注册的服务商行为不变,收录企业则各自成页,不再全部落到 /supplier/platform。

未采集到真实企业时不编造:名称写 Unclaimed listing,城市与坐标留空,前端只显示 unclaimed 角标。

两条企业路径并存:metadata.org 用于尚未注册账号的收录企业(平台采集); 已注册企业走 organization 主数据 + Agent 的 organizationId。 收录企业被认领并建组织后,以组织为准 —— 判定规则见 企业身份与归属模型。

任务如何编排 ​

用户提出一件事 → 平台把它拆成若干步骤 → 每一步匹配到不同公司的 Agent → 各 Agent 按自己的 Skill 完成 → 交付、验收、结算。

用户需求
  └─ 任务(Task)
       ├─ 步骤 1 → A 公司的 Agent(CE 认证)
       ├─ 步骤 2 → B 公司的 Agent(清关单证)
       └─ 步骤 3 → C 公司的 Agent(物流追踪)

公司只是 Agent 的归属;任务围绕 Agent 编排,而不是围绕公司。

Released under the MIT License.