大家好,我是小北。
在过去一年里,AI编程助手的发展可以说是日新月异。
从GitHub Copilot 的横空出世,到 Amazon CodeWhisperer 的持续迭代,再到像 CodeGeeX、Cursor 这样的创新产品,我们见证了 AI 编程工具从简单代码补全向项目级智能助手的转变。
似乎不用 AI 编程就 Out 了!
说实话,国内外很多AI 编程工具用了一圈下来,最终用下来比较功能比较满意的还是CodeGeeX:
难得的是 CodeGeeX 还在 Github 开源了,不得不说,智谱有点东西的。
现在在日常工作中,已经高度使用 CodeGeeX 这种 AI 编程工具了,最常用的键从 ctrl-c/v 变成了 tab(不断点 tab 确认 ai 的提示)
但是要说完全让AI 写代码肯定不现实,目前我对 AI 的定位是提高效率,之前可能需要浏览器、其它软件搜索,现在 ALL IN AI,目前我用的比较多的能力是:
局部代码生成 AI 补全注释(最讨厌写注释也最讨厌别人不写注释) 对代码片段提问 变量、函数命令 局部文件、函数级的序列图、流程图生成
首先,代码生成、补全这些都算是 AI 编程工具的标配了,所以简单演示下代码生成:
先来看个 C++ 快排实现吧:
相比早期动辄需要等待几秒的体验,现在的代码生成和补全已经能做到无感知延迟;
可以看到,CodeGeeX不仅生成了标准的快速排序实现,还自动添加了必要的注释。
特别值得注意的是,它在生成代码时考虑了:
基准值的选择策略
边界条件处理
接下来让 CodeGeeX 帮忙生成一下单测测试一下,然后补全注释:
正常数组排序 包含重复元素的数组 边界情况(空数组、单个元素)
当然,这都是比较基础的一些能力啦,现在 CodeGeeX 也不仅仅是停留在这种 Demo 级别的演示代码生成~
很多同学说被八股文通过了面试,刚入职公司看不懂那种复杂的项目,怎么办?
包括大家日常在找工作过程中,最头疼的就是项目问题。
去 Github 下载一个项目吧,自己又看不懂,无从下手,看到几十个文件头都麻了!
正好,CodeGeeX 这两天推出了一个叫 “项目地图”的功能,这玩意是干啥的呢?
简单来说就是,它具备理解整个项目的能力,理解了项目之后,能干的就多了,比如可以绘制时序图、流程图帮助我们快速理解整个项目。
也可以直接问项目里某个功能具体在哪些文件,哪些函数实现的。
这次我们直接用 Github 上的一个 17k star 的开源项目:TinyWebServer。
这是用多线程、锁、MySQL 等实现的一个 Web服务器项目:
整个代码量应该是近万行的,比较接近真实项目(真实项目里大多也是微服务)。
首先把代码 clone 到本地之后,打开CodeGeeX 的对话框,它会先对整个代码建立代码库(workspace),也就是分析整个项目的代码:
先安利一个非常实用功能,也是最近才上的:ghost comment (幽灵注释)。
啥叫幽灵注释?简单来说就是他会生成注释,但是这个注释不是写在代码文件里的,而是在代码旁边显示,类似于旁白,目的是为了方便你理解代码:
不得不说,想到这个点子💡的产品经理太懂程序员了!
可以看视频感受下:
这些幽灵👻注释不仅解释了代码的功能,还包括:
实现的设计思路 潜在的性能影响 与其他模块的交互
另外一个我特别喜欢的能力就是,根据代码绘制类图、流程图、时序图等!
这个可就太方便了,尤其是有时候新接手一个项目,上手过程一般就是自己梳理出一些脑图、流程图沉淀到 wiki 上。
而现在,完全不需要手画了,直接右键就生成了,这效率提升可太大了,比如下面这个图就是 CodeGeeX 生成的 WebServer 的时序图,是不是还非常的准确:
可以看视频感受下生成过程,还是非常快的:
时序图和流程图可以快速帮我们搞清楚项目的整体架构、核心业务流程、模块间的依赖关系、关键处理路径等等。
当然了,项目地图还可以直接对着 CodeGeeX 问一些细节问题,比如项目里是如何处理HTTP高并发时、线程模型是怎么样的、HTTP 请求是怎么做的等等,
CodeGeeX能够精确定位到关键代码文件,并提供详细解释:
如下视频所示,响应速度还是非常快的,也能把握到项目的核心:
说实话,现在有这么多 AI 编程工具,对于做项目、学习编程、找工作来说效率都提高了很多倍!
遇到问题也不用找大佬了,AI 就是又耐心又全能的巨佬!
Github 找的项目也能让 CodeGeeX 整体分析,还能画图讲解,简直不要太爽了!
怎么使用呢?
很简单,直接去官网: https://codegeex.cn/
官网有目前最新支持的 IDE 列表:
基本上主流的 VS Code、IDEA、PyCharm、Visual Studio 等都支持的。
比如在 VS Code 中可以直接搜索 CodeGeeX
插件进行安装:
赚 iPhone
当然了,今天写这篇文章除了给大家安利下 CodeGeeX,还有个目的(最重要)就是参与 CodeGeeX最新的活动:
活动从 11.21-11.28 号,奖品很丰富,包括最新款的iphone16、Switch游戏机、大疆 Pocket2、新款airpods、泰坦34寸超高清游戏显示器、华为智能手环、黑悟空联名游戏手柄、数量丰富的京东E卡等。
安利 CodeGeeX 的同时,顺便领个奖品,这不香么。
当然了,强烈建议大家也可以参与这个活动,邀请一下室友同学之类的,有羊毛,一起薅,毕竟有这么多获奖名额(悠着点,别把我 iPhone 抢了就行):
活动参与方法
下载CodeGeeX插件,登录后点击“个人中心” 或者访问 CodeGeeX官网(https://codegeex.cn/),登录后进入“个人中心”,点击「邀请好友」 复制你的专属邀请码。比如小北的邀请码就是“#BB6920#”:
然后邀请好友助力:
活动开始后,将你的专属邀请码分享给好友 好友在IDE中下载并安装 CodeGeeX插件,登录后进行 1 次智能问答:完整输入 #专属邀请码# 后发送智能问答 确认好友符合新用户条件,邀请人即可获得积分
此外“还有积分加倍规则”和“每日活跃加分”:
最后,放一个直达链接,扫下面这个二维码即可参与:
或者点击【阅读原文】也可以直达活动页面。