Datawhale AI冬令营 AI辅助编程学习

devtools/2024/12/29 13:49:24/

背景——什么是AI辅助编程

AI 是什么?

人工智能(AI, Artificial Intelligence) 顾名思义,即人为创造的智能,是一门研究模拟、延伸和扩展人智能的科学,涵盖了机器人学、语言识别、自然语言处理、专家系统等多个方面。

编程 是什么?

编程 是用计算机能够理解的语言(如Python)描述一种算法,让计算机执行特定任务。编程广泛应用于各个领域,如 软件开发、数据分析、人工智能 等。

AI辅助编程 又是什么?

AI辅助编程 是指利用人工智能技术(通常是通用大语言模型或编程垂类的大语言模型)来辅助、优化编程,提高编程效率和质量。

目前市面上的AI编程工具,如 Cursor、GitHub Copilot、豆包MarsCode 等,一般都会集成在已有的 IDE(集成开发环境) 中。

学习目标

学会使用marscode辅助编程。

第一天小目标

熟悉marscode平台。

实战——0基础5分钟速通AI辅助“番茄时钟”开发

第一步——注册登录豆包MarsCode(点击可跳转官网)

直接点击上方蓝字,或复制链接打开: 豆包 MarsCode - 编程助手

小建议:把网址复制到Chrome、Edge等网页浏览器中打开

第二步——进入豆包MarsCode在线IDE

点击 "进入工作台" 打开在线IDE

第三步——创建项目

点击左上角 “项目” 按钮新建项目,选择 “HTML / CSS / JS” 项目,点击 “创建” 按钮创建项目

第四步——用AI编写“番茄时钟”代码

在右侧 AI对话区下方对话框 输入以下内容,然后 按enter键 发送:

参考prompt:请你基于html、tailwind css和javascript,帮我设计一个“番茄时钟”。要求UI简洁美观大方,同时具有呼吸感,点击开始计时、点击暂停计时和重置计时的功能能够完美实现。

第五步——运行“番茄时钟”

1.打开左侧 【文件浏览器】 的 index.html , 全选代码 ,找到右侧对应的 html文件 ,点击 插入光标处 

2.打开左侧 【文件浏览器】 的 script.js , 全选代码 ,找到右侧对应的 javascript文件 ,点击 插入光标处 

3.做好这些之后,点击最上方 “运行” 按钮,即可在 界面右侧 体验到番茄时钟的效果啦!

备注:

    (1)我们本次选用的工具 豆包MarsCode ,有 在线IDE和本地IDE插件 两种形态。 具备 代码补全、生成、解释、单元测试创建、错误修复 等辅助功能,支持 Java、Python 、Go、JS、HTML/CSS、TS、C++、C#、Kotlin、Rust 等百种编程语言。

相当于有了一个编程老手陪伴在你左右,

  • 对于刚入门编程的人来说,可以从中学会正确的编程开发姿势

  • 对于代码专家来说,可以有效降低 编写简单/重复代码和检查代码 的时间成本

可以有效提升学习效率、编程效率和代码质量。

其在线编辑器是一个云端 AI IDE 平台,拥有内置的 AI 编程助手,以及开箱即用的开发环境。

核心优势 :

  • 原生 AI 能力 :AI助手提供代码自动补全与生成、问题修复、代码优化等能力

  • 开箱即用 :提供数十种不同语言、框架的开发模板

  • 随时可用 :不受本地环境限制,只需要一台可以访问网络和浏览器设备,支持多设备同步


    (2)英文界面还可切换为中文:点击右上角的头像,将Language切换为中文即可~

  • (3)什么是prompt:

  • 通常,Prompt 是由人类设计的,以帮助模型更好地理解特定任务或领域的文字。

    对于具有较强自然语言理解、生成能力,能够实现多样化任务处理的大语言模(LLM)来说,一个好的 Prompt 极大地决定了其能力的上限与下限,且会塑造其输出文本的内容、风格和整体质量。

    通俗来说:如果我们把 AI 模型比作一名员工,Prompt 就相当于给员工的具体指令。指令的明确性和详细性决定了模型的输出效果。


http://www.ppmy.cn/devtools/145453.html

相关文章

JOGL 从入门到精通:开启 Java 3D 图形编程之旅

一、引言 Java 作为一门广泛应用的编程语言,在图形编程领域也有着强大的工具和库。JOGL(Java OpenGL)便是其中之一,它为 Java 开发者提供了访问 OpenGL(Open Graphics Library)功能的接口,使得…

SpringCloud 系列教程:微服务的未来(二)Mybatis-Plus的条件构造器、自定义SQL、Service接口基本用法

本篇博客将深入探讨 MyBatis-Plus 的三个核心功能:条件构造器、自定义 SQL 和 Service 接口的基本用法。通过对这些功能的学习和掌握,开发者能够更加高效地使用 MyBatis-Plus 进行业务开发。 目录 前言 条件构造器 自定义SQL Service接口基本用法 总结…

《Java核心技术I》Swing的网格包布局

复杂的布局管理 网格包布局 行列大小可改变,先建立表格,合并相邻单元格,组件指定在格内的对齐方式。 字体选择器组件: 另个指定字体和字体大小的组合框两个组合框标签两个选择粗体和斜体的复选框一个显示示例字符串的文本区 将容…

【STM32】RTT-Studio中HAL库开发教程十:EC800M-4G模块使用

文章目录 一、简介二、模块测试三、OneNet物联网配置四、完整代码五、测试验证 一、简介 EC800M4G是一款4G模块,本次实验主要是进行互联网的测试,模块测试,以及如何配置ONENET设备的相关参数,以及使用STM32F4来测试模块的数据上报…

深度学习-77-大模型量化之Post Training Quantization训练后量化PTQ

文章目录 1 PTQ1.1 动态量化1.2 静态量化2 四位量化的领域2.1 GPTQ2.2 GGUF(可用CPU)2.3 定点量化技术3 参考附录1 PTQ 训练后量化 :Post-Training Quantization (PTQ),模型训练完成后进行量化。 较流行的量化技术的方法之一是post-training quantization(PTQ),是指在训练后…

软件测试框架有什么作用?好用的测试框架分享

在当今软件开发中,软件测试框架扮演着至关重要的角色。测试框架是指用于支持自动化测试及测试管理的环境或平台。它提供了一系列的规则、标准和工具,以确保软件产品的质量。框架涵盖了测试的所有层面,包括单元测试、集成测试和系统测试等。更…

【Java数据结构】LinkedList

认识LinkedList LinkedList就是一个链表,它也是实现List接口的一个类。LinkedList就是通过next引用将所有的结点链接起来,所以不需要数组。LinkedList也是以泛型的方法实现的,所以使用这个类都需要实例化对象。 链表分为很多种,比…

在【Arduino IDE】中在线下载和离线下载【ESP系列开发板的SDK】

在线下载 打开Arduino IDE,依次点击 文件➔首选项➔其他开发板管理器地址,复制粘贴以下的开发板管理地址: https://arduino.me/packages/esp8266.json https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/package_esp32_index.j…