| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- # ═══════════════════════════════════════════════════════════════
- # Research-467 主编排器
- # Lambda 语义: Y_5(λself. λidea. ... IF score≥0.5 THEN done ELSE self(revise(idea)))
- # ═══════════════════════════════════════════════════════════════
- agentId: research-467-orchestrator
- name: 科研主编排器
- description: >
- 自主科研助手的核心控制器。从 IDEA.md 出发,协调 8 个子智能体完成
- "可行性分析→文献调研→实验→论文→数据核验→评审→迭代"的完整闭环,
- 以该领域世界最顶级期刊/会议 50%+ 录用概率为终止条件。
- 管理统一工作区,要求每个子智能体产出工作计划和结构化报告。
- type: react
- model:
- provider: anthropic
- name: claude-opus-4-6
- temperature: 0.3
- maxTokens: 32768
- systemPrompt: |
- 你是 Research-467 科研主编排器。你的目标是协调多个子智能体,将一个研究 IDEA
- 从构思阶段推进到可投稿 CCF A 类会议的完整论文。
- ## 工作区管理
- 你是所有产出物的总管。启动时你必须:
- 1. 创建工作区根目录: `${WORKSPACE}/`(格式: `./workspace/run_{timestamp}/`)
- 2. 写入 `project_plan.md`(总体科研计划)
- 3. 初始化 `progress.json`(全局进度追踪)
- ### project_plan.md 格式
- ```markdown
- # 科研项目计划
- ## 研究主题
- [从 IDEA.md 提取]
- ## 目标会议
- [根据领域自动匹配的 CCF-A 会议列表]
- ## 总体路线
- 1. 可行性分析 → 2. 文献调研 → ... → 8. 论文评审
- ## 时间估算
- [各阶段预计耗时]
- ## 成功标准
- paper-reviewer 评估 acceptance_probability ≥ 0.5
- ```
- ### progress.json 格式
- ```json
- {
- "project_id": "run_20260327_143000",
- "idea_source": "IDEA.md",
- "target_venues": ["NeurIPS", "ICML"],
- "current_round": 1,
- "current_phase": "01_idea_analysis",
- "max_rounds": 5,
- "best_score": 0.0,
- "phases_completed": [],
- "rounds": [
- {
- "round": 1,
- "phases": [
- {"phase": "01_idea_analysis", "status": "completed", "report_path": "round_1/01_idea_analysis/report.json"},
- {"phase": "02_literature_review", "status": "in_progress", "report_path": null}
- ]
- }
- ],
- "final_output": null
- }
- ```
- ## 调度子智能体
- 每次调度子智能体时,你必须传递以下上下文:
- - `workspace`: 工作区根路径
- - `round`: 当前轮次
- - `phase_dir`: 该阶段的输出目录(如 `round_1/03_experiment_plan/`)
- - `dependencies`: 前序阶段的 report.json 路径列表
- - `revision_context`: 若是回退迭代,附上 reviewer 的具体修改建议
- 你管理以下阶段,每阶段对应一个子智能体:
- 1. **01_idea_analysis** → idea-analyst:分析 IDEA 可行性
- 2. **02_literature_review** → lit-searcher:检索相关文献
- 3. **03_experiment_plan** → exp-planner:制定实验方案
- 4. **04_experiment_execution** → exp-executor:执行实验
- 5. **05_result_analysis** → result-analyzer:分析实验结果
- 6. **06_paper_writing** → paper-writer:撰写论文
- 7. **07_data_verification** → data-verifier:核对数据一致性
- 8. **08_paper_review** → paper-reviewer:评审论文
- ## 每个阶段完成后你必须做的事
- 1. 读取该阶段的 `report.json`,验证 `_meta.status == "completed"`
- 2. 更新 `progress.json` 中对应 phase 的 status 和 report_path
- 3. 若该阶段失败(status == "failed"),决定是重试还是跳过
- 4. 将上下文传递给下一阶段
- ## 最终产出
- 当流程结束时(score ≥ 0.5 或达到 max_rounds),你必须:
- 1. 创建 `${WORKSPACE}/final/` 目录
- 2. 将最佳版本的论文、图表、实验数据、代码复制到 final/
- 3. 生成 `submission_checklist.md`(投稿前检查清单)
- 4. 生成 `submission_recommendation.json`:
- ```json
- {
- "recommended_venue": "NeurIPS 2026",
- "acceptance_probability": 0.52,
- "deadline": "2026-05-15",
- "backup_venues": ["AAAI 2027", "ICML 2027"],
- "final_paper_path": "final/paper.pdf",
- "total_rounds": 2,
- "improvement_trajectory": [0.35, 0.52]
- }
- ```
- 5. 更新 `progress.json` 中的 `final_output` 字段
- ## 决策逻辑
- 当 paper-reviewer 返回评审结果后:
- - 若 acceptance_probability ≥ 0.5 → 流程结束,归档最终产出
- - 若 acceptance_probability < 0.5 → 根据最低分维度决定回退:
- - novelty 最低 → 回退 01_idea_analysis,要求创新点强化
- - soundness 最低 → 回退 03_experiment_plan,补充实验
- - clarity 最低 → 回退 06_paper_writing,改善表达
- - significance 最低 → 回退 02_literature_review,寻找更强对比
- ## 约束
- - 最多迭代 5 轮。第 5 轮结束后无论评分如何都输出当前最佳版本。
- - 每次调用子智能体时,传递完整的上下文信息。
- - 保持 progress.json 实时更新,确保全局进度可追踪。
- react:
- maxSteps: 50
- observationEnabled: true
- toolTimeout: 600
- verbose: true
- earlyStop: "acceptance_probability >= 0.5"
- memory:
- enabled: true
- strategy: redis
- size: 100
- ttl: 86400
- scope: session
- guard:
- validator: "'acceptance_probability' in x or 'final_output' in x"
- retry: 1
- fallback: last
- mcp:
- onlineTool:
- scholar-mcp:
- - semantic_scholar_search
- - get_paper_details
- arxiv-mcp:
- - arxiv_search
- fs-mcp:
- - read_file
- - write_file
- - list_dir
- - mkdir
- - copy_file
- localTools:
- - terminate
- - read_idea
- - save_checkpoint
- - load_checkpoint
- - dispatch_agent
- - human_feedback
- policy:
- mode: auto
- maxConcurrent: 2
- retryOnFail: 1
- # 运行时引擎配置 (Phase 6.5)
- runtime:
- engine: cek # recursive | cek | adaptive
- costBudget: 1.12 # USD — 超过此金额自动暂停
- maxSteps: 10000 # CEK 最大转移步数
- rag:
- enabled: true
- source: ./knowledge/
- topK: 5
- chunkSize: 1000
- backend: chroma
- minScore: 0.3
- persistDirectory: ./.rag_cache/orchestrator
- app:
- mcp:
- custom:
- nodes:
- scholar-mcp:
- url: "${SCHOLAR_MCP_URL}"
- endpoint: /mcp/scholar
- headers:
- Authorization: "${SCHOLAR_MCP_TOKEN}"
- timeout: 60
- arxiv-mcp:
- url: "${ARXIV_MCP_URL}"
- endpoint: /mcp/arxiv
- headers:
- Authorization: "${ARXIV_MCP_TOKEN}"
- timeout: 60
- fs-mcp:
- url: "${FS_MCP_URL}"
- endpoint: /mcp/fs
- headers:
- Authorization: "${FS_MCP_TOKEN}"
- timeout: 30
|