近期,埃隆·马斯克发布了xAI的最新模型Grok 4,而谷歌则有已经迭代了一段时间的Gemini模型。 在我满怀期待地试用了马斯克的Grok 4和谷歌的Gemini 2.5 Pro后,真实体验可谓一言难尽。 这两款模型一直被其背后的公司大肆宣传,但在代码生成这个具体的场景下,它们的差距显而易见。
直观感受
如果说Gemini是一个冷静、细致的副机长,那么Grok恐怕连乘客的资格都没有。
与Grok对话,总能感受到它的“俏皮话”风格,但这股风气延续到了代码上,就成了一场灾难。它写的代码像一只受惊的走地鸡,逻辑混乱,到处乱窜。也许Grok是个不拘小节的“直男”,完全无法满足我这个注重细节的处女座。
例如,当我提出需求时,它会忘记上下文中的关键信息。我告诉它需要安装Python 3.11或3.12版本,它在第一步正确提供了两个选项的安装命令。然而,在后续生成Systemd服务文件时,它便武断地忘记了“或”字,完全默认我已经安装了3.11版本。于是就只给了python3.11的命令。
|
|
对于有经验的开发者来说,上面的代码片段可能看不出大问题,但关键在于,我的项目入口文件名是1.py,而不是它想当然的app.py!Flask应用的入口必须是app.py吗?它从哪里得来的自信?我的项目只是一个为了方便管理的单文件,但这可是需要sudo权限修改的Systemd配置文件,张口就来的错误会给开发者带来实实在在的麻烦。
相比之下,Gemini的表现则稳健得多。在生成代码前,它会明确指出文件中需要注意的关键点,并进行确认。它不会做这种随意的假设。纵观Grok的回答,我没有找到任何一处类似的提醒或警告,这或许就是“副机长”和“乘客”的区别。
语言的细节
语言处理的一致性上,两个模型的差距也十分明显。 Gemini的表现非常稳定,无论对话持续多久,它总能保持使用与提问者相同的语言进行回应。
相比之下,Grok则显得非常不稳定。我多次遇到用中文提问,它却用英文回答的情况。这种语言混淆的问题,在将整段有问题的代码发给它分析时尤为突出——尽管此前的对话一直使用中文,Grok也会毫无征兆地切换到全英文模式。而这一点,在与Gemini的交流中从未发生过。
工具生态与集成:云泥之别
在工具集成方面,Grok几乎是一片空白,尤其是在核心的开发场景下。诚然,像n8n这样的自动化平台可能提供了对Grok的通用API调用,但这大多用于发送邮件或处理文本等常规任务,通过API的集成,AI Studio生成API Key一样可以轻易完成。而在真正的代码辅助和开发流程集成上,Gemini可以说取得了压倒性的胜利。
Gemini CLI:终端里的救星
谷歌推出的Gemini CLI,将AI能力直接带到了开发者的命令行终端。
前不久,我尝试在一个Qt Quick项目中使用GitHub上的一个Fluent UI库(来自@zhuzichu520)。然而,这个项目的文档几乎没有提供任何有效的安装说明,甚至缺少了关键的实现文件,让我无从下手。无奈之下,我求助于Gemini CLI。结果出乎意料,在不到五分钟的交互后,它便分析了情况并给出了完整的解决方案,问题迎刃而解。
Gemini Code Assist:IDE中的得力助手
作为对标GitHub Copilo
t的工具,Gemini Code Assist(前身为Duet AI)是谷歌在IDE集成领域的答案。它深度集成于各种主流的集成开发环境(IDE)中。
除了Visual Studio Code,我几乎在所有的Jetbrains IDE中都安装了它。当我自己写的代码遇到瓶颈或难以察觉的错误时,我就会向它求助。尽管它的响应速度可能不如命令行的Gemini CLI那样迅捷,但它能在IDE内提供完整的代码上下文,这种沉浸式的体验同样非常出色。
完结!撒花!