先说vscode+cline+modelscope方案,后面体验trae或者cursor再写写其它的。vscode和trae方案目前来说是免费的,cursor要用claud需要付费,而且不便宜,当然效果可能是最好的。
vscode方案,我的经验是最好在ubuntu上,因为cline插件产生的命令是linux的命令,在windows上老报错,比如连续执行命令它会这样写cd xxx && npm install xxx,但是windows是识别不了&&的,所以还是在ubuntu上体验,没有实体机可以装个虚拟机,也很方便。
首先是安装和配置,安装vscode,ubuntu系统在软件商店里搜code,就可以找到,然后点安装就好了,安装好vscode后在左侧dock栏找到插件(四个方块)那个图标,点击,搜cline,然后安装,安装好后配置api,这里我们用魔塔社区的免费api(每个账号一天2000次调用,基本相当于免费)。点击插件的齿轮按钮(右上角),配置api,首先是api provider,选openai compatible,然后打开魔塔社区魔搭社区(没注册的注册一下),然后点模型库,以第一个模型为例,点进去
我们需要配置的有三个信息,一个是base_url,一个是api key,一个是modelid,base_url和api key配一次就行了,model id可以根据你调用的模型,配不同的值,注意点名字后面的复制即可,包含那个模型全部的名字,截图如下
截图中的代码界面是点模型右侧有个查看使用代码出来的。api key如果没有需要到 账号设置,访问令牌自己新建一个,位置如截图
还有个权限配置,由于cline在写代码过程中需要编辑文件,创建文件夹,执行命令等,需要把这些权限都打开,截图如下
好,配置好这些信息后,其实就可以让ai自动写代码了,这里参考一些大佬的开发流程,大概这样写,先写个README.md,主要介绍下项目的大概信息,比如这样
请根据以下内容为一个项目生成一个完整的 README 文档。内容需要完整、专业且吸引人。
# [项目名称]
一个简短的描述,说明项目的核心功能或目标(例如:"一个轻量级的任务管理工具,帮助团队高效协作")。
## 背景
介绍项目的起源或解决的问题(例如:"这个项目源于我们团队对简化工作流程的需求,旨在解决现有工具过于复杂的问题")。
## 功能
列出项目的主要功能(例如:
- 用户认证和权限管理
- 实时数据同步
- 友好的用户界面)。
## 技术选型
列出使用的技术或工具(例如:
- 前端:React, TypeScript
- 后端:Node.js, Express
- 数据库:MongoDB)。
然后让AI根据README.MD写PRD.md,在对话窗口输入
根据 #README.md 生成 docs/PRD.md
再编写其它文档,比如
根据 #README.md 和 #PRD.md 编写技术文档 Development.md
生成前端文档
根据 #README.md 和 #PRD.md 以及参考图片,形成UI-Specs.md
进行任务拆分
根据 #Development.md 进行开发任务分解,并且形成TaskList.md,要求可跟踪、可执行
然后就可以让AI根据Tasklist.md进行开发了,当然每个人的工作流可能不一样,你可以探索自己的工作流。
cline自动化程度非常的高,遇到错误,cline也会自己尝试修改,用了几天,我自己已经产生依赖性了,都不想自己写代码了^-^。下面是我自己用这个方案写的一个demo(唯一比较成功的一个,其它的都没写完,各种错误。。。。后面上传,公司有限制),前端用的react后端用的nodejs+mongodb,其实我没怎么用这些技术做过项目,但毕竟是AI编程嘛,主要考的AI编程能力,你只需知道它流行就行了^-^。
别太美,首先呢,目前看来,全部让AI写成功率还是没那么高,主要还是受限于模型能力,相信随着模型越来越强大,写代码越来越好。下面是我总结的AI编程过程中遇到的问题:
- 有失忆问题,就是说本来在之前的步骤已经发现某些问题,但是因为一些原因中断后,重新再让它看问题的时候,它就忘了刚才是什么问题,需要重新检测,然后重新检测的得到的问题可能跟刚才的问题不一致。
- 对人的提示有强依赖。
- 前端界面还比较简陋。
- 对windows只支持linux的命令格式,对windows的命令不支持,所以只能在ubuntu上开发,或者支持,我还没找到方法。
- 容易卡死,主要是大模型服务的问题。
- 遇到依赖包版本不兼容问题比较烦,但是它还是能解决的。
- 可能遇到反复犯一个错误的情况。
- 写前端页面最好提示要美化一下,否则就太简陋了。
- 不会硬写,有些不常用的框架,会有报错,但是它修复不了,还是会一直修复。
- python中有些不熟悉的库会出现导入错误这种比较低级的错误,并且它自己无法修复。
- 擅长切换不同的库去解决问题,但是对每个库的掌握程度并不高,人看了会比较眼晕,因为人切库之前需要一定时间去熟悉用法。
- 每次用相同的指令指挥,但是模型的行为却每次都不一样。
好的,分享先到这里,有什么问题可以给我留言反馈,后面可能会写下trae的体验,拜拜~