#!/bin/bash # 等待 reflection_v2 实验完成后启动 topk5_v3 测试 echo "等待 reflection_v2 实验完成..." while true; do # 检查checkpoint进度 CKPT=$(ls collaborativeagents/results/reflection_v2/*/reflection/checkpoint.json 2>/dev/null | head -1) if [ -n "$CKPT" ]; then PROGRESS=$(cat "$CKPT" | python3 -c " import json, sys try: data = json.load(sys.stdin) total = sum(data['sessions_per_profile'].values()) print(f'{total}/1800 ({total*100//1800}%)') except: print('0/1800') " 2>/dev/null) # 检查是否完成 DONE=$(echo "$PROGRESS" | grep -c "1800/1800") if [ "$DONE" -eq 1 ]; then echo "$(date '+%H:%M:%S') reflection_v2 已完成" break fi echo "$(date '+%H:%M:%S') reflection_v2 进度: $PROGRESS" else echo "$(date '+%H:%M:%S') 等待reflection_v2启动..." fi sleep 60 done echo "启动 topk5_v3..." # 启动新实验 nohup python collaborativeagents/scripts/run_experiments.py \ --methods rag \ --datasets math-hard,math-500,bigcodebench \ --n-profiles 60 \ --n-sessions 30 \ --max-turns 10 \ --use-vllm \ --vllm-agent-url http://localhost:8003/v1 \ --vllm-user-url http://localhost:8004/v1 \ --use-batch-processing \ --batch-size 4 \ --parallel-profiles 20 \ --profile-path collaborativeagents/data/complex_profiles_v2/profiles_200.jsonl \ --output-dir collaborativeagents/results/rag_topk5_v3 \ > collaborativeagents/results/rag_topk5_v3.log 2>&1 & echo "topk5_v3 已启动,PID: $!"