Datawhale冬令营第二期-Task1:动手体验AI辅助编程:番茄钟

对应链接:https://www.datawhale.cn/activity/116/23/94?rankingPage=1

笔记整理者:博客园-岁月月宝贝

现在我已经是Datawhale宣传组的一员啦!好开心好开心!!!

这篇就不太侧重格式啦!(刚刚把小毕设(组长难当)+开题报告+形策作业完成到基本95%)这周论文还没怎么读呢!不过还会很完善就对啦~

学习内容

我们从“AI辅助编程”的定义开始吧!

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

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

IDE(Integrated Development Environment, 集成开发环境):是一种用于软件开发的综合性工具,它集成了 代码编辑器、编译器、调试器、版本控制系统 等多种功能,旨在提高程序员的开发效率和生产力。

Step1:注册登录豆包MarsCode(点击可跳转官网)

复制链接打开: https://www.marscode.cn/home?utm_source=school&utm_medium=datawhalelearn&utm_campaign=camp1

  1. 点击“登录并获取编程助手”

  2. 注册账号并登录

注意:请不要在微信浏览器中打开,需要把网址复制到Chrome、Edge等网页浏览器中打开

Step2:进入豆包MarsCode在线IDE

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

  1. 点击进入工作台

  1. 打开网页立即体验

  1. 这里就是你的工作环境啦~

豆包MarsCode在线IDE

在线IDE本地IDE插件 两种形态。 具备 代码补全、生成、解释、单元测试创建、错误修复 等辅助功能,支持 Java、Python 、Go、JS、HTML/CSS、TS、C++、C#、Kotlin、Rust 等百种编程语言。

目标:有效提升学习效率、编程效率和代码质量。

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

核心优势:

  • 原生 AI 能力 :AI助手提供代码自动补全与生成、问题修复、代码优化等能力
  • 开箱即用 :提供数十种不同语言、框架的开发模板
  • 随时可用 :不受本地环境限制(只需一台可以访问网络和浏览器的设备),支持多设备同步

Step3:创建项目

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

  1. 新建项目

  1. 选择HTML/CSS/JS项目并创建

  1. 恭喜进入项目工作区~

界面详细说明:

区域名称 功能描述
①文件浏览器 文件导览区域,可查看文件和文件夹列表,位于左侧边栏中。
③代码编辑器 编辑文件的主要区域,支持拆分编辑器或创建新的编辑区域
④控制台 底部面板,用于调试项目,查看错误、日志等信息。包含问题、终端、网络服务等标签页。
⑤AI对话区及更多窗口 右侧边栏,提供 AI 助手、内置工具区域、第三方插件的入口。

英文界面还可切换为中文

点击右上角的头像,将Language切换为中文即可~

点击切换为中文

重新加载

下面是本人调出的界面

Step4:用AI编写 番茄时钟 代码!

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

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

发送Prompt!让AI编写代码!

Prompt:

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

一个好的 Prompt 极大地决定了其能力的上限与下限,且会塑造其输出文本的内容、风格和整体质量

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

这是我与它的对话:

prompt:假如你是一名优秀的算法工程师,请你基于html、tailwind css和javascript,帮我设计一个“番茄时钟”。要求UI简洁且美观大方,同时具有呼吸感,点击"开始计时"、点击"暂停计时“和点击”重置计时“功能均能够完美实现,谢谢!

我这位只生成了html文件~

它解释得很详细!可见三种功能全部被覆盖啦!

Step5:运行 番茄时钟!

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

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

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

-因为我们只有html文件,所以我们就只用进行“1”和“3”~

下面是我的番茄钟展示

点击“开始计时”:

点击“暂停计时”(秒真的不动啦!):

最后“重置计时⏲”(回到最初时刻):

下面我们进入思考:

为什么要这样“引导AI”编程?

豆包MarsCode的其他能力?

官方文档:https://docs.marscode.cn/docs/introduction

支持的操作系统

Windows、macOS、Linux。

功能 说明
代码补全 阅读并理解当前代码,然后提供后续代码片段,也支持通过注释生成代码片段。
代码补全 Pro 基于上一次的编辑内容及代码情况,预测下一个改动点并提供推荐代码。
代码生成 理解自然语言并生成所需代码。
代码编辑 编辑指定代码,包括重构、优化、修改部分逻辑等
代码解释 精准解释项目代码,快速上手开发。
代码注释生成 生成函数级注释或更详细的行间注释。
单元测试生成 为指定代码片段生成单元测试。
智能修复 发现代码中的问题并修复。
智能问答 针对研发领域定向优化问答质量,提供更精准的问答结果。

支持的 IDE

IDE 名称 说明
Visual Studio Code 支持 1.67.0 及以上版本。
JetBrains 包括 IntelliJ IDEA、Pycharm、Goland、Android Studio、WebStorm、Clion、Rider、Phpstorm、DataGrip 等。版本须为 221.5080.210 及以上。

支持的语言/框架

类型 支持的语言/框架
后端 Go、Python、C++、C、C#、Java、PHP、Rust
前端 HTML、TypeScript、JavaScript、CSS
应用端 Kotlin、Objective-C、Swift
其他 Lua、SAS、CUDA、Perl、Ruby、Shell、SQL、R

下面的gif是官方的部分功能示例~

  1. 代码补全

  1. 代码解释

  1. 代码生成

  1. 代码注释生成

  1. 单元测试生成

能力很强!重要的是我发现它好像真的有:

!!!

下面请问:Prompt需要包含什么必有要素?

Q1:设计一个番茄时钟,为什么要提到 html、tailwind css和javascript

Q2:为什么特别要求 UI简洁美观大方 ,同时具有 呼吸感

这些 关键词 ,对于AI来说的价值是什么呢?

Task2 我的笔记里就会有 “关键词唤醒” 的概念啦!

(更复杂的系统/软件的制作在 Task3

练习作业

修改Prompt,制作井字棋

试试将Step4中的Promt替换为如下信息,制作一个井字棋~:

参考Prompt: 请你基于html、tailwind css和javascript,帮我设计一个“井字棋游戏”。要求UI简洁美观大方,同时具有呼吸感,人类玩家以及电脑玩家放置棋子,游戏胜负平局判定条件能够完美实现

预期效果

这是我与它的对话:

prompt:假如你是一名优秀的算法工程师,请你基于html、tailwind css和javascript,帮我设计一个“井字棋游戏”。要求UI简洁且美观大方,同时具有呼吸感,人类玩家以及电脑玩家放置棋子,游戏胜、负、平局的判定条件均能够完美实现,谢谢!

——虽然最后为了避免网络卡顿等等问题改为原版啦!

请看我们的对话记录!

通过我们一直对话,一直遇见问题,一直改进,终于成功啦!

happy happy happy!

注意:

  • 遇到网络等问题,可以尝试新建项目,使用默认prompt提示
  • 如果AI回答需要安装Tailwind CSS,无视即可, AI会在html文件中自动引入tailwind css
  • 就是在遇到问题反馈的时候需要它重新基于原有的生成(那个重新生成按钮),而不是将遇到的问题多次发给它——它可能默认第一次面对你的问题时的分析是对的

升华

应用软件开发 是一个工程性的行为,他需要经过 场景挖掘、应用功能/业务设计、程序架构设计、代码编写与debug、最终集成和测试 等多个环节,必然会遇到很多问题,发现问题、解决问题 是除了应用场景挖掘和业务设计外的核心工作环节。

如果你的代码遇到了问题,尝试清晰描述你遇到的问题和诉求,和AI一起尝试分析、修改解决吧!

最后,再次谢谢Datawhale,介绍了这么好的一个平台!

Datawhale冬令营第二期!😀Task 1的更多相关文章

  1. 智能生活 科技无限 CTO VOICE 第二期 智能硬件创新创业专场演讲嘉宾招募

    生活不只有诗和远方,还有当下的痛点和需求 当可穿戴设备.虚拟现实.无人机.机器人进入人们视线甚至生活当中 下一个风口就在智能硬件领域上凸显 那么,创业者如何撕掉智能外衣,设计一款有竞争力的智能硬件? ...

  2. 寻找大学目标及行动步骤——记ITAEM团队第二期宣讲会(2014.05.14)

    ·昨晚8:00-9:40.在 钟海楼03029 ,进行了ITAEM团队第二期宣讲会(第一期见第一期宣讲会总结).来參加的主要是大一学生.以信院为主.也有法学院.文学院的同学. 在宣讲会中,大家都比較积 ...

  3. 8天玩转并行开发——第二天 Task的使用

    原文 8天玩转并行开发——第二天 Task的使用 在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于 “任务的编程模型”所冲击, ...

  4. 下载频道--IT资源关东煮第二期[申明:来源于网络]

    下载频道–IT资源关东煮第二期[申明:来源于网络] 地址:http://geek.csdn.net/news/detail/129509?ref=myread

  5. 《Linux就该这么学》第二期视频

    Linux就该这么学--第二期学习笔记... ------------- 你的未来取决于你现在点点滴滴的努力 需要用到的一些工具: Vm11激活码 ---------- root在Linux系统中相当 ...

  6. 【sky第二期--PID算法】--【智能车论坛】

    [sky第二期--PID算法] 想学PID的可以来[智能车论坛]这里有我发布的资料http://bbs.tekbots.eefocus.com/forum.php?mod=viewthread& ...

  7. 网易云社区有奖问答活动第二期——技术领导力、深入分布式、PHP圣经、Linux运维、Unity……三月热点图书等你拿!

    网易云社区第二期有奖问答活动开始了!(第一期活动已结束:人工智能图书大抽奖!) 欢迎积极参与网易云社区,讨论问题,交流心得.我们本期准备了一批技术领域热点图书,送给参与社区的朋友们,将以抽奖的形式送出 ...

  8. JEECG第二期深入使用培训(报名截止2014-06-21)

    JEECG第二期深入使用培训(报名截止2014-06-21) JEECG深度研究-交流碰撞火花,你学会的不不过JEECG,很多其它的是软件架构思想 http://www.jeecg.org/forum ...

  9. 小象学院Python数据分析第二期【升级版】

    点击了解更多Python课程>>> 小象学院Python数据分析第二期[升级版] 主讲老师: 梁斌 资深算法工程师 查尔斯特大学(Charles Sturt University)计 ...

  10. 祝贺|合肥.NET俱乐部第二期技术沙龙活动圆满成功

    热烈祝贺合肥.NET俱乐部第二期技术沙龙圆满成功,感恩参与活动的每一位小伙伴!正是因为有你们才促成了这次聚会的成功.现对此次活动进行简单回顾并附上精彩的活动图片,每一位参与活动者名单,以及此次活动讲师 ...

随机推荐

  1. 题解:GZOI2024 D2T2 乒乓球

    考场上切了,但是比较神奇的题,应该是蓝/紫. Discription 乒乓球 \(\text{ }\)时间限制:\(\bold{3}\) 秒 众所周知,一场乒乓球比赛共有两个玩家 \(A\) 和 \( ...

  2. Nuxt.js 应用中的 build:done 事件钩子详解

    title: Nuxt.js 应用中的 build:done 事件钩子详解 date: 2024/10/21 updated: 2024/10/21 author: cmdragon excerpt: ...

  3. 小程序框架开发笔记-wepy

    WePY 一.前置 本地使用版本V1.7.3最新版本V2.x            二.使用 export class App extends wepy.app {} 小程序入口,App基类 wepy ...

  4. ABC 364

    ABC 364 E - Maximum Glutton 给定 \((a_i,b_i),X,Y\), 记 \(k\) 是第一个让 \(\sum_{i=1}^{k} a_i > X\) 或 \(\s ...

  5. .NET 8 高性能跨平台图像处理库 ImageSharp

    前言 传统的 System.Drawing 库功能丰富,但存在平台限制,不适用于跨平台开发..NET 8 的发布,ImageSharp 成为了一个更好的选择. ImageSharp 是一个完全开源.高 ...

  6. apisix~限流插件的使用

    参考: https://i4t.com/19399.html https://github.com/apache/apisix/issues/9193 https://github.com/apach ...

  7. 一、FreeRTOS学习笔记-基础知识

    一基础知识 1.任务调度(调度器) 调度器就是使用相关的调度算法来决定当前需要执行的哪个任务 FreeRTOS三种任务调度方式: 1.抢占式调度:主要是针对优先级不同的任务,每个任务都有一个优先级,优 ...

  8. 项目监控之sentry

    github: https://github.com/getsentry/sentry 1.什么是sentry? 当我们完成一个业务系统的上线时,总是要观察线上的运行情况,对于每一个项目,我们都没办法 ...

  9. PHPstorm配置webserver

    phpstorm自带了一个web server,我们可以直接在IDE中直接运行调试代码,非常方便. 配置interpreter 工程第一次运行还要配置一下php的解释器,我电脑的配置如下: 可以看到代 ...

  10. Python之读写Excel

    现有的Excel分为两种格式:xls(Excel 97-2003)和xlsx(Excel 2007及以上). Python处理Excel文件主要是第三方模块库xlrd.xlwt.pyexcel-xls ...