我测试了 Gemini CLI 和其他一些顶级代码代理——以下是我的发现
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
如果你一直关注面向开发者的AI工具的兴起,你可能已经在开发者推特、Hacker News和GitHub等平台上的讨论中看到过Gemini CLI的身影。它是谷歌最新的命令行编码助手,旨在将智能的、能够感知上下文的AI直接引入你的终端。
但是,在开源代理和 AI 开发工具层出不穷的领域,Gemini CLI 的实际表现如何呢?
为了找到答案,我花了不少时间测试 Gemini CLI 以及其他一些流行的代码代理,包括 Claude CLI、Cody CLI、GPT Engineer 等等。我让它们完成了一系列实际任务:调试出错的脚本、生成测试、重构混乱的代码以及搭建简单的 API 框架。
有些工具功能强大得惊人,而有些工具甚至连安装都还没完成。
为什么命令行编码代理很重要
CLI代理程序完美地介于功能齐全的IDE辅助工具和基于浏览器的代码生成器之间。它们更轻量、更快速,并且可以直接集成到许多开发人员已经使用的工作流程中,特别是那些使用Docker、Git或服务器端技术栈的开发人员。
它们让你可以直接在终端中自动生成代码、调试、搭建代码框架,甚至进行任务规划。如果你喜欢在 Python tmux、Vim 中工作,或者只是不想每隔 10 秒就离开终端,这些工具或许代表着未来。
我是如何测试它们的
为了公平起见,我在相似的条件下测试了每款工具:
- 操作系统: Windows 11
- CPU:英特尔酷睿i7(第13代)
- GPU: NVIDIA RTX 3060(笔记本电脑)
- 内存: 32GB DDR5
- 环境: VS Code + Git + Windows 终端
- 附加组件: WSL2(Ubuntu)、Docker Desktop、Python 3.11、Node.js LTS
语言重点:
- Python
- JavaScript
使用案例:
- 搭建一个简单的 CRUD API
- 为函数生成单元测试
- 调试损坏的脚本
- 重构混乱的代码
- 用自然语言提问有关本地项目的问题
评价标准:
- 设置时间和稳定性
- 代码输出质量
- 易用性(命令、提示、界面)
- 上下文感知能力(它是否理解我的项目?)
- 在实际开发工作流程中的实用性
我在真实世界的存储库(而不是演示项目)中测试了这些代理,并记录了每个代理在这些限制条件下的性能。
代理商概览
Gemini CLI
它的功能:
这是一个基于终端的开源人工智能助手,由谷歌的Gemini模型驱动。你可以用它进行代码生成、调试、执行shell命令、编写文档、解决问题以及处理各种人工智能辅助工作流程——所有操作都无需离开终端。
设置:
- 通过 Homebrew/Linux 软件包管理器安装(支持 macOS 和 Linux-WSL)。
- 需要一个免费的 Gemini Code Assist 账户。
- 无需 Docker 或大量依赖项——快速干净的安装。
表现:
- 对编码提示和 shell 问题做出快速、灵活的响应。
- 非常适合生成代码片段、编写测试、修复错误或运行研究命令。
- 支持本地自定义和使用 CLI 标志进行提示链式调用。
优点:
- 将谷歌级别的LLM直接引入您的终端
- 简洁、可扩展的接口(Apache 2.0 许可证)
- 与 Gemini Code Assist 集成,实现上下文共享和效率提升。
缺点:
- 需要联网和 Gemini 账户
- 作为近期发布的一部分,部分功能仍在不断扩展。
判决:
Gemini CLI是 AutoCode 的绝佳现代替代方案。它界面简洁流畅、功能强大,显然是专为喜欢使用终端的开发者而设计的。如果您正在寻找一款技术领先、维护活跃的命令行代理,那么 Gemini CLI 是目前最佳选择之一。
Claude Code CLI
它的功能:
这是一款基于终端的AI编码助手,采用Anthropic公司的Claude 3模型。它专为本地或项目特定任务而设计,能够编写、解释、调试和重构代码,并注重上下文深度和安全输出。
设置:
可通过 pip 或 npm 安装(取决于社区版本)。需要 Anthropic API 密钥。轻量级,无需 Docker 或其他额外依赖项。
表现:
Claude Code CLI 在处理大型代码上下文时表现出色。它能够处理完整的文件,并且比大多数代理程序更好地理解跨多个文件的复杂逻辑链。在单体仓库或混乱的遗留项目中使用时,它的表现尤其令人印象深刻。
优点:
- 非常擅长在长文件中保持上下文
- 输出结果安全、易读且可解释。
- 反应迅速,几乎没有幻觉
- 非常适合结对编程或审查遗留代码
缺点:
- 需要 Anthropic API 密钥(不适用于免费套餐)
- 没有主动记忆或逐步任务规划器
- 仍在快速开发中——功能因版本而异
判决:
Claude Code CLI 就像终端里最聪明的结对程序员。如果你正在处理棘手的重构、遗留代码,或者需要可靠的多文件推理,那么它绝对是最佳选择——尤其是在长远理解方面,它远胜于其他模型。
小开发者
它的功能:
Smol Developer 是一款极简的命令行代理,专为速度而生。你只需输入提示,它就会返回代码、解释或文件建议——无需代理、内存占用或复杂的用户界面。
设置:
极其简单。克隆仓库,安装依赖项,然后运行即可。无需 Docker,也无需繁琐的 API 密钥设置。
表现:
它能轻松处理诸如“构建 FastAPI CRUD 应用”或“为这个 Flask 应用添加登录功能”之类的基本提示。虽然它不维护项目级内存,但它速度快、实用且很少出错。
优点:
- 快速响应
- 易于安装
- 不试图做太多事。
缺点:
- 无持久内存
- 无法跨文件推理
判决:
一款出色的助手,可用于快速生成代码片段或文件。学习曲线低,实用性强。
OpenHands(以前称为 OpenDevin)
它的功能:
力求成为你的完全自主开发者——规划任务、执行步骤,并在“大声思考”的同时编写代码。
设置:
第一次尝试很痛苦。需要 Docker、特定的 Python 版本和系统资源。经常会遇到容器问题。
表现:
雄心壮志令人印象深刻。它生成了完整的文件树,讨论了其逻辑,并尝试了多步骤工作流程。但失败的次数多于成功的次数。
优点:
- 富有远见的设计
- 多步骤推理
- 终端图形用户界面很流畅
缺点:
- 设置脆弱
- 表现不稳定
- 需要大量系统资源
判决:
非常有前途,但目前还不够稳定,无法用于日常工作。
继续 CLI
它的功能:
Continue IDE 插件的命令行配套工具。它就像一个基于 GPT 的 REPL,可以访问你的代码库。
设置:
很简单,安装运行即可。
安装完成后,您通常会使用如下命令:
表现:
有助于提问、编写简短函数和解释错误。虽然缺乏深层文件上下文信息,但速度很快,弥补了这一不足。
优点:
- 干净的界面
- 便于快速问答
- 轻的
缺点:
- 项目意识有限
- 不会自动编辑文件
判决:
一款可靠的“终端助手”,非常适合解答小问题和提供编码指导。
Devika CLI
它的功能:
它接收提示,规划子任务,并分阶段构建项目。它会解释每一步的操作。
Devika 安装
Devika是一个本地 AI 编码代理(类似于自主开发者)。以下是各个步骤的详细说明:
- 克隆仓库:
- 使用以下命令设置 Python 虚拟环境
uv: - 安装 Playwright 依赖项(用于浏览):
- 运行后端:
- 运行前端:
- 通过浏览器访问:http://127.0.0.1:3001
配置需要花点时间,但还算可以接受。
表现:
它处理简单的网页应用表现非常出色。但对于规模较大或范围不明确的提示,它就会出现幻觉或卡住。不过,观察它的“思考”过程还是很有意思的。
优点:
- 子任务规划
- 清晰的解释
- 可以生成完整的应用程序
缺点:
- 容易出错
- 验证效果不佳
- 输出可能存在噪声
判决:
适合快速原型制作和实验,但不太适合代码润色或维护。
科迪 CLI
它的功能:
Sourcegraph 的 CLI代理能够理解您的实际代码库。您可以向它询问诸如“这个类在哪里使用?”或“重构这个函数”之类的问题。
与 Sourcegraph 的索引工具紧密集成。如果您已经在使用 Sourcegraph,那就更无需犹豫了。
表现:
就上下文而言,它最“智能”。它会根据实际使用情况和文件关系做出响应。但如果不与 Sourcegraph 完全集成,它的功能就会受到限制。
优点:
- 深度代码意识
- 准确的答案
- 搜索效果极佳
缺点:
- 需要 Sourcegraph
- 在生态系统之外,其作用较小。
判决:
对于使用 Sourcegraph 的团队来说,这简直太棒了。虽然小众,但功能强大。
GPT工程师
它的功能:
提供项目规格,它就能从零开始构建项目。包含思路日志和逐文件解释。
设置:
需要正确的 Python 配置和 API 密钥。
表现:
它非常擅长处理结构化提示。比如,你输入“用 Flask 构建一个带登录功能的待办事项应用”,它就能立即开始工作,创建文件和评论。
优点:
- 易于迭代
- 解释推理过程
- 可自定义配置
缺点:
- 对重大提示反应迟缓
- 需要打磨
- 不进行验证或测试
判决:
非常适合用于最小可行产品(MVP)或创意探索。所有输出结果均需手动审核。
聊天开发人员
它的功能:
一家人工智能“公司”,CEO、CTO和开发人员等角色共同协作开发软件。没错,是真的。
设置:
篇幅很长,但资料翔实。
表现:
更像是个玩具。看着人工智能角色们争论架构固然有趣,但结果却前后矛盾,而且往往冗长乏味。
优点:
- 独特的想法
- 很有趣
- 多智能体逻辑
缺点:
- 慢的
- 容易出现奇怪的输出
- 不适用于严肃项目
判决:
仅供娱乐消遣,不适用于生产用途。
对比表
对比表
我的精选推荐
令我惊讶的是
- 大多数特工在收到非常具体的提示时,出现幻觉的几率会降低。
- 那些不试图包揽一切的工具,往往表现最好。
- CLI 用户体验比我想象的更重要——清晰的日志和结构化的步骤会带来巨大的不同。
CLI AI 代理的现状
它们能完全取代你的开发环境吗?不能。
但它们现在有用吗?当然有用。
对于搭建框架、提供解释说明或小型自动化任务,CLI 代理已经非常实用。对于大型重构或全栈构建,它们正在逐步完善,但仍需要监督。
接下来我想看什么
- 离线/本地LLM支持
- 更智能的文件编辑(而不仅仅是生成)
- 更好地处理多文件项目
- 支持 Git 的工作流程(例如,生成提交消息、建议 PR)
结论
命令行编码代理不再只是概念——它们真实存在,功能齐全,在某些情况下甚至非常出色。虽然大多数命令行编码代理目前还不能做到“一劳永逸”,但它们绝对可以帮助减轻你的精神负担,加快开发速度。
不妨试试,尤其如果你经常待在候机楼的话。不过,别抱太高的期望——而且要保持git diff清洁。
有没有我没提到的你最喜欢的命令行编码代理?告诉我吧——我一直都乐于测试新的代理。
文章来源:https://dev.to/therealmrmumba/i-tested-gemini-cli-and-other-top-coding-agents-heres-what-i-found-om1












