LLM的IDE使用一段时间后的体会

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 使用Windsurf开发Web应用,全程无需手写代码,仅通过自然语言交流指导大模型完成任务。初期体验流畅高效,尤其适合快速实现小规模项目。然而,面对需求变更时,代码设计易受影响,需细致指导大模型以保持良好设计。整体而言,LLM辅助编程如同结对编程中的导航员角色,用户需提升自身指导能力以发挥其最大效能。

LLM的IDE使用一段时间后的体会

从零开始使用Windsurf完成了一个web的小东西,总体来说很爽,从零开始一行代码也没写过,全部是在聊天,但是这聊天也不是像产品经理和开发工程师聊天一样,而是更像一个结对编程的导航员的感觉。

最初使用LLM的IDE开发代码那就是行云流水。LLM的IDE我是从Cursor转换到Windsurf的,原因其实特别简单看了些别人写的介绍Windsurf的帖子后被其中“最重要”的一点,可以不那么麻烦的薅羊毛吸引力。刚好有一个web的小工程需要做,我就全部使用了Windsurf完成了开发。

在开发前我准备好了需要的Web样式,然后通过@样式文档后输入,“使用flask帮我按照这个样式生成一个显示表格的页面,显示sqlite数据库的数据,对应的表格定义{ddl},数据库信息{sqlite_config},帮我对数据库的操作进行封装,为后面其他对数据库增伤改查提供统一的操作类。”

其中:

  • ddl是对应表格的create的SQL
  • sqlite_config是数据库的位置信息。

大模型生成了一个flask的启动页面,里面有一个Get请求的主页,页面在templates目录下,还有一个SQLitehelper.py的数据库操作的类。

后面针对表格的增删改查大模型完成的一如既往地好,并且代码设计也很优。

遇见需求变更后发现还有一些小技巧。在工具开发过程中,需求发生了一些变化这也是开发中很容易遇见的情况,这就导致要在原有的代码上做一些改变,最开始就如同前面用法一样直接说有些需求做了修改,例如:数据表格的主键发生了变化,表格的增删改查都需要修改。我发现在这个修改过程中,大模型也一样会完成功能,但是代码就会改的不那么好,很多时候他会放弃旧的方法重新设计一个,那么旧的方法也有时候大模型自己不会删除,也不会不会被其他代码调用了,这样就有了很多的没有用的方法,在review的时候就自己注释掉。往往在多次修改后代码就变得非常复杂,同时很容易一次修改不成功,还有BUG的情况。但是就算是出现BUG只要把报错信息输入给大模型,告诉他帮着修复一下BUG就好了。

在使用了一段时候我发现再添加新功能或者修改一些需求的时候,你要告诉LLM新功能会涉及到那几个代码文件以及那个代码部分,那么往往大模型修改代码成功的概率以及功能完好的概率越大。

就这样我通过自然语言让LLM完成了一个Web小东西的开发,全部过程我一行代码也没有写(除去一些环境配置等必须自己写的内容)。在完成后,首先感叹了大模型的能力,真的是“多快好省”,至少一些简单的小功能的开发可以大大提升交付速度。其次,我从头到尾review一下代码,发现需求变更越多,代码写的越不好,越不是一个好设计,这就是一个战术性编程(这个名字来自茹老师的新书《软件设计的哲学》的典范,也可以说LLM的辅助编程就是战术龙卷风,但是这对于一个工程来说并不是好事,战略性编程才是更长治久安的选择,但是如果这些永远都是LLM主导维护呢?这个我那天我也不知道怎么回答。最后,再利用LLM辅助编程的时候,最大的感觉并不是像一个产品经理,更上一下结对编程的导航员,你要能时刻告诉LLM做什么,怎么做,你输出的越详细,规范性约束越合适,LLM写的代码越优秀,所以想要用好LLM,就把自己成长成一个优秀的导航员。

目录
相关文章
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
|
13天前
|
人工智能 自然语言处理 API
Cline:29.7K Star!一文详解VSCode最强开源AI编程搭子:一键生成代码+自动跑终端+操控浏览器...
Cline 是一款集成于 VSCode 的 AI 编程助手,支持多语言模型,实时检查语法错误,帮助开发者提高编程效率。通过智能化手段,Cline 可以生成代码、执行终端命令、调试 Web 应用,并扩展更多功能。
268 5
|
3月前
|
人工智能 小程序 JavaScript
【一步步开发AI运动小程序】十四、主包超出2M大小限制,如何将插件分包发布?
本文介绍了如何从零开始开发一个AI运动小程序,重点讲解了通过分包技术解决程序包超过2M限制的问题。详细步骤包括在uni-app中创建分包、配置`manifest.json`和`pages.json`文件,并提供了分包前后代码大小对比,帮助开发者高效实现AI运动功能。
|
5月前
|
人工智能 前端开发 JavaScript
AI+脚本让我的效率翻倍,你也可以试试
本文分享了一名高级软件工程师如何利用 AI 工具(如 VSCode 插件 Codeium、通义灵码,及网页端的通义千问和 GPT-4)提升工作效率的经验。从代码生成、单元测试、脚本生成到文本润色,再到新框架学习,AI 工具在多个方面显著提高了开发效率和代码质量。文章还提供了具体示例和注意事项,帮助读者更好地应用这些工具。
134 1
|
9月前
|
机器学习/深度学习 PyTorch 算法框架/工具
ChatGPT初体验——让他写代码,走起
ChatGPT初体验——让他写代码,走起
75 0
|
10月前
|
数据采集 搜索推荐 程序员
LabVIEW程序能用ChatGPT编写吗
LabVIEW程序能用ChatGPT编写吗
112 0
|
10月前
|
存储 JavaScript 前端开发
【ChatGPT 指令大全】怎么使用ChatGPT辅助程式开发
【ChatGPT 指令大全】怎么使用ChatGPT辅助程式开发
84 0
|
API 网络架构 C++
Bito - 超越Copilot的一款神级插件
Bito - 超越Copilot的一款神级插件
182 0
|
人工智能 自然语言处理 Java
当代码遇见AI:IDEA开启ChatGPT插件,分分钟成为高效程序猿!
当代码遇见AI:IntelliJ IDEA开启ChatGPT插件,分分钟成为高效程序猿!
2634 0
|
人工智能 大数据 API
一句提示词生成整个代码库——Gpt Engineer神级项目开源(附演示视频)
一句提示词生成整个代码库——Gpt Engineer神级项目开源(附演示视频)
194 0

热门文章

最新文章