readme提交
赛题:面向多智能体的操作系统级执行时(Agent Runtime)
Aegis 是一个运行在 openEuler/Linux 上、面向运行时动态生成多智能体 LLM 系统的操作系统级执行时(OS-level runtime):把每个被 spawn 出来的 agent 提升为 OS 一等公民 ACB(Agent Control Block,类比 PCB),以其为唯一锚点统一调度 / 上下文(KV)复用·压缩·隔离 / 故障容错 / 可观测控制 / agent 间通信;其机制内核是把「故障·污染遏制」做成带可证明 blast-radius 界的一等执行时调度原语。全部能力已在真实 GPU(Qwen2.5-3B/7B, vLLM 0.22)+ 真实 openEuler 24.03 LTS(真 cgroup)上验证。
本次实验一句话:在真实 GPU 与真实 openEuler 上,验证了一个完整可运行的 OS 级多智能体执行时;安全侧把 prompt-injection 攻击成功率从 18% 压到 ≈3%(标准基准 AgentDojo)、把污染 blast-radius 从超临界发散钉到 1。
aegis/scheduler.py
tracker.py
placement.py
runtime.py
N^1.70→N^1.12
aegis/acb.py
os_substrate.py
/proc
aegis/isolation.py
kv.py
sim/ifc_containment.py
1/(1−R)
aegis/kv.py
kv_hooks.py
engine.py
992→0
aegis/apps/
run_stability.py
run_codegen.py
libaegis.py
sim/run_comm.py
deploy/
deploy/openeuler_run.log
aegis/observ.py
run_top.py
results/attack_defense.json
results/confidentiality.json
can_flow
aegis_results/difc_runtime.json
results/agentdojo/*.json
results/{unified_difc,cache_timing_channel}.json
Agent_Runtime/ ├── README.md # 本文件(提交说明) ├── reproduce.sh # 一键复现入口(CPU 侧) │ ├── aegis/ # 运行时主包 / the runtime package │ ├── acb.py # ACB + 8 状态生命周期 FSM + 转换守卫 │ ├── os_substrate.py # cgroup-v2 / namespace / CRIU / eBPF 绑定 │ ├── isolation.py # ISOLATE 物理侧:真 unprivileged ns 沙箱 + seccomp │ ├── kv.py # KV Manager:φ-五臂 KEEP/SHARE/COMPRESS/EVICT/ISOLATE │ ├── difc.py # DIFC 信息流格(Denning 格 + can_flow + capability) │ ├── kv_hooks.py / engine.py # 引擎级 cache-control hook / vLLM 适配 │ ├── scheduler.py # RACS 联合调度器 + 命名基线(fcfs/hexagent/edf/sjf/fair) │ ├── tracker.py / placement.py # 运行时增长 spawning-DAG / lineage;GPU placement │ ├── runtime.py / concurrent.py# 事件循环 / 并发多-slice 执行器 │ ├── observ.py / run_top.py # agenttop 系统级可观测 + 控制台 │ ├── libaegis.py / predictor.py / metrics.py │ ├── apps/ # 复杂应用(codegen / deepstack) │ └── run_*.py # 实验入口(os_demo / cascade / stability / attack_defense …) │ ├── sim/ # vLLM 微基准 │ ├── run_comm.py # E9 pass-by-KV-handle │ ├── run_block_hook.py # E14 stock-vLLM per-block KV 驱逐 │ ├── ifc_containment.py # E16 IFC 最小割污染遏制 │ ├── rs_sim.py # 精确-OPT reload 模拟器(E34 理论探索基座) │ └── results/ # 各实验 JSON / 图 / 日志 │ ├── tests/ # test_aegis.py 17/17 + test_difc.py 12/12(29 全绿) │ ├── deploy/ # openEuler 部署(硬性要求) │ ├── Dockerfile.openeuler / run_openeuler.sh / openeuler_entry.sh │ └── openeuler_run.log # 真 cgroup + CRIU + 在 openEuler 跑通日志 │ ├── run_agentdojo_difc.py # E32 AgentDojo head-to-head 编程式 runner ├── run_unified_difc.py # E33 一把格统四治 ├── cache_timing_channel.py # E33-A 实测 cache 侧信道 ├── extend_theory.py / probe_k2.py# E34 理论探索(诚实负结果) ├── run_difc_overhead.py # 门控开销核算 │ ├── results/ # 实验结果 JSON │ └── agentdojo/ # E32 AgentDojo 4 配置 + 4 注入风格 └── aegis_results/ # 实验结果 + figures/ └── figures/ # 主图(blast_radius / ifc_containment / agenttop / agentdojo_difc / unified_difc …)
环境说明:所有实验在 pro6000 服务器上跑(GPU/真实-7B 必须);CPU 侧实验也可在任意 CPU 机复现。 CPU 环境:~/.conda/envs/rwj/bin/python(numpy/matplotlib/torch-cpu) GPU/vLLM 环境:~/.conda/envs/rwj-serve/bin/python(vLLM 0.22)
环境说明:所有实验在 pro6000 服务器上跑(GPU/真实-7B 必须);CPU 侧实验也可在任意 CPU 机复现。
~/.conda/envs/rwj/bin/python
~/.conda/envs/rwj-serve/bin/python
bash reproduce.sh cpu # E10 blast-radius / E11 可扩展 / E16 IFC / E17 可观测 + OS demo
export CUDA_VISIBLE_DEVICES=1 # 只用 GPU1 export VLLM_USE_FLASHINFER_SAMPLER=0 VLLM_ENABLE_V1_MULTIPROCESSING=0 HF_HUB_OFFLINE=1 ~/.conda/envs/rwj-serve/bin/python -m aegis.run_stability # E12 稳定性(真 7B,20% 故障) ~/.conda/envs/rwj-serve/bin/python -m aegis.run_codegen # E13 多-agent 代码生成 ~/.conda/envs/rwj-serve/bin/python sim/run_comm.py # E9 pass-by-KV-handle ~/.conda/envs/rwj-serve/bin/python sim/run_block_hook.py # E14 per-block KV 驱逐 # 安全实验(E28–E34,需先起 vLLM OpenAI server): ~/.conda/envs/rwj-serve/bin/python -m aegis.run_attack_defense # E28 攻防 ~/.conda/envs/rwj-serve/bin/python -m aegis.run_confidentiality # E30 机密性 python run_agentdojo_difc.py --mode difc --suite banking # E32 AgentDojo python run_unified_difc.py ; python cache_timing_channel.py # E33 python extend_theory.py ; python probe_k2.py # E34(诚实负结果)
python tests/test_aegis.py # 17/17 | python tests/test_difc.py # 12/12 bash deploy/run_openeuler.sh # 构建 openEuler 24.03 容器,cgroup + CRIU + blast/IFC 复跑
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Aegis — 面向多智能体的操作系统级执行时 / An OS-Level Runtime for Multi-Agent LLM Systems
一句话 / What it is
Aegis 是一个运行在 openEuler/Linux 上、面向运行时动态生成多智能体 LLM 系统的操作系统级执行时(OS-level runtime):把每个被 spawn 出来的 agent 提升为 OS 一等公民 ACB(Agent Control Block,类比 PCB),以其为唯一锚点统一调度 / 上下文(KV)复用·压缩·隔离 / 故障容错 / 可观测控制 / agent 间通信;其机制内核是把「故障·污染遏制」做成带可证明 blast-radius 界的一等执行时调度原语。全部能力已在真实 GPU(Qwen2.5-3B/7B, vLLM 0.22)+ 真实 openEuler 24.03 LTS(真 cgroup)上验证。
1. 实验结果总结 / Experiment Results
1.1 实现 → 已验证证据
aegis/scheduler.pytracker.pyplacement.pyruntime.pyN^1.70→N^1.12(近线性)、每个agent开销下降21倍aegis/acb.py(8 状态 FSM)、os_substrate.py(cgroup/ns/CRIU)/proc计费 + cgroup.freeze 抢占 + CRIU checkpoint↔restore 往返aegis/isolation.pykv.py(ISOLATE 臂)、sim/ifc_containment.py1/(1−R)(R=0.9→10.03 vs 10.00),ISOLATE 钉死 1; IFC 最小割 sink 污染 92→100% ⇒ 0%aegis/kv.py(φ-五臂)、kv_hooks.pyengine.py992→0aegis/apps/run_stability.pyrun_codegen.pyaegis/kv.py(pass-by-KV-handle)、libaegis.py、sim/run_comm.pydeploy/deploy/openeuler_run.log)aegis/observ.pyrun_top.py1.2 安全实验(真实 Qwen2.5-7B;E28–E34)
results/attack_defense.jsonresults/confidentiality.jsoncan_flow)aegis_results/difc_runtime.jsonresults/agentdojo/*.jsonresults/{unified_difc,cache_timing_channel}.json2. 代码仓库结构 / Repository Layout
3. 如何运行 / 复现 / How to Run
3.1 一键复现(CPU 侧,几秒)
3.2 GPU / 真实-7B 实验
3.3 测试 + openEuler 部署