最终benchmark结果及文档提交
AgentOS 是面向多 Agent 复杂任务的统一执行时。它把 Task 组织为 DAG,把 Agent 运行在隔离进程中,并统一处理资源准入、上下文、进程通信、故障恢复和本地模型调度。
/slots
id_slot
cache_prompt
flowchart LR DAG["Task DAG依赖与优先级"] --> ADMIT["Runtime 统一准入进程资源 + GPU slot 容量"] ADMIT --> PROC["Agent 隔离进程"] PROC --> CTX["ContextPool共享与私有页表"] PROC --> MODEL["llama.cpp GPU 模型服务slot 状态与 KV save/restore"] PROC --> KERNEL["openEuler 内核nice / CPU affinity"] MODEL --> RESULT["运行结果wall time / token / 验收状态"]
llama.cpp 负责模型推理和 GPU 执行;AgentOS 负责模型侧资源感知调度。Runtime 持续读取 slot 总数、空闲状态和 n_prompt_tokens,为模型任务分配并保留可用 slot;容量不足时延迟派发,避免多个 Agent 无限制地同时争抢 GPU 推理资源。
n_prompt_tokens
python -m pip install -e .
要求 Python 3.10+。开发可使用 Windows;比赛验证环境为 openEuler 24.03 LTS SP3。
推荐 Qwen2.5-1.5B-Instruct GGUF Q4_K_M,服务端使用 llama.cpp,默认 2 slots。
winget install --id ggml.llamacpp --exact start_qwen_local.bat
另开终端检查并运行普通场景:
python -m agentos.cli inference-doctor python -m agentos.cli run auto-programming --real-llm
快速演示执行一个完整复杂场景和 4 Agent 执行池:
python -m agentos.cli benchmark-quick
正式实验执行四个场景,每场景重复 5 轮,每个请求固定生成 128 token:
python -m agentos.cli benchmark
扩展实验依次测量 4 Agent 和 7 Agent:
python -m agentos.cli benchmark --scale
openEuler 最终实验覆盖 4 个场景、4/7 Agent、每场景 5 轮,共执行 120 次 profile、2,040 个 Task 和 1,380 次真实模型调用。全部验收通过,结果如下:
三组通过同一 RuntimeLoop + ScenarioCoordinator 执行真实 YAML DAG,使用相同模型、任务、工具、temperature、seed 和固定解码长度。缓存与上下文策略是被测功能,因此按 profile 开关:
RuntimeLoop + ScenarioCoordinator
任务按 YAML 的 agent 字段进入对应角色队列,依赖完成后才可执行;声明的工具在隔离进程内真实运行,产物必须存在且非空。4 Agent 实验保留完整 DAG,把 7 个逻辑角色确定性合并到 4 个执行角色;7 Agent 实验使用原始角色映射。每轮轮换三组顺序,每组前清空 llama.cpp slots。实验不使用模拟 sleep、人工 penalty、预设结果或样本筛选。
agent
sleep
完整方法、逐场景结果、波动分析和局限见 最终 Benchmark 报告。原始数据位于:
项目文档/final-competition-benchmark/agents-4/summary.json 项目文档/final-competition-benchmark/agents-7/summary.json
本机快速验证使用 software-engineering 完整 CRUD DAG、4 Agent 和固定 160-token 解码;运行结果由 benchmark-quick 直接写入 output/quick-benchmark。正式结果使用上述 openEuler 全部轮次,不删除异常样本。
benchmark-quick
output/quick-benchmark
推荐架构:AgentOS Runtime 在 openEuler 虚拟机中运行;Qwen/llama.cpp 在同一物理机的 Windows 宿主机使用 GPU 运行;虚拟机通过 NAT 网络访问宿主机模型服务。
export AGENTOS_MODEL_SERVER_URL=http://192.168.56.1:11435 bash scripts/verify_openeuler_vm.sh
脚本安装依赖、构建 Rust 扩展、执行 Python/Rust 测试、普通场景功能验收和 4/7 Agent 正式实验。
本次正式结果中所有 worker 的 nice 与 CPU affinity 均成功应用,进程事件未记录内核控制错误。
python -m pytest -q cargo test --workspace --release
测试数量以当前命令输出为准,不在文档中写死。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
AgentOS Runtime
AgentOS 是面向多 Agent 复杂任务的统一执行时。它把 Task 组织为 DAG,把 Agent 运行在隔离进程中,并统一处理资源准入、上下文、进程通信、故障恢复和本地模型调度。
核心机制
/slots的容量、空闲状态和提示词负载;按可用 slot 准入模型任务,无空闲 slot 时延迟派发id_slot与cache_promptflowchart LR DAG["Task DAG依赖与优先级"] --> ADMIT["Runtime 统一准入
进程资源 + GPU slot 容量"] ADMIT --> PROC["Agent 隔离进程"] PROC --> CTX["ContextPool
共享与私有页表"] PROC --> MODEL["llama.cpp GPU 模型服务
slot 状态与 KV save/restore"] PROC --> KERNEL["openEuler 内核
nice / CPU affinity"] MODEL --> RESULT["运行结果
wall time / token / 验收状态"]
llama.cpp 负责模型推理和 GPU 执行;AgentOS 负责模型侧资源感知调度。Runtime 持续读取 slot 总数、空闲状态和
n_prompt_tokens,为模型任务分配并保留可用 slot;容量不足时延迟派发,避免多个 Agent 无限制地同时争抢 GPU 推理资源。安装
要求 Python 3.10+。开发可使用 Windows;比赛验证环境为 openEuler 24.03 LTS SP3。
本地模型
推荐 Qwen2.5-1.5B-Instruct GGUF Q4_K_M,服务端使用 llama.cpp,默认 2 slots。
另开终端检查并运行普通场景:
真实 Benchmark
快速演示执行一个完整复杂场景和 4 Agent 执行池:
正式实验执行四个场景,每场景重复 5 轮,每个请求固定生成 128 token:
扩展实验依次测量 4 Agent 和 7 Agent:
openEuler 最终实验覆盖 4 个场景、4/7 Agent、每场景 5 轮,共执行 120 次 profile、2,040 个 Task 和 1,380 次真实模型调用。全部验收通过,结果如下:
三组通过同一
RuntimeLoop + ScenarioCoordinator执行真实 YAML DAG,使用相同模型、任务、工具、temperature、seed 和固定解码长度。缓存与上下文策略是被测功能,因此按 profile 开关:id_slot、cache_prompt和 KV save/restore任务按 YAML 的
agent字段进入对应角色队列,依赖完成后才可执行;声明的工具在隔离进程内真实运行,产物必须存在且非空。4 Agent 实验保留完整 DAG,把 7 个逻辑角色确定性合并到 4 个执行角色;7 Agent 实验使用原始角色映射。每轮轮换三组顺序,每组前清空 llama.cpp slots。实验不使用模拟sleep、人工 penalty、预设结果或样本筛选。完整方法、逐场景结果、波动分析和局限见 最终 Benchmark 报告。原始数据位于:
本机快速验证使用 software-engineering 完整 CRUD DAG、4 Agent 和固定 160-token 解码;运行结果由
benchmark-quick直接写入output/quick-benchmark。正式结果使用上述 openEuler 全部轮次,不删除异常样本。openEuler 虚拟机验证
推荐架构:AgentOS Runtime 在 openEuler 虚拟机中运行;Qwen/llama.cpp 在同一物理机的 Windows 宿主机使用 GPU 运行;虚拟机通过 NAT 网络访问宿主机模型服务。
脚本安装依赖、构建 Rust 扩展、执行 Python/Rust 测试、普通场景功能验收和 4/7 Agent 正式实验。
本次正式结果中所有 worker 的 nice 与 CPU affinity 均成功应用,进程事件未记录内核控制错误。
测试
测试数量以当前命令输出为准,不在文档中写死。