AI编程助手?不就那几个吗?GitHub Copilot、Cursor、Tabnine...我早就在用了。说实话,这些工具确实能帮点忙,补全代码、生成函数什么的,但总觉得差点意思。就像你雇了个只会打字的实习生,能帮你省点力气,但真正的思考还是得你自己来。直到上周,我在GitHub上刷到一个叫「goose」的项目——"开源的、可扩展的AI代理,超越了代码建议——使用任何LLM进行安装、执行、编辑和测试"。我当时就愣住了——这玩意儿不是代码补全工具,是能真正干活的AI代理啊!这玩意儿到底有多离谱?
说真的,我一开始没抱太大希望。毕竟现在AI工具吹得天花乱坠的,用起来也就那样。我装好之后,随手试了句:"帮我安装并配置一个React项目,用Vite,加上TypeScript和Tailwind CSS。"先是检查环境,发现没有Node.js,自动下载安装;然后运行npm create vite@latest,一路自动确认;接着安装TypeScript和Tailwind CSS的依赖;最后还顺手配置好了tsconfig.json和tailwind.config.js。整个过程不到3分钟,我就在旁边看着,连键盘都没碰。我当时就傻了——这哪是AI助手,这是雇了个全能的开发者啊!它是怎么做到的?
作为一个程序员,我当然得扒开看看这玩意儿是怎么实现的。打开GitHub仓库,第一眼看到的就是——Rust。哎,这就有意思了。现在AI工具大多用Python或TypeScript写,用Rust的还真不多见。你想啊,AI代理需要频繁调用系统命令、处理文件IO、管理子进程——这些操作用Rust写,性能能甩Python几条街,而且内存安全,不会因为一个bug就崩溃。核心是一个"工具路由器"(ToolRouter),把各种操作抽象成"工具"(Tool):然后,LLM(大语言模型)就像个"大脑",根据你的需求,选择合适的工具组合,一步步完成任务。用起来到底有多爽?
我把它集成到工作流里,用了一周,发现几个特别爽的地方:1.它不只是写代码,是干活的
2.支持任何LLM,不被绑架
它不绑定任何特定的LLM,你想用GPT-4、Claude、Llama、Mistral...随便你。[llm]provider = "openai"model = "gpt-4"api_key = "your-api-key"
[llm]provider = "ollama"model = "llama3"
这意味着什么?意味着你不会被任何厂商绑架,想用哪个LLM就用哪个。3.可扩展性爆表
goose的设计理念是"工具化"(Tool-based),所有操作都抽象成工具。
你可以轻松添加自己的工具:
#[derive(Debug, Serialize, Deserialize)]pub struct MyTool { pub name: String,}impl Tool for MyTool { fnexecute(&self, input: &str) -> Result<String, String> { // 你的工具逻辑 Ok("执行成功".to_string()) }}
这意味着你可以把任何操作——无论是调用API、操作数据库、还是部署服务——都封装成工具,让goose帮你完成。4.Rust的性能,快得飞起
我试了个复杂任务:帮我搭建一个完整的微服务架构,包括:- 3个后端服务(Node.js + Express)
- 1个前端应用(React + TypeScript)
1.第一次配置有点麻烦
你需要配置LLM的API密钥,选择合适的模型,还要了解它的"工具"系统。2.对LLM的要求比较高
但这也正常,毕竟LLM是它的"大脑",大脑不行,手脚再灵活也没用。3.不是所有任务都适合
对于简单的代码补全,用GitHub Copilot可能更快;所以,最好的方式是把它们结合起来——简单的用Copilot,复杂的用goose。为什么说这是AI编程的未来?
作为一个写了八年代码的老鸟,我见过太多AI工具了——从最早的代码补全,到现在的AI代理,技术一直在进步。AI不应该只是"助手",而应该是"代理"(Agent)。goose就是这个方向的第一步——它不是帮你写代码,而是帮你干活。这三个特点,让它成为了一个真正能在生产环境使用的AI代理。最后说两句
省下的时间,我可以用来思考架构、优化性能、学习新技术——这些才是真正有价值的工作。https://github.com/block/goose,完全免费开源,支持任何LLM。你平时用什么AI编程工具?有没有遇到过效率瓶颈?评论区聊聊~