# Claude Code 视角:为什么混合架构是最优解 > **来源**: Claude Code 在深度了解 lambdagentpaas 架构后的自我分析。 > **核心结论**: Claude Code 最适合做"想"(规划/理解/判断),lambdagentpaas 最适合做"做"(执行/积累/保障)。两者结合优于任何一方单独使用。 --- ## 一、Claude Code 子智能体方案的优势 Claude Code 的 subagent 系统是硬编码在运行时里的,不需要编译、配置文件或额外基础设施。直接在内存里 fork 子进程,给一段 prompt 和一组工具,跑完返回结果。 ``` Claude Code 做法: 用户: "重构这个模块" → 脑内规划 5 个步骤 → 逐步调用 Read/Edit/Bash → 完成 不需要 YAML,不需要编译,不需要 PaaS。 ``` 对于**单次会话内的临时任务**,这是最优解——零配置、零部署、即用即走。 --- ## 二、Claude Code 方案的三个致命缺陷 ### 缺陷 1:知识不积累 每次会话结束,所有理解都丢失。下次用户问同样的代码库,从头读文件、从头理解。 **lambdagentpaas 的解决方案**:LLM Wiki 模式——知识编译一次,持续积累。Claude Code 每次都在重新发明轮子,wiki 只发明一次。 ### 缺陷 2:子任务不可复用 Claude Code 为"重构认证模块"制定的计划,下次遇到类似任务时完全用不上。规划是一次性的,存在对话上下文里,会话结束就消失。 **lambdagentpaas 的解决方案**:Skill + Pattern 系统——`review_pattern(coder, reviewer)` 定义一次,所有项目复用。 ### 缺陷 3:没有静态安全网 Claude Code 跑子任务时: - 死循环只能等超时 - 花了太多 token 事后才知道 - 两个并行子任务写同一个文件靠运气 **lambdagentpaas 的解决方案**: - 类型检查 (T-Compose) 在编译时发现组合错误 - 成本预测 (分级类型) 在执行前给出上界 - 并行安全 (store independence) 在编译时验证 - CEK 引擎在每步 Yield 点检查成本/循环 --- ## 三、两套方案的能力对比 | 能力 | Claude Code | lambdagentpaas | 谁更适合 | |------|------------|---------------|---------| | 理解模糊需求 | 强 | 弱(需要明确配置) | **Claude Code** | | 动态规划 | 强(实时调整) | 弱(预定义 Pattern) | **Claude Code** | | 与用户实时对话 | 强 | 弱 | **Claude Code** | | 强推理 | 强 (Opus/Sonnet) | 取决于本地模型 | **Claude Code** | | 知识积累 | 无(会话级) | 强(wiki 持久化) | **lambdagentpaas** | | 任务复用 | 无 | 强(Skill + Pattern) | **lambdagentpaas** | | 静态安全检查 | 无 | 强(lint + type + cost) | **lambdagentpaas** | | 执行成本 | 高(每步 API 调用) | 低(本地模型可 $0) | **lambdagentpaas** | | 暂停/恢复 | 无 | 强(CEK 状态序列化) | **lambdagentpaas** | | 可审计性 | 弱(黑箱推理) | 强(CEK trace + wiki 页面) | **lambdagentpaas** | | 可浏览性 | 无 | 强(Markdown wiki + Obsidian) | **lambdagentpaas** | | 并行执行 | 有(subagent 并行) | 有(AsyncPar + 汇合定理证明) | **lambdagentpaas** | | 形式化保证 | 无 | 有(λA 类型安全 + 终止性定理) | **lambdagentpaas** | --- ## 四、混合架构:最优解 不是二选一,而是**Claude Code 做前端,lambdagentpaas 做后端**。 ``` ┌────────────────────────────────────────┐ │ Claude Code (前端/规划层) │ │ │ │ 擅长: │ │ ✓ 理解用户自然语言需求 │ │ ✓ 动态规划(根据上一步结果调整) │ │ ✓ 与用户实时交互和确认 │ │ ✓ 处理从未见过的新任务类型 │ │ ✓ 判断何时用 Skill/Pattern,何时即兴发挥 │ │ │ │ 不擅长: │ │ ✗ 知识积累(会话结束就忘) │ │ ✗ 任务复用(每次重新规划) │ │ ✗ 成本控制(每步都花钱) │ │ ✗ 静态安全检查(只有试错) │ └──────────────┬─────────────────────────┘ │ MCP 工具调用 ▼ ┌────────────────────────────────────────┐ │ lambdagentpaas (后端/执行层) │ │ │ │ 擅长: │ │ ✓ 知识积累(LLM Wiki 持续编译) │ │ ✓ 任务复用(Skill + Pattern 库) │ │ ✓ 成本控制(分级类型 + CEK 熔断) │ │ ✓ 静态安全(lint + T-Compose + store) │ │ ✓ 本地执行(Ollama/Qwen $0) │ │ ✓ 可审计(CEK trace + wiki 页面) │ │ │ │ 不擅长: │ │ ✗ 理解模糊需求(需要明确配置) │ │ ✗ 动态调整(预定义流程) │ │ ✗ 处理全新任务类型(需要先定义 Skill) │ └────────────────────────────────────────┘ ``` ### 混合的具体工作方式 **场景 1: 新项目首次分析** ``` 用户: "帮我了解这个代码仓库" Claude Code (规划): 1. 判断: 这是"理解新代码库"任务 2. 检查 lambdagentpaas 是否有相关 wiki → 没有 3. 决定: 先用 WikiIngest 建立知识库 4. 调用 MCP: WikiIngest(path="/project/src") → lambdagentpaas 本地 LLM 阅读所有文件 → 写 wiki 页面 ($0) 5. 调用 MCP: WikiQuery("项目整体架构是什么?") → lambdagentpaas 读 wiki 页面 → 回答 ($0) 6. Claude Code 综合 wiki 回答,加上自己的理解,回复用户 Claude Code 花费: $0.03 (1 次规划) lambdagentpaas 花费: $0 (本地 LLM) 总计: $0.03 如果纯 Claude Code: $0.50+ (读每个文件都要 API 调用) ``` **场景 2: 日常开发** ``` 用户: "认证模块用的什么加密算法?" Claude Code: 1. 判断: 这是知识库已有的问题 2. 调用 MCP: WikiQuery("认证加密算法") → lambdagentpaas 读 wiki/entities/jwt.md → 直接回答 ($0) 3. Claude Code 转述给用户 花费: $0.01 (Claude Code 转述) + $0 (lambdagentpaas) = $0.01 ``` **场景 3: 从未见过的新任务** ``` 用户: "帮我把这个 Flask 项目改成 FastAPI" Claude Code: 1. 判断: 这是复杂重构任务,lambdagentpaas 没有现成 Skill 2. 决定: 自己直接做(动态规划 + 即时执行) 3. 读代码 → 规划步骤 → 逐文件修改 → 跑测试 4. 完成后,通知 lambdagentpaas 更新 wiki: WikiIngest(path="/project/src") # 重新编译知识 花费: $0.40 (Claude Code 执行) + $0 (wiki 更新) 下次类似任务: Claude Code 可以先看 wiki 里的重构记录 ``` --- ## 五、任务分类决策树 ``` 收到任务 │ ├── 是否有 lambdagentpaas wiki 覆盖? │ ├── 是 → WikiQuery 回答 (lambdagentpaas, $0) │ └── 否 → 继续判断 │ ├── 是否有现成 Skill/Pattern? │ ├── 是 → 组合 Skill + Pattern 执行 (lambdagentpaas, $0) │ └── 否 → 继续判断 │ ├── 是否是确定性重复任务? │ ├── 是 → Claude Code 规划 → 生成 Skill → lambdagentpaas 执行 │ └── 否 → 继续判断 │ ├── 是否需要强推理? │ ├── 是 → Claude Code 直接做 │ └── 否 → lambdagentpaas 本地模型做 │ └── 兜底 → Claude Code 直接做 → 完成后更新 wiki ``` --- ## 六、成本对比 以一个中等规模项目(50 个文件)的日常开发为例: | 操作 | 纯 Claude Code | 混合模式 | 节省 | |------|---------------|---------|------| | 首次理解代码库 | $1.50 (读 50 文件) | $0.03 (规划) + $0 (wiki 编译) | **97%** | | 每次简单问答 | $0.03 | $0.01 + $0 | **67%** | | 复杂分析 | $0.15 | $0.03 + $0 | **80%** | | 100 次日常问答 | $3.00 | $1.00 + $0 | **67%** | | 月度总计 (估算) | ~$50 | ~$5 | **90%** | --- ## 七、对 lambdagentpaas 的建议 要让这个混合架构真正落地,lambdagentpaas 需要: 1. **MCP Server 足够稳定** — Claude Code 调用 WikiIngest/WikiQuery 时不能卡住或崩溃 2. **首次使用零配置** — 一行 MCP 配置就能接入,不要求用户理解 λA 理论 3. **Wiki 路径自动管理** — 每个项目自动使用 `.lambdagent/wiki/` 目录 4. **降级优雅** — 本地 LLM 不可用时降级为纯文本索引(不崩溃) 5. **增量 Ingest 快** — 修改一个文件后重新 Ingest 应该只更新变化的部分 --- ## 八、一句话总结 **Claude Code 是厨师(懂创意、能应变),lambdagentpaas 是厨房(有工具、有食谱、有库存)。** 最好的餐厅不是让厨师自己磨刀种菜,而是让厨师专注做菜,厨房负责一切后勤。混合架构就是这个道理——Claude Code 专注理解和规划,lambdagentpaas 专注执行和积累。