AI自动化编程初探

        先说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的体验,拜拜~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897745.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

101.在 Vue 3 + OpenLayers 使用 declutter 避免文字标签重叠

1. 前言 在使用 OpenLayers 进行地图开发时,我们经常需要在地图上添加点、线、区域等图形,并给它们附加文字标签。但当地图上的标注较多时,文字标签可能会发生重叠,导致用户无法清晰地查看地图信息。 幸运的是,OpenL…

18天 - 常见的 HTTP 状态码有哪些?HTTP 请求包含哪些内容,请求头和请求体有哪些类型?HTTP 中 GET 和 POST 的区别是什么?

常见的 HTTP 状态码有哪些? HTTP 状态码用于指示服务器对客户端请求的响应结果,常见的 HTTP 状态码可以分为以下几类: 1. 信息类(1xx) 100 Continue:客户端应继续发送请求。101 Switching Protocols&…

IXTUR气控永磁铁:以高精度气控和稳定磁场,为机器人应用提供稳定抓取力

在现代工业生产和物流领域,物料的抓取与搬运是影响生产效率和成本控制的重要环节。传统夹爪在面对不同材质、形状和重量的物体时,常常存在适应性差、抓取不稳定、操作复杂等问题,导致生产流程中频繁出现停机调整,增加了人工干预成…

江科大51单片机笔记【16】AD/DA转换(下)

写在前言 此为博主自学江科大51单片机(B站)的笔记,方便后续重温知识 在后面的章节中,为了防止篇幅过长和易于查找,我把一个小节分成两部分来发,上章节主要是关于本节课的硬件介绍、电路图、原理图等理论知识…

【C++】 —— 笔试刷题day_4

刷题day_4 继续加油!!! 一、Fibonacci数列 题目链接:Fibonacci数列 题目解析 题目要求,输入一个数N,我们可以对N进行1/-1操作;题目让我们输出对N进行至少多少步可以变成Fibonacci数。 这里题目…

IP层之分片包的整合处理---BUG修复

在之前章节中,笔者就IP层之分片包的整合处理进行了概念介绍,以及代码编写和仿真,在整体代码调试环节,笔者发现了一个问题,在本文中,笔者将就这个BUG进行说明,以及进行修复,讲解代码实…

修复Electron项目Insecure Content-Security-Policy(内容安全策略CSP)警告的问题

将以下代码粘贴进html的<header>标签内 <metahttp-equiv"Content-Security-Policy"content"default-src self; style-src self unsafe-inline; img-src self data:; "> 解释一下上面代码中的属性含义 default-src self&#xff1a;配置加载策…

linux 的免密切换用户PAM配置

/etc/pam.d/su是Linux系统中与用户切换&#xff08;su命令&#xff09;相关的PAM&#xff08;Pluggable Authentication Modules&#xff0c;可插拔认证模块&#xff09;配置文件。以下是对它的详细介绍&#xff1a; 简介 作用 PAM是一种用于管理系统认证的机制&#xff0c;…

pyspark 数据处理的三种方式RDD、DataFrame、Spark SQL案例

目录 一、浅语二、三种数据处理方式比较2.1 RDD2.2 DataFrame2.3 Spark SQL 三、三种方法的创建方式3.1 创建RDD3.2 创建DataFrame3.2.1 创建sqlContext3.2.2 定义Schema3.2.3 创建DataFrame 3.3 创建SparkSQL3.3.1 登录临时表3.3.2 使用sparkSQL 四、三种方法显示部分字段4.1 …

文件解析漏洞靶机---- 练习通关攻略

1.安装靶机 点击 hackme.ova 文件&#xff0c;直接导入虚拟机&#xff0c;选择存储位置 2. 开启靶机 3. kali扫描同C段的ip&#xff0c;找到靶机ip nmap 192.168.182.1/24 经判断&#xff0c;靶机ip为&#xff1a;192.168.182.157 开启端口 http 80 、ssh 远程连接 22 4…

信号处理抽取多项滤波的数学推导与仿真

昨天的《信号处理之插值、抽取与多项滤波》&#xff0c;已经介绍了插值抽取的多项滤率&#xff0c;今天详细介绍多项滤波的数学推导&#xff0c;并附上实战仿真代码。 一、数学变换推导 1. 多相分解的核心思想 将FIR滤波器的系数 h ( n ) h(n) h(n)按相位分组&#xff0c;每…

【大模型基础_毛玉仁】2.3 基于 Encoder-only 架构的大语言模型

更多内容&#xff1a;XiaoJ的知识星球 目录 2.3 基于Encoder-only 架构的大语言模型2.3.1 Encoder-only 架构2.3.2 BERT 语言模型1&#xff09;BERT 模型结构2&#xff09;BERT 预训练方式3&#xff09;BERT 下游任务 2.3.3 BERT 衍生语言模型1&#xff09;RoBERTa 语言模型2&a…

AIP-165 按条件删除

编号165原文链接https://google.aip.dev/165状态批准创建日期2019-12-18更新日期2019-12-18 有时API需要提供一种机制&#xff0c;按照一些过滤参数删除大量资源&#xff0c;而非提供待删除的各资源名字。 这是一个稀有的场景&#xff0c;用于用户一次性删除数千或更多资源的…

【Maven教程与实战案例】

文章目录 前言一、Maven是什么&#xff1f;二、Maven的安装与配置1. 安装前置条件2. 下载与配置 Maven3. 验证安装 三、Maven的核心概念1. POM.xml 文件2. 构建生命周期与插件机制 四、实战项目示例1. 项目目录结构2. 编写代码App.javaAppTest.java 3. 构建项目4. 运行项目 前言…

20250310:OpenCV mat对象与base64互转

代码: https://github.com/ReneNyffenegger/cpp-base64 指南:https://renenyffenegger.ch/notes/development/Base64/Encoding-and-decoding-base-64-with-cpp/ 实操:

概率论的基本知识

逆概率还不懂&#xff0c;改天再想想。 联合概率 联合概率&#xff08;Joint Probability&#xff09; 是概率论中的一个重要概念&#xff0c;用于描述多个随机变量同时取某些值的概率。联合概率可以帮助我们理解多个变量之间的关系。

pytest数据库测试文章推荐

参考链接&#xff1a; 第一部分&#xff1a;http://alextechrants.blogspot.fi/2013/08/unit-testing-sqlalchemy-apps.html第二部分&#xff1a;http://alextechrants.blogspot.fi/2014/01/unit-testing-sqlalchemy-apps-part-2.html

如何自己做奶茶,从此告别奶茶店

自制大白兔奶茶&#xff0c;奶香与茶香激情碰撞&#xff0c;每一口都是香浓与甜蜜的双重诱惑&#xff0c;好喝到跺脚&#xff01;丝滑口感在舌尖舞动&#xff0c;仿佛味蕾在开派对。 简单几步就能复刻&#xff0c;成本超低&#xff0c;轻松在家享受奶茶自由。 材料:大白兔奶糖&…

SOA(面向服务架构)与微服务架构的区别与联系

SOA&#xff08;面向服务架构&#xff09;与微服务架构的区别与联系 1. 引言 在现代软件架构中&#xff0c;SOA&#xff08;Service-Oriented Architecture&#xff0c;面向服务架构&#xff09;和微服务架构&#xff08;Microservices Architecture&#xff09;是两种常见的…

LLM的准确率评估采用什么方式:准确率评估使用的是 `sklearn.metrics` 模块中的 `accuracy_score` 函数

LLM的准确率评估采用什么方式:准确率评估使用的是 sklearn.metrics 模块中的 accuracy_score 函数 评估方式 代码里的准确率评估是基于每个样本最后一个预测的 token 与真实的 token 进行对比。具体来说,它会遍历测试数据集中的每个样本,使用模型预测出最后一个 token 的 …