字
字节笔记本
2026年2月16日
Karpathy:基于 Claude Code 的智能机器学习工程师代理
API中转
¥120
本文介绍 Karpathy,一个基于 Claude Code SDK 和 Google ADK 的智能机器学习工程师代理。该项目展示了如何利用 Claude Scientific Skills 实现自动化的机器学习实验流程,从数据准备到模型训练评估的全流程自动化。
项目简介
Karpathy 是一个开源的智能机器学习工程代理,由 K-Dense AI 开发维护。截至目前,该项目在 GitHub 上已获得 1.2k stars,使用纯 Python 编写。该项目致敬 Andrej Karpathy 对 AI 领域做出的杰出贡献。
项目名称虽然与 Andrej Karpathy 同名,但并非官方项目,而是社区开发者出于敬意创建的实验性项目。
核心特性
- 🤖 智能代理架构:基于 Google ADK 构建的多代理协作系统
- 🔬 科学技能集成:内置 Claude Scientific Skills 机器学习工具集
- 📝 自动实验规划:智能分解 ML 任务,创建可执行的研究计划
- 👥 专家团队协作:数据工程师、实验管理员、代码编写者等专业代理协同工作
- 🔒 安全沙箱执行:所有代码在隔离的 sandbox 目录中运行
- ⚡️ 快速环境搭建:一键配置 uv 虚拟环境和 ML 依赖包
技术栈
- Python 3.13+ - 主要编程语言
- Google ADK - 代理开发框架
- Claude Code SDK - 代码执行和工具调用
- uv - 极速 Python 包管理器
- PyTorch - 深度学习框架
- Transformers - Hugging Face 预训练模型库
安装指南
前置要求
- Python 3.13 或更高版本
- uv 包管理器
- Claude Code 已安装并认证
安装步骤
bash
# 克隆项目
git clone https://github.com/K-Dense-AI/karpathy.git
cd karpathy
# 安装依赖
uv sync环境配置
在 karpathy 目录创建 .env 文件:
bash
OPENROUTER_API_KEY=your_openrouter_api_key_here
AGENT_MODEL=your_model_name_here快速开始
运行启动脚本自动配置沙箱环境并启动 ADK Web 界面:
bash
python start.py启动脚本会自动完成以下操作:
- 创建
sandbox目录并集成 Claude Scientific Skills - 配置 Python 虚拟环境,安装 PyTorch、transformers、scikit-learn 等 ML 包
- 复制
.env文件到沙箱目录 - 启动 ADK Web 服务
然后访问 http://localhost:8000,在左上角选择 karpathy 代理开始对话。
使用示例
与代理交互
text
用户:帮我训练一个图像分类模型,使用 CIFAR-10 数据集
Karpathy:我来帮你完成这个任务。首先让我创建计划,然后协调专家团队执行。
[Plan Creator] 正在创建实验计划...
[Data Engineer] 准备 CIFAR-10 数据集...
[Experiment Manager] 设计模型架构和训练流程...
[Code Writer] 实现训练代码...
[Code Executor] 运行训练并监控指标...专家代理系统
Karpathy 包含多个专业代理,可根据任务需求灵活调用:
| 代理名称 | 职责 |
|---|---|
| Plan Creator | 创建全面的实验计划,保存到 plan.md |
| Plan Reviewer | 审核计划的完整性和质量 |
| Research Agent | 使用 perplexity-search 技能进行主题研究 |
| Data Discoverer | 发现和描述数据集,执行探索性数据分析 |
| Data Engineer | 准备和管理数据集(清洗、分割、版本控制) |
| Experiment Manager | 设计和运行实验(超参搜索、消融实验) |
| Evaluation Agent | 定义指标、评估模型、对比基线 |
| Code Planner | 设计代码架构和实现方案 |
| Code Reviewer | 审核代码计划的正确性和完整性 |
| Code Writer | 按计划实现代码 |
| Code Executor | 运行和测试代码 |
手动设置沙箱(可选)
如果不使用启动脚本,可以手动配置:
bash
# 设置沙箱环境
python -m karpathy.utils
# 手动启动 ADK Web 界面
adk web工作原理
代理架构
Karpathy 的核心是一个主代理(MainAgent),负责理解用户意图并协调专家团队:
python
from google.adk.agents import LlmAgent
from google.adk.models.lite_llm import LiteLlm
main_agent = LlmAgent(
name="MainAgent",
model=LiteLlm(model=MODEL),
description="确保用户的机器学习请求成功完成",
instruction=load_instructions("main_agent"),
tools=[delegate_task],
output_key="final_output",
)任务委托机制
主代理通过 delegate_task 工具将子任务分配给专家代理:
python
async def delegate_task(prompt: str, append_system_prompt: str):
"""将任务委托给专家代理"""
result = await query(
prompt=f"{COMMON_INSTRUCTIONS}\n\nUser Prompt: {prompt}",
options=ClaudeAgentOptions(
system_prompt={
"type": "preset",
"preset": "claude_code",
"append": append_system_prompt,
},
cwd="sandbox",
permission_mode="bypassPermissions",
),
)
return result沙箱隔离
所有代码执行都在 sandbox 目录中进行,确保:
- 实验之间互不干扰
- 依赖环境独立管理
- 便于复现和分享结果
项目链接
- GitHub 仓库:https://github.com/K-Dense-AI/karpathy
- K-Dense 官网:https://www.k-dense.ai
- Slack 社区:https://join.slack.com/t/k-densecommunity/shared_invite/zt-3iajtyls1-EwmkwIZk0g_o74311Tkf5g
- Claude Scientific Skills:https://github.com/K-Dense-AI/claude-scientific-skills
注意事项
免责声明:本项目与 Andrej Karpathy 无官方关联,项目名称仅作为致敬和对其 AI 贡献的尊重。
如需更强大的多代理 ML 能力,可注册 K-Dense 平台(目前处于封闭测试阶段)。
分享: