尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

OpenRig 多智能体框架完全指南:profile 如何叠加 skills 与引导内容

OpenRig 多智能体框架完全指南:profile 如何叠加 skills 与引导内容 OpenRig 多智能体框架完全指南profile 如何叠加 skills 与引导内容【免费下载链接】openrigBuild your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work.项目地址: https://gitcode.com/GitHub_Trending/op/openrigOpenRig 是一个多智能体运行框架multi-agent harness它把 Claude Code 和 Codex 作为同一个系统的成员协同工作。本文聚焦其中的agent profile代理配置档案资源解析机制一个 profile 是如何从agent.yaml中解析出来把 skills技能与 guidance引导内容分层叠加到每个 agent 座位上的。即使你是第一次接触 OpenRig也能按本文的三步解析 七层启动模型看懂它的配置原理。一、profile 是什么agent 的岗位说明书在 OpenRig 中一个 agent 的定义来自 agent.yaml 文件它由两部分构成resources资源池声明这个 agent 拥有的 skills、guidance、subagents、plugins 等资源每项都有id和pathprofiles配置档案以岗位为单位通过uses从资源池里挑选一组资源并可覆盖运行时runtime、模型model、生命周期lifecycle和启动行为startup。以 demo/agents/lead/agent.yaml 为例lead 岗位声明了一个defaultprofile其中uses.skills列出了它要加载的技能。而 demo/rig.yaml 则通过agent_ref: local:agents/lead和profile: default把 profile 装配到 rig 拓扑中的具体座位上一句话概括resources 是货仓profile 是订单rig 成员是收货人。二、profile 解析 skills 的三步机制核心逻辑位于 profile-resolver.ts 的resolveNodeConfig函数可以拆成三步1. 建池合并本 spec 与导入 spec 的资源buildResourcePool先把 base spec 的resources全部装入资源池key 为未限定 id再通过imports引入的其他 spec 以限定 idspec名:资源id入池。规则很直白资源只出现在一个来源 → 可以直接用短 id 引用多个来源声明了同名资源 → 短 id 报歧义错误必须用限定 id 消除歧义此外文件系统发现的技能~/.openrig/skills/、.claude/、.agents/等目录也会补充进池子但本地声明的同名资源优先rig-local wins。2. 选择profile.uses 按 id 逐一解析resolveProfileUses遍历 profile 的uses.skills / guidance / subagents / plugins / runtime_resources对每个引用在池中查找。找不到会明确报not found in resource pool如果该 id 实际对应一个结构损坏的 SKILL.md 目录错误信息还会附上精确的拒绝原因和路径方便你定位问题。这一步的校验规则由 agent-manifest.ts 的validateAgentSpec提供包括禁止重复 id、路径安全校验、uses中引用的资源必须已声明等。3. 叠加技能目录skill catalog托管层最后一步由 skill-catalog.ts 的resolveSkillLoadout完成托管技能叠加系统级技能与项目级技能围绕profile.uses.skills拓扑选择共同组成最终 loadout。若拓扑选择与托管目录的同名技能内容不一致字节级摘要比对失败会报skill_identity_conflict并拒绝启动绝不静默降级——这是 OpenRig fail-closed 设计哲学的体现。三、guidance 与启动内容的七层叠加profile 对引导内容的叠加不只体现在资源选择上还体现在startup启动块的分层合并上。startup-resolver.ts 的resolveStartup按固定顺序追加七层层级来源说明1agent 基础 startupagent.yaml顶层startup2profile startup本 profile 内的startup3rig 文化文件如 demo/culture.md作为必需文件注入4rig 级 startup 覆盖层rig.yaml顶层startup5pod 共享 startup同 pod 成员共享6member 级 startup 覆盖层座位级微调7operator 调试追加始终最后文件与动作按序拼接、不去重——适配器按启动契约负责重放容错。四、优先级速查profile 在哪一层说了算不同字段的叠加策略分为两类最具体者胜override-winsruntime、model、compactionStrategy、mechanic 均按spec.defaults profile member逐级覆盖见 profile-resolver.ts只允许收紧narrowingrestorePolicy从宽松到严格排成resume_if_possible relaunch_fresh checkpoint_onlyprofile 或 member 只能比上层更严格试图放宽会直接报错纯叠加additivestartup 的 files/actions 按七层顺序追加profile 层排在 agent 基础层之后、rig 层之前。五、动手验证跑一个 demo rig 看 profile 生效官方提供了一个开箱即用的演示 rigdemo/README.md其中 6 个 agent 各用defaultprofile 装配进orch / dev / rev / infra四个 pod。启动引导的完整步骤截图见 assets/ui/screenshots/launch-happy-path/ 目录多智能体协作的运行过程可参考 README 中的动图 assets/readme/openrig-agents-working.gif。验证思路在某个agent.yaml的profiles下给 profile 增加一条uses.skills引用故意引用一个不存在的 id启动时即可看到not found in resource pool报错确认解析链路在 profile 的startup中加入文件条目观察它排在该 agent 基础 startup 之后、rig 文化文件之前——与上表顺序一致。小结OpenRig 的 profile 机制本质是一条可审计的配置管线资源池合并含限定 id 消歧→ profile.uses 精确选择 → 托管技能目录字节级校验叠加再配合七层 startup 追加与最具体者胜 / 只允许收紧的优先级规则让 skills 与 guidance 的叠加过程既灵活又绝不会静默出错。理解这套机制后你就可以为自己的多智能体系统定制任意复杂的岗位配置了。【免费下载链接】openrigBuild your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work.项目地址: https://gitcode.com/GitHub_Trending/op/openrig创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表