让主会话当个“傻瓜”运行环境反而能让 Coding Agent 变强
把主会话当成大脑其实是个误区,如果让主 session 彻底变傻,只负责调用子 Agent,效率可能会高得多。现在的痛点是上下文太臃肿,跑久了模型就开始胡言乱语,其实完全可以把架构改成:主会话 = 运行时,子 Agent = 大脑+执行者,项目状态 = 内存。
下一篇
Rust 的 Polonius 借用检查器在 Nightly 默认开 →
在这种模式下,主会话不需要理解项目逻辑,也不需要维护巨大的 Context,它唯一的工作就是不停地发指令:“去检查下一步该干什么”。具体的活儿全交给子 Agent,由它来分析哪些做完了、哪里崩了、接下来该修哪个 Bug。干完活后,子 Agent 更新项目状态文件,然后直接销毁。
我尝试在类似的 workflow 中模拟这个逻辑,核心其实就是建立一个 state.md 或者 todo.json 作为唯一真理来源。
一、具体实现逻辑
1. 状态同步:子 Agent 每次启动先读 state.md,确认当前进度。
2. 任务执行:在独立会话中完成代码修改,不污染主会话上下文。
3. 状态回写:执行完毕后,将结果更新到 state.md 并退出。
4. 循环触发:主会话检测到子 Agent 结束,再次触发调用。
二、一个简单的状态追踪配置示例
如果要在 Cursor 或 Claude Code 这种工具里手动模拟,可以建立这样一个文件:
{
"current_goal": "实现用户登录接口",
"completed_tasks": [
"数据库表结构设计",
"基础路由配置"
],
"pending_tasks": [
"JWT 鉴权逻辑实现",
"密码加密存储"
],
"broken_points": [
"auth_service.py 第 42 行有类型错误"
]
}这样主会话只需要说一句 Check state.json and handle the next pending task 就能跑起来。
这种方案最爽的地方在于避开了长会话带来的 Token 浪费和注意力分散。无论项目多大,子 Agent 每次面对的都是新鲜的上下文和明确的状态快照。比起强行把所有历史记录塞给模型,这种“短时记忆+外部状态”的组合显然更稳。
更系统的工具评测汇总在AI工具实测笔记,有不少直接可参考的案例。
