Goose 是一款免费的开源 AI 智能体,它不仅提供代码建议,还能自主执行任务,让你直接在本地系统上实现开发工作流程自动化。

引言

面向开发者的人工智能(AI)领域正以惊人的速度变化。你可能已经使用过一些提供出色代码建议的工具,可以自动补全一两行代码。但如果你的AI功能更强大呢?想象一下,AI助手不仅能建议函数,还能编写整段脚本、运行脚本、发现错误、修复错误,甚至部署最终项目,而你只需悠闲地喝着咖啡。

这就是智能编程的愿景,它不再是遥不可及的未来概念。像Goose这样的工具已经让这一切成为现实。本文是一篇面向初学者的教程,旨在帮助你了解和使用Goose。Goose是一款免费开源的AI智能体,不仅提供简单的建议,还能自动执行重要的工程任务。

我们将详细介绍Goose的独特之处、工作原理,以及作为数据科学家的你到底如何开始使用它来提升工作效率。

Goose简介

究其核心,Goose是一款可重用的开源AI智能体,旨在本地系统上运行。你可以将其视为自主的队友,能够接收复杂的指令,并从头到尾完成任务。

不像传统的AI编程助手(通常驻留在文本编辑器中并提供代码片段),Goose 在你的实际开发环境中运行。它可以与文件系统交互、运行终端命令,甚至调用外部应用编程接口(API)。这意味着它可以处理整个工作流程,而不仅仅是单行代码。

Goose由Block Inc.开发,秉持透明公开和鼓励社区贡献的理念,采用开源许可证向所有人开放。你可以找到完整的代码库,并为其GitHub代码库做贡献。

Goose的独特功能

Goose不仅仅是另一个AI封装器。它的架构基于几个强大的原则,使其拥有独一无二的功能:

1. Goose真正具有自主性,能够将一个大体的目标分解成一系列步骤并逐一执行。你可以让它“为这个网站构建一个简单的网络爬虫,并将数据输出为CSV文件”,它会负责规划、编程、测试和调试。

2. 这具有颠覆性意义。Goose可以连接到任何遵循模型上下文协议(MCP)的服务器。该标准使其能够接入庞大的工具生态系统,比如数据库、Git 等版本控制系统或外部服务,从而极大地扩展其功能。

3. 你的代码和数据保留在本地系统上。Goose在你的本地环境中执行任务,这对于处理敏感数据或专有代码库至关重要。你完全掌控一切。

4. 你不会被某一款AI模型束缚。Goose可与任何大语言模型(LLM)配合使用,从功能强大的云端模型(比如GPT-4和Claude)到可在你自己的硬件上运行的本地模型,均可胜任。这让你可以灵活地兼顾性能、成本和隐私。

5. Goose提供两种版本,以满足你的工作流程需求:

•桌面应用程序:用户友好的图形界面,非常适合视觉型思维者和青睐类似聊天体验的用户。

•命令行界面(CLI):对于经常使用终端的开发人员来说,CLI 提供了速度、脚本功能和深度集成。

为什么数据科学家应该关注智能体编程?

如果你是一名数据科学家,你的日常工作与Goose的优势完美契合。你需要不断处理重复性、多步骤且需要与各种工具和库交互的任务。看看Goose 如何能成为你的秘密武器:

1. 快速原型设计:有了假设?告诉Goose“从Seaborn加载大型数据集,训练一个随机森林分类器,并打印准确率分数。”它可以编写样板代码,执行代码,并在几秒钟内给出结果,让你更快地完成工作。

2. 自动化数据管道任务:你可以让Goose“编写一个Python脚本,清理./data/raw文件夹中的所有CSV文件,使用中位数填充缺失值,并将清理后的文件保存到./data/processed。”它会为你创建、运行甚至调试脚本。

3. 简化MLOps:想要使用DVC对模型进行版本控制,或者将实验日志记录到MLflow?你可以让Goose处理Git 命令、DVC设置或MLflow日志调用,从而简化运维操作的复杂性。

4. 环境和依赖项管理:建新项目?你可以让Goose“创建一个新的Python虚拟环境,安装pandas、scikit-learn和matplotlib,然后生成requirements.txt文件。”这就像你的团队有一位DevOps工程师。

Goose入门指南:分步详解

先不妨安装Goose,并运行你的第一个智能体任务。由于文档完善,整个过程非常简单。

第1步:安装

根据你的操作系统(macOS、Linux 或Windows),安装方式有所不同。你可以直接从 Goose官网或GitHub的版本发布页面下载桌面应用程序安装工具。

图1:Goose 安装

第2步:初始设置和配置

从下载的zip文件中提取文件。打开提取后的文件夹,点击Goose应用程序。

首次运行Goose时,它将引导你完成设置过程。最重要的步骤是配置LLM提供商。你需要从OpenAI、Anthropic或其他提供商处获取API密钥。Goose会询问你要使用哪家提供商,并以安全的方式提示你输入密钥。你也可以稍后通过编辑配置文件来配置或切换提供商,从而灵活地为不同的任务使用不同的模型。

图2:Goose初始设置和配置

第3步:你的首次智能体会话

现在到了有趣的部分。让我们给Goose布置一个任务,展示其智能体功能。我们将要求它执行简单的数据分析。开始新的聊天:

你会看到一个提示。现在输入你的指令。请像对待初级同事一样,清晰明确地描述。

图3:首次智能体会话 输入以下提示: 我位于一个全新的空目录中。首先,创建一个名为analyze_stocks.py的Python脚本。在该脚本中,编写代码以实现以下功能:

  1. 使用yfinance库下载苹果和微软最近3个月的每日股票数据。
  2. 计算每只股票收盘价的20日简单移动平均线。
  3. 创建一个图表,显示两只股票的收盘价和移动平均线,并添加图例。
  4. 将图表保存为stock_analysis.png。 然后运行脚本。如果出现任何错误(比如缺失库),找出解决方法并再次运行,直到成功为止。最后,请告知我图像是否已成功创建。

现在,请稍等片刻。

图 4:Goose Chat界面

以下是发生的情况:

•我们使用yfinance库下载了苹果和微软近三个月的每日股票数据。

•我们计算每只股票收盘价的20日简单移动平均线。

•我们创建一个图表,显示收盘价和移动平均线。

这个简单的例子展示了智能体编程的核心:一条指令引出了一个多步骤的自纠错工作流程。你可以在官网上找到更复杂的教程。

图 5:Goose 聊天界面

使用MCP扩展Goose的功能

Goose的真正潜力在于其可扩展性。MCP是一个开放标准,允许Goose连接到任何实现了该标准的服务器。你可以将MCP服务器视为可以提供给Goose的“技能”或“工具”。

比如说,你可以将Goose连接到以下服务器:

1. 面向PostgreSQL的MCP服务器:你可以发出这样的请求:“连接到我的本地数据库,运行一个查询,找出生命周期价值排名前10的客户,将结果保存到CSV文件中。”

2. 面向GitHub的MCP服务器:你的指令可以是“查看我的代码库 'data-project' 中的未解决问题,找到标记为'bug'的问题,并创建一个新分支来开始修复。“

3. 面向Slack的MCP服务器:你可以让Goose 监控频道,并自动总结讨论或发布更新。

这个生态系统将Goose从一个功能强大的本地智能体转变为面向你整个开发和数据工作流程的中央编排器。

图 6:Goose设置

结论

智能体编程是我们与AI交互方式的一大进步。它标志着我们从请求AI帮助编写一小段代码,转变为委托整个任务并信任AI执行所需的步骤。

Goose 让这种强大的范式触手可及、免费且完全由你掌控。对于数据科学家而言,它是一个不可或缺的工具,可以自动处理繁琐的任务、快速构建原型,并管理日益复杂的现代项目。Goose可在本地运行,与LLM无关,并可通过MCP进行扩展,让你直接在自己的系统上掌控自主AI智能体的强大功能。

了解其潜力的最佳方式就是亲自试一下。安装Goose,交给它一项你一直畏惧的任务,亲身感受未来编程的魅力。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐