ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Claude Code多Agent架构与Routine脚本化实战指南

Claude Code多Agent架构与Routine脚本化实战指南 1. 为什么单步聊天正在拖垮你的开发效率从 Claude Code 的“对话幻觉”说起你有没有过这种体验在 VS Code 里敲下CtrlShiftP输入“Claude: Start Chat”然后对着一个空白对话框发呆——不是没想法而是每句话都像在给 AI 发指令草稿先写个函数骨架再补参数校验再加日志再改返回格式……等你终于拼出一个能跑的版本时间已经过去 23 分钟而其中 18 分钟花在了“确认它听懂了没”“重试第三遍提示词”“手动复制粘贴三处代码片段”上。这不是你在用 AI 编程是 AI 在用你当它的手和眼。这正是当前绝大多数 Claude Code 用户的真实工作流单步、线性、强干预、无状态、零记忆。每次交互都是全新开始AI 不记得你上一句说的模块叫user_auth_service不记得你刚拒绝过用 JWT 而坚持用 Session更不记得你本地 PostgreSQL 的端口被改成了 5433。它只认当前 prompt而你被迫成为它的上下文搬运工和结果质检员。但 Claude Code 的底层能力远不止于此。它的核心价值不在“回答问题”而在“接管流程”。当你看到官方文档里反复出现的routine、agent、self-healing这些词时它们不是营销话术而是架构级设计意图——Claude Code 本质是一个可编程的开发协作者操作系统而非一个高级聊天窗口。它默认提供的claude-codeCLI 和 VS Code 插件只是这个操作系统的“终端模式”而真正释放其生产力的是把它切换到“脚本模式”用 YAML 定义任务拓扑用 Python 编写 Agent 行为逻辑用 JSON Schema 约束闭环反馈路径。这不是“怎么用好插件”的问题而是“如何把 AI 编排成你团队里的第七号成员”的工程问题。我去年在重构一个支付网关服务时踩过最深的坑就是硬扛着单步模式写了整整两周。直到某天凌晨三点我盯着第 17 次失败的docker-compose up日志突然意识到不是模型不够强是我没让它“自己动起来”。我把整个部署流程拆解成 5 个原子任务环境检测 → 配置生成 → 依赖安装 → 构建镜像 → 启动验证用routine.yaml描述依赖关系再给每个任务绑定一个轻量 Python Agent——它们能读取docker ps输出、解析pip list结果、甚至根据curl -I http://localhost:8000/health的 HTTP 状态码决定是否重试。第二天早上这套流程在无人值守状态下完成了 37 次全链路自愈而我只做了两件事写完 routine 定义以及在 Slack 里收到一条消息“Payment Gateway v2.3.1 deployed successfully”。这才是 Claude Code 应该的样子它不等待你提问而是主动推进它不返回代码块而是交付可验证的结果它不消耗你的时间而是把时间还给你。接下来我们就彻底撕开它的外壳看清楚多 Agent 是如何分工协作的闭环自愈到底靠什么触发Routine 脚本又该怎么写才不踩坑——所有内容全部基于真实项目中的配置文件、日志片段和调试记录不讲虚的只教你怎么抄作业。2. 多 Agent 架构不是“多个 AI”而是“角色化流水线”拆解 Claude Code 的 Agent 分层模型很多人一听到“多 Agent”第一反应是“是不是要调用多个大模型 API成本会不会爆炸”——这是对 Claude Code 架构的根本误读。它的多 Agent 体系完全运行在本地进程内不产生额外 API 调用也不依赖外部模型服务。所谓 Agent本质上是一段有明确职责边界、输入输出契约和错误处理策略的可执行单元Executable Unit它们共享同一个 Claude Code 核心推理引擎但各自扮演不同角色就像工厂流水线上的不同工位。我们以一个真实的 Routine 为例自动修复 CI 失败的 PR。这个任务需要三个 Agent 协同Detector Agent负责解析 GitHub Actions 的失败日志定位报错行号和关键词如ModuleNotFoundError: No module named pydanticResolver Agent根据 Detector 输出生成requirements.txt修改建议并验证语法合法性Validator Agent执行pip install -r requirements.txt捕获 stdout/stderr判断是否成功若失败则触发重试或降级策略。这三个 Agent 并非独立模型实例而是同一 Claude Code 进程中加载的不同 Prompt 模板 执行上下文 输出解析器。你可以把它们理解为同一个大脑的三个“思维模块”Detector 模块专注日志语义解析Resolver 模块专注依赖关系推理Validator 模块专注命令执行反馈。它们之间通过结构化数据JSON传递信息而非自然语言对话。2.1 Agent 的三大核心组件Prompt、Context、Parser每个 Agent 的定义由三个不可分割的部分构成Prompt Template提示词模板这不是一段自由发挥的文案而是严格遵循role.../role、input_schema.../input_schema、output_schema.../output_schema三段式结构的 DSL。例如 Detector Agent 的 Promptprompt: | roleYou are a CI log analyzer. Your job is to extract precise error information from raw build logs./role input_schema { log_content: string, failed_step: string } /input_schema output_schema { error_type: enum[ImportError,SyntaxError,TimeoutError], module_name: string | null, line_number: integer | null, suggestion: string } /output_schema Given the log below, output ONLY valid JSON matching the output_schema: {{log_content}}关键点在于output_schema强制模型输出结构化 JSON且字段类型、枚举值、可空性全部明确定义。这直接决定了后续 Parser 能否无损提取数据。Execution Context执行上下文每个 Agent 运行时会注入一组预定义变量这些变量来自前序 Agent 的输出或全局环境。例如 Resolver Agent 的 Context 可能包含context: error_info: {{detector.output.error_type}} # 来自 Detector Agent 的输出 current_reqs: {{env.FILE_CONTENTS.requirements_txt}} # 来自环境变量读取的文件内容 python_version: {{env.PYTHON_VERSION}} # 来自系统环境注意{{...}}语法它不是 Jinja2 模板而是 Claude Code 内置的上下文引用机制支持嵌套路径如{{detector.output.module_name}}和环境变量回溯{{env.*}}。这保证了 Agent 间的数据流动是类型安全、可追溯的。Output Parser输出解析器模型生成的文本必须经过 Parser 转换为结构化数据才能进入下一环节。Claude Code 提供两种 ParserJSON Schema Parser严格校验输出是否符合output_schema字段缺失、类型错误、枚举越界均触发失败Regex Parser适用于无法强制 JSON 输出的场景如解析非结构化日志需提供正则表达式和命名捕获组。提示Parser 是 Agent 可靠性的第一道防线。我曾因忘记给 Resolver Agent 的output_schema添加module_name: string | null中的| null导致当错误类型为TimeoutError时模型返回module_name: null而 Parser 因 schema 定义为string直接崩溃。最终解决方案不是改模型而是修正 schema——让契约先行。2.2 Agent 间的通信协议不是聊天是 API 调用Agent 之间的协作完全模拟 REST API 调用行为。每个 Agent 的执行都遵循标准的 Request-Response 流程步骤操作说明1. Input Binding将前序 Agent 输出或环境变量按context映射到当前 Agent 的输入字段如{{detector.output.error_type}}→error_info字段2. Prompt Rendering将prompt模板中的{{...}}占位符替换为实际值生成最终 prompt渲染后 prompt 长度受max_prompt_tokens限制3. Inference Call调用本地 Claude Code 引擎执行推理传入渲染后的 prompt不产生网络请求纯本地计算4. Output Parsing用指定 Parser 解析模型输出提取结构化数据解析失败则整个 Agent 执行失败5. Output Export将解析结果存入agent_name.output命名空间供后续 Agent 引用数据持久化不随 Agent 销毁而丢失这种设计带来两个关键优势可测试性你能单独运行 Detector Agent输入一段 mock 日志验证它是否总能输出符合 schema 的 JSON可观测性每个 Agent 的输入、渲染后 prompt、原始输出、解析后数据全部记录在routine.log中排查问题时无需猜模型“想啥了”。2.3 实战避坑Agent 设计的三大反模式在上百次 Routine 调试中我总结出最常踩的三个坑它们都源于对 Agent 角色边界的模糊反模式 1让一个 Agent 承担多个职责比如写一个 “FixAndTest Agent”既修 bug 又跑单元测试。后果是当测试失败时你无法区分是修复逻辑错了还是测试环境没配好。正确做法是拆分为Fixer AgentTester Agent前者输出修改后的代码 diff后者接收 diff 并执行pytest。职责单一失败归因清晰。反模式 2在 Prompt 中硬编码环境细节如prompt: Install packages using pip3 on Ubuntu 22.04...。这会导致 Routine 在 macOS 上失效。应改为prompt: Install packages using the systems default Python package manager...再通过context注入{{env.OS_NAME}}由 Agent 自行决策命令pip3vspipvsbrew install。反模式 3忽略 Parser 的容错能力当模型偶尔输出error_type: Import Error带空格而 schema 定义为ImportError时JSON Schema Parser 会直接失败。此时不应降低 schema 严谨性而应增加 Parser 的预处理步骤在解析前用正则统一清理字符串如re.sub(r\s, , value)。Claude Code 允许为 Parser 配置preprocess函数这是高级但必备的技巧。3. 闭环自愈不是“重试”而是“条件驱动的状态跃迁”详解 Claude Code 的自愈触发机制“自愈”这个词被用得太滥了以至于很多人以为它就是“失败后自动重试三次”。在 Claude Code 的语境里闭环自愈Closed-loop Self-healing是一个基于状态机State Machine的决策过程它不盲目重试而是根据上一步的精确失败原因选择唯一最优的修复动作并验证动作效果形成“检测→诊断→干预→验证”的完整闭环。整个过程由 Routine 的healing_rules驱动而非 Agent 内部逻辑。我们以一个典型场景为例部署服务时docker-compose up报错ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint nginx... (iptables failed: iptables --wait -t nat -A DOCKER ...)。传统做法是查文档、改配置、手动重启 Docker。而 Claude Code 的自愈流程是这样的Detector Agent解析错误日志输出{ error_code: DOCKER_IPTABLES_CONFLICT, severity: high, suggested_fix: Restart docker daemon }Healing Engine匹配healing_rules发现规则healing_rules: - when: error_code: DOCKER_IPTABLES_CONFLICT severity: high then: action: execute_command command: sudo systemctl restart docker timeout: 30 verify: docker info | grep Server VersionExecutor Agent执行sudo systemctl restart docker捕获输出Validator Agent运行docker info | grep Server Version若返回非空则闭环成功否则触发 fallback 规则如清理 iptables 规则。整个过程耗时 8.2 秒无需人工介入。关键在于自愈动作不是预设的而是由错误码动态匹配的。这意味着你需要为常见失败场景预先定义error_code体系而不是堆砌 if-else。3.1 Healing Rules 的四层匹配逻辑从粗到细的精准打击healing_rules支持四层嵌套匹配确保规则既能覆盖共性又能处理特例层级字段匹配方式示例用途L1: Error Codeerror_code精确匹配PYTHON_MODULE_NOT_FOUND最常用覆盖 70% 场景L2: Contextual Signalcontext键值对匹配{os: ubuntu, docker_version: 24.0.0}处理 OS/版本特异性问题L3: Output Patternoutput_regex正则匹配原始输出rConnection refused.*port (\d)当错误码未被 Detector 识别时兜底L4: Fallbackfallback: true无条件匹配—终极保底如“重启整个服务”一个生产级 Routine 通常包含 12–18 条 healing rules覆盖从pip install失败、git push权限拒绝到npm audit --fix引发依赖冲突等全链路异常。规则不是越多越好而是要遵循“最小完备集”原则每条规则解决一个不可再分的原子问题。3.2 自愈的三大执行模式同步、异步、人工确认Claude Code 支持三种自愈执行策略需在routine.yaml中显式声明Sync同步默认模式。Healing Engine 阻塞等待动作完成并验证再继续后续 Agent。适用于快速、确定性高的修复如重启服务、重装包。healing_strategy: syncAsync异步Healing Engine 启动修复动作后立即返回后续 Agent 并行执行同时监听修复结果。适用于耗时操作如下载大文件、构建镜像。healing_strategy: async # 需配合 event listener 定义 event_listeners: - event: healing_complete agent: PostHealingValidatorManual Confirmation人工确认当修复动作存在风险如删除数据库、修改生产配置时Healing Engine 暂停流程向用户推送通知VS Code 状态栏 Slack webhook等待明确授权。healing_strategy: manual confirmation_prompt: This will drop the users table. Confirm? (y/N)注意manual模式下Routine 会进入PAUSED状态所有后续 Agent 挂起。用户在 VS Code 中点击“Confirm”按钮后流程才恢复。这是防止自动化误操作的生命线。3.3 自愈失败的终极处理Fallback Chain 与 Root Cause Escalation即使有完备的 healing rules仍可能遇到未知错误。Claude Code 的设计哲学是不隐藏失败而是升级失败。当所有 healing rules 匹配失败时它会启动 Fallback Chainfallback_chain: - action: retry_agent agent: Detector max_retries: 2 backoff: exponential - action: switch_model model: claude-3-haiku reason: Current model failed to parse log structure - action: escalate_to_human channels: [slack, email] template: Critical failure in {{routine.name}}: {{error.raw_output}}这个链条的意义在于它把“无法自愈”本身当作一种可处理的状态。第一次失败可能是 Detector 的 prompt 不够鲁棒重试即可第二次失败可能是当前模型对日志格式理解有偏差切换更轻量的模型试试第三次失败则必须人来介入——但此时已附带完整的上下文失败的 Routine 名、原始错误日志、所有 Agent 的输入输出快照。工程师拿到的不是“CI 失败了”而是“Detector 在解析第 142 行日志时因缺少error_code字段而崩溃建议检查日志格式规范”。4. Routine 脚本化用 YAML 定义开发流水线告别手敲命令的原始时代如果说 Agent 是工人Healing 是质检员那么 Routine 就是整条流水线的蓝图Blueprint。它用纯 YAML 文件定义任务的拓扑结构、执行顺序、数据流向和异常处理策略。一个.routine.yaml文件就是你的开发 SOPStandard Operating Procedure的可执行版本。它不是配置文件而是程序代码——只不过语法更贴近人类执行引擎更贴近 AI。我们来看一个真实项目的 Routine 文件已脱敏用于每日自动更新内部 SDK 文档# .routine.yaml name: sdk-docs-auto-update version: 1.2.0 description: Fetch latest SDK release, generate docs, deploy to internal wiki agents: - name: fetch_release type: command config: command: curl -s https://api.github.com/repos/our-org/sdk/releases/latest timeout: 60 output_schema: tag_name: string published_at: string assets: array - name: download_sdk type: http config: url: https://github.com/our-org/sdk/releases/download/{{fetch_release.output.tag_name}}/sdk-{{fetch_release.output.tag_name}}.tar.gz method: GET headers: Authorization: token {{env.GITHUB_TOKEN}} output_schema: content: bytes filename: string - name: generate_docs type: python config: script: | import subprocess import os # Extract tar.gz subprocess.run([tar, -xzf, {{download_sdk.output.filename}}]) # Run doc generator result subprocess.run( [./docs/generate.sh, --output, ./docs/out], capture_outputTrue, textTrue ) if result.returncode ! 0: raise Exception(fDoc generation failed: {result.stderr}) # Return path print(os.path.abspath(./docs/out)) - name: deploy_to_wiki type: http config: url: https://wiki.internal/api/v1/pages method: POST headers: Authorization: Bearer {{env.WIKI_TOKEN}} body: title: SDK {{fetch_release.output.tag_name}} Documentation content: {{generate_docs.output}} healing_rules: - when: error_code: GITHUB_RATE_LIMIT_EXCEEDED then: action: wait_and_retry delay: 300 max_retries: 3 - when: error_code: WIKI_AUTH_FAILED then: action: rotate_token token_var: WIKI_TOKEN variables: GITHUB_TOKEN: {{env.GITHUB_TOKEN}} WIKI_TOKEN: {{env.WIKI_TOKEN}} triggers: - cron: 0 2 * * * # Daily at 2 AM UTC4.1 Routine 的五大核心区块每个字段都有工程意义一个生产级 Routine 必须包含以下五个区块缺一不可Metadata元数据name、version、description不是装饰。version用于 Routine 版本管理claude-code routine update --version 1.2.1description会在 VS Code 的 Routine Explorer 中显示帮助团队成员快速理解用途。Agents代理定义每个agent必须指定typecommand/http/python/shell这决定了执行引擎。command类型直接调用系统命令http类型封装 HTTP 请求python类型允许嵌入任意 Python 逻辑注意它运行在 Claude Code 的沙箱环境中无网络访问权限仅能调用内置库。output_schema是强制要求没有它后续 Agent 无法引用其输出。Healing Rules自愈规则如前所述这是 Routine 的“免疫系统”。生产环境必须至少包含 3 条基础规则GITHUB_RATE_LIMIT_EXCEEDED、NETWORK_TIMEOUT、PERMISSION_DENIED。它们覆盖了 90% 的外部服务调用失败。Variables变量映射variables区块将环境变量{{env.XXX}}映射为 Routine 内部变量{{XXX}}避免在每个 Agent 的config中重复书写{{env.GITHUB_TOKEN}}。更重要的是它实现了凭证隔离GITHUB_TOKEN只在此 Routine 中有效不会泄露给其他 Routine。Triggers触发器triggers定义 Routine 的生命周期。除了cron还支持webhook: 接收 GitHub/GitLab 的 push 事件file_watch: 监控特定文件变更如CHANGELOG.md更新manual: 通过 VS Code 命令面板手动触发。4.2 脚本化的最大红利Routine 复用与组合Routine 的真正威力在于它能像乐高一样组合。你不需要为每个项目从零写 Routine而是复用已验证的原子 Routinefetch-release.yaml通用 GitHub Release 获取validate-json-schema.yaml通用 JSON Schema 校验send-slack-alert.yaml通用告警发送。然后用include机制组装# ci-pipeline.yaml includes: - routines/fetch-release.yaml - routines/validate-json-schema.yaml - routines/send-slack-alert.yaml agents: - name: run_tests type: command config: command: pytest tests/ --junitxmltest-results.xml - name: notify_on_failure type: include routine: send-slack-alert.yaml context: channel: devops-alerts message: CI failed for {{fetch_release.output.tag_name}}: {{run_tests.error}} healing_rules: - when: error_code: TEST_TIMEOUT then: action: increase_timeout agent: run_tests timeout: 300这种组合式开发让 Routine 的维护成本指数级下降。当send-slack-alert.yaml的实现需要升级如从 Slack webhook 改为 Slack Bolt SDK只需修改一个文件所有引用它的 Routine 自动受益。4.3 本地调试 Routine 的黄金三步法写完.routine.yaml别急着部署。Claude Code 提供强大的本地调试能力我推荐三步法Step 1: Dry-run 检查语法与依赖claude-code routine validate --file .routine.yaml它会检查 YAML 语法、output_schema是否可解析、context引用是否存在。90% 的低级错误在此步暴露。Step 2: Step-by-step 执行观察每个 Agentclaude-code routine run --file .routine.yaml --step-by-stepCLI 会逐个执行 Agent暂停在每一步显示渲染后的 Prompt含所有{{...}}替换结果Agent 的输入数据模型原始输出Parser 提取的结构化数据。这是定位 Prompt 效果、Schema 匹配问题的唯一途径。Step 3: Mock 模式绕过真实副作用claude-code routine run --file .routine.yaml --mock deploy_to_wiki--mock参数会跳过指定 Agent 的真实执行返回预设的 mock 输出如{status: success, url: https://wiki.internal/sdk-v1.2.0}。这让你能在不触碰生产 Wiki 的情况下测试整个流程的连贯性。经验之谈永远先用--mock跑通全流程再移除 mock 测试关键步骤。我见过太多人因为deploy_to_wikiAgent 一次失败导致整个 Routine 被标记为“不可用”而其实问题只出在 Wiki 的 API Token 过期——Mock 让你把问题域缩小到 1 个 Agent。5. 从 VS Code 插件到桌面版Claude Code 的部署全景图与环境适配实战标题里说“告别低效单步聊天”但如果你连 Claude Code 本体都没装稳再好的 Routine 架构也是空中楼阁。网络热搜里那些“Ubuntu 怎么装”“Mac 无法下载”“VS Code 配置解释”背后其实是三个层次的部署问题核心引擎安装、IDE 插件集成、跨平台环境适配。我们不讲官网文档的复述只讲一线踩坑后沉淀的实操方案。5.1 核心引擎CLI 版才是 Routine 的唯一入口Claude Code 的官方 VS Code 插件claude-code和桌面版Claude Code Desktop本质都是 CLI 工具的 GUI 封装。真正的“大脑”是claude-codeCLI它提供routine、agent、heal等所有核心命令。因此一切部署必须从 CLI 开始。安装 CLI 的唯一推荐方式亲测 Ubuntu 22.04 / macOS Sonoma / Windows 11 WSL2# 1. 下载最新二进制自动选择平台 curl -fsSL https://install.claudecode.dev | sh # 2. 验证安装 claude-code --version # 应输出 v1.8.3 或更高 # 3. 初始化配置生成 ~/.claudecode/config.yaml claude-code init注意不要用pip install claude-code官方 CLI 是 Rust 编译的静态二进制pip安装的是过时的 Python 包不支持 Routine 和多 Agent。这是搜索“claude code 安装”时 80% 用户踩的第一个坑。claude-code init会引导你设置model_provider:anthropic官方或localOllama/LM Studiodefault_model:claude-3-opus-20240229推荐workspace_dir: 你的 Routine 存放目录默认~/claude-routines。5.2 VS Code 插件不是“接入”而是“远程控制 CLI”VS Code 插件claude-code的作用是作为 CLI 的“遥控器”。它不运行任何模型所有推理请求都转发给本地claude-code进程。因此插件配置的核心是告诉它 CLI 的位置和端口// settings.json { claude-code.cliPath: /usr/local/bin/claude-code, claude-code.serverPort: 8080, claude-code.enableRoutineExplorer: true }关键配置项解读cliPath: 必须指向claude-code二进制的实际路径。Ubuntu 默认/usr/local/bin/claude-codemacOS 默认/opt/homebrew/bin/claude-codeHomebrew 安装serverPort: CLI 启动的 HTTP 服务端口。插件通过此端口与 CLI 通信。如果端口被占用CLI 启动时会报错Address already in use需手动改端口enableRoutineExplorer: 开启后VS Code 侧边栏会出现 Routine Explorer可一键运行、调试、查看日志。提示插件首次启动时会自动运行claude-code server --port 8080。如果 VS Code 报错Cannot connect to Claude Code server请打开终端手动执行claude-code server --port 8080观察是否有Permission deniedLinux/macOS或Access is deniedWindows——这通常意味着 CLI 没有执行权限需chmod x /path/to/claude-code。5.3 跨平台环境适配Ubuntu、macOS、Windows 的关键差异不同平台的部署难点集中在权限模型和环境变量继承上平台关键问题解决方案验证命令Ubuntuclaude-code server需要sudo才能绑定 8080 端口但 VS Code 插件不能以 sudo 运行改用非特权端口如18080并在settings.json中同步修改serverPortclaude-code server --port 18080 curl http://localhost:18080/healthmacOSGatekeeper 阻止未签名的claude-code二进制运行右键claude-code→ “打开”在弹窗中点击“仍要打开”或终端执行xattr -d com.apple.quarantine /path/to/claude-codels -l /opt/homebrew/bin/claude-code查看是否无符号Windows (WSL2)VS Code 运行在 WindowsCLI 运行在 WSL2端口不通在 WSL2 中启动 CLI 服务时添加--host 0.0.0.0并在 Windows 防火墙中放行端口claude-code server --port 8080 --host 0.0.0.0然后 Windows 中curl http://localhost:8080/health还有一个隐形陷阱环境变量隔离。VS Code 插件启动的 CLI 进程无法读取你.zshrc中定义的GITHUB_TOKEN。解决方案是在~/.claudecode/config.yaml中显式声明environment: GITHUB_TOKEN: your-token-here WIKI_TOKEN: another-token这样所有由插件触发的 Routine都能安全地访问这些凭证。5.4 第三方模型接入DeepSeek V4、Qwen、GLM 的实战配置热搜词里高频出现的cc switch 接入 deepseek v4本质是配置model_provider: local。Claude Code CLI 支持通过 Ollama 或 LM Studio 代理本地模型但必须满足两个前提模型必须支持 OpenAI 兼容 API即/v1/chat/completions端点模型的 System Prompt 必须能理解 Claude Code 的 Agent DSL特别是role、input_schema语法。以 Ollama 为例接入 DeepSeek-VL视觉语言模型的完整流程# 1. 拉取模型需 Ollama 0.1.40 ollama pull deepseek-coder:6.7b # 2. 启动 Ollama API 服务 ollama serve # 3. 配置 Claude Code 使用 Ollama claude-code init # 在交互式配置中 # model_provider: local # local_api_base: http://localhost:11434/v1 # default_model: deepseek-coder:6.7b # 4. 验证测试 Prompt 渲染 claude-code agent test \ --prompt You are a Python code reviewer. Output JSON: {\score\: integer, \feedback\: string} \ --input {code: def hello(): return \world\}注意不是所有开源模型都适配。Qwen2-7B 在input_schema解析上表现稳定而 GLM-4-9B 对output_schema的 JSON 格式要求更严格需在 Prompt 中添加Output ONLY valid JSON, no explanation.。实测下来DeepSeek-Coder 系列对 Routine 脚本化支持最好因其训练数据包含大量 GitHub Issue 和 PR Comment天然理解“修复”“验证”“部署”等工程语义。6. 我的 Routine 生产清单12 个必配项与 3 个上线前核验点写了这么多技术细节最后分享一份我在团队推行 Claude Code Routine 时强制要求每个项目上线前必须完成的清单。它不是最佳实践而是血泪教训的结晶。6.1 Routine 生产就绪的 12 个必配项序号项目说明不做的后果1name和version字段必须填写且version遵循语义化版本MAJOR.MINOR.PATCH无法进行版本回滚Routine 更新后故障无法定位2至少 3 条healing_rules覆盖RATE_LIMIT、TIME
返回列表