万恶之源:A/发力,ClaudeCode又又又断流了
我一直以来的工作流是ClaudeCode + DeepSeek V4。通过 CC-Switch 把Haiku槽位映射到deepseek-v4-flash,Opus/Connect槽位映射到deepseek-v4-pro。这套组合拳效果一直很好——v4-pro做规划和复杂推理,v4-flash做快速执行,成本比直接用Anthropic官方模型低一个数量级,体验却不差。
但最近ClaudeCode对第三方模型的支持越来越差。对话到一半经常莫名其妙断掉,回复突然截断,像是被什么invisible token limit卡住了。

我不确定是A/ 又在"下毒"(暗中限制非官方模型),还是CC本身的兼容性出了问题。但不管原因是什么,这都不是长久之计,我需要一个Plan B。
尝试OpenCode:差点意思
OpenCode是目前最活跃的开源AI编程助手之一,架构清晰,插件体系完善,还支持后台子代理。但它的内置agent只有两个:
build —— 全能型,什么都能干,什么权限都有 plan —— 只读分析,不能改文件
这满足不了我。我要的不是一个AI包揽一切,而是ClaudeCode那种自主规划 + 委派执行的体验:
一个只动脑不动手的编排器,负责理解需求、拆分任务、调度资源 一群专业化的执行者,每个只干一类活,权限最小化 对抗性验证——改完代码后不是自我确认"看起来没问题",而是真的去跑测试、写探针、试图break它
OpenCode内置的build agent做不到这种分离。它是一个全能但有权限的胖代理——上下文里塞满了文件内容和工具输出,越干越慢,越干越贵。
扒源码
既然OpenCode本身不支持,那就自己搓。我做了两件事:
读OpenCode的源码。 把它的运行时机制用AI翻了个底朝天——核心循环、流式工具执行、子代理调度、权限系统、上下文压缩。结论是OpenCode的引擎能力其实很强,它已经有流式工具并行执行、实验性后台子代理、动态权限评估、多层级联压缩。缺的不是能力,是配置。
找ClaudeCode的代码做参考。ClaudeCode的源码通过npm source map泄露过一份(怎么找的别问)。我重点研究了三块:
Coordinator Mode——ClaudeCode的编排器模式,4阶段工作流(Research → Synthesis → Implementation → Verification),prompt撰写指南,continue-vs-spawn决策表 Verification Agent——对抗性验证子代理的完整prompt,包含反合理化模式("reading code is not verification, run it")、按改动类型的验证策略、good/bad输出示例 /simplify技能——三分支并行代码审查(复用/质量/效率),维度定义非常具体
这些是工业级的prompt工程,不是随便写的。我把其中最核心的设计理念提取出来,针对OpenCode的运行时做了适配,最终产出了一套7个agent定义文件——就是opencode-solo。
搓出Solo
核心思路:让主Agent只负责思考和决策(不动手),六个子代理负责干活(不深度思考)。
Solo是一个只读的编排器——零文件 / Shell访问权限。它只能调度子代理干活,或者向用户提问。所有实际操作都通过专业化子代理完成:

上下文隔离 = Token省钱
传统单代理模式下,所有东西堆积在一个上下文里:

Solo只看到子代理返回的简洁文本摘要,从不接触原始文件内容或冗长的工具输出。一个100Ktoken的任务,Solo的编排器可能只消耗5-10K token的上下文(我脑测的,一切以实际数据为准)。
别迷信模型能力——规划执行分离才是王道
这里要安利一下DeepSeek V4的组合用法。
很多人觉得"要用就用最强的",一个Opus/GPT搞所有事。但这其实是最浪费的方案:
正确的做法是分层:
deepseek-v4-pro | |||
deepseek-v4-flash | |||
因为Solo的上下文里只有子代理返回的摘要和决策,用v4-pro做编排的成本极低。而写代码这种机械任务交给v4-flash,又快又便宜(flash的吐词速度更快)。
规划执行分离 + 专家模型规划 + 快速模型执行 = 比全程用强模型更好的体验,同时成本大幅降低。
这不只是我的个人经验。我让AI找了一些论文来论证我的观点这,一架构有活跃的学术研究支撑:
Cai, T., Wang, X., Ma, T., Chen, X., & Zhou, D. (2023). Large Language Models as Tool Makers. arXiv:2305.17126. Google DeepMind. Chen, L., Zaharia, M., & Zou, J. (2023). FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance. arXiv:2305.05176. Stanford University. Ong, I., Almahairi, A., Wu, V., Chiang, W.-L., Wu, T., Gonzalez, J. E., Kadous, M. W., & Stoica, I. (2024). RouteLLM: Learning to Route LLMs with Preference Data. arXiv:2406.18665. UC Berkeley. Hong, S., Zhuge, M., Chen, J., Zheng, X., Cheng, Y., Zhang, C., et al. (2024). MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework. ICLR 2024. Qian, C., Liu, W., Liu, H., Chen, N., Dang, Y., et al. (2024). ChatDev: Communicative Agents for Software Development. ACL 2024.
Solo的工作流程
Solo收到请求后,先调度explore 搜索代码库、读取项目约定(阶段1)。拿到发现后Solo自己综合分析,必要时向用户确认方案(阶段2)。确认后调度editor 执行修改(阶段3),再调度verify 做对抗性测试——跑真实命令、写探针、猎杀边界情况(阶段4)。如果验证失败,Solo让editor 修复后重新验证,最多两轮,通过后才向用户汇报。reviewer 和observer 随时按需调度,长任务还能后台并行。

开箱即用

安装OpenCode后,三步搞定。仓库地址请在GitHub搜索opencode-solo 获取:
# 1. 复制 agent 文件(仓库地址在GitHub搜 opencode-solo)git clone <仓库地址>cp opencode-solo/agent/*.md ~/.config/opencode/agent/# 2. 配置模型(改成你自己的 provider)cp opencode-solo/opencode.jsonc.example ~/.config/opencode/opencode.jsonc# 3. 启用后台子代理(推荐)export OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS=true
在opencode.jsonc 里填你自己的provider,下面是我自己的配置:
{"agent": {"verify": { "model": "deepseek/deepseek-v4-pro", "variant": "max" },"explore": { "model": "deepseek/deepseek-v4-flash", "variant": "medium" },"editor": { "model": "deepseek/deepseek-v4-flash", "variant": "medium" },"general": { "model": "deepseek/deepseek-v4-pro", "variant": "max" },"reviewer": { "model": "deepseek/deepseek-v4-pro", "variant": "max" },"observer": { "model": "kimi-for-coding/k2p5" }}}
然后启动OpenCode,选solo agent,完事。
总结
从ClaudeCode断流到扒源码到搓出opencode-solo,整个过程大概两天。核心收获是:
OpenCode的引擎能力很强——流式工具执行、后台子代理、动态权限、多层级联压缩都有,缺的是好配置 ClaudeCode的prompt工程是工业级的——反合理化模式、对抗性验证策略、good/bad示例,值得学习 规划执行分离+模型分层是经过学术验证的架构——不是拍脑袋 DeepSeek V4 pro + flash组合很能打——别迷信模型能力,用对架构比用对模型更重要
项目已开源,在GitHub搜索 opencode-solo 即可找到。MIT协议,开箱即用。如果觉得有用,给个 Star ⭐~
夜雨聆风