使用 Claude Code CLI 作为 OpenEvolve 进化编程引擎的 LLM 后端:零 API Key 的完整配置与实战指南

发布时间:2026/10/6 2:28:01
使用 Claude Code CLI 作为 OpenEvolve 进化编程引擎的 LLM 后端:零 API Key 的完整配置与实战指南 人工智能大模型AI Agent代码智能体自主智能体【免费下载链接】openevolveOpen-source implementation of AlphaEvolve项目地址https://gitcode.com/gh_mirrors/op/openevolve点击查看免费下载导读本文基于 OpenEvolve 仓库中的 claude_code_quickstart 示例系统讲解如何将Claude Code CLI作为 OpenEvolve 代码进化框架的 LLM 后端无需申请 API Key直接复用 CLI 已有的 OAuth 登录会话即可驱动模型完成程序的迭代进化。读完本文你将掌握 claude_code 提供商的配置方式、关键参数含义、多模型 Ensemble 组合技巧以及通过代码注入后端运行时的两种实战路径并理解其在底层是如何通过claude -p子进程完成调用的。前置条件三步准备运行环境1. 安装 Claude Code CLInpm install -g anthropic-ai/claude-code2. 完成 OAuth 登录claude login登录成功后CLI 会在本地保存 OAuth 会话。这正是该方案的核心优势OpenEvolve 的claude_code后端不再需要任何 API Key认证、模型选择与计费全部由 Claude Code CLI 自身接管。3. 安装 OpenEvolvepip install openevolve也可以直接从本仓库源码运行pip install -e .或直接使用仓库根目录的 openevolve-run.py 入口脚本。快速运行50 轮迭代的函数最小化示例仓库中的 claude_code_quickstart 是一个完整的函数最小化任务目标函数为f(x, y) sin(x) * cos(y) sin(x*y) (x^2 y^2)/20初始程序 initial_program.py 提供的是一个极易陷入局部最优的朴素随机搜索算法进化引擎的任务是让 LLM 逐步改写其中的search_algorithm函数使其可靠地找到全局最小值。运行命令如下python openevolve-run.py \ examples/claude_code_quickstart/initial_program.py \ examples/claude_code_quickstart/evaluator.py \ --config examples/claude_code_quickstart/config.yaml \ --iterations 50各参数含义initial_program.py进化起点程序其中被# EVOLVE-BLOCK-START/# EVOLVE-BLOCK-END包裹的search_algorithm函数是 LLM 可自由改写的区域evaluator.py评估器通过evaluate(program_path)对程序打分并提供evaluate_stage1/evaluate_stage2供级联评估cascade evaluation使用--config指定 config.yaml 配置文件--iterations覆盖最大进化迭代轮数此处为 50也可通过配置文件中的max_iterations设置二者以 CLI 覆盖优先见 cli.py 的参数解析逻辑。CLI 还支持--output输出目录、--target-score达标即停、--log-level、--checkpoint断点续跑等参数详见 openevolve/cli.py。原理剖析config.yaml 如何路由到claude -p一句话机制config.yaml 中设置provider: claude_code即可将所有 LLM 调用从默认的 OpenAI 兼容 API 路由到claude -p子进程。底层调用链在源码层面该机制由以下环节共同完成配置传播Config.__post_init__会把顶层llm.provider通过update_model_params以overwriteFalse的方式下推到每个模型配置保证provider: claude_code能真正到达每个LLMModelConfig见 openevolve/config.py 中的共享配置注释Provider 注册表openevolve/llm/ensemble.py 中的_PROVIDER_REGISTRY注册了claude_code工厂函数_create_model依据模型配置的provider字段选择对应的 LLM 实现CLI 子进程封装openevolve/llm/claude_code.py 中的ClaudeCodeLLM继承自 openevolve/llm/base.py 的LLMInterface抽象基类实现generate与generate_with_context两个异步接口。其_run_cli方法通过subprocess.run执行形如下面的命令claude -p \ --model sonnet \ --no-session-persistence \ --output-format text \ --system-prompt system message \ --max-budget-usd 1.0注意两点工程细节可从 test_claude_code_llm.py 的用例印证提示词走 stdin 而非命令行参数进化提示词中会携带若干父代程序长度极易突破 Linux 单 argv 参数 128 KiBMAX_ARG_STRLEN上限因此提示词通过subprocess.run(..., inputprompt)的标准输入传入命令参数仅保留开关项见test_large_prompt_not_passed_as_argument超时与重试每次调用外层使用asyncio.wait_for(..., timeouttimeout30)包裹超时或子进程返回非零退出码时按retries次数重试重试间隔为retry_delay秒见test_retry_on_failure等用例。该示例完整配置文件详解max_iterations: 50 # 最大进化迭代轮数 checkpoint_interval: 10 # 每 10 轮保存一次检查点 llm: provider: claude_code # 使用 Claude Code CLI 后端 models: - name: sonnet # Claude 模型名sonnet / haiku / opus weight: 0.8 # 在 ensemble 中的采样权重 max_tokens: 16000 # 单次生成最大 token 数 timeout: 300 # CLI 调用超时秒 max_budget_usd: 1.0 # 单次调用的美元预算上限 - name: haiku weight: 0.2 max_tokens: 8000 timeout: 120 max_budget_usd: 0.5 retries: 3 # 失败重试次数 retry_delay: 5 # 重试间隔秒 prompt: system_message: # 进化系统提示词 You are an expert programmer specializing in optimization algorithms. ... database: population_size: 50 # 种群规模 archive_size: 20 # 存档多样性保留规模 num_islands: 3 # 岛屿数量隔离进化 定期迁移 elite_selection_ratio: 0.2 # 精英选择比例 exploitation_ratio: 0.7 # 开发/利用比例 similarity_threshold: 0.99 # 相似度判定阈值去重/新颖性 evaluator: timeout: 60 # 单次评估超时秒 cascade_thresholds: [1.3] # 级联评估阈值 parallel_evaluations: 3 # 并行评估数 diff_based_evolution: true # 基于 diff 的进化LLM 输出 SEARCH/REPLACE 补丁 max_code_length: 20000 # 程序最大允许代码长度核心配置项速查表字段说明默认值llm.provider设为claude_code启用 CLI 后端openaillm.models[].nameClaude 模型名sonnet、haiku、opussonnetllm.models[].max_budget_usd单次调用的美元花费上限由 CLI 强制约束1.0llm.models[].timeoutCLI 子进程超时秒300llm.retries失败后的重试次数3llm.retry_delay重试间隔秒5max_tokens单次生成的最大 token 数16000CLI 后端默认weight模型在 ensemble 中的采样权重1.0需要说明上表中默认值取自 ClaudeCodeLLM 的初始化逻辑getattr(model_cfg, name, sonnet)等max_budget_usd在 LLMModelConfig 中默认值为None但 CLI 后端读取时会回退到1.0。配置层还支持${ENV_VAR}环境变量插值见 openevolve/config.py可用于注入敏感信息。进阶一多模型 Ensemble 组合claude_code提供商与 OpenAI 模型一样支持 ensemble 混合不同权重的多个模型会在每轮进化中按比例被采样。示例配置本身即是一个 8:2 的 sonnet/haiku 组合若只想用单一模型可将权重全部设为 1.0llm: provider: claude_code models: - name: sonnet weight: 1.0 max_tokens: 16000配置还兼容primary_model/secondary_model的旧式写法openevolve/config.py 定义了兼容字段__post_init__会自动将其展开为models列表并校验至少配置一个模型。进阶二运行时不改配置、以代码注入后端如果不想修改任何配置文件可以在运行时为每个模型注入init_client工厂函数from openevolve.llm.claude_code import init_claude_code_client for model_cfg in config.llm.models: model_cfg.init_client init_claude_code_clientinit_claude_code_client是与 OpenEvolve 的init_client配置钩子兼容的工厂函数openevolve/llm/claude_code.py返回ClaudeCodeLLM(model_cfg)实例。测试 test_claude_code_llm.py 的test_factory_function用例验证了该工厂函数的正确性。从源码结构看_create_model会优先使用模型配置上的init_client回调这一机制同样适用于 copilot_cli 提供商两者共享同一套LLMInterface抽象。运行后的产出与验证每次迭代生成的候选程序会存入程序数据库database.population_size个成员 archive_size个存档评估分数最高的程序即为当前最优每checkpoint_interval示例为 10轮会保存检查点可通过--checkpoint参数从断点续跑评估器会按cascade_thresholds分级先跑轻量的evaluate_stage1快速过滤通过后再执行完整的evaluate10 次试验取均值见 evaluator.py以控制整体评估成本。注意事项与限制必须在环境 PATH 中能找到claude可执行文件且已通过claude login完成认证否则子进程调用会失败返回非零退出码并最终触发重试耗尽异常--no-session-persistence保证每次调用是独立的无状态请求不携带历史会话每次调用的max_budget_usd由 CLI 强制执行是防止单次进化调用超支的关键护栏大提示词依赖 stdin 传输因此请勿在自定义调用中把完整提示词拼进 argv若需自定义工作目录可通过模型配置的cwd字段指定openevolve/llm/claude_code.py。延伸阅读完整示例文件README.md、config.yaml、initial_program.py、evaluator.py底层实现openevolve/llm/claude_code.py、openevolve/llm/base.py、openevolve/llm/ensemble.py配置体系openevolve/config.py、configs/default_config.yaml测试验证tests/test_claude_code_llm.py其他 CLI 后端对照Copilot CLI 快速入门 examples/copilot_cli_quickstart/README.md赞分享人工智能大模型AI Agent代码智能体自主智能体【免费下载链接】openevolveOpen-source implementation of AlphaEvolve项目地址https://gitcode.com/gh_mirrors/op/openevolve点击查看免费下载相关推荐gbrain Eval CapturePII 安全的全量查询捕获与 NDJSON 导出管道BrainBench-Real 底座gbrain Eval CapturePII 安全的全量查询捕获与 NDJSON 导出管道BrainBench Real 底座 本文围绕 gbrain 的人工智能大模型AI Agent代码智能体自主智能体WanGP 远程 LLM 引擎接入指南为 Deepy 与 Prompt Enhancer 配置 Codex、Claude Code 与 OpenCodeWanGP 远程 LLM 引擎接入指南为 Deepy 与 Prompt Enhancer 配置 Codex、Claude Code 与 OpenCode 本文人工智能AI 应用媒体生成本地部署在 Task Master 中使用 Claude Code Provider免 API Key 的 CLI 模型接入实战指南在 Task Master 中使用 Claude Code Provider免 API Key 的 CLI 模型接入实战指南 Task Master 的 clAI Agent开发工具CLIMCP上一篇sdma-dk安全部署指南确保高性能数据传输的安全性下一篇yocto-meta-rockchip完整教程从零开始搭建Rockchip开发环境创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询