大家好,讨论一下代码补全 / 自然语言搜索代码的可行性?

2021-11-20 19:05:50 +08:00
 cwangcwang

最近试了一下一些国内的只能代码补全的工具, 几个个人的体会

  1. 代码补全 - 没有 VS Code 里的 snippet extensions 好用, 但是如果不知道有 snippet 插件, 那会有很多帮助 (very rare case?)

  2. 代码搜索 - 比较鸡肋, 应为需要知道具体的 API 才能搜, 但实际工作中找 API 是 Eng 这边最花时间的, 找到了 implementation 用的时间不多

我觉得中间更多的痛点是自然语言 -> 代码的检索, 但是代码其实是 requirements -> design -> implementation 的转化过程, 可以理解成 requirements 是 final shape, design 是 lines, implementation 是 dots.

Requirements (PM) 和 Design (Architect) 是 well-defined 的, 但是 implementation 不是 well-defined 的, 不能像猿题库一样搜题, 如果能的话, 那解法就是 no-code 能取代所有的工程师, 但目前看 no-code 是个 partial solution, 很多工作还是需要 eng 去 implement 这些 dots 的.

所以是不是觉得自然语言 -> 代码会是一个更需要被解决的难点?

2102 次点击
所在节点    奇思妙想
5 条回复
cwangcwang
2021-11-20 19:07:23 +08:00
Disclaimer - 我们是个创业团队, 目前在 prototyping 搜索这个方向的产品.
linshuizhaoying
2021-11-21 17:17:28 +08:00
你是指 copilot
2i2Re2PLMaDnghL
2021-11-22 10:36:03 +08:00
我建议你 Haskell
1. 具有更完善类型系统,可以更方便地补全
2. 搜索现成库函数可以通过函数签名来搜索
1847bell
2021-11-22 11:29:15 +08:00
我觉得你在说 copilot
bigtang
2023-05-30 08:39:28 +08:00
随着 chatgpt 的流行,ai 编程工具如雨后春笋出来不少:

CodeGeeX:一个基于 AI 大模型的编程辅助工具,可以实现自动代码生成、代码翻译、自动编写注释等功能,支持 20 多种编程语言。

Cursor:一款基于 gpt-3.5-turbo 的 AI 编程工具,可以生成 10-100 行代码,还可以打开类似 ChatGPT 的界面,并与之交互,修复 lint 错误。

CodeWhisperer:一款由亚马逊推出的 AI 编程助手,可以根据开发者用自然语言描述的注释和集成开发环境( IDE )中的既有代码实时生成代码。

Jedi:一款 Python 的自动补全插件,可以根据上下文自动补全代码,提高编程效率。

GitHub Copilot:是 GitHub 和 OpenAI 的合作开发的一款利用人工智能进行高效写代码的编程助手,支持 Python 、JavaScript 、TypeScript 、Java 、Ruby 和 Go 等编程语言。

AI 编程助手可以写些简单的代码,但是想搜索成熟代码,依葫芦画瓢,还是源代码搜索引擎更直接更快:

以下是比较新的源代码搜索引擎(不能访问的已经去掉):

SearchCode.com:SearchCode 从 Github 、BitBucket 、CodePlex 、SourceForge 、Fedora 等代码仓库里筛选了近 160 亿行开源代码;

tanglib.com: 小唐代码搜索,可以搜索 github star 数量超过 100 的项目中的代码,超过 1.15 亿个代码文件,可以搜索 openharmony 鸿蒙,Android 13 ,chromium 源代码等项目源码,小唐代码搜索是字符级搜索引擎,这意味着你可以搜索任意代码片段(包括符号);

grep.app:可以搜索超过 50 万个 Git 仓库中的代码,支持正则表达式搜索,但好像是不能组合搜索;

github.com : github 自己的代码搜索,GitHub 的代码搜索功能可以帮助开发者快速找到自己需要的代码,支持关键字、语言、文件名、文件路径、代码片段等多种搜索方式,可以根据代码的贡献者、更新时间、星级等指标进行排序。GitHub 的代码搜索引擎可以搜索 GitHub 上的所有公开仓库,也可以搜索自己的仓库和组织内的仓库,很强大但是网络访问不好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/816813

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX