尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

llm-coding-agent 教程:200 行 Python 搭一个 Claude Code 风格的编码 Agent(附完整代码)

llm-coding-agent 教程:200 行 Python 搭一个 Claude Code 风格的编码 Agent(附完整代码)
📅 发布时间:2026/7/10 16:58:08

TL;DR

Simon Willison 用 Claude Fable 5 从零搭建了一个 Claude Code 风格的 Python 编码 Agent,已发布到 PyPI。本文拆解它的核心架构——5 个工具、一个 Agent 主循环、以及不到 200 行就能跑起来的完整实现,附上可直接运行的代码和踩坑提示。

1. 背景:为什么还要自己搭一个 Coding Agent?

Claude Code、Codex、Cursor——市面上的 AI 编码工具已经够多了。但 Simon Willison 决定自己动手,理由很直接:他的 LLM 库 已经演化成一个 Agent 框架,他想验证它能不能支撑一个完整的 coding agent。更重要的是,自己搭意味着你能理解每一行代码在做什么——这恰好呼应了 Geoffrey Litt 在 AIE 大会上说的"理解才能参与"。

他用 Claude Fable 5 写了 spec、实现了所有代码、跑了测试、写了文档,最后发布到 PyPI。你可以这样安装:

uvx--prerelease=allow--withllm-coding-agent llm code

2. 核心架构:五个工具 + 一个主循环

llm-coding-agent 的架构极其简洁。它只有5 个工具,每个工具就是一个 Python 函数:

工具功能对应 Claude Code 的哪个能力
edit_file精确字符串替换(old_string → new_string)Edit 工具
execute_command在项目根目录执行 shell 命令Bash 工具
list_files按 glob 模式列出文件Glob 工具
read_file读取文件,返回 cat -n 格式的行号输出Read 工具
write_file创建或覆盖文件(自动创建父目录)Write 工具

Fable 还贴心地加了一个search_files工具做正则搜索——这其实是 Simon 没要求的,但 Fable 自己判断应该加上。

Agent 主循环和 Claude Code 一样:读用户指令 → 调用工具 → 拿结果 → 继续调用工具 → 返回最终结果。关键区别在于,llm-coding-agent 把这个循环暴露为 Python API:

fromllm_coding_agentimportCodingAgent agent=CodingAgent(model="gpt-5.5",# 也可以用 claude-sonnet-5-20250914root="/path/to/project",approve=True# False 就是 --yolo 模式)agent.run("Fix the failing test in tests/test_parser.py")

3. 上手实操:5 分钟搭起来

第一步,确保有 Python 3.10+ 和 uv:

# 安装 uv(如果没有)curl-LsSfhttps://astral.sh/uv/install.sh|sh# 安装 llm-coding-agent(预发布版)uvx--prerelease=allow--withllm-coding-agent llm code

第二步,配置 API key。llm-coding-agent 复用了 LLM 库的配置,所以如果你已经配过llm keys set openai,直接就能用。没有的话:

pipinstallllm --break-system-packages llm keyssetopenai# 粘贴你的 OpenAI API key

第三步,跑起来:

# 交互模式(需要你审批每个操作)llm code# --yolo 模式(自动执行,适合小任务)llm code--yolo# 只允许特定命令llm code--allow"pytest*"--allow"git diff*"

试试让它写个 ASCII 艺术时钟:

llm code--yolo>mkdir/tmp/demo&&cd/tmp/demo&&create a simple Python CLI appfortelling thetimeinascii art

Simon 实测的结果——GPT-5.5 生成了一个完整的 Swift 命令行 ASCII 时钟。你的体验取决于模型,但核心循环是一样的。

4. 踩坑提示

工具权限控制是重点。--yolo模式会让 Agent 自动执行所有命令,包括rm -rf。建议日常使用--allow白名单:

llm code--allow"pytest*"--allow"git*"--allow"python*"

模型选择影响很大。Fable 5 和 GPT-5.5 在编码任务上表现最好,但成本也最高。Simon 在 7 月 3 日的笔记里分享了一个技巧:告诉 Agent “对小任务用 Sonnet/Haiku 做子代理,自己判断”——这能省不少 token。

这个项目还在 alpha 阶段。功能远不如 Claude Code 完善,但代码量极少(核心不到 500 行),非常适合学习和魔改。

5. 这意味着什么

llm-coding-agent 的意义不在于"又一个编码工具",而在于它证明了 coding agent 的核心循环可以压缩到几百行 Python。当你能看懂每一行代码时,你对 AI 写代码这件事的掌控力就完全不同了——你不会再盲目信任,而是能精确判断它哪里可能出错。

正如 Armin Ronacher 在 7 月 4 日的文章里指出的,即使是 Opus 4.8 这样的顶级模型,在自定义工具调用上也可能出错。理解工具层的实现细节,能帮你更快定位问题。

6. 参考资料

  • Simon Willison: llm-coding-agent 0.1a0
  • llm-coding-agent GitHub
  • LLM 库文档
  • Simon Willison: Let Fable use its own judgement

相关新闻

  • TradingView MCP Jackson新功能揭秘:morning_brief如何一键生成交易session bias
  • Lattice容器调度原理:深入理解Diego工作负载管理
  • 【无人机多目标路径规划】(多目标路径规划)MOCOA多目标浣熊算法实现无人机多目标路径规划附Matlab代码

最新新闻

  • 担心卡地亚鉴定调包?上城拱墅逸程实体店全套保障实地可验证 - 逸程奢侈品回收中心
  • 天学网靠谱吗?2026年最新一线老师真实使用评价干货分享
  • 15 账号以内轻矩阵|4 款短视频矩阵管理工具测评
  • 2026北京东城海淀西城奢侈品回收避坑攻略|真人经验拆解套路正规门店甄别 - 全城热点
  • SwiftTrace面向切面编程:为非final类添加方法前后钩子
  • RuleBook与依赖注入:Guice集成方案与示例

日新闻

  • OpenClaw本地化部署:xParse文档解析引擎实战指南
  • 蓝牙 5.4 协议栈深度解析:从 HCI 到 L2CAP 的 7 层数据流
  • PyTorch nn.CrossEntropyLoss 实战:3种权重设置与标签平滑对比(附代码)

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号