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. 云原生爱好者周刊:OCI 镜像管理新工具 — regclient

    云原生一周动态要闻: OpenKruise v1.0 发布 SlashData 最新报告:560 万开发者使用 Kubernetes,一年增长 67% WasmEdge 0.9.0 发布 Securi ...

  2. Derivative norm vector repect to time 《PBM by Pixar》 Appendix D.2 code

    目录 1 Derivative normal vector repect to time 1.1 Derivative vector norm repect to time X Ref Vector ...

  3. BootStrap5应用时tooltips的添加

    BootStrap5应用时tooltips的添加 官方示例 <button type="button" class="btn btn-secondary" ...

  4. python面向对象复习

    1.类的语法 # 类的语法 # 定义类 class Dog(object): # 类的属性或者类变量,一般是公共属性,存在类的内存空间,所有实例对象共享 d_type = "京巴" ...

  5. 使用wxpython开发跨平台桌面应用,对常用消息对话框的封装处理

    在很多程序中,封装常用消息对话框有很多好处,尤其是在 GUI 应用程序中,本篇随笔结合.net 开发Winform界面的经验,对使用wxpython开发中 wx.MessageDialog 和 wx. ...

  6. Git命令缩写

    g = 'git' ga = 'git add' gaa='git add --all' gapa='git add --patch' gb='git branch' gba='git branch ...

  7. 基于Java+SpringBoot心理测评心理测试系统功能实现二

    一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...

  8. CSP模拟50联测12 T2 赌神

    CSP模拟50联测12 T2 赌神 题面与数据规模 Ps:超链接为衡水中学OJ. 思路 \(subtask2\): 由于\(x_i\)较小,考虑 dp. 假设一开始球的颜色为红和蓝,设 \(dp[i] ...

  9. AI那么厉害,那测试开发和自动化测试这些职位是不是就多余了?

    在当今科技飞速发展的时代,AI大模型如ChatGPT等如同璀璨星辰般闪耀登场,它们的强大功能引发了各个领域的诸多思考.在软件测试领域,不少人心里直犯嘀咕:这AI大模型都这么厉害了,那测试开发和自动化测 ...

  10. 前端实战之使用canvas合并图片

    最近做一个完整的系统,前端中涉及到一个推广图片的生成,其中推广图片是由一个变化的链接生成的二维码与一个固定图片拼接而成 实现demo: qrcode.png:https://images.cnblog ...