在 Claude Code 中使用 GLM 4.6 的体验

Claude Code中使用GLM 4.6的体验

Oct 08 ·
10分钟阅读

最近我在编程上一个很大的变化是把持续月付了将近1年的Cursor换成了Claude Code.之前一直不用Claude Code原因有二:

  1. Claude Code在中国使用非常困难,我已经算是比较愿意折腾的人了,也折腾不动它。在Cursor中使用Claude模型则非常方便。
  2. 我不是很喜欢完全在CLIAI编程,因为我使用AI编程的方式比较像Copilot而不是结对编程的形式。也就是说我喜欢在像Cursor这样的编辑器中,精确告诉AI要改动什么文件,或要针对哪几行的code进行改写。我认为在Claude Code中要做到这种「指哪打哪」非常困难。

这次转变的契机在于,上个月我竟然把$20cursor pro额度花光了(我日常使用的是Claude Sonnet 4,只能用Auto Mode,这使我的生产力断崖式地下降。这时候,恰好智谱推出了「编码畅玩套餐」(并非广告,智谱看到的话可以联系我打钱,推出了兼容Claude Code的接口,价格还相当便宜。于是我开始再次尝试Claude Code.

Claude Code使用体验

最初我还是非常不习惯不在editor里操作AI,因为觉得这样很没有安全感。不过在慢慢磨合之后感觉没有我想象中那么糟糕。

Claude Code中可以使用 /ide 连接IDE,连接后Claude Code可以识别出当前IDE打开的文件是什么,这样能达到Cursor类似的效果。所以Claude Code也能得知我希望的是结合指定文件作为改动基准。

Cursor中我还会手动@不同的文件指定AI修改的文件,出乎我意料的是在Claude Code@文件的体验也相当不错,所以在体验方面,Claude Code基本可以对齐我使用Cursor时的习惯。

另外一个常用的场景是我会选择具体的代码行让AI改动,这一点在Cursor做得很好。Claude Code连接了IDE后也能识别到。

ide connect
ide connect

Cursor做得非常好的其中一个体验是它的Restore,你可以随时在AI改动的点撤销改动,也可以直接Undo all撤销整个会话的改动。这一点Claude Code还是逊色不少,现在我不得不在下一次改动前git commit我当前的改动。

Claude Code 2.0之后新增了 /rewind 命令,也可以基于对话历史进行回撤,但远不如CursorGUI上做得好。而且如果你关闭了当前的对话后,也无法再进行回撤了。

Claude Code中使用MCP一开始让我相当困惑。当我在项目路径通过 claude mcp add 安装MCP后,我发现在其它项目中并没有这个MCP,后来我才知道,需要指定安装的scope,默认是项目范围,如果要安装全局跨项目的MCP,需要加一个 --scope user 参数:

claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

我使用的MCP只有 exacontext7,这两个MCP都是用于查找文档的。我在Cursor中从来不用,因为Cursor可以直接在设置中输入文档地址进行索引,对话时用@docs就能把文档加到上下文中。这一块我还是喜欢Cursor的体验,当然context7exa也能完成任务。

Claude Code让我比较喜欢的是Plan Mode.AI描述要做的事情,它先给你输出一份它的行动计划,我review完觉得ok才开始做,不ok就进一步沟通,直到满意为止。

GLM 4.6的体验

说实话在使用GLM之前,我对它的质量持怀疑态度。经过一个月深度使用后,我认为它远超了我的预期,并且个人感觉非常非常接近Claude Sonnet 4的水平(我用Sonnet 4.5还不多,所以无法对比

在此之前,我一直用的是Sonnet 4,可以说Sonnet 4和我磨合得已经相当好了,它就像跟了我一年的engineer,我对它的能力和做事风格相当地熟悉,所以能很好地彼此配合完成任务。因此在接触GLM 4.6的期间,我认为我是很有话语权把它们两个进行对比的。

首先是速度,GLM 4.6在速度和质量取得了很好的平衡,平均速度我认为比sonnet 4更快一点点,偶尔抽风会特别慢。

质量上,我认为从bug的数量上来看,和sonnet 4没有我能感知到的差别。我的代码主要以前端TypeScriptRust为主,在生成Rust代码时,GLMsonnet 4基本一样一气呵成,偶尔会有错误,但把错误日志再输入给它时,就能修好。

无论是前端还是后端还是什么语言,对于这两个模型,我的经验认为,只要你能给到足够的文档作为上下文(例如使用exa, context7,效果都会非常好。因为生成功能性的代码主要需要的能力是按照文档进行推理,对于目前旗舰级的模型来说已经不是特别难的事。

claude code
claude code

而我认为最能体现一个模型真正的编程智能的任务是重构。因为模型agent需要自己对整个codebase进行理解、搜索、规划重构方案的流程不是照着文档抄那么简单。我特意使用了GLM对某个项目进行了技术栈的重构,比如在一个充满useEffectReact应用,我让它用@tanstack/react-query进行重构,GLM十分出色地完成了任务,而且速度相当快,准确率很高,偶尔出错时,它自动参考lint error重新修改也能完成任务。

用一个比喻来总结GLM 4.6Sonnet的对比,我认为如果说SonnetP7级别的工程师,那么GLM 4.6P6+级别的。有时候GLM完成的任务,你需要再提醒多那么一句,它才能达到完美。

但考虑到这是一个只需要60人民币一个月(首月20)的模型,我觉得完全可以接受了。

如何配置Claude Code使用GLM

顺便分享一下如果要在Claude Code中使用GLM需要怎么配置。

使用CC Mate

最简单的方法是使用我最近做的 CC Mate 这个小工具。安装好Claude Code后,在CC Mate填一下API Key,所有的配置都会帮你处理好,这时打开Claude Code就已经是在使用GLM了。

CC Mate
CC Mate

CC Mate支持多个配置随意切换,所以如果你想用Kimi也可以创建一个Kimi的配置。

另外CC Mate还有管理全局MCP的功能,你可以一键把我文中提到的context7exa安装到全局MCP当中。

MCP
MCP

注意:安装完MCP后,需要在Claude Code中使用 /mcp 给它们登录授权。

手动配置

首先购买「编码畅玩套餐」,然后新建一个API key.

然后手动修改配置文件 ~/.claude/settings.json 如下:

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "GLM-4.5-Air",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "GLM-4.6",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "GLM-4.6",
"ANTHROPIC_MODEL": "GLM-4.6"
}
}

配置后,你能正常使用Claude Code,但你会发现,如果你使用Claude CodeVS Code插件,你是进不去的,它强制要求你先登录Claude账号。所以你需要再添加一个文件~/.claude/config.json:

{
"primaryApiKey": "xxx"
}

xxx 只是一个占位符,什么内容都无所谓。

这时你就可以正常使用Claude CodeVS Code插件了(这个配置在 CC Mate 中也已经帮你做好了)

P.S. CC Mate的开发过程完全使用Claude Code + GLM 4.6,基本80%的代码都是AI编写的,我只作为架构设计以及UI设计。


sponsor
sponsor
通过支付宝[email protected]或赞赏码赞助此文