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

news2025/1/21 11:58:16

利用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.coloradmin.cn/o/1344454.html

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

相关文章

Android 13 默认关闭 快速打开相机

介绍 在设置菜单的手势界面里&#xff0c;快速打开相机是默认开启的&#xff0c;此功能当开启时连续点击两次电源键会打开相机&#xff0c;现在客户需要默认关闭。 效果展示 修改 这里一开始想到的就是配置文件&#xff0c;在路径下果然找到了,从注释中看使我们需要的&#x…

纯CSS3制作优惠券线性UI效果

纯CSS3制作优惠券线性UI效果-遇见你与你分享

MIT线性代数笔记-第33讲-复习三

目录 33.复习三打赏 33.复习三 已知 d u ⃗ d t A u ⃗ [ 0 − 1 0 1 0 − 1 0 1 0 ] u ⃗ \dfrac{d \vec{u}}{dt} A \vec{u} \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & -1 \\ 0 & 1 & 0 \end{bmatrix} \vec{u} dtdu ​Au ​010​−101​0−10​ ​…

对DataFrame各列数据进行描述性统计分析 DataFrame.describe()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 对DataFrame各列数据 进行描述性统计分析 DataFrame.describe() [太阳]选择题 请问以下代码返回的统计性信息中不包括哪个选项&#xff1f; import pandas as pd df pd.DataFrame( {A:…

力扣LeetCode第80题 删除有序数组中的重复项 II

一、题目 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次&#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示…

两种汇编的实验

week04 一、汇编-1二、汇编-2 一、汇编-1 1 通过输入gcc -S -o main.s main.c -m32 将下面c程序”week0401学号.c“编译成汇编代码 int g(int x){ return x3; } int f(int x){ int i 学号后两位&#xff1b; return g(x)i; } int main(void){ return f(8)1; } 2. 删除汇编代码…

【年度征文】回顾2023,迎接2024

转眼一年~~2023又到年底了&#xff0c;CSDN年度征文如约而至&#xff01;不知不觉又在CSDN平台写了488篇博文&#xff0c;非常感谢CSDN提供的平台&#xff0c;同时也感谢关注和支持博主的粉丝们&#xff0c;在马上到来新的一年里&#xff0c;我会继续努力&#xff01;也非常感谢…

基于立锜RTQ7882,支持全协议及DP显示功能的PD快充方案

在上一篇文章【基于RTQ7882的车载PD快充方案 - 大大通 &#xff08;wpgdadatong.com&#xff09;】中&#xff0c;已经对立锜科技&#xff08;Richtek&#xff09;及主打产品RTQ7882的基本功能作了介绍。 本文将分享RTQ7882近期新增的功能&#xff0c;以及其Cost Down版本。 旨…

2023年终总结

前言&#xff1a; 嘻嘻&#xff0c;12月底广州降温了又到了写年终总结的时间&#xff0c;这也是我第二年写年终总结。今年的年终总结主要记录了我大三下学期和大四上学期这两个时间段的学习和收获&#xff0c;也是我尝试走出校园&#xff0c;接触社会的第一年&#xff08;感触…

k8s:kubernets

自动部署、自动扩展和管理的容器化部署的应用程序的一个开源系统 k8s负责自动化运维管理多个容器化程序的集群&#xff0c;是一个功能强大的容器编排工具 可以以分布式和集群化的方式进行容器管理 1.18版本&#xff0c;目前最多的是1.20版本&#xff0c;最新的是1.29版本&am…

链表总结(2)

theme: fancy 又是链表专题啦&#xff0c;老样子&#xff0c;标题就是leetcode链接&#xff0c;在这里只放我的代码答案和注释 141环形链表 public class Solution {public boolean hasCycle(ListNode head) {if(head null || head.next null) return false;if(head.nex…

视频编辑与制作,视频尺寸修改器

你是否曾因为视频尺寸与平台不匹配无法上传而烦恼&#xff1f;这个时候一款视频尺寸修改工具&#xff0c;就能帮你轻松搞定。不论是为了适应不同的平台要求&#xff0c;还是为了获得不一样的观看体验&#xff0c;【视频剪辑高手】都能为你提供完美的解决方案。 所需工具&#…

Linux之定时任务调度

crond crond是Linux系统中的一个守护进程&#xff0c;主要用于周期性地执行某种任务或等待处理某些事件。而crondtab是配套的工作&#xff0c;用于定时任务的设置。 语法 crontab [选项]常用选项 入门案例 执行crontab -e命令输入任务到调度文件中 */1 * * * * ls -l /et…

竞赛保研 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度&#xff0c;召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

数据库——创建存储过程、函数和触发器安装phpmyadmin

1.实验内容及原理 1. 在 Windows 系统中安装 VMWare 虚拟机&#xff0c;在 VMWare 中安装 Ubuntu 系统,并在 Ubuntu 中搭建 LAMP 实验环境。 2. 使用 MySQL 进行一些基本操作&#xff1a; &#xff08;1&#xff09;登录 MySQL&#xff0c;在 MySQL 中创建用户&#xff0c;…

基于ssm的二手商品交易平台+vue论文

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…

NFC物联网智慧校园解决方案

近场通信(Near Field Communication&#xff0c;NFC)又称近距离无线通信&#xff0c;是一种短距离的高频无线通信技术&#xff0c;允许电子设备之间进行非接触式点对点数据传输交换数据。这个技术由免接触式射频识别(RFID)发展而来&#xff0c;并兼容 RFID&#xff0c;主要用于…

vue实力挂载的过程中都发生了什么?今天来聊聊Vue实例挂载的过程

一、思考 我们都听过知其然知其所以然这句话 那么不知道大家是否思考过new Vue()这个过程中究竟做了些什么&#xff1f;过程中是如何完成数据的绑定&#xff0c;又是如何将数据渲染到视图的等等 一、分析 首先找到vue的构造函数 源码位置&#xff1a;src\core\instance\in…

SAP CO系统配置-与PS集成相关配置(机器人制造项目实例)

维护分配结构 配置路径 IMG菜单路径:控制>内部订单>实际过帐>结算>维护分配结构 事务代码 OKO6 维护结算参数文件 定义利润分析码

C# 通过SharpCompress.Archives.Rar解压RaR文件

/// <summary>/// 解压一个Rar文件/// </summary>/// <param name"RarFile">需要解压的Rar文件&#xff08;绝对路径&#xff09;</param>/// <param name"TargetDirectory">解压到的目录</param>/// <param name&…