目录

# AegisRuntime

AegisRuntime 是一个面向多智能体协同任务的 OS-inspired Agent Runtime 原型系统。项目围绕 Agent Execution Runtime Model(AERM)构建统一运行时抽象,将 Agent 作为可调度、可观测、可恢复的一等执行实体进行管理,覆盖调度、上下文、通信、故障恢复、权限控制、资源观测和实验证据链。

项目对应赛题:面向多智能体的操作系统级执行时(Agent Runtime)。

项目定位

AegisRuntime 关注的不是应用层工作流编排,而是多 Agent 执行过程中的运行时管理问题:

  • Agent 生命周期和状态流转如何统一表示;
  • 多 Agent 依赖任务如何调度;
  • 上下文如何复用、压缩和隔离;
  • 单个 Agent 故障如何隔离并恢复;
  • Agent 间通信和能力访问如何约束;
  • 运行过程如何形成可审计证据链。

边界说明:AegisRuntime 是研究型 prototype runtime,不修改 Linux Kernel,不承诺部署级安全沙箱,不声明每个 Agent 独立 cgroup / namespace 隔离,也不与 LangGraph、AutoGen 等外部框架做直接性能排序。

作品完成度速览

方向 当前完成情况
统一执行抽象 已实现 AERM + ACB,将 Agent 状态、优先级、资源预算、上下文句柄、故障域统一记录
调度机制 已实现 RRS,并支持 FIFO / Priority / DAG / RRS 策略切换
上下文优化 已实现 CVM,记录 raw_tokens、loaded_tokens、saved_tokens、compression_rate
故障恢复 已实现 Fault Domain、retry、degrade、Circuit Breaker 和恢复日志
Agent 通信 已实现 Agent IPC、事件、消息和共享黑板抽象
权限控制 已实现 Capability Token 访问控制和拒绝验证
并发执行 已实现 DAG ready batch + ThreadPoolExecutor,并提供并发验证脚本
运行观测 已实现 Dashboard、Prompt Trace、Kernel Logs、Benchmark Report、Runtime Spine
国产开源 OS 验证 已在 openEuler 24.03 LTS SP3 目标环境完成 cgroup v2 行为验证

赛题要求对应关系

赛题要求 AegisRuntime 对应实现
基于国内主流开源操作系统开发、运行或测试 openEuler 24.03 LTS SP3 / Linux cgroup v2 目标环境验证
面向多 Agent 任务的调度机制 RRS 调度器、DAG 依赖调度、ready batch 并发执行
统一 Agent 执行抽象模型 AERM + ACB + 生命周期状态机
Agent 容错与故障隔离 Fault Domain + Circuit Breaker + retry / degrade / recovery
高效上下文管理 CVM 上下文复用、去重、压缩与隔离
复杂多 Agent 应用场景验证 复杂任务规划、软件工程协作、操作系统实验协同助手
Agent 间高效通信 Agent IPC、Message Queue、Event Bus、Blackboard
系统级可观测与控制 Kernel Logs、Prompt Trace、execution_spans、Benchmark evidence

核心机制

模块 作用 主要代码位置
ACB Agent Control Block,记录 Agent 状态、优先级、资源预算、上下文句柄和故障域 aegis_runtime/models.py
RRS Resilience-aware Resource Scheduler,结合依赖、优先级、资源、风险和上下文成本进行调度 aegis_runtime/scheduler.py
CVM Context Virtual Memory,计算 raw_tokens、loaded_tokens、saved_tokens 和 compression_rate aegis_runtime/context.py
Fault Domain 故障注入、隔离、重试、降级和恢复 aegis_runtime/faults.py
Circuit Breaker 对故障域进行熔断状态记录和恢复控制 aegis_runtime/faults.py
Capability Token 限制 Agent 对上下文、工具、文件和代码执行能力的访问 aegis_runtime/ipc.py
Agent IPC Message Queue / Event Bus / Blackboard 通信抽象 aegis_runtime/ipc.py
Batch-Ready Execution 基于 DAG ready set 的线程池并发执行模型 aegis_runtime/runtime.py
Web API Dashboard、Report 和验证接口 app.py

运行方式

进入项目目录:

Set-Location <PROJECT_ROOT>

启动服务:

python app.py

浏览器打开:

http://127.0.0.1:8765

如果端口被占用,可以指定端口:

$env:AEGIS_PORT='8767'
python app.py

页面入口

页面 地址 用途
运行仪表盘 http://127.0.0.1:8765/index.html 展示运行配置、Agent DAG、ACB、RRS、CVM、Fault Domain、Kernel Logs
实验报告 http://127.0.0.1:8765/report.html 展示 single-run snapshot、30-run benchmark、内置基线趋势和 cgroup 证据
系统架构 http://127.0.0.1:8765/architecture.html 展示 Runtime Spine:RRS → ACB → CVM → Execution → IPC → Interrupt → Recovery → RRS

验证命令

项目完整性检查:

python -B tools\validate_project.py

当前冻结版本验证结果:

14/14 checks passed

并发验证:

python -B tools\verify_agent_concurrency.py

批量 Benchmark:

python -B benchmarks\run_benchmark.py --runs 30 --out artifacts_final_concurrent

Benchmark 输出包括:

benchmark_records.csv
benchmark_summary.json
benchmark_summary.csv
benchmark_report.md

实验口径

实验数据分为三类:

类型 来源 说明
Runtime Snapshot runtime.run() 当前所选场景的一次真实运行快照
Batch Benchmark benchmark_records.csv 30-run batch statistics,用于观察机制趋势和波动
Internal Baseline synthetic_internal_baseline Serial Baseline / Naive DAG / Workflow Baseline 为项目内置基线,measured=false

AegisRuntime RRS 的 Benchmark 行标注为:

measured=true
evidence_level=runtime_snapshot
source=runtime.run()

内置基线标注为:

measured=false
evidence_level=built_in_model
source=synthetic_internal_baseline

这些实验用于验证运行时机制的一致性和可观测链路,不作为外部框架真实性能排名。

并发模型

AegisRuntime 支持 Batch-Ready Scheduling concurrency model。Runtime 每轮根据 DAG 依赖关系收集 ready Agent,并通过 ThreadPoolExecutor 并发执行同一 ready batch。系统通过 execution_spans 记录每个 Agent 的 start_time、end_time 和 duration,用于验证执行区间是否存在重叠。

该模型适合 I/O 型 Agent、LLM 调用和工具调用场景。当前版本不声明多进程并行、分布式执行或每 Agent 独立 OS 级隔离。

openEuler / cgroup v2 验证

当前 Windows 演示环境使用 psutil fallback 做资源观测,并明确显示当前平台不支持 cgroup v2。项目已在 openEuler 24.03 LTS SP3 / Linux cgroup v2 目标环境中完成离线实机验证,证据包括:

artifacts_final/cgroup_strong_isolation_evidence.json
artifacts_final/cgroup_strong_isolation_report.md

验证内容包括 cpu.maxmemory.maxcpu.statmemory.events、worker pid、returncode 以及 throttling / memory event 增量记录。该证据可支撑“openEuler / Linux cgroup v2 目标环境完成 CPU throttling 与 memory limit 行为验证”的表述,但不构成当前 Windows 实时 cgroup 能力声明,也不代表每 Agent 独立 cgroup / namespace 隔离。

项目结构

aegis_runtime/
  models.py          ACB、Agent 状态机和运行指标
  scheduler.py       RRS 调度器
  context.py         CVM 上下文虚拟内存
  faults.py          Fault Domain 与 Circuit Breaker
  ipc.py             Agent IPC 与 Capability Token
  resources.py       资源观测与 cgroup v2 适配
  llm_provider.py    Mock / DeepSeek / Qwen / OpenAI provider
  runtime.py         Runtime 主执行循环与并发调度
  scenarios.py       多 Agent 场景定义

benchmarks/
  run_benchmark.py   批量 Benchmark
  external_baseline.py 外部 baseline 接口预留与可用性检测

tools/
  validate_project.py
  verify_agent_concurrency.py
  verify_dag_concurrency.py
  verify_fault_concurrency.py
  verify_cgroup_strong_isolation.py
  collect_openeuler_evidence.py

web/
  index.html         运行仪表盘
  main.js            Dashboard 交互逻辑
  report.html        实验报告页
  report.js          实验报告交互逻辑
  architecture.html  Runtime Spine 架构页
  styles.css         页面样式

docs/
  technical_report.md
  AegisRuntime_系统设计与实现报告.md
  AegisRuntime_技术报告.docx

app.py               Web 服务入口
start_dashboard.bat  双击启动脚本

演示场景

场景 用途
复杂任务规划与系统设计 展示任务拆解、RRS 调度、CVM 上下文复用、Fault Domain 恢复和结果汇总
软件工程协作 展示需求分析、架构设计、代码生成、测试、安全审查和文档生成等 Agent 协作
操作系统实验协同助手 展示概念解释、代码分析、错误诊断、实验规划和报告生成

LLM Provider

默认使用 Mock Runtime,保证离线运行、实验可复现和答辩演示稳定。系统保留 DeepSeek、Qwen、OpenAI 等真实 provider 接入能力。若选择真实 provider 但缺少 API Key,系统会回退到 mock,并在日志中记录原因。

Provider 说明 是否需要 API Key
Mock 默认 deterministic-agent-simulator
DeepSeek DeepSeek API 接入
Qwen 通义千问兼容 API 接入
OpenAI OpenAI API 接入

提交材料

已整理的初赛提交材料位于:

submission_materials/final_submission_bundle/

其中包括 README、项目说明书、技术报告、演示 PPT 和承诺书待填写版。提交前仍需按报名信息填写队伍名、成员信息、承诺书签字盖章,并加入不超过 100MB 的演示视频。

关于
6.1 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

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