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,就把自己成长成一个优秀的导航员。

目录
相关文章
|
人工智能
IDEA完全免费AI辅助编程插件BITO-GPT4安装及中文国产化设置
IDEA完全免费AI辅助编程插件BITO-GPT4安装及中文国产化设置
1118 1
|
5月前
|
IDE 开发工具 Android开发
【Python编程入门】面对IDE编译错误:如何解读系统提示并解决问题
本文通过一个Python编码错误的实例,讲述了如何根据系统提示解读并解决IDE编译中出现的问题,强调了直接查阅官方文档的重要性,而不是盲目依赖百度搜索来解决问题。
116 2
【Python编程入门】面对IDE编译错误:如何解读系统提示并解决问题
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
ChatGPT初体验——让他写代码,走起
ChatGPT初体验——让他写代码,走起
65 0
|
8月前
|
数据采集 搜索推荐 程序员
LabVIEW程序能用ChatGPT编写吗
LabVIEW程序能用ChatGPT编写吗
83 0
|
8月前
|
存储 JavaScript 前端开发
【ChatGPT 指令大全】怎么使用ChatGPT辅助程式开发
【ChatGPT 指令大全】怎么使用ChatGPT辅助程式开发
67 0
|
API 网络架构 C++
Bito - 超越Copilot的一款神级插件
Bito - 超越Copilot的一款神级插件
162 0
|
人工智能 自然语言处理 Java
当代码遇见AI:IDEA开启ChatGPT插件,分分钟成为高效程序猿!
当代码遇见AI:IntelliJ IDEA开启ChatGPT插件,分分钟成为高效程序猿!
2403 0
|
人工智能 安全 机器人
ChatGPT Plus的插件是如何工作的?
ChatGPT Plus初体验,以及插件是如何工作的?
133 0
ChatGPT  Plus的插件是如何工作的?
|
Python
学习过程讨论及PyCharm快捷键
学习过程讨论及PyCharm快捷键
89 0
|
消息中间件 人工智能 安全
一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,堪称辅助神器!
一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,堪称辅助神器!

热门文章

最新文章