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. 云原生周刊: 使用 Kubectl 执行 100 个 Kubernetes 诊断命令 | 2023.10.23

    开源项目推荐 Stern Stern 是一个针对 Kubernetes 的多 pod 和容器日志跟踪工具.可以跟踪 Kubernetes 上的多个 pod 和 pod 中的多个容器.每个结果都用颜色编 ...

  2. WinSCP 脚本实现将 jar 包一键上传 Ubuntu 并 docker 部署

    准备 首先,在 Ubuntu 写一个.sh 脚本用于自动更新 jar 包的 docker 容器和镜像,然后在 Windows 写一个.bat 脚本用于上传 jar 包并运行.sh 脚本. deploy ...

  3. Python实现火柴人的设计与实现

    1.引言 火柴人(Stick Figure)是一种极简风格的图形,通常由简单的线段和圆圈组成,却能生动地表达人物的姿态和动作.火柴人不仅广泛应用于动画.漫画和涂鸦中,还可以作为图形学.人工智能等领域的 ...

  4. ROS入门21讲(5)

    九.服务数据的定义与使用 1.服务模型 2.自定义服务数据 Person.srv string name uint8 sex uint8 age uint8 unknown = 0 uint8 mal ...

  5. python项目实战——人生重开模拟器

    文章目录 1.菜单栏的编写 2.玩家确定颜值.体质.智力.家境 3.生成性别 4.设定角色出生点 5.各个年龄段的变化 5.1 幼年阶段 5.2 青年阶段 5.3中年阶段 5.4 晚年阶段 6.整体代 ...

  6. Chrome 130 版本新特性& Chrome 130 版本发行说明

    Chrome 130 版本新特性& Chrome 130 版本发行说明 一.Chrome 130 版本浏览器更新 1. 新的桌面提示 Chrome 130 引入了一种新的 Toast 样式,用 ...

  7. 2-1 C++内置类型

    目录 2.1.1 算术类型(Arithmetic Types) 概览 分类 整型与浮点型 有符号和无符号 存储 单位转换 常见类型的大小 几点说明 选择 2.1.2 类型转换(Type Convers ...

  8. 【Playwright + Python】系列(九)Playwright 调用 Chrome 插件,小白也能事半功倍

    哈喽,大家好,我是六哥!今天我来给大家分享一下如何使用playwight调用chrome插件,面向对象为功能测试及零基础小白,我尽量用大白话的方式举例讲解,力求所有人都能看懂,建议大家先收藏,以免后面 ...

  9. ABP 接口访问变慢,缓存清理,请求超时

    发布后过一个小时或者不久访问过慢 第一次访问慢,第二次访问变快 总结 发布后IIS 访问 过慢的原因考虑,IIS回收.缓存清理.去host项目里面配置缓存过期时间再去试验

  10. cornerstone中raft_server_resp_handlers源码解析

    1.概述 在rpc请求里,有了请求req就必然有回复resp.本文就来解析发送req的节点收到resp该怎么处理. 2.handle_peer_resp源码解析 void raft_server::h ...