Kapso
面向可量化目标的自改进 AI 软件工厂:给出目标,它通过实验迭代、编码代理与知识沉淀持续逼近并交付可部署的解决方案。
- Star 数
- ★ 133
- 最近更新
- 2 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 53/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配Codex · Claude Code
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- ML 工程师需要端到端交付预测模型(数据准备、特征、训练、验证)时,用 evolve 驱动整个流程直到达到如 accuracy > 0.80 的可度量目标。
- 不适合
- 没有 Claude Code 或 Codex 付费订阅的团队,缺少任一 CLI 就无法运行
- 只想调用模型 API、不愿安装 Node.js 与两个命令行代理的开发者
- 源码审查
- 53/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Kapso 是 Leeroo 开源的 Python 框架(PyPI 包名 leeroo-kapso,MIT 协议),定位为“针对可度量目标的自改进软件工厂”。用户用一句话陈述目标后,Kapso 运行一次 campaign:设计候选方案、由编码代理实现、测量与目标的差距,并不断优化最接近的方案直到达标,最终将结果交付到你的基础设施。其核心由四大支柱构成:evolve(树搜索实验)、learn/learn_knowledge(把已完成 campaign 的轨迹沉淀为按证据定价的知识卡片,并把外部仓库与论文导入知识图谱)、research(深度网络调研)和 deploy(本地/Docker/Modal 部署)。推理过程依赖编码代理 CLI——默认使用 Claude Code 做构思与实现、Codex 做调研与评判——而非直接调用模型 API。项目声称在 MLE-Bench 与 ALE-Bench 上位居开源系统第一,在 RelBench 上超越 KumoRFM-v2,并在 IOAI 2026 AI 组别中获得大满贯奖杯。
核心工作流程:(1) 调用 kapso.evolve(goal=..., initial_repo=..., output_path=..., time_budget_minutes=...) 启动 campaign,用树搜索生成候选方案,由编码代理实现并用可度量指标打分迭代;可用 kapso watch ./campaign 实时观察,需要人工提供凭据时暂停并通过 kapso inbox reply 恢复。(2) kapso.learn(solution) 挖掘本次 campaign 的轨迹,将经验教训以证据定价存入本地 git 仓库形式的知识库(可通过 kapso bank connect 共享)。(3) kapso.research(查询, mode=["idea","implementation"]) 做网络调研返回结构化发现。(4) kapso.learn_knowledge(Source.Repo(...), ...) 把仓库与研究发现导入知识图谱(本地 Weaviate + Neo4j,经 scripts/start_infra.sh 启动),后续 campaign 自动检索。(5) kapso.deploy(solution, strategy=DeployStrategy.LOCAL) 把成果变为可运行软件,支持本地、Docker 和 Modal。CLI 提供 kapso doctor(含按动词和模型探测的检查)、kapso watch、kapso inbox、kapso bank 子命令;模型选择统一在一个 YAML 配置文件中编辑。
- ML 工程师需要端到端交付预测模型(数据准备、特征、训练、验证)时,用 evolve 驱动整个流程直到达到如 accuracy > 0.80 的可度量目标。
- 性能工程师优化 CUDA 内核或 PyTorch 训练的墙钟时间与显存,利用官方示例中的 cuda_optimization 与 pytorch_optimization 流程。
- 研究/算法团队在 AtCoder 启发式竞赛等长周期算法优化问题上迭代启发式方案(ALE-Bench 场景)。
- 数据科学团队在企业多表数据库上做结果预测、时序预测与推荐(RelBench 覆盖 SAP、Amazon、H&M 数据)。
- 平台团队让代理优化代理:演进 Agent 的工作流、工具与提示直到指标提升(agent_optimization 示例)。
- 企业希望在长期使用中沉淀公司内部的知识库——learn() 把每次任务经验存入可共享的 git 知识库供后续 campaign 复用。
如何安装或部署这个 Agent?
1) 安装 Node.js 18+ 并登录两个编码代理 CLI:npm install -g @openai/codex && codex login;npm install -g @anthropic-ai/claude-code && claude auth login。2) 在 .env 写入 OPENAI_API_KEY(用于嵌入)。3) Python 3.10+ 环境执行 pip install leeroo-kapso(若装过无关的同名 WhatsApp 工具,先 pip uninstall kapso)。4) 运行 kapso doctor 验证环境;可选 bash scripts/start_infra.sh 启动 Weaviate+Neo4j 知识图谱后端;可选安装 Leeroopedia MCP:pip install leeroopedia-mcp 并在 .env 配置 LEEROOPEDIA_API_KEY。开发模式:git clone https://github.com/leeroo-ai/kapso.git 后 pip install -e .。
如何使用这个 Agent?
最小用法:from kapso import Kapso; kapso = Kapso()。然后 solution = kapso.evolve(goal="Optimize the model in train.py; target accuracy > 0.80 on evaluate.py", initial_repo="./my_project", output_path="./campaign", time_budget_minutes=120)。另开终端用 kapso watch ./campaign 观察;被暂停时用 kapso inbox reply 回复。随后 lesson = kapso.learn(solution) 沉淀经验,再开启 config 中 learning.serving.enabled: true 后再次 evolve 复用知识。部署:from kapso import DeployStrategy; deployed = kapso.deploy(solution, strategy=DeployStrategy.LOCAL); result = deployed.run({"input": "data"}); deployed.stop()。换模型:复制内置配置为 kapso-config.yaml 编辑后 Kapso(config_path=...),长跑前用 kapso doctor --models 或在 config 中开启 preflight.live_model_probe: true 探测订阅可用性。
这个 Agent 有哪些优点和局限?
- 有可查证的基准背书:README 声称 MLE-Bench 与 ALE-Bench 开源第一,RelBench 结果发布在官方排行榜,IOAI 2026 AI 组前三(Grand Master Trophy)且总分 536.07 超过全部 471 名人类选手。
- 真正闭环的自改进机制:learn() 将 campaign 轨迹提炼为按证据定价的知识卡片,且“教训”只有持续被验证才保持可信,避免经验腐蚀。
- 执行前有 kapso doctor 的静态与可选 live model probe 检查,配置错误或缺凭据在秒级失败而非数小时后失败。
- 部署边界清晰:交付物可经 .deploy() 落到本地、Docker 或 Modal,并可 explain() 输出方案说明。
- 硬依赖两个第三方编码代理 CLI 的订阅登录(Claude Code 与 Codex),没有直接 API 回退路径——没有任一订阅即无法运行。
- 模型名与超时按默认模型(如 claude-opus-5、claude-fable-5、gpt-5.6-sol)校准,换模型需调整 config 且可能要上调 crew timeout_minutes。
- 知识图谱摄取(learn_knowledge)耗时长且与 research 的 depth 标志无关,少量来源也可能产生数十个 wiki 页面与数小时摄取。
- PyPI 上存在同名无关包 kapso(WhatsApp 工具),会遮蔽命令,安装时有误装风险。
这个 Agent 与同类方案有什么区别?
README 的 MLE-Bench 图表将其与 R&D-Agent、AIRA-dojo、ML-Master、AIDE 对比,RelBench 上与 NVIDIA 的 KumoRFM-v2 对比;若你只需单次 LLM 工程而非持续自改进的实验工厂,这些系统或直接用编码代理 CLI 是更轻量的替代。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Kapso 当前 | 53 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 133 | 2 天前 | Python | Codex · Claude Code |
| CORE 个人 AI 操作系统 | 44 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2k | 1 个月前 | TypeScript | Codex · Claude Code |
| amux 智能体控制平面 | 77 · 表现良好 | 自托管服务免费 + 模型费 | ★ 545 | 今天 | Rust | Codex · Claude Code |
| Keep the Why | 75 · 表现良好 | Agent 插件 / 技能免费 | ★ 231 | 今天 | Python | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README说明了代理CLI依赖、inbox暂停等人类确认机制、本地知识库默认留在本机、名称冲突警告(PyPI上的kapso包),这是加分的;但扣分在于:核心源代码未提供,最小权限、数据流向、外部副作用(部署、网络研究、KG写入)均只有叙述而无代码佐证;API key写入.env的指引无敏感数据处理的进一步说明。
kapso doctor预检、preflight探针、失败即报缺失CLI等设计表明失败信息处理认真;但扣分在于requirements.txt与pyproject.toml相互矛盾(前者仍含aider-chat、google-genai、openhands,后者称aider已移至extra),self_consistency受损。
面向ML工程师/研究者的场景明确,示例和基准覆盖多场景,doctor按config裁剪要求、支持自定义模型配置是加分;但扣分在于能力边界(单GPU预算、订阅上限、超时需手动调整)只有零散提示,无系统性边界文档,触发精度无法从现有文件核实。
MIT许可证完整、安装说明详尽(含名称冲突、可选依赖、源码安装)、pyproject注释详实、docs CI有覆盖检查是明确加分;扣分在于仓库内无CHANGELOG(仅链接到GitHub releases)、version 0.4.4为Beta、维护责任依赖未经验证的发布方。
输出有explain()、campaign可视化、CLI命令,可用性设计合理;但扣分在于核心价值主张(自我改进、基准第一)无法从提供的文件验证,成本效益(多模型订阅、长时间ingest)仅口头提示,无量化证据。
README区分了事实与说明,技术报告和基准页面有链接指向;但扣分在于基准成绩(MLE-Bench第一、IOAI超人类、RelBench超KumoRFM)无法从仓库文件交叉验证,arXiv编号2601.21526属未来日期、不可核实,且核心代码缺失使声明不可追溯。
- requirements.txt与pyproject.toml依赖声明不一致,安装前应核对实际依赖来源。
- 基准成绩与IOAI等声明无法从仓库内文件验证,请勿直接采信。
- 使用需提供多个API密钥并安装第三方CLI,注意密钥管理与供应商锁定。
- 发布方身份未经核实,且包名kapso在PyPI上与无关项目重名,安装时务必使用leeroo-kapso。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
kapso inbox lists a relaunched campaign once, and the test suite no longer writes to your campaign registry. Fixed - A relaunched campaign appears once in kapso inbox (#140, by @Abhishek-B-R). Every launch adds a line to the campaign registry, and a fresh launch at a path whose directory was deleted is allowed, so deleting a campaign and launching again at the same path left two lines; kapso inbox run outside a campaign then printed that campaign's block twice — header, requests and reply hint. The registry listing now keeps one entry per path, under its latest launch, still …在 GitHub 查看 ↗ -
发布说明摘录
Repository memory no longer loses sections on large repositories, and the test suite no longer fails on a fixed date. Fixed - Repository memory updates merge instead of replacing the book (#136, by @akramcodez). The update prompt cut the previous memory at 20,000 characters and the model's answer replaced the whole book, so sections the model never saw or did not repeat disappeared once a repository's memory outgrew that size. The full previous memory now reaches the prompt, the model returns a patch — the sections it changed or added, plus an explicit removed_sections list — an …在 GitHub 查看 ↗ -
发布说明摘录
A rejected branch push no longer deletes a candidate's only copy of its work, and a horizontal rule in a card body no longer stops the bank from loading. Fixed - A rejected push keeps the session clone (#135, by @akramcodez). Closing an experiment session pushed the candidate branch to the workspace repository, printed any failure, and deleted the session folder anyway, so the candidate's commits were lost while the campaign carried on. The push now raises SessionPushError, the clone stays on disk, and the message names the git push command that recovers the branch, to run bef …在 GitHub 查看 ↗