目录

EulerAgentRT

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

通过网盘分享的文件:演示视频.mp4 链接: https://pan.baidu.com/s/1-YpyIj6SRrpXFw4sBiCheQ 提取码: bhju

EulerAgentRT 是一个面向 openEuler/Linux 的多智能体用户态执行时。系统将 Agent 抽象为具有生命周期、任务依赖、资源预算、上下文句柄、故障域和追踪标识的系统执行实体,并统一管理模型调用、工具调用、上下文共享、动态任务图、故障恢复和可观测数据。

1. 已实现功能

赛题要求 实现模块
统一 Agent 执行抽象 Agent Control Block、生命周期状态机、资源预算、追踪标识
多 Agent 调度 动态 DAG、依赖调度、优先级、截止时间、上下文亲和评分
资源感知调度 模型槽位、工具槽位、等待时间与峰值占用统计
上下文优化 内容寻址、不可变块、写时复制、压缩、句柄共享、字符预算裁剪、命名空间
Agent 通信 结构化发布订阅总线、背压、消息追踪
容错 任务超时、有界重试、模型重试与熔断、依赖失败隔离、检查点
工具隔离 独立子进程、超时、工作目录、环境隔离;openEuler/Linux 可启用 RLIMIT
可观测性 JSONL 事件、任务图、模型 Token/时延、上下文、资源、IPC、静态 HTML 面板
真实应用 千问驱动的多智能体自动软件修复与回归测试

2. 目录结构

EulerAgentRT/
├─ config/                         # 阿里云本地配置模板
├─ deploy/openEuler/               # openEuler 安装脚本
├─ euler_agent_rt/
│  ├─ core.py                      # Agent Runtime 与动态任务图
│  ├─ resource_manager.py          # 模型/工具资源池
│  ├─ context.py                   # 上下文对象管理
│  ├─ ipc.py                       # Agent IPC 总线
│  ├─ sandbox.py                   # 跨平台工具沙箱
│  ├─ llm.py                       # 阿里云千问与离线模拟模型
│  ├─ agents.py                    # 比赛版软件修复 Agent
│  ├─ dashboard.py                 # 可观测面板
│  └─ cli.py                       # 命令行入口
├─ scripts/                        # Windows/Linux 一键脚本
├─ tests/                          # 单元与集成测试
├─ docs/                           # 架构、实验、演示说明
└─ dist/euler-agentrt.pyz          # Python ZipApp

3. Conda 环境

Windows PowerShell

cd "D:\你的路径\EulerAgentRT"
conda env create -f environment.yml
conda activate euler-agentrt
python --version

环境已创建时:

conda activate euler-agentrt
pip install -r requirements.txt

openEuler/Linux

cd EulerAgentRT
bash deploy/openEuler/install.sh
source .venv/bin/activate

也可以使用 Conda:

conda env create -f environment.yml
conda activate euler-agentrt

4. 配置阿里云 API Key

Windows

powershell -ExecutionPolicy Bypass -File scripts\setup_aliyun_config.ps1
notepad config\aliyun.local.env

将:

DASHSCOPE_API_KEY=请在这里填写阿里云百炼API_KEY

修改为自己的 Key。

openEuler/Linux

bash scripts/setup_aliyun_config.sh
nano config/aliyun.local.env

配置文件默认内容:

DASHSCOPE_API_KEY=你的Key
ALIYUN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
ALIYUN_MODEL=qwen-plus
ALIYUN_TEMPERATURE=0.1
ALIYUN_TIMEOUT_SECONDS=120
ALIYUN_MAX_RETRIES=3
ALIYUN_MAX_OUTPUT_TOKENS=2048

若阿里云控制台给出了业务空间专属 base_url,以控制台地址为准。

5. 先检查 API

python -m euler_agent_rt.cli api-check --env-file config/aliyun.local.env

成功时会返回:

{
  "connection": {
    "status": "ok"
  }
}

6. 运行真实千问多 Agent 演示

python -m euler_agent_rt.cli demo `
  --mode aliyun `
  --env-file config/aliyun.local.env `
  --out runs/aliyun_demo `
  --model-slots 2 `
  --tool-slots 2 `
  --max-rounds 2 `
  --clean

或:

powershell -ExecutionPolicy Bypass -File scripts\run_aliyun_demo.ps1

Linux:

bash scripts/run_aliyun_demo.sh

正常完成时:

{
  "demo_success": true,
  "tasks_failed": 0
}

输出文件:

文件 内容
summary.json 任务、Agent、模型、资源、上下文和 IPC 指标
telemetry.jsonl 全链路事件
checkpoint.json 完成、失败和待执行任务检查点
context_manifest.json 上下文块与句柄关系
final_report.json 最终结构化报告
final_report.md 可阅读执行报告
dashboard.html 系统级可观测面板

打开面板:

Start-Process runs\aliyun_demo\dashboard.html

7. 离线演示和测试

先验证环境:

python -m euler_agent_rt.cli demo --mode mock --out runs/mock_demo --clean

运行测试:

$env:PYTHONPATH="."
python -m unittest discover -s tests -v

8. 机制实验

python -m euler_agent_rt.cli bench --out runs/bench --tasks 32 --model-slots 4 --clean
python -m euler_agent_rt.cli experiment --out runs/experiment --tasks 32 --model-slots 4 --sleep 0.05 --clean
python -m euler_agent_rt.cli fault-demo --out runs/fault_demo --clean

也可一次执行:

powershell -ExecutionPolicy Bypass -File scripts\run_competition_experiments.ps1

9. 修复自己的仓库

python -m euler_agent_rt.cli demo `
  --mode aliyun `
  --env-file config/aliyun.local.env `
  --repo "D:\path\to\your_repo" `
  --problem "请描述可复现的缺陷和期望行为" `
  --out runs/custom_repo `
  --clean

当前版本适合 Python 单元测试项目。代码 Agent 只允许修改仓库内的文本类文件,并会执行目录穿越检查、语法检查、危险调用增量检查、备份和回归测试。

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

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