【AI导师】利用Coding Agent完成AIGC编程

利用Coding Agent完成AIGC编程

  • 一、前言
  • 二、Coding Agent
  • 三、1024code
  • 四、AI导师
    • README
      • 项目初版功能定义
      • 代码结构设计方案
      • 函数方法设计方案
      • 迭代记录

一、前言

  AI产品的发展确实在过去两年年中取得了显著进展,尤其是在编程领域。一开始,ChatGPT和类似的语言模型主要用于自然语言处理和生成对话。在这个背景下,一些国内的开发者和企业开始将这些技术应用于编程领域,形成了一些Coding Agent类型的AI产品。
  这些产品的初衷是为程序员提供更便捷的编程辅助工具,帮助他们解决问题、生成代码,提高开发效率。在初始阶段,主要侧重于对话式的交互,帮助用户更轻松地与计算机交流,并获取所需的编程信息。
  然而,随着时间的推移,这些AI产品逐渐不能更全面地满足程序员的需求。这些AI产品大多都只能在命令行环境下使用,只能以问答式的方式去输出解决方式,往往结果不符合编程环境实际的操作。 究其原因是其无法获取程序的运行环境信息、报错信息。同时AI的回复往往侧重建议和一些框架。
  但市面上还是有一些产品嵌入到编程环境中,比如InsCode AI

示例:利用inscode做一个简单的备忘录
在这里插入图片描述
但所生成的内容却只是简单并且不能交互的框架。其与IDE不是深度融合的,与单纯的对话式问答AI并未有突出特点。

  既然痛点出现,必有需要供应,市面上有没有什么平台是深度嵌入编程环境的呢?答案是1024code。

二、Coding Agent

  在介绍1024code协同编程工具之前,先谈谈Coding Agent(智能编程体):与IDE(集成开发环境)深度结合、并能与环境(虚拟或者物理环境)进行交互、限定于编程领域的智能系统。
在这里插入图片描述

Coding Agent四大核心功能详细描述
从零开始构建项目 (MVP生成)1.用户友好的交互界面:提供直观、简便的用户界面,输入项目目标信息。
2.智能建议:根据用户输入提供建议和最佳实践。
3.自动化代码生成:生成基础代码框架,加速项目启动。
辅助与自动Debug1.即时错误检测:实时监测编码过程,识别潜在错误,提供即时反馈。
2.自动定位问题:迅速定位代码问题,并生成详细错误报告。
3.智能建议修复:提供修复建议,甚至自动应用修复。
优化现有项目1.代码性能分析:分析性能瓶颈,提供优化建议,改进算法等。
2.安全漏洞检测:扫描代码,识别安全漏洞,并提供修复建议。
3.用户体验建议:提供用户体验建议,改善界面设计和交互。
迭代现有项目1.智能变更管理:支持有序变更管理,包括版本控制、代码合并等。
2.复杂功能集成:处理复杂功能集成,包括第三方库、API调用等。
3.数据迁移与兼容性:协助处理数据库迁移、数据兼容性等。

三、1024code

  1024Code 是一个免费的、协作式的、基于浏览器的 IDE 环境,支持 10 多种编程语言,支持 Spring 、Vue 、React 等框架,还支持很多图形库,并集成了 AI 编程助手、编程社区。拥有无需安装环境,任何设备开箱即用的特性
在这里插入图片描述
在这里插入图片描述
主要功能

功能描述
在线多人协作类似腾讯文档等在线协作文档的协作功能体验,支持多人同时加入一个代码空间实时协作编程。
在线分享分享代码空间链接,打开可查看项目文件并运行的“副本”代码空间。
AI编程助手使用在线协同IDE和AI编程助手互动,快速解答疑问、完成重复性质的编码工作。
Git版本管理使用Git Commit,管理代码版本。
数据库免费的云端数据库,是代码空间的最佳搭档。

IDE界面及功能

区域描述
文件窗口支持多层级的文件夹,支持上传/拖拽上传本地文件。
编辑器窗口支持代码高亮、补全。在协作模式下,支持以不同颜色光标体现不同用户的代码操作。
Console窗口显示应用启动及运行过程中的日志。
Shell窗口以runner权限控制容器,在协作模式下,用户间共享同一session。
运行按钮支持点击运行按钮编译及运行程序,编译/运行命令支持手动配置,启动及运行过程中的日志将在console中显示。
浏览器输出窗口支持HTTP服务的浏览(监听8080端口),检测到用户对网址的访问后立即启动应用服务,无访问情况下持续3分14秒后关闭。
图形输出窗口选择C++、Python、Java模版的GUI版本创建代码空间,使用相关图形库编写和运行图形程序。

四、AI导师

视频:AI导师,做甲方的乐趣

  项目建立的一开始,AI导师会根据MVP原则生成解决方案,以下是一个示例:

README

项目初版功能定义

依据MVP(最小可行性产品)的思想和的原则,在第一个版本中我们将会选择以下核心模块进行优先开发:

  • 创建HTML结构:创建一个包含任务列表、输入框和添加任务按钮的
    本HTML结构,为添加、显示任务提供基础界面。
  • 添加任务:实现一个JavaScript函数,允许用户通过输入框和按钮添加新任务,并在任务列表中显示。
  • 存储任务:使用浏览器的本地存储功能(如localStorage),实现任务的持久化存储,以便用户在关闭浏览器后再次打开时仍能看到之前的任务。

代码结构设计方案

主入口文件:

  • index.html
    需要编写的其他源码文件:
  • styles.css
  • script.js

  • 函数方法设计方案

  • index.html
  • 核心结构:
  • <header>: 包含标题和可能的应用介绍。
  • <main>: 主体部分,包含任务列表和添加任务的表单。
  • <footer>: 可能包含版权和其他信息。
    styles.css
  • 核心样式:
  • .task-list: 任务列表样式,用于美化任务显示。
  • .task-item: 单个任务的样式,用于美化任务项。
  • .add-task-form: 添加任务表单样式,用于布局输入框和按钮。
    script.js
  • 核心常量和变量:
  • localStorageKey: 用于localStorage中的键名,保持数据的一致性。
  • 核心函数:
  • addTask(): 用于添加新任务到任务列表和本地存储。
  • loadTasks(): 从本地存储加载任务到任务列表。
  • initializeApp(): 应用初始化函数,页面加载完成后调用。

  AI导师完成对应框架代码的编写后,可向其提出迭代方向或者功能,AI导师将生成第一次迭代方案,下面是一个例子:

迭代记录

第1次迭代
新增功能概述:
实现在添加任务时能够设置截止日期,并在任务列表中标注任务的紧急状态。
核心子功能详述:

  1. 扩展添加任务表单
    在“add-task-form”中添加一个日期输入字段,允许用户选择或输入任务的截止日期。该输入框应明确标识为“截止日期”,并默认显示当前日期,用户可以选择当前或未来的日期。
  2. 修改任务数据结构
    任务对象应扩展以包含截止日期属性。在“addTask”函数中,收集截止日期输入并存储为任务对象的一部分。确保“saveTask”函数将包含截止日期的任务对象保存到本地存储。
  3. 展示任务截止日期状态
    在任务列表中,每个任务旁展示其截止日期。通过“createTaskElement”函数实现,如果任务即将到期(比如,剩余时间少于48小时),则高亮显示;若已过期,则以不同颜色标注。

  1. 扩展添加任务表单模块:
  • 函数名: addDeadlineField
    目的: 在添加任务的表单中添加一个日期输入字段,用于用户设置任务的截止日期。
  1. 修改任务数据结构模块:
  • 函数名: updateTaskObject
    目的: 扩展任务对象的结构,使其包含截止日期属性。
  1. 保存任务模块:
  • 修改函数: saveTask
    目的: 更新该函数以确保能够处理和保存包含截止日期的任务对象到本地存储。
  1. 展示任务截止日期状态模块:
  • 函数名: displayDeadlineStatus
    目的: 在任务列表中展示每个任务的截止日期,并根据截止日期的紧迫性高亮显示或标注任务。
  1. 任务元素创建模块:
  • 修改函数: createTaskElement
    目的: 更新该函数以在创建任务元素时包含截止日期的展示逻辑,并根据任务是否即将到期或已过期来调整显示样式。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

前后端分离架构的特点以及优缺点

文章目录 一、前后端不分离架构(传统单体结构)1.1 什么是前后端不分离1.2 工作原理1.3 前后端不分离的优缺点1.4 应用场景 二、前后端分离架构2.1 为什么要前后端分离2.2 什么是前后端分离2.3 工作原理2.4 前后端分离的优缺点 参考资料 一、前后端不分离架构(传统单体结构) 首…

阿里后端实习二面

阿里后端实习二面 记录面试题目&#xff0c;希望可以帮助到大家 类加载的流程&#xff1f; 类加载分为三个部分&#xff1a;加载、连接、初始化 加载 类的加载主要的职责为将.class文件的二进制字节流读入内存(JDK1.7及之前为JVM内存&#xff0c;JDK1.8及之后为本地内存)&…

EBU7140 Security and Authentication(一)常见加密算法

前言 主要根据 EBU7140 课程内容整理&#xff0c;比较偏向应试~ Block1&#xff1a;介绍课程&#xff0c;传统加密方式。 Block2&#xff1a;公钥加密的原理和应用。 Block3&#xff1a;一些特定安全协议技术&#xff08;如防火墙 Kerberos身份验证协议等&#xff09;。 B…

【教学类-43-03】20231229 N宫格数独3.0(n=1、2、3、4、6、8、9) (ChatGPT AI对话大师生成 回溯算法)

作品展示&#xff1a; 背景需求&#xff1a; 大4班20号说&#xff1a;我不会做这种&#xff08;九宫格&#xff09;&#xff0c;我做的是小格子的&#xff0c; 他把手工纸翻过来&#xff0c;在反面自己画了矩阵格子。向我展示&#xff1a;“我会做这种&#xff01;” 原来他会…

《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(15)

接前一篇文章&#xff1a;《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识&#xff08;14&#xff09; 1.3 PCI总线的存储器读写总线事务 1.3.4 PCI读写主存储器 前文已提到&#xff0c;由于本节内容较长&#xff0c;因此将后一部分内容放在本文中。 为…

Java多线程技术五——单例模式与多线程

1 概述 本章的知识点非常重要。在单例模式与多线程技术相结合的过程中&#xff0c;我们能发现很多以前从未考虑过的问题。这些不良的程序设计如果应用在商业项目中将会带来非常大的麻烦。本章的案例也充分说明&#xff0c;线程与某些技术相结合中&#xff0c;我们要考虑的事情会…

java注解和反射

java注解和反射 内置注解 Override 重写生命 Deprecated 已过时的方法&#xff0c;不推荐使用&#xff0c;可以使用 SuppressWarning 镇压警告&#xff0c;懂的都懂 元注解 作用&#xff1a;负责注解其他的注解 Target 描述注解的使用范围 Retention 描述注解的生命周期 Docu…

从座舱到跨域融合,老牌汽车零部件厂商如何破局数字化变革

当前&#xff0c;整个汽车供应链正在经历深层次的重构&#xff0c;传统零部件厂商必须加速“自我革新”。 在汽车“新四化”的巨变下&#xff0c;大量传统零部件濒临消失或者减少了需求&#xff0c;传统汽车零部件企业的相关业务开始日益萎缩&#xff0c;生存空间遭受不同程度…

我的128天之创作纪念日

目录 序 机缘 收获 日常 成就 憧憬 序 今天收到CSDN的一条消息推送&#xff0c;“初九之潜龙勿用 &#xff0c;不知不觉今天已经是你成为创作者的 第128天 啦。。。” 是啊&#xff0c;自今年8月24日开始写文章以来&#xff0c;时间过得好快&#xff0c;无论开心、痛苦…

51单片机之LED灯

51单片机之LED灯 &#x1f334;前言&#xff1a;&#x1f3ee;点亮LED灯的原理&#x1f498;点亮你的第一个LED灯&#x1f498;点亮你的八个LED灯 &#x1f4cc;让LED灯闪烁的原理&#x1f3bd; LED灯的闪烁&#x1f3d3;错误示范1&#x1f3d3;正确的LED闪烁代码应该是这样&am…

【开源】基于Vue+SpringBoot的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

4.26 构建onnx结构模型-Suqeeze

前言 构建onnx方式通常有两种&#xff1a; 1、通过代码转换成onnx结构&#xff0c;比如pytorch —> onnx 2、通过onnx 自定义结点&#xff0c;图&#xff0c;生成onnx结构 本文主要是简单学习和使用两种不同onnx结构&#xff0c; 下面以 Suqeeze 结点进行分析 方式 方法一…

three.js实现点击选中模型,模型描边高亮效果

射线投射器Raycaster通过.intersectObjects()判断模型是否选中EffectComposer.js进行后期处理&#xff0c;添加描边高亮效果 <template><div class"app"><div ref"canvesRef" class"canvas-wrap"></div></div> &…

Python面向对象编程 —— 类和异常处理

​ &#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 1. 类 1.1 类的定义 1.2 类变量和实例变量 1.3 类的继承 2. 异常处理 2.1类型异常 2.…

【docker实战】安装tomcat并连接mysql数据库

本节用docker来安装tomcat&#xff0c;并用这个tomcat连接我们上一节安装好的mysql数据库 一、拉取镜像 [rootlocalhost data]# docker pull tomcat:8.5.69二、运行tomcat bitnami的tomcat的根目录在/opt/bitnami/tomcat/webapps下面&#xff0c;所以我们为了方便部署我们的…

Springboot整合MybatisPlus的基本CRUD

目录 前言1. 搭建项目2. 基本的CRUD 前言 发现项目框架是MybatisPlus的&#xff0c;由于个人使用该框架的CRUD比较少 对此学习过程中&#xff0c;从零到有开始搭建学习还是比较重要的&#xff0c;感悟会比较多 关于各个类的使用&#xff0c;可看如下文章&#xff1a; 剖析Ja…

DotNet 命令行开发

DotNet 命令行开发 下载安装下载 SDK安装 SDK绿色版下载绿化脚本 常用命令创建 dotnet new运行 dotnet run发布应用 dotnet publish更多命令 VSCode 调试所需插件调试 CS 配置项目.csproj排除依赖关系 launch.jsontasks.json 参考资料 下载安装 下载 SDK 我们就下最新的好&am…

每日一题——LeetCode961

方法一 排序法&#xff1a; 2*n长度的数组里面有一个元素重复了n次&#xff0c;那么将数组排序&#xff0c;求出排序后数组的中间值&#xff08;因为长度是偶数&#xff0c;没有刚好的中间值&#xff0c;默认求的中间值是偏左边的那个&#xff09;那么共有三种情况&#xff1a;…

【java爬虫】获取个股详细数据并用echarts展示

前言 前面一篇文章介绍了获取个股数据的方法&#xff0c;本文将会对获取的接口进行一些优化&#xff0c;并且添加查询数据的接口&#xff0c;并且基于后端返回数据编写一个前端页面对数据进行展示。 具体的获取个股数据的接口可以看上一篇文章 【java爬虫】基于springbootjd…

开源radishes高仿网易云音乐完整源码,可试听和下载“灰色”歌曲,跨平台的无版权音乐平台

源码介绍 Radishes是项目名称&#xff0c;是由萝卜翻译而来。可以在这里试听和下载“灰色”歌曲&#xff0c;是一个可以跨平台的无版权音乐平台。 萝卜音乐界面和功能参考 windows 网易云音乐界面和 ios 的网易云音乐 安装依赖 cd radishes/ yarn bootstrap 运行项目 web:…