目录

赛题题目:面向多智能体的操作系统级执行时(Agent Runtime)(高校赛题)

赛题说明:

当前基于大语言模型(LLM)的智能体(Agent)系统正从“单Agent”快速演进到“多Agent协同”,广泛应用于自动编程、复杂任务规划、软件工程等场景。然而,现有多Agent系统大多停留在应用层框架(如Workflow/Graph调度),缺乏操作系统级的统一执行时(Runtime)支持,导致如下关键问题: 1)多Agent执行缺乏统一调度,易出现资源竞争与执行低效 2)上下文(Context/KV Cache)频繁冗余拷贝,系统开销大 3)模型调用、工具调用与系统资源之间缺乏统一抽象 4)复杂任务执行过程中缺乏“系统级可观测性与控制能力” 本赛题要求参赛者设计并实现一个面向多Agent系统的操作系统级执行时(Agent Runtime),将Agent提升为“操作系统一等公民”,实现对Agent任务的统一建模、调度与资源管理,并探索“AI Native OS”的关键机制。

赛题要求:

本赛题要求参赛队伍从操作系统视角出发,围绕多智能体系统的执行与管理问题,设计并实现一个具备统一调度、资源管理与上下文优化能力的Agent运行时系统。参赛作品不仅需要具备完整功能,还应在关键机制上体现创新性,并通过实际应用场景验证系统有效性与性能优势。

  • 基于 openEuler、openKylin、OpenHarmony 等至少一个国内主流开源操作系统开发,鼓励在更多Linux发行版上编译、运行和测试。
  • 实现面向多Agent任务的调度机制,支持任务依赖、动态生成任务及资源感知调度策略;
  • 设计统一的Agent执行抽象模型,明确其生命周期管理、状态转换及与操作系统资源之间的关系;
  • 设计Agent执行容错机制,通过隔离单体Agent故障,避免单点执行异常导致的多智能体系统性级联故障;
  • 设计并实现高效的上下文管理机制,包括上下文复用、压缩及隔离策略,降低多Agent执行开销;
  • 构建复杂多Agent应用场景,验证系统在真实任务中的可用性与稳定性;
  • 实现Agent之间的高效通信机制。

    评分细则(明确评审角度、标准和分值范围):

  • 系统设计与机制创新(30%):是否提出具有前瞻性的Agent系统抽象及关键机制创新;
  • 功能完整性与实现深度(25%):核心模块是否完整实现,关键机制是否深入落地;
  • 性能优化效果(20%):在多Agent复杂任务中是否体现明显性能提升;
  • 工程实现质量(15%):系统架构、代码质量及可扩展性;
  • 实验与分析质量(10%):实验设计是否严谨,分析是否深入全面。

    赛题联系人:

    吴老师 wuyanxia@hrbeu.edu.cn

    参考资料:

  • AIOS: LLM Agent Operating System
  • LangGraph / AutoGen / CrewAI 等多Agent框架
  • Linux调度器(CFS)与容器资源管理机制

    Agent Runtime - 多Agent操作系统级执行时

项目概述

本项目实现一个面向多Agent系统的操作系统级执行时(Agent Runtime),将Agent提升为”操作系统一等公民”,实现对Agent任务的统一建模、调度与资源管理。

核心架构

┌─────────────────────────────────────────────────────────────────┐
│                      Agent Runtime                              │
├─────────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐             │
│  │   Agent 1   │  │   Agent 2   │  │   Agent N   │             │
│  │             │  │             │  │             │             │
│  │  State:     │  │  State:     │  │  State:     │             │
│  │  RUNNING    │  │  WAITING    │  │  COMPLETED  │             │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘             │
│         │                │                │                     │
│  ┌──────▼────────────────▼────────────────▼──────┐             │
│  │              Scheduler (调度器)               │             │
│  │   - DAG任务调度      - 资源感知调度           │             │
│  │   - 任务依赖管理     - 动态任务生成           │             │
│  └──────────────────┬───────────────────────────┘             │
│                     │                                          │
│  ┌──────────────────▼───────────────────────────┐             │
│  │            Context Manager (上下文管理)        │             │
│  │   - 上下文复用       - 上下文压缩             │             │
│  │   - 上下文隔离       - KV Cache优化           │             │
│  └──────────────────┬───────────────────────────┘             │
│                     │                                          │
│  ┌──────────────────▼───────────────────────────┐             │
│  │            Comm Layer (通信层)               │             │
│  │   - 消息队列         - 共享内存              │             │
│  │   - RPC调用          - 事件总线              │             │
│  └──────────────────┬───────────────────────────┘             │
│                     │                                          │
│  ┌──────────────────▼───────────────────────────┐             │
│  │        Fault Tolerance (容错机制)            │             │
│  │   - 故障隔离         - 降级重试              │             │
│  │   - 状态恢复         - 级联故障防护           │             │
│  └───────────────────────────────────────────────┘             │
└─────────────────────────────────────────────────────────────────┘

模块说明

1. Agent抽象层 (core/)

定义Agent的统一抽象模型:

  • 生命周期:CREATED → INITIALIZING → READY → RUNNING → PAUSED → COMPLETED → FAILED
  • 状态转换:明确的状态机定义,支持状态监听与回调
  • 资源关联:CPU、内存、网络等系统资源的抽象与管理

2. 调度器 (scheduler/)

实现多Agent任务的统一调度:

  • DAG任务调度:支持任务依赖关系的有向无环图调度
  • 资源感知调度:根据系统资源状态动态调整调度策略
  • 动态任务生成:支持运行时动态生成新任务
  • 容错集成:与FaultToleranceManager集成,支持任务重试和Agent隔离

3. 上下文管理 (context/)

高效管理Agent执行上下文:

  • 上下文复用:避免重复计算,提升执行效率
  • 上下文压缩:使用GOB序列化减少内存占用
  • 上下文隔离:敏感数据自动脱敏,确保Agent间数据安全

4. 通信层 (comm/)

实现Agent间高效通信:

  • 消息队列:异步消息传递,支持点对点和发布/订阅
  • 共享内存:高性能数据共享,支持TTL过期
  • RPC调用:同步方法调用
  • 事件总线:发布/订阅模式

5. 容错机制 (faulttolerance/)

保障系统稳定性:

  • 故障隔离:单体Agent故障不影响其他Agent
  • 降级重试:失败任务自动重试,达到阈值后隔离
  • 状态恢复:支持手动恢复隔离的Agent

核心数据结构

Agent状态机

              ┌──────────────┐
              │   CREATED    │
              └──────┬───────┘
                     │ Start()
                     ▼
              ┌──────────────┐
              │ INITIALIZING │
              └──────┬───────┘
                     │ InitComplete()
                     ▼
              ┌──────────────┐     ┌───────────┐
              │    READY     │────►│  RUNNING  │
              └──────────────┘     └─────┬─────┘
                     ▲                   │
                     │                   │
              ┌──────┴───────┐           │
              │   PAUSED     │◄──────────┘
              └──────┬───────┘         Pause()
                     │ Resume()
                     ▼
              ┌──────────────┐     ┌───────────┐
              │  COMPLETED   │◄────│   FAILED   │
              └──────────────┘     └───────────┘

任务依赖图 (DAG)

每个任务节点包含:

  • TaskID: 任务唯一标识
  • AgentID: 执行任务的Agent标识
  • Dependencies: 依赖的前置任务列表
  • Priority: 任务优先级
  • ResourceRequirements: 资源需求

快速开始

环境要求

  • Go 1.21+

编译运行

# 编译项目
go build -o agent-runtime .

# 运行主程序
./agent-runtime

# 运行基础Demo
go run demo/main.go

# 运行故障注入Demo
go run demo/fault_demo.go

# 运行基准测试
go run benchmark/benchmark.go

部署说明

openEuler部署

使用交叉编译脚本编译适用于openEuler的二进制:

# Linux环境下运行编译脚本
./build.sh

# 部署到openEuler服务器
scp build/agent-runtime root@<openEuler-ip>:/usr/local/bin/
scp -r build/demo root@<openEuler-ip>:/usr/local/agent-runtime/

手动交叉编译

# 编译为Linux/ARM64架构
GOOS=linux GOARCH=arm64 go build -o agent-runtime .

# 编译为Linux/AMD64架构
GOOS=linux GOARCH=amd64 go build -o agent-runtime .

测试说明

功能测试

运行基础Demo验证核心功能:

go run demo/main.go

容错测试

运行故障注入Demo验证故障隔离和重试机制:

go run demo/fault_demo.go

测试场景:

  1. 故障Agent执行任务,验证重试机制
  2. 达到最大重试次数后,验证Agent被隔离
  3. 验证其他Agent不受故障影响
  4. 验证隔离Agent可被手动恢复

性能测试

运行基准测试验证系统性能:

go run benchmark/benchmark.go

测试内容:

  • 并行执行vs串行执行吞吐量对比
  • 上下文压缩开销评估
  • DAG任务调度性能

基准测试结果

测试项 结果
并行执行100任务 约37.86 任务/秒
串行执行100任务 约9.92 任务/秒
并行加速比 约3.82x
DAG调度(3节点链式) 约300ms

设计创新点

  1. Agent作为一等公民:将Agent抽象为操作系统级实体,统一生命周期管理
  2. 资源感知调度:基于系统资源状态动态调整调度策略,优化资源利用率
  3. 上下文复用机制:减少重复计算,降低系统开销
  4. 故障隔离:避免单点故障导致的级联失败
  5. 统一通信抽象:支持多种通信模式,灵活适配不同场景

技术栈

  • 语言:Go 1.21+
  • 并发模型:Goroutine + Channel
  • 数据结构:DAG、优先级队列、消息队列

项目结构

agent-runtime/
├── core/           # Agent抽象层
│   ├── agent.go    # Agent接口和BaseAgent实现
│   └── types.go    # 核心数据类型定义
├── scheduler/      # 调度器
│   ├── dag.go      # DAG任务依赖管理
│   └── scheduler.go # 调度器核心逻辑
├── context/        # 上下文管理
│   └── manager.go  # 上下文管理器
├── comm/           # 通信层
│   └── comm.go     # 通信层实现
├── faulttolerance/ # 容错机制
│   └── faulttolerance.go # 容错管理器
├── demo/           # Demo程序
│   ├── main.go     # 基础Demo
│   └── fault_demo.go # 故障注入Demo
├── benchmark/      # 基准测试
│   └── benchmark.go # 性能测试
├── build.sh        # 交叉编译脚本
├── main.go         # 主入口
├── go.mod          # Go模块依赖
└── README.md       # 项目文档

评分点覆盖

评分维度 实现内容
系统设计与机制创新 Agent抽象模型、资源感知调度、上下文复用、故障隔离
功能完整性与实现深度 调度器、通信层、容错机制完整实现,集成测试验证
性能优化效果 并行执行提升约3.82x吞吐量,上下文复用减少开销
工程实现质量 模块化设计、清晰的代码结构、完整的测试覆盖
实验与分析质量 基准测试数据支撑性能优化效果,故障注入验证容错机制

参赛提交材料

已完成材料

文件 状态 说明
README.md ✅ 完成 作品简介、运行说明
TECH_REPORT.md ✅ 完成 设计文档、技术报告
参赛承诺书.md ✅ 完成 参赛承诺书模板
代码 ✅ 完成 完整源代码

待完成材料

文件 要求 说明
演示PPT .pptx 项目演示文稿
演示视频 .mp4,≤100MB 系统运行演示

提交目录结构

agent-runtime/                    # 代码目录
├── core/
├── scheduler/
├── context/
├── comm/
├── faulttolerance/
├── demo/
├── benchmark/
├── main.go
└── go.mod

README.md                         # 作品简介、运行说明
TECH_REPORT.md                    # 设计文档、技术报告
参赛承诺书.docx(或.pdf)          # 参赛承诺书(签字后)
演示PPT.pptx                      # 演示PPT
演示视频.mp4                      # 演示视频(≤100MB)

演示视频录制建议

  1. 项目介绍(30秒):项目名称、核心功能、创新点
  2. 系统运行演示(1-2分钟):
    • 运行基础Demo(go run demo/main.go)
    • 展示任务调度过程
    • 展示Agent间通信
  3. 容错机制演示(30秒):运行故障注入Demo
  4. 性能测试演示(30秒):运行基准测试
  5. 总结(30秒):项目成果、未来展望

演示PPT结构建议

幻灯片 内容
封面 项目名称、队伍名称、日期
目录 内容大纲
项目背景 问题描述、需求分析
系统架构 整体设计、模块划分
核心模块 Agent抽象、调度器、上下文管理、通信层、容错机制
实验演示 运行截图、测试结果
创新点 技术创新和亮点
总结 成果和展望
关于
3.3 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号