SIA claude agent impl 解析:ClaudeAgentOptions 的 5 个关键参数
SIA claude agent impl 解析ClaudeAgentOptions 的 5 个关键参数【免费下载链接】siaSIA is a Self Improving AI framework to autonomously improve the performance of any AI system (Model / Agent) on a benchmark task.项目地址: https://gitcode.com/GitHub_Trending/sia4/siaSIA 是一个自主自我改进 AI 框架Self Improving AI能让任意模型或 Agent 在基准任务上持续变强。它的核心引擎之一是claudeagent impl——基于 Claude Agent SDK 实现靠ClaudeAgentOptions的 5 个关键参数驱动元代理Meta Agent自动重写任务代码。本文带你逐个读懂这 5 个参数理解 SIA 自我改进循环背后的执行机制。先搞懂claude agent impl 在 SIA 中扮演什么角色SIA 的架构由三类 Agent 协作完成自我改进循环Agent职责Meta Agent读任务描述生成初始的 Target Agent 代码Target Agent尝试完成任务记录执行日志Feedback Agent分析执行日志改进并重写 Target Agent关键点Meta/Feedback Agent 在 SIA 进程内通过 agent impl 运行可选claude、openhands、pydantic-ai三种实现。其中claude实现sia/agent_impls/claude.py是 Anthropic 专属的直接调用 Claude Code SDK无需额外网关。所有 agent impl 通过一个统一的注册表sia/agent_impls/base.py登记自己。以 claude 为例整个注册就是一行register(claude, run_agent_claude)运行器签名统一为run(model_name, max_turns, prompt, agent_working_directory)SDK 采用懒加载导入——即使你机器上没装claude_agent_sdk注册表也能正常列出全部可用实现。5 个关键参数逐个拆解核心代码就在 sia/agent_impls/claude.py 中构造ClaudeAgentOptions并传给query()异步接口async for message in query( promptprompt, optionsClaudeAgentOptions( cwdagent_working_directory, allowed_tools[Bash, Read, Write, Edit, Glob], permission_modebypassPermissions, max_turnsmax_turns, modelmodel_name, ), ):1.cwdAgent 的工作目录cwdagent_working_directory把 Claude Code 的执行环境锁定到当前代generation的目录例如runs/run_1/gen_2/。Agent 在这里读任务上下文、读写target_agent.py等文件。SIA 每代独立目录的设计见 docs/architecture.md让各代产物天然隔离方便回溯对比。2.allowed_tools最小权限工具白名单allowed_tools[Bash, Read, Write, Edit, Glob]只放行 5 个工具执行命令、读文件、写文件、编辑文件、模糊匹配文件名。这正是改写并验证 Agent 代码所需的最小集合——少一个都不够比如没有Bash就无法运行代码验证多一个都是风险比如没有WebFetch就杜绝了网络外联。这是 SIA 在自主性与安全边界之间做的典型权衡。3.permission_mode无人值守的权限模式permission_modebypassPermissionsClaude Code 默认每次写文件、跑命令都会弹窗请求用户授权。但 SIA 是完全自动化的循环元代理在夜间无人值守地跑几十代改进绝不能被权限对话框卡住。bypassPermissions让 Agent 在cwd沙箱内自主行动——这也是为什么cwd参数的隔离作用如此重要二者是配套设计。4.max_turns轮次上限防止无限循环max_turnsmax_turns轮次上限由环境变量DEFAULT_MAX_TURNS统一配置由编排器在调度时注入sia/orchestrator.py。SIA 内部还自带一套轮次统计逻辑每出现一次 Agent 文本响应或一次工具调用就计一轮并实时写入调试日志超过 500 字符的工具输出会被自动截断避免日志爆炸。max_turns既控制成本也保证单次生成不会失控。5.model模型选择Claude 快捷名modelmodel_namemodel_name来自 meta 代理的 profile 配置。claude实现只接受 Claude 快捷名haiku→claude-haiku-4-5-20251001sonnet、opus同理见 docs/configuration.md。SIA 默认的 meta 代理就用haiku——元代理的活儿是读日志、改代码小模型足够且便宜把大模型留给 target 端的实验更划算。一个容易忽略的细节认证与轨迹认证走ANTHROPIC_API_KEYprovider参数虽然在签名里存在为了统一接口但 claude 实现会忽略它SDK 直接对 Anthropic 原生认证轨迹自动保存Claude Code 会自动把完整对话轨迹存到~/.claude/projects/SIA 再配合每代的agent_execution.json形成双份可审计记录——这正是 SIA 论文自我改进过程可解释的工程基础。如何在 SIA 中启用 claude agent impl无需改代码两步即可pip install sia-agent[claude] export ANTHROPIC_API_KEY...然后确认 meta 代理 profile 的agent_impl字段为claude——内置的 default-meta.json 默认就是agent_impl: claudemodel: haikuprovider: anthropicsia run --task gpqa --max_gen 5 --run_id 1想换用其他模型或供应商把agent_impl改为openhands或pydantic-ai配一个 OpenRouter 之类的 profile其余流程完全一致——这就是 SIA声明式 JSON 配置、零代码切换的设计哲学完整参考 docs/configuration.md。总结参数作用一句话记忆cwd工作目录隔离每代一个实验台allowed_tools工具白名单最小权限原则permission_mode免授权模式为无人值守而生max_turns轮次上限控成本、防失控model模型选择元代理用 haiku 就够这 5 个参数共同构成了 SIA 自我改进循环的引擎舱目录隔离保证可回溯工具白名单保证安全免授权 轮次上限保证自动化与可控。理解了它们你就读懂了 SIA 如何在无人看管的情况下一晚上把 Agent 迭代出好几代。【免费下载链接】siaSIA is a Self Improving AI framework to autonomously improve the performance of any AI system (Model / Agent) on a benchmark task.项目地址: https://gitcode.com/GitHub_Trending/sia4/sia创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考