Claude Code vs. Warp

Claude Code是最早将代理工作流程集成到类似终端环境中的AI工具之一。它帮助重新想象命令行为一个AI驱动的开发空间。随着时间的推移,市场上出现了许多工具。我最近尝试了一个在Claude Code之前就引入AI到终端的工具。那就是Warp

Wrap看起来和感觉像一个终端,但带来了IDE级别的功能,比如自动补全、代码差异比较、智能代理等。Warp目前在基准测试中表现领先,在Terminal-Bench上得分为52%(超过Claude Code),在SWE-bench Verified上得分为71%(截至写作时)。

那么是什么促使我从Claude Code转向Warp呢?让我们深入探讨一下。

让我先从用户体验和功能开始。然后我会亲自动手比较Claude Code和Warp的实际表现。最后,我将根据我的经验给出诚实的评价,并通过一些表格来比较不同的功能和进行的测试。

1、初次印象 —— UI和UX

Claude Code直接把我扔进了深水区,假设我已经对执行命令相当熟悉了。例如,我必须输入/help才能开始。从那里,我需要选择命令如/config才能开始。另一方面,Warp感觉更像是用自然语言直接做事。UI一开始有4个主要类别——安装、编码、部署和其他。它们如下图所示。

Warp明显有4个主要类别可供选择,以开始你的任务

显然,几乎所有我作为开发人员所做的事情都属于其中之一。所以我可以简单地点击进入“vibe coding”。

1.1 始终代理 vs 自动

对于那些喜欢终端的人来说,虽然Claude Code只是让我们更接近它,但Warp却让我们享受自动模式。我们可以用小按钮切换它,如下所示:

自动模式无缝区分终端命令和提示

你可能会想问,“有什么大不了的?”但这就是它如何影响我的用户体验。

一旦我们通过调用claude从终端进入智能空间,Claude Code是完全代理的,不允许我输入即使是简单的bash命令,这些命令深深植根于我18年的编程习惯中。例如,clearls -al这样的命令。Claude Code很难将这些解释为简单的shell命令,因为它总是处于代理状态。请看下面clear命令清除屏幕的响应。

Claude将简单的终端命令作为提示,并在这些提示上运行代理!

但使用Warp,shell命令是受欢迎的,并且会被自动解释。因此,在代理提示和shell命令之间切换是无缝且内部的。

Warp在不调用代理的情况下运行shell命令

1.2 语音输入和图像输入

Claude Code和Warp都允许我们将图像与提示一起输入。这有助于调试和开发UI,这些内容非常视觉化。但Warp更进一步,还具有语音提示。

你可以简单地点击“语音输入”并说出你的提示。然后提示会以文本形式显示,然后再执行。这是一个非常有用的功能。

1.3 模型选择

使用Claude Code,我们显然被绑定在Anthropic生态系统中,所以模型选择只有Sonnet和Opus。你可以通过运行/model命令在它们之间切换。

Warp是提供者无关的。有大量的模型来自OpenAI的GPT到Gemini,当然还有Claude模型。因此,如果你知道你在做什么,这可能很快且方便。否则,我们可以始终将模型设置为auto,让Warp处理一切。

与Claude Code相比,Warp有更多的模型可供选择,而Claude Code则局限于Anthropic的模型家族

1.4 其他亮点

  • 多代理应用。Warp允许打开多个标签页。因此,在一个标签页中,我可以运行一个代理来编写代码,而在另一个标签页中,我可以运行一个代理来调试不同项目中的不同问题。
  • Warp Drive。Warp允许我将长提示模板存储在Warp Drive中。然后,我可以随时访问这个存储库,并在需要时无缝地重复使用它
  • 工作流模板。你知道吗,搜索所有Python文件中包含“template”的单词的命令看起来像这样:find / -type f -name '*.py' -exec grep -l "template" {} \;Warp允许我们存储复杂的终端命令以便重复使用。此外,命令可以是自然语言,例如,“搜索所有包含单词template的Python文件”。

我能听到你说“够了”。所以,让我们动手实际测试一下Warp和Claude Code,看看它们的比较如何。

2、实践操作

我把实践比较分成以下4个主要任务进行测试。在所有的测试中,我将Warp设置为auto模式,让它决定模型、命令、代理等。

2.1 项目理解

为了保持比较的公平性,我首先创建了一个简单的React项目。然后我在Claude Code和Warp中打开了项目目录,继续我的开发。然后我提示道:

解释一下这个项目发生了什么。

以下是Claude Code的结果:

以下是Warp的回应:

Warp更加详细。它还包括UI设计和“如何工作”的部分,而Claude Code没有包括这部分。但两者都能很好地解释项目。

2.2 一次性完成

一次性完成是指我们希望仅用一次提示就能完成所有事情。这是为那些懒惰又雄心勃勃的人准备的。所以,这是我构建整个应用程序的提示:

构建一个全栈任务管理应用程序:
  • 我想要能够创建新任务
  • 我想要能够编辑和删除现有任务
  • 任务应该以看板风格排列,列包括待办、进行中、已完成和存档
  • 对于UI,你可以自由使用一个色彩丰富的调色板,让用户感到愉悦
  • 还应该有用于新用户注册和现有用户登录的功能按钮
  • 目前使用浏览器数据库来存储新用户
  • 使用React、TypeScript和Tailwind CSS作为前端

以下是结果。

Claude Code给出了以下功能性的UI:

而Warp给出了以下功能性的UI:

我测试了它们。两者都非常实用,没有任何漏洞。但请注意,端口3000被Warp占用,而Claude Code只占用了端口3001。这是因为Warp在Claude Code之前完成了任务,并在端口3000启动了应用程序。Claude Code因为3000端口已被占用,所以选择了3001端口。除此之外,没有其他抱怨。

Claude Code在此任务上的成本是1.08美元,如下面的截图所示。请注意,成本仅为24,200个输入标记和21,150个输出标记!

Claude Code的成本是逐步增加的,如上面所示。而Warp则有每月或每年的Pro订阅。

2.3 错误修复

在这个任务中,我检查了我的一个之前构建的用于处理图像的应用程序的代码。我可以上传图像,模糊它们,并下载模糊后的图像。我添加了一个后端Python模块来在Python中进行图像模糊,而不是在前端。但代码处于停滞状态,因为前端没有使用它。让我们看看AI如何修复它。

我给出了以下提示:

我修改了这个仓库并添加了用于图像模糊的Python后端文件。它使用FastAPI。作为一名后端开发者,我对前端代码一无所知。修改前端代码以使用这个API并修复这个问题。

Claude Code 提供了像下面这样的漂亮的图像差异。然而,我无法通过编辑AI修复来贡献更改。我只是继续接受这些更改。

在Claude Code中,更改以差异的形式显示,突出显示了删除和添加的代码。但无法手动编辑文件。

最终,它设法修复了一切并启动了应用程序。它运行良好,但后端必须在另一个终端中手动启动,运行命令python run.py。这再次表明,当涉及到与Claude Code合作时,需要一定程度的编程专业知识。

由于Claude Code的成本是逐步增加的,上述操作花费了0.70美元。

Warp 也设法修复了一切并启动了应用程序。除了显示代码差异外,Warp还允许我编辑修改后的文件。这对于一个想要手动输入几行代码来修复明显问题的开发人员来说非常方便。

与Claude Code类似,Warp也只启动了前端应用程序。但我用自然语言提示说:“同时启动前端和后端服务。” 它启动了两者,我可以无缝地测试应用程序!

2.4 代码审查

我手动编写了一些代码,与我们在错误修复部分看到的图像编辑项目相同。我写了一个新的SVG转换函数。

现在,让我们让Claude Code和Warp审查这些更改。我给出了以下提示:

我添加了一个Python函数,将任何给定的图像转换为SVG图像。我还为此创建了一个端点。审查更改的代码并提供您的反馈。

尽管两个工具都提供了有用的代码审查反馈,但Claude Code的审查反馈是通用的,是一些改进的要点,其中有一些行号分散在各处:

Claude Code的一个代码审查反馈示例,展示了一系列需要改进的要点。

Warp的审查反馈则与代码和文本交织在一起,展示了需要修复的代码片段。

Warp的一个代码审查反馈示例,展示的评论与代码行相匹配,类似于我们在GitHub等平台上看到的代码审查。

以上内容更符合我们熟悉的环境,因为我们习惯了在GitHub上看到团队成员对代码片段的评论。这只是我的偏好。我不确定你是否也是如此。无论如何,是时候总结我的学习经验了。

3、总体评价

这是我在Warp和Claude Code上尝试相同提示的经验总结。

基于对开发者通常进行的4项任务的手动测试,这是我的想法:

以上总结仅基于我个人的经验。欢迎在评论中告诉我你使用两者的体验。

祝你好运,愉快地使用Warp吧!


原文链接:Why I switched from Claude Code to Warp

汇智网翻译整理,转载请标明出处