Files
GenericAgent/memory/subagent.md
Liang Jiaqing 2b5cbff7be feat: --verbose flag, lazy mykeys loading, temperature config support
- agentmain: add --verbose arg for subagent monitoring mode
- llmcore: lazy-load mykeys/proxies via module __getattr__
- llmcore: fix auto_make_url regex for trailing slash cases
- llmcore: support temperature override from session config
- docs: update subagent.md with --verbose usage note
2026-04-12 14:29:32 +08:00

3.7 KiB
Raw Blame History

Subagent 调用 SOP

文件IO协议

  • 目录:temp/{task_name}/cwd在temp/时即./{task_name}/
  • 启动:python agentmain.py --task {name} [--input "短文本"] [--bg] [--llm_no N]cwd=代码根)
  • --input自动建目录+清旧output+写input.txt长文本先手动写input.txt再启动(不带--input)
  • --bg后台(print PID exit)可同一code_run内sleep后poll非--bg禁合并启动+轮询
  • input目标+约束即可subagent同等智能。禁写步骤/过度描述,大量数据给路径
  • 通信output.txt(append,[ROUND END]=轮完成) → 写reply.txt继续 → 不写10min退出。reply后输出为output1/2/3.txt(同格式)
  • 干预文件:_stop(当轮结束退出) | _keyinfo(注入working memory) | _intervene(追加指令)
  • 主agent空闲时应读output观察进度必要时用干预文件纠偏禁止无脑长时间sleep轮询
  • 监察模式启动时加--verboseoutput将包含工具执行结果主agent可直接审查原始数据而非仅信任摘要

场景1测试模式 - 行为验证

用途观察agent真实行为修正RULES/L2/L3/SOP 流程创建test_path/写input.txt→启动subagent→轮询output.txt(2秒间隔)→验证→清理重复 测试原则:只给目标,不提示位置/不诱导做法,观察自主选择 修正闭环:发现问题→设计测试→定位根源(RULES/L2/L3/SOP)→patch修正→验证 技术要点Insight优先级>SOPsubagent的cwd=temp/ 两种测试

  • 测SOP质量input指定SOP名如"用ezgmail_sop查看最近3封未读邮件"排除导航干扰失败即SOP问题
  • 测导航能力input只写目标验证subagent能自主从insight找到正确SOP。禁止内联SOP内容

场景2Map模式 - 并行处理

用途将N个独立同构子任务分发给各自的subagent处理 核心优势独立上下文。避免处理文档A的长上下文污染处理文档B的质量 约束

  • 文件系统共享是优点不同agent处理不同输入文件产生不同输出文件
  • 共享资源冲突:键鼠不可共享;浏览器暂时不可并行使用,避免同时操作同一标签页
  • 不满足map模式的任务 → 主agent顺序执行即可别用subagent 标准流程map-reduce
  1. 主agent准备阶段爬取/dump数据存为多个独立输入文件
  2. 分发对每个文件启动一个subagent处理主agent自己也可以处理其中一个
  3. 收集等所有subagent完成主agent读取各输出文件汇总结果

subagent内部plan_mode使用

原则subagent本身是完整agent接收多步骤任务时应在内部创建plan管理执行 触发条件:任务包含3个以上子步骤、子步骤之间有依赖关系、需要checkpoint来恢复执行 实现方式

  1. 主agent创建subagent时在input.txt中说明任务包含多个步骤建议使用plan_mode
  2. subagent内部执行:检测到多步骤任务后,创建 ./subagent_plan.md 并使用plan_mode执行
  3. 主agent监控只关注最终结果output*.txt不需要关心subagent内部如何执行
  4. 文件传递机制主agent创建subagent时在task_dir中生成 context.json,包含所有文件的绝对路径 ⚠ subagent启动后第一步必须读取context.json ⚠ 所有文件操作必须使用context.json中的绝对路径 格式示例
{
  "task": "任务描述",
  "work_dir": "/absolute/path/to/plan_dir/",
  "input_files": {
    "paper_info": "/absolute/path/to/paper_info.txt"
  },
  "output_files": {
    "pdf": "/absolute/path/to/paper.pdf",
    "report": "/absolute/path/to/paper_report.md"
  },
  "dependencies": ["paper_info.txt必须存在"]
}