Kylin Agent Runtime 决赛提交:面向多智能体的操作系统级执行时
README / src(os_runtime 控制面+应用层) / docs(4份PDF) / tests(实验+冻结数据) / demo / presentation(PPT+演示视频) / 作品原创承诺书
Co-Authored-By: Claude noreply@anthropic.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
Kylin Agent Runtime —— 面向多智能体的操作系统级执行时
1. 🧭 项目导航
本 README 按大赛五维评分组织,评委可按需直达:
仓库目录:
src/os_runtime/src/(agent、gateway 等)src/kylin-agent/tests/experiments/results/下 JSON 与图表)docs/demo/presentation/2. 🎯 这是什么——解什么题
现有多 Agent 系统停留在应用层框架:一群智能体像「临时工外包队」,没编制、没工位、各干各的还抢资源。赛题要求把管理下沉到操作系统执行时。
我们交付的 Kylin Agent Runtime 分两层:
src/os_runtime/**(本届自研):把 Agent 当作操作系统的一等公民来管理;赛题四大痛点与对症机制:
应用场景:软件工程多智能体协作(需求→架构→编码→测试→验收)、批量 Agent 任务执行、端侧 AI 助手监控。
3. ⚡ 四大 OS 级机制
调度与推理分离,运行时统一编排本地 CPU 与远程 GPU——正是操作系统调度异构资源的思路。
① APCB —— Agent 进程控制块(统一执行抽象)
对标 OS 的
task_struct。每个 Agent 持有 APCB:身份、六态状态机(CREATED→READY→RUNNING→BLOCKED→TERMINATED/FAILED)、资源配额、任务依赖、生命周期回调。状态转换严格校验,非法跳转执行前拦截。代码:src/os_runtime/apcb.py、state_machine.py。② 资源感知调度 —— 看资源派活
对标 Linux CFS。调度器实时读取 psutil 负载与 cgroup 内核级配额,按系统容量分批派发;资源紧张时多余任务排队而非全量并发(避免过载雪崩)。支持 DAG 依赖、动态子任务生成。代码:
src/os_runtime/scheduler.py、resource_manager.py。③ KV Cache 共享 —— 团队只背一本手册
对标共享内存。多 Agent 共享同一前缀(系统指令/工具定义/代码规范),KVScheduler 统一调度到 vLLM,radix tree 前缀匹配复用已算好的 KV Cache——先到者算前缀,后来者直接用,省去重复 prefill。代码:
src/os_runtime/kv_scheduler/。④ 容错隔离 —— 一个出错不开除全厂
对标进程隔离。双重隔离:进程级(
start_new_session独立会话)+ 资源级(cgroup 限额)。故障 Agent 被熔断为 FAILED、调度器不再选中,不级联拖垮全局;支持BLOCKED→反馈→重派→复审的恢复闭环。配套可观测模块实时暴露运行状态。代码:src/os_runtime/fault_tolerance.py、observer/。4. 📊 真实性能数据
数据来源:调度 =
results/benchmark_aggregate.json(5 轮配对);容错 =results/fault_summary_*.json;cgroup =results/cgroup_real_test.json;vLLM =results/vllm_apc_summary_*.json;E2E =results/e2e_demo_summary.json。5. 🏗️ 工程实现与质量
执行时模块清单(
src/os_runtime/,生产代码 14,657 行 + 测试 5,741 行):apcb.py+state_machine.pyscheduler.pyresource_manager.pyfault_tolerance.pykv_scheduler/ipc/observer/adapters/+registry.py质量闭环:接口约定(
src/os_runtime/接口约定.md)→ 设计确认记录 → 实现 → 单元测试 148/148 通过(26.82 s)→ 基准实验 → 冻结数据归档,每一步产物都在仓库内可查。应用层与前端:Hermes-Agent 适配扩展(
src/agent等)+ KylinAgent Qt5 前端(src/kylin-agent/,实时监控与 SSE 流式对接)。全仓 Python 文件 1,908 个、约 21.6 万行。6. 🧪 实验与评测体系
pytest src/os_runtimescheduling_benchmark.py(5 轮配对)fault_experiment.py(故障注入)cgroup_real_test.py(内核级)vllm_apc_benchmark.py(真实 GPU)e2e_demo.py(全机制协同)数据诚信:所有数字可由
tests/experiments/下同名脚本复现,原始 JSON 冻结在results/;无 GPU 环境的降级演示数据明确隔离在results/mock/,不与真实数据混用。任务级评测(PAWBench):本系统 74.21 分(101/150)。对比:Hermes-Agent 基线 70.66(+3.55)、Hermes 最新版 69.56(+4.65);与同场最强队伍 QwenPaw(73.75)差 0.46 分,处于波动区间内,我们不据此宣称任务能力占优——系统层收益(上表)才是本工作的主要贡献。
7. 🚀 构建、运行与测试
环境:openKylin / Ubuntu 等通用 Linux;Python 3.11+;
pip install psutil即可运行调度/容错/E2E。Qt5 前端与 GPU vLLM 为可选(无 GPU 时 KV 部分自动降级为 mock 命中统计)。台阶一:30 秒看懂(无需 GPU)
台阶二:复现冻结数据
台阶三:测试与前端
📄 更多文档与分工
docs/项目说明书.pdf/docs/项目创新说明.pdf/docs/人工智能及第三方工具使用说明.pdf/docs/技术报告.mddocs/成员分工及主要贡献说明.pdf(按大赛要求以 A/B/C 匿名表述)License
MIT,见 LICENSE。