找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3600

积分

0

好友

476

主题
发表于 1 小时前 | 查看: 4| 回复: 0

Hexo Labs 在 GitHub 上开源的 SIA(Self-Improving AI)框架,为我们展示了“AI 自我进化”的真正可行性。它并非简单的单次执行,而是通过结构化反馈循环,让 AI 系统能自己评估表现、适应策略并迭代改进——理论上可以无限循环下去。

有别于现有 Agent 那种“执行一次就结束,还得等人来优化”的静态模式,SIA 的核心在于让 Target Agent 的 Harness(代理脚手架/代码)和底层能力实现自主进化。这个项目的实际效果相当亮眼:在 LawBench 上,Top-1 准确率从 45% 提升到了 70.1%;GPU 内核优化实现了 14 倍加速;单细胞 RNA 去噪的 MSE 更是提升了 502%。官方论文还提到,它在 OpenAI MLE-Bench Hard 榜单上排到了第一。

如果你对前沿 [人工智能](https://yunpan.plus/f/29-1)框架感兴趣,或者常在 开源实战 中寻找灵感,那么这个基于 Python 实现的项目绝对值得你深入了解。

一、SIA 核心功能拆解

SIA 是一个基于 Python 的开源自改进 AI 框架(MIT 协议),它的目标很明确:在任意基准任务上,自主提升任意 AI 系统(Model/Agent)的性能

1. 自改进循环(Self-Improvement Loop)
这是 SIA 最根本的能力。系统通过多代(Generations)迭代来实现自我驱动:

  • Gen 1:Meta-Agent 根据任务描述生成初始的 target_agent.py
  • 后续 Gen:Target Agent 执行任务并记录完整的执行轨迹 → Feedback/Improvement Agent 分析日志、历史表现和前代改进记录 → 重写出更优的 target_agent.py
  • 循环会一直持续,直到达到 --max_gen 设定的代数。

每一代都会产生独立的 Artifacts,从理念上支持无限迭代。值得留意的是,SIA 不仅改进 Harness,还支持 Weights Improvement,从而实现递归自进化。

2. 三类 AI Agent 如何协同工作?

  • Meta-Agent:它会读取 task.md,结合参考模板,生成初始的、专用于当前任务的 Target Agent 代码。
  • Target Agent(任务特定代理):负责具体执行任务,支持单轨迹或多轨迹日志记录,使用通过 CLI 参数指定的 LLM,并严格遵守 dataset_dir(只读)和 working_dir(读写)的路径限制。
  • Feedback/Improvement Agent:分析 execution logsevaluation metrics 和历史 context.md,最后输出 improvement.md(分析报告+改进计划)和新的 target_agent.py。它的改进重点在于提升代码结构的鲁棒性和通用性,而非针对特定任务耍小聪明,同时会避免重复之前的失败路径。

3. 内置任务与自定义任务支持

  • 内置了 4 个任务:gpqalawbenchlongcot-chessspaceship-titanic
  • 自定义任务:通过 --task_dir 指定目录,该目录需要严格遵循以下结构:
my-task/
  ├── data/
  │   ├── public/
  │   │   ├── task.md           # 任务描述(Meta-Agent的核心输入)
  │   │   └── ...               # 公开输入数据(如csv)
  │   └── private/              # 隐藏评估数据(Agent不可见)
  └── reference/
      ├── reference_target_agent.py  # 模板(从_shared/复制)
      └── SAMPLE_TASK_DESCRIPTIONS.md # 可选:类似任务示例,对Meta-Agent泛化很有帮助
  • MLE-Bench 集成:通过 python -m sia.prepare_mlebench_dataset -c "spaceship-titanic" 命令,可以一键准备 Kaggle 竞赛数据集(需要 Kaggle API),并自动生成 task 目录。

4. 评估系统(Evaluation)
任务目录下的 data/public/evaluate.py 必须实现 evaluate(submission_path: Path) -> dict 函数。Orchestrator 会自动调用它来生成 results.json,评估指标会自动注入到 Feedback Prompt 中,形成闭环。它支持任意自定义指标,比如 accuracy、MSE 等。

5. 多 Backend 与模型支持

  • Claude Backend(默认):专用于 Claude 模型,可选快捷代号 haiku/sonnet/opus
  • OpenHands Backend:支持 Gemini、OpenAI、Anthropic 等多提供商,需要使用完整的 provider/model 名称。
  • CLI 参数可以分别指定 --meta_model(Meta/Feedback 用)和 --task_model(Target Agent 用),灵活性很高。

6. 完整的 Artifacts 与日志系统
每一次 Run 都会在 runs/run_{run_id}/gen_{n}/ 目录下生成详细的产物:

  • target_agent.py(每代代码)
  • agent_execution.json(或 agent_execution/ 文件夹,包含多样本轨迹)
  • improvement.md(Gen≥2 时出现,内含详细分析)
  • results.json 以及 evaluation logs
  • 隔离的 venv 环境、stdout/stderr 日志

7. CLI 命令行与配置
核心命令很简单:sia --task gpqa --max_gen 5 --run_id 1

一些关键的 Flags(详见 configuration.md):

  • --task / --task_dir
  • --max_gen(默认为 3)
  • --backend(claude/openhands)
  • --meta_model / --task_model
  • API Key 通过环境变量设置(ANTHROPIC_API_KEYGEMINI_API_KEYOPENAI_API_KEY 等)

8. 其他实用功能

  • 每个 Run 都有独立的 venv,有效避免了环境污染。
  • Prompt 高度可定制(在 orchestrator.py 中修改 META_AGENT_PROMPTFEEDBACK_AGENT_PROMPT)。
  • Troubleshooting 指南覆盖了目录已存在、ImportError、Kaggle 认证等常见问题。

这些功能组合起来,让 SIA 不只是个简单的 Demo 工具,而是能真正用于科研、Kaggle 竞赛和复杂工程任务自动化迭代的强大平台。

SIA架构流程图

二、安装方法(Pip + 从源码安装)

推荐使用 Pip 安装(最快)

python3 -m venv .venv && source .venv/bin/activate
# Claude专用
pip install 'sia-agent[claude]'
export ANTHROPIC_API_KEY="sk-..."

# 或多模型OpenHands
pip install 'sia-agent[openhands]'
# 设置对应API Key

从源码安装(推荐在进行深度研究或修改时使用)

  1. git clone https://github.com/hexo-ai/sia.git && cd sia
  2. 创建 venv 并激活。
  3. pip install -e '.[claude]' (或 [openhands],根据 pyproject.toml 中的 extras 选择)。
  4. 或使用 environment.yml(如果存在):conda env create -f environment.yml
  5. 验证:sia --help 或直接运行一个内置任务。

源码安装后,你就能直接修改 sia/orchestrator.py 中的 Prompts,或扩展 tasks/ 目录,可玩性更高。

三、高效使用指南

步骤1:运行内置任务

sia --task lawbench --max_gen 5 --run_id 1 --backend claude --meta_model sonnet

Artifacts 自动保存在 runs/run_1/ 下。

步骤2:自定义任务实战

  • 按目录结构准备好 my-task/
  • (可选)cp sia/tasks/_shared/reference_target_agent.py my-task/reference/
  • 运行:sia --task_dir ./my-task --max_gen 5 --run_id 2
  • MLE-Bench 示例:先执行 pip install 'sia-agent[mlebench]' && pip install git+https://github.com/openai/mle-bench,设置好 Kaggle Key,然后运行 python -m sia.prepare_mlebench_dataset -c "spaceship-titanic"

步骤3:分析结果

cat runs/run_1/gen_2/improvement.md          # 查看改进计划
diff runs/run_1/gen_1/target_agent.py runs/run_1/gen_2/target_agent.py  # 对比代码变化
cat runs/run_1/gen_1/agent_execution.json    # 查看执行轨迹

高效 Tips

  • 先用小一点的 --max_gen=3 来快速验证任务目录是否正常。
  • 使用不同的 --run_id 可以并行对比不同模型或 Backend 的效果。
  • 仔细阅读 evaluate.py 示例,确保 results.json 能被正确生成并被 Feedback Agent 有效利用。
  • 遇到问题可以参考 docs/troubleshooting.md(比如 venv 包缺失时,可以手动 pip install)。

四、技术原理、架构与实现方式

原理:SIA 专注于“结构化反馈循环”——让系统自我评估、适应策略、持续变优。流程是:Meta-Agent 进行初始化,Target 负责执行并写日志,Feedback 则基于历史 context.md(包含前代改进信息)和当前的执行日志及指标,来重写代码,实现 Harness 乃至 Weights 的进化。

架构实现(核心文件在 sia/ 目录):

  • orchestrator.py:这是主控逻辑所在。它定义了 META_AGENT_PROMPT(详细规范 target_agent.py 的 CLI 参数、路径处理、日志格式:单 JSON 或多 execution_qN.json)和 FEEDBACK_AGENT_PROMPT(要求阅读 context.md、避免重复失败、输出 improvement.md + 新代码)。
  • context_manager.py:负责跟踪 Run 的历史并生成 context.md
  • util.py:Agent 运行工具、日志加载(支持单/多轨迹)。
  • prepare_mlebench_dataset.py:MLE-Bench 数据集准备脚本。
  • 每一代 Target Agent 都在隔离的 venv 中运行,确保了安全性和可重复性。

目录结构

  • sia/tasks/{task-id}/:内置任务数据 + reference 模板。
  • runs/run_{id}/gen_{n}/:动态生成的 Artifacts。
  • docs/:包含 architecture.md(流程)、walkthrough.md(自定义)、configuration.mdtroubleshooting.mdEVALUATION_GUIDE.md(evaluate.py规范)。

实现亮点

  • Target Agent 有严格的路径控制,防止越权访问 private 数据。
  • Feedback Agent 强调“结构改进”与“跨任务泛化”(参考 SAMPLE_TASK_DESCRIPTIONS.md)。
  • 自动 Evaluation 闭环:metrics 直接进入 Prompt,形成性能驱动的进化。
  • 高度模块化:Prompt 可改、Backend 可换、任务可自定义,非常适合进行研究扩展。

更多架构细节,可以直接阅读仓库 docs/ 和 orchestrator.py 源码。SIA 作为 Hexo Labs 加速 Superintelligence 的首个开源项目,真正把“AI 改进 AI”从概念落地为可运行的框架。它解决了 Agent 的静态瓶颈,让研究者和开发者能将精力聚焦于高价值问题,而把迭代底层能力的苦力活交给 AI 自己。想要获取更深入的 技术文档 参考,它本身就是一个绝佳范例。




上一篇:AI赋能量化投资:选股模型从多因子到机器学习,超额收益从哪里来?
下一篇:AI吞噬叙事逆转:软件板块为何创2001年来最佳单月表现?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-5-31 22:14 , Processed in 0.602051 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表