flowchart LR
U["用户需求"] --> P["Planner"] --> A["Architect"] --> C["Coder"]
C --> T["Tester"]
C --> R["Reviewer"]
T --> G{"测试通过?"}
R --> G
G -- 否 --> F["Fixer"] --> T
G -- 是 --> D["Document"] --> O["代码 · 测试 · 文档"]
在这一抽象下,Agent 不再只是被 Workflow 调用的应用对象,而是具有生命周期、资源配额、上下文空间、工具权限、消息队列和执行轨迹的系统级任务单元。项目由 AIOS Kernel、Cerebrum SDK 与 Web Console 共同构成,形成从底层执行机制、开发接口到复杂场景验证的完整链路,为 AI Native OS 中多智能体执行时提供可运行、可扩展的实践基础。
OrionAgent OS
让 Agent 成为操作系统的一等公民。
OrionAgent OS 是运行在 openEuler、openKylin 等 Linux 系统之上的多智能体执行时。它在多 Agent 应用与模型、工具及操作系统资源之间增加统一 Runtime,将 Agent 从应用层函数提升为可调度、可隔离、可观测、可恢复的系统级执行单元。
项目关注的不是“如何再造一个 Workflow”,而是解决 Workflow 运行起来之后的系统问题:谁先运行、资源如何分配、上下文如何复用、工具如何受控、故障如何隔离、全过程如何追踪。
核心问题 · 系统方案 · 赛题要求映射 · 关键机制 · 实验结果 · 快速开始 · 仓库结构
一、核心问题
传统多 Agent 框架擅长描述角色、节点与流程,但当任务规模和并发度上升后,仅靠应用层编排难以统一管理模型请求、上下文、工具进程和底层资源。
项目边界
OrionAgent OS 不要求修改 Linux 内核。项目采用用户态 Runtime Daemon
agentd,在国产开源操作系统上复用进程、线程、队列、文件系统、IPC、cgroup、namespace 和系统日志等基础能力,以操作系统的资源管理视角重新组织多 Agent 执行。应用层继续负责“做什么”,Runtime 负责“如何稳定、高效、可控地运行”。
二、系统方案
2.1 总体架构
flowchart TB APP["多 Agent 应用自动软件开发 / 科研分析 / 运维协同"] SDK["Cerebrum Agent SDK
Agent 定义 · 任务提交 · 结果获取"] subgraph RT["OrionAgent Runtime · agentd"] API["Runtime API / Agent Control Block"] SCH["Agent Scheduler"] CTX["Context & Memory Manager"] BUS["Runtime Bus"] TOOL["Tool Manager"] FAULT["Fault Supervisor"] OBS["Observability"] SYS["统一 Syscall 层"] end OS["OS 适配层
process · IPC · filesystem · cgroup · namespace · procfs"] MODEL["模型服务
Ollama · vLLM · OpenAI-compatible API"] DEVICE["Tool Device
搜索 · 文件 · 终端 · 代码执行 · MCP"] APP --> SDK --> API API --> SCH SCH --> SYS CTX <--> SYS BUS <--> SYS TOOL <--> SYS FAULT -.监控与恢复.-> SCH OBS -.采集.-> API SYS --> OS SYS --> MODEL SYS --> DEVICE
系统分为五层:
2.2 核心抽象:Agent Control Block
OrionAgent OS 借鉴操作系统的进程控制块,为每个 Agent 建立 Agent Control Block(ACB)。ACB 不仅记录调度元数据,也保存 Agent 特有的上下文、工具权限与执行轨迹。
agent_id/rolestate/prioritydependencyresource_quotacontext_handletool_aclmessage_queuecheckpointtrace_id/metricsstateDiagram-v2 [*] --> Created Created --> Ready Ready --> Running Running --> Waiting Running --> Blocked Waiting --> Ready Blocked --> Ready Running --> Completed Running --> Failed Running --> Killed Failed --> Retrying Retrying --> Ready Completed --> [*] Killed --> [*]2.3 从应用调用到系统执行
一次 Agent 请求不再直接访问模型或工具,而是经过统一链路:
这条链路将模型调用、工具调用和系统资源纳入同一控制面,是项目区别于普通多 Agent 编排框架的关键。
三、赛题要求映射
AIOS/runtime、技术报告第 2、4 章AIOS/aios/scheduler、AIOS/aios/hooks/modules/scheduler.pyagentd统一接管执行AIOS/runtime/launch.py、AIOS/aios/hooks/modules/agent.pyAIOS/aios/syscall、AIOS/aios/scheduler、技术报告第 2.3、4.3 节AIOS/aios/context、AIOS/aios/memory、Cerebrum/docs/shared-memory-experiment-report.mdorionagent-web/codegen_server.py、orionagent-web/app.jsAIOS/aios/hooks/stores/queue.py、orionagent-web/codegen_server.py面向评分细则的交付重点
四、关键机制
4.1 三层调度:从依赖到资源
设计中的综合评分函数为:
其中
P为任务优先级,D为依赖关键路径权重,W为等待时间,R为资源需求,C为上下文切换成本。内核当前提供 FIFO 与 Round Robin 调度器及统一扩展接口,便于继续接入新的策略。4.2 上下文资源化:复用与隔离并重
Context Manager 将上下文划分为五类:
关键策略包括引用复用、按需加载、摘要压缩、访问控制、版本管理和热上下文缓存。多个 Agent 共享信息时优先传递
context_handle,避免重复复制完整历史;中间结果先写入私有空间,校验通过后再进入共享空间,降低污染与错误传播风险。4.3 统一 Syscall:模型与工具都由 Runtime 管
系统把 Agent 对外部能力的访问归一为四类调用:
工具被抽象为 Tool Device。搜索、文件、终端、代码执行器和 MCP 服务不再由 Agent 无约束直连,而是通过 Tool Manager 受控执行,为后续接入进程、容器或 namespace 沙箱提供统一边界。
4.4 通信、容错与可观测性
trace_id串联跨 Agent 调用。五、实验与结果
5.1 验证场景:自动软件开发多 Agent 系统
flowchart LR U["用户需求"] --> P["Planner"] --> A["Architect"] --> C["Coder"] C --> T["Tester"] C --> R["Reviewer"] T --> G{"测试通过?"} R --> G G -- 否 --> F["Fixer"] --> T G -- 是 --> D["Document"] --> O["代码 · 测试 · 文档"]该场景同时覆盖任务依赖、动态反馈、模型调用、工具执行、失败修复、共享上下文与执行追踪,可集中检验赛题要求的关键能力。
5.2 参考实验结果
技术报告在 openEuler 22.03 LTS 兼容环境下,以 Qwen3-4B 和自动软件开发任务进行了串行、普通应用层工作流与 OrionAgent OS 三组对照。核心结果如下:
异常注入实验覆盖 Agent 超时、工具失败、输出格式错误、上下文写入冲突和模型服务短暂不可用,共注入 100 次异常,综合恢复成功率为 **93.0%**。上下文消融实验中,重复上下文比例由 38.7% 降至 12.4%,平均模型输入构造时间由 1.42 s 降至 0.81 s。
六、快速开始
6.1 环境要求
6.2 安装 Kernel 与 SDK
在仓库根目录执行:
默认配置使用 Ollama 的 Qwen3 模型:
如需使用其他后端,请修改复制后生成的
AIOS/aios/config/config.yaml;可参考AIOS/aios/config/config.yaml.example中的 Ollama、vLLM、OpenAI、Gemini、Anthropic 等配置示例。6.3 启动 Runtime Kernel
验证内核:
启动后可访问
http://127.0.0.1:8000/docs查看 Runtime API。6.4 启动终端界面
保持 Kernel 运行,在另一个终端执行:
终端支持
/chat、/file、/auto三种路由模式,并展示 Runtime 控制面的核心模块。6.5 启动 Web Console 与自动软件开发场景
代码生成服务需要一个 OpenAI-compatible 模型接口:
再启动静态页面:
浏览器打开
http://127.0.0.1:5173。Web Console 会连接:127.0.0.1:8000:OrionAgent Runtime Kernel127.0.0.1:8001:多 Agent 代码生成与 SSE 事件流服务七、仓库结构
进一步阅读
AIOS/README.md:Kernel 的完整安装、模型后端和 API 说明。Cerebrum/README.md:Agent SDK、Agent/Tool 开发与运行方法。Cerebrum/docs/system_wide_personalization.md:系统级个性化与内核自动上下文注入。Cerebrum/docs/shared-memory-experiment-report.md:共享记忆实验设计、结果与复现步骤。orionagent-web/README.md:Web Console 启动说明。喵喵队+技术报告.pdf:大赛技术报告全文。喵喵队答辩PPT-7月30日最新版.pptx:项目答辩演示文稿。rru7。八、项目总结
OrionAgent OS 的核心贡献可以概括为一句话:
在这一抽象下,Agent 不再只是被 Workflow 调用的应用对象,而是具有生命周期、资源配额、上下文空间、工具权限、消息队列和执行轨迹的系统级任务单元。项目由 AIOS Kernel、Cerebrum SDK 与 Web Console 共同构成,形成从底层执行机制、开发接口到复杂场景验证的完整链路,为 AI Native OS 中多智能体执行时提供可运行、可扩展的实践基础。
致谢
项目基于 AIOS 与 Cerebrum 开源生态进行面向赛题的系统集成和扩展,并使用 FastAPI、Pydantic、Ollama、vLLM、Redis、Docker 等开源技术。感谢 openEuler、openKylin 及相关开源社区提供的系统软件基础。