KADATH
以进化算法在可复现的代际中繁殖、评估并改进自主 Agent,收敛到对给定目标的优化。
- Star 数
- ★ 254
- 最近更新
- 12 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 57/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 需要在可复现实验中自动搜索最优提示词、工具组合与 Agent 框架的研究者
- 不适合
- 没有 OpenAI API 预算、无法承受大规模模型 token 消耗的用户
- 需要轻量库直接嵌入现有代码的项目
- 只能使用非 OpenAI 模型供应商的团队
- 源码审查
- 57/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
KADATH(Kernel for Agentic Darwinian Adaptation, Tooling, and Heredity)是 i3t4an 开发的开源进化式多 Agent 运行时,基于 Apache-2.0 许可证发布。它接收一个目标,让一个 Agent 种群跨多个代际反复尝试该目标,由独立的 Grader 依据锁定的基准评分,淘汰弱者并从精英繁殖后代。被进化的不是一段回复,而是完整的 Agent 基因组:系统提示词、Python 实现、工具、依赖声明和支撑文件,全部存储在运行本地的裸 Git 仓库中。内核(kernel)掌握评分公式、调度、谱系与隔离规则,且本身不进化,从而防止生物体改写自己的分数或目标。整套系统通过 Docker 栈部署,依赖 PostgreSQL、MinIO、LiteLLM 和 SearXNG,由交互式终端界面 ./kadath.sh 驱动。README 记录的一次十代运行中,前五名最佳分数从 18 升至 91,中位数从 8 升至 77。
用户通过 ./kadath.sh 启动交互式界面,输入目标、每代时长、种群规模和代际数量,并提供 OpenAI API 密钥与模型 ID。Architect 专家把目标转换为一份机器可读的锁定基准(评分区间、加权量规、证据要求、自动失败与反作弊规则),用户批准后哈希锁定。每只生物体是完整的 smolagents CodeAgent 框架,以只读方式挂载进独立容器,在硬性截止时间内反复执行、写工作区、调用内核代理的模型网关,并可委派最多五名临时 worker。执行结束后内核冻结证据边界(默认每 agent 512 MiB),Grader 从冻结证据中提取类型化事实,由内核应用锁定公式计算分数,忽略 agent 自评分。随后按排名执行选择:前 30% 原样保留,中间群体经反思后自行提出 mutate 或 unchanged,失败与末位者被淘汰,Birther 从精英基因组繁殖有界变异的后代并继承记忆与持久状态。最终可通过 ./kadath.sh export RUN_ID 导出可运行的最终种群框架及完整谱系。
- 需要在可复现实验中自动搜索最优提示词、工具组合与 Agent 框架的研究者
- 有一个可量化目标(外部基准或代理指标),希望用种群竞争而非单次调优来逼近它的工程师
- 想系统比较不同 Agent 策略并获得带完整谱系、证据和评分留痕实验记录的团队
- 已配备 Docker、PostgreSQL 与 MinIO 基础设施、能承担大量 LLM token 成本的自治实验运营者
- 需要把历史上表现最好的基因组导出为可独立运行框架并在其上继续进化的用户
如何安装或部署这个 Agent?
KADATH 以 Docker 栈形式自托管,首次启动时自动生成 PostgreSQL、MinIO、LiteLLM 和 SearXNG 的本地密钥并准备镜像。克隆仓库后通过启动脚本完成首启配置:
git clone https://github.com/i3T4AN/KADATH
cd KADATH
./kadath.sh首次启动时界面会要求输入 OpenAI API 密钥并选择驱动 Architect、生物体、Grader、Tweaker 和 Birther 的 OpenAI 模型 ID。生成的配置存放在 .kadath/config.env(仅所有者可读)。源文档未说明除通过该脚本启动 Docker 栈以外的其他安装方式。
如何使用这个 Agent?
常规入口是交互式界面:
./kadath.sh方向键操作菜单,Ctrl-C 干净退出。新建运行时依次输入目标、每代时长、种群规模和代数;Architect 生成基准后需在批准界面确认,批准即锁定目标与运行时哈希并创建第一代。运行过程中可用实时仪表盘观察进度与排行榜,之后可用以下命令管理运行:
./kadath.sh status RUN_ID
./kadath.sh dashboard RUN_ID --watch
./kadath.sh pause RUN_ID
./kadath.sh resume RUN_ID
./kadath.sh export RUN_ID
./kadath.sh continue RUN_ID --genome GENOME_HASH --epochs 3
./kadath.sh continue-export .kadath/exports/RUN_ID --genome GENOME_HASH --epochs 3
./kadath.sh reset RUN_ID --yes
./kadath.sh cleanup --older-than-days 30导出后,获胜 agent 位于 .kadath/exports/RUN_ID/final-population/,每个都是完整可运行的框架目录;leaderboards/records.json 含完整排名,epoch-champions/records.json 标明各代冠军。
这个 Agent 有哪些优点和局限?
- 进化控制平面位于基因组之外,生物体无法改写自身分数、目标、调度或隔离规则,实验完整性由哈希锁定与冻结证据保障
- 被进化的是完整可编辑框架(提示词、源码、依赖、工具),而非单一提示词,精英后代从完整精英提交出发繁殖
- README 提供十代运行的量化证据:最佳分数 18→91、中位数 8→77、前五最低分 1→71
- 隔离细致:只读根文件系统、非 root 用户、全部能力丢弃、按 agent 限流与配额,凭据仅存在于控制容器
- 强依赖 OpenAI API 密钥与所选模型,多代种群繁殖会消耗大量 token,成本可能显著
- 部署重:需要 Docker 栈、PostgreSQL、MinIO、LiteLLM 和 SearXNG 等多个服务,并预留每 agent 默认 1 CPU / 2 GiB 内存
- 文档明确的模型路径是 OpenAI 兼容网关(LiteLLM 后端配置 OpenAI 模型 ID),对其他供应商的支持未在源中说明
- 最终代只评分不进化,若全体失败且无经验证的基因组,运行直接以失败终止,不会从未验证工作繁殖
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| KADATH 当前 | 57 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 254 | 12 天前 | Python | OpenAI API |
| OpenAlpha Evolve | 41 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.1k | 1 年前 | Python | OpenAI API · Claude API |
| Hello-Agents 智能体教程 | 54 · 缺口较多 | 网页应用免费 + 模型费 | ★ 86k | 22 天前 | Python | OpenAI API |
| Agent Systems Handbook | 51 · 缺口较多 | 网页应用免费 | ★ 314 | 19 天前 | MDX | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 详述最小权限设计(只读根文件系统、丢弃能力、非 root、broker 作用域令牌、SSRF 防护、机密脱敏与 owner-only 权限),并有明确审批边界与拒绝即停机的机制,快照回滚路径亦完整描述;但这些均为文档断言,核心内核代码未在证据中出现,故各项仅给 2 分而非 3。扣分点:依赖仅以宽范围声明(boto3>=1.34 等),无锁定文件、无漏洞管理或 SBOM 证据,dependency_security 仅 1 分。来源归属清楚(作者 i3t4an、smolagents 致谢、Apache-2.0),但 LICENSE 附录中版权人字段未填写。
README 系统描述了崩溃重启、评分中断恢复、检查点续传、选择阶段全快照回滚、每运行文件锁等故障处理,内部叙述自洽;扣分点:无依赖锁定文件且运行需要 Docker、PostgreSQL、MinIO、LiteLLM、SearXNG 等大量外部服务,可用性证据不足仅 1 分;failure_messages 得益于描述的恢复语义给 2 分,但仅为文档层面。
受众(想为可度量目标进化 agent 的高级用户)、能力边界(512 文件操作、32 MiB 内容、2 MiB 提示等完整性上限)、触发方式(交互式菜单,明确参数收集)、环境适配(Python>=3.11、Docker/Linux)均在文档中有明确界定,各给 2 分;未给 3 分是因为全部为断言,未见代码或配置文件佐证。
README 结构清晰(架构、流程、隔离、恢复、导出、清理),命名稳定;扣分点:缺少安装/前置条件章节(kadath.sh 首次启动流程有提及但无系统化安装说明),examples_and_faq 仅截图与自述结果、无 FAQ 或可复现示例,版本仅 0.1.0 且无 CHANGELOG,维护者为单人且无更新路径或贡献流程,故分别给 1 分。LICENSE 完整提供 Apache-2.0,但附录版权字段未填写,得 2 分。
导出的最终 agent 为完整可运行框架并附清单与校验和,输出可用性良好;进化多 agent 概念在纯提示方案之上具边际价值。扣分点:README 自称消耗 'ungodly number of model tokens' 却无任何成本估算、token 消耗范围或性价比讨论,cost_benefit 仅 1 分。
唯一的效果证据是 README 中的自述表格与截图(18→91),无第三方或独立来源可佐证,且本静态审查无法运行任何测试(提供的两个 fixture 仅证明 Docker 隔离契约的极小部分);README 将自述结果与机制描述混合,未明确区分可验证事实与推断,故三个标准均仅 1 分。
- 所有隔离与安全保证仅来自 README 文本,本审查未见到内核实现代码,部署前应自行审计容器与凭据隔离的实际实现。
- 依赖以宽范围声明且无锁定文件,供应链风险需自行评估;运行还需要 Docker 及多个自托管服务,部署成本较高。
- README 的效果数据(18→91)为作者自述,未经验证;运行成本以模型 token 计,使用前应预估费用。
- 进化出的 agent 可能携带任意演化的依赖与代码,导出复用前应审查最终 population 的内容。
常见问题
运行一次大概花多少钱?
agent 能改自己的分数或绕过评分吗?
如果某只 agent 崩溃或 Grader 服务中断怎么办?
进化结束后我怎么拿到最好的 agent?
./kadath.sh export RUN_ID,最终种群中每个 agent 都是 .kadath/exports/RUN_ID/final-population/ 下的完整可运行框架目录,并可从任何已注册基因组继续新一轮进化。