为什么不直接用 Claude Code/Cursor,而要从零开始做一个为自己量身打造的、极度极简主义的 AI Coding Agent,具体实现过程是怎样的?
来自 @badlogicgames 的技术博客,详细介绍了名为 pi 的开源项目——一个他为自己量身打造的、“极度极简主义”的 AI 编程 Agent。他的观点可以总结为:在 AI 辅助编程工具日益臃肿的今天,回归“透明、可控、极简”才是资深开发者的终极诉求。
为什么要造这个轮子?
Mario 曾是 Cursor 和 Claude Code 的重度用户,但他逐渐对这些商业工具感到不满,主要原因有三点:
· 功能臃肿:他形容 Claude Code 变成了“一艘只有 20% 功能有用的巨型飞船”。
· 不可控(黑盒化):商业工具频繁更新 System Prompt,导致昨天能用的工作流今天突然失效。此外,工具往往隐藏了它到底向 AI 发送了什么上下文。
· 缺乏透明度:例如 Claude Code 的“Plan Mode” 通过不可见的子 Agent 运行,开发者无法看到 AI 具体在想什么,也无法干预它的决策路径。
pi 是什么?
pi 是一个基于 Node.js/TypeScript 编写的命令行(CLI)编程 Agent。
· 定位:它不是一个类似 Cursor 的 IDE,而是一个在终端运行的“Copilot”。
· 特点:极度“固执”且极简。它不试图通过复杂的 UI 来取悦用户,而是专注于高效的上下文管理。
核心设计哲学
A. “上下文工程”至上
Mario 认为,AI 编程的成败不在于模型有多强,而在于你能喂给它多精准的上下文。
· pi 引入了层级化的 AGENTS. md 文件系统。你可以在项目根目录放一个全局规则,在子目录放特定模块的规则。
· AI 会自动读取这些规则。这比每次都要在聊天框里重复“请使用 TypeScript”要高效得多。
B. 工具集的极简主义
与目前流行的 MCP 大而全的工具链不同,pi 只给了 AI 四个最基本的工具:
· read:读文件。
· bash:执行 Shell 命令(这是最强大的工具,AI 可以通过它调用任何脚本、编译器或测试)。
· edit:修改文件。
· write:创建文件。
Mario 认为:只要能运行 Bash,Agent 就拥有了全世界,不需要额外封装复杂的插件。
C. 拒绝“魔法”,拥抱“可见性”
· 没有隐式操作:用户能看到 Agent 执行的每一个步骤、调用的每一次 API。
· 手动挡的快乐:支持在一次会话中无缝切换模型(例如:用便宜的 GPT-4o-mini 做简单的代码扫描,遇到难题中途切到昂贵的 Claude 3.5 Sonnet 解决,无需打断上下文)。
阅读博客原文
邵猛,中年失业程序员 😂
专注 - Context Engineering, AI Agents.
分享 - AI papers, apps and OSS.
ex Microsoft MVP
合作 - 私信/邮箱:shaomeng@outlook.com
📢 公众号/小红书: AI 启蒙小伙伴