以往的AI代码助手,往往上下文支持局限在单个文件里,缺少对整个项目的上下文联系,因此应用场景大大受限,毕竟稍微大型一点的项目都不可能只用一个文件的代码就能完成。因此如果能对多个文件进行关联和分析,给出AI建议,将能把AI代码助手的能力大大放大。
举几个之前使用AI代码助手的别扭的例子:
- 引用多个文件的代码。
以前写代码,如果要引用一些方法,用AI的话只能识别到当前文件里的方法,外部的方法只能先拷贝进来才能识别到,非常的局限。而在大型的项目中,一个功能里可能使用到了非常多的依赖方法,如果能识别到整个仓库的方法,拿写代码将会非常轻松,因为所有方法都纳入到了上下文中。
- 代码阅读
以前代码阅读只能局限在一段代码,如果想从一整个项目中快速理解一个接口的全链路功能,还是只能自己一点点阅读,顶多对某段比较复杂的代码先让AI读一遍。
这次豆包升级之后,能够以仓库范围来分析代码,可以说就很好地解决了上述两个痛点。
我们可以看看效果
- 写代码
这次测试用的是github.com/tjfoc/gmsm 这个仓库里的加密算法。其中我提问的两个方法分别存在两个文件中,而我在提问的时候只需要引入workspace即可,不需要告诉他方法具体在什么位置,可以说是非常的方便了。
- 代码阅读
这里展示的是一个链式调用的理解,TestSM4和Sm4Ecb也是分别在两个文件中,TestSM4里调用了Sm4Ecb方法。通过引用workspace能够直接将这两个文件都引入到上下文中,豆包能自动串起来,非常方便。
总体来看这次豆包的更新还是非常跨越性的,将原来的上下文从一个文件提升到了整个仓库。
#豆包MarsCode上新workspace#