此前一直尝试使用 codex 或 claude code 帮忙写代码,写完直接同一个 session 中跑实验,这样自己的代码自己知道怎么修;但仍然存在两个问题:
- “忙等待”,agent 基本上是在前台轮询 gpu 运行情况和和实验 log 来监督实验或等实验运行结束。这虽然能及时发现告警和运行时 bug,但实验没运行几个 step,大量重复的 toolcall 会带来上下文污染
- “早退出”,除非有 /goal 或 /schedule 等 loop 强行让其循环,否则 agent 无法在实验结束时醒来分析结果,而是看个几分钟觉得实验正常运行,停止监督,回复一个“程序健康报告”。
- 无协作:多session 运行不同实验,共享 gpu 资源,默认情况下就是互相 kill (真的),加了 AGENTS.md 约束后不会杀别的实验,但发现当前无 gpu 资源后,要么“忙等待” gpu 资源,要么“早退出” 说跑不了。
- 高价值 token 浪费:“忙等待” 即轮询监督实验消耗的 token ,远大于代码分析和需求实现,同时这还是机械工作。给高智能模型塞这样的脏活明显不划算。
- GPU 资源浪费:小时级别的实验跑完还得人来跑下一轮。
现有方案:
- subagent 能隔离 session 来监督实验(还没试过 subagent 换模型),能部分解决问题 4;
- 此前我使用过 slurm 系统,能提交 pending task,能很好解决问题 3 ;
额外需求:
要解决 1 和 2 ,可能需要一个额外服务,这个服务最关键的功能是。回调:只在任务异常 / 结束后形成一份实验报告,返回并唤醒原 agent session (将 prompt 注入此前交互式的 cc 或 codex session 感觉有点困难)。最后将该服务嵌入到已有的类 slurm 系统中形成一个独立的 agent gateway,成为一个智能 slurm,从而解决全部问题。
可能日后要补 agent 开发和协作知识,才能实现这样的愿景;欢迎佬给出问题的建议和意见!(要是已有开源就更好了)
