Hello大家好呀,在上周五晚上,「豆包MarsCodeAI编程云课堂」专为编程小白准备了超级无敌霹雳零基础课程《从零开始理解AI编程》,收获了小伙伴们的一致好评,全网有万人进行观看~
想要学习AI编程,首先就要理解编程,本次分享由7年开发者经验的大圣老师为大家带来,源自他的开源AI编程基础教程,欢迎阅读、转发给身边想入门AI编程的小伙伴!
「课程介绍」
豆包MarsCodeAI编程云课堂也正在同步进行中,本课程由字节豆包MarsCode官方出品,每周1节课,1h带领大家感受AI编程的快乐!
活动全程免费,复制链接报名:https://zjsms.com/iBKWN1t6/,或者点击文末阅读原文报名。
「最新课程预告」
本周四20:00-21:00 《如何用AI分析股价变化趋势》
话不多说,我们现在开始!
引言
"我这个编程小白,真的能学会AI编程吗?"
这可能是很多人心中的疑问。
在传统编程时代,学习编程确实不太容易 —— 要记忆各种语法规则,理解复杂的概念,敲很多代码...
但是现在不一样了。
AI正在逐渐降低编程的门槛,你不需要成为专业的程序员,也能用编程来实现自己的想法。
谁适合学习AI编程?
传统开发者
已经是程序员的朋友无疑是最适合学习AI编程的群体了
利用AI编程,你可以:
把重复性的编码工作交给Marscode等AI助手,自己专注在更有价值的设计工作上
用AI工具辅助进行性能分析,代码框架,避免写出屎山代码
在技术快速发展的今天,及早掌握AI编程也是保持竞争力的重要方式
产品经理
在我接触过的产品经理中。很多人都在为一些问题困扰:
想法很好,但总是很难快速验证
静态的原型稿没有办法帮助表达自己的产品框架
总是被技术的方案牵着鼻子走
学会AI编程后,你能做的事情会变得很多:
有了新想法,可以直接用扣子等平台快速做出一个简单demo,用实际效果来验证想法
在跟技术团队沟通时,能更好地理解技术可行性,设计出更实用的功能
产品原型不再局限于静态界面,可以直接用Marscode等AI工具生成可交互的演示版本
交互设计师
设计师朋友们应该都有这样的经历:辛苦设计的交互方案,在开发实现时总是差强人意。
学习AI编程能给设计工作带来新的可能:
可以自己动手做出简单的交互原型,让产品和技术同事直观体验设计理念
理解技术实现的过程,设计方案会更接地气
用动态演示替代静态原型,让每个人都能准确理解你的设计意图
宝爸宝妈
最近有位妈妈找我咨询,她的孩子才6岁,但对编程很感兴趣。问我需要学那种语言
在AI时代,孩子学习编程的方式也可以变得更有趣。
建议家长们可以这样做:
不用着急让孩子学习具体的编程语言,可以先用像扣子这样的平台培养编程思维
让孩子发挥想象力,逐步用AI工具把天马行空的想法变成现实
如果有时间,家长也可以一起学习,这将是陪伴孩子成长的绝佳方式
本次课程面向的对象
这门课程主要面向两类学习者:
PS:本节内容会偏向于编程新人
编程新人
如果你是编程新人,请记住:
🎯 这节课的目标不是把你变成程序员,而是教会你利用AI来实现想法
📝 课程会用最通俗的语言解释编程概念
🌱 这是一个循序渐进的过程,不要期待一蹴而就
⏳ AI编程不同于AI绘画、写作,需要持续学习和积累
传统开发者
如果你已经是程序员:
带你初步了解Marscode这个开发效率神器
帮你掌握AI辅助开发的技巧
学习AI编程的平台
在小白入门AI编程的时候,一上来就接触AI编程工具并不是一个很好的选择。
市面上的AI编程工具:例如国内字节的MarsCode或者国外的Cursor
它们的目的是帮助已经学会编程的同学提高开发效率,但对于对编程基础概念都还不是很清楚的同学,这些工具并不友好
我们将AI编程学习分为两个阶段,并给大家推荐下适合小白入门和进阶的学习平台和工具
第一阶段:新手期
特点:对于编程的基本概念还不清楚,例如:基础的Python语法、变量、数据类型以及JSON等
这个时候推荐使用字节的扣子智能体平台进行学习。
在搭建智能体工作流的过程中,你会使用插件节点、数据库节点、变量节点等,这些节点都蕴含着编程的概念,但是又不需要你编码。在实践的过程中就将这些概念掌握了
同时,当你进阶到一定程度,扣子中也会有代码节点让你体验一把写功能性代码的成就感
第二阶段:实战期
当你有了AI编程的基础,想使用代码开发一个完整的应用时,Marscode就可以大显身手了
当到了开发完整应用的阶段,你开始编写多个函数或者是多个代码文件。
这时候一款好用的AI编程工具可以大大提高你的开发效率
遇到问题怎么办
不论是小白还是资深开发学习AI编程,一定会遇到很多问题
这时候记住一句话:遇事不决问AI
我们是AI编程,不是传统编程,要善于利用大模型的强大能力!
🤔 看不懂代码?让AI给你逐行解释
❌ 代码报错了?把错误信息给AI分析
📖 概念不理解?让AI用类比帮你解释
编程是什么
不管是传统编程,还是AI编程,我们都得了解编程是什么。
为什么会有编程
想象你在教一个特别听话的助手做事。但是这个助手有如下几个特点:
非常准确,但有点"死板"
只会按照指令行事
需要非常清晰的步骤说明
这个助手就是计算机,而编程就是告诉计算机具体该怎么做事的过程。
所以编程的核心目的就是:指挥计算机按照人类的意愿行事,解决人类的特定问题
编程语言
编程就是给计算机下达指令的过程。
那么,计算机该如何听懂我们的指令呢?这就引出了一个关键概念:编程语言。
编程语言就像人类语言一样,种类繁多。常见的有:
Python
Java
C++
JavaScript
等等
想象这样一个场景:你的的领导说:“XXX,今晚加班把这个任务完成”,你说:“好咧” 这里:你的领导就是程序员,你就是计算机,你的领导通过一句话就让你乖乖的把活干了~
程序员给计算机下达指令的过程也是一样的。
你可能会问:"为什么会有这么多编程语言呢?",因为每种语言都有其特定的应用场景和优缺点。
这里不过多介绍,如果你还没有接触过任何一门编程语言,建议你直接选择Python
IDE以及插件
IDE是专业软件开发工程师的必备武器,但是对于小白来讲可能会有些困惑
简单来讲:IDE就是程序员写代码的地方,就跟你用Word写文档一样
你为什么不用txt,而是用Word写文档,因为Word功能强大,可以加粗,斜体,区分正文和标题等等
同理,程序员也不用txt写代码,而是使用配套了各种方便程序员写代码的IDE工具。
IDE全称:“集成开发环境”
Integrated(集成):意味着它将多种开发工具整合到一个应用程序中。
Development(开发):表明它是为软件开发而设计的。
Environment(环境):指的是它提供了一个完整的工作空间,用于编写、测试和部署软件。
这个全称概括了IDE的核心特点 - 它是一个将多种编程工具和功能集成在一起的软件开发环境,旨在提高程序员的工作效率和便利性。
而再强大的IDE都不会满足所有开发者的需求,于是便有了插件的诞生。
插件用来扩展或者增强IDE的功能。
就好比你的手机已经有了拍照的能力,但是你还是要下载一个美颜相机一样。
字节的Marscode就是一款基于IDE的插件,它可以安装在像VSCode、IDEA这些主流的IDE上,通过AI的加持,大幅提高开发者的效率
了解了编程是什么之后,我们正式进入编程基础概念的学习。
编程的基础概念
有了AI,为什么我们还需要学编程的基础知识呢?
我给你举个例子:
在日常工作中,大家可能不止一次心里暗骂过自己的领导:“什么玩意,什么都不懂,还瞎指挥”
如果你连编程基本的概念都不知道,却总想着去指挥AI帮你编程,那我相信AI可能也在心里骂你
所以了解编程的基本概念,是你和AI有效沟通的基础
另外即使是最先进的AI也可能犯错。
如果你对编程一无所知,你可能无法识别AI生成的代码中的错误或不合理之处。
基本的编程知识能让你成为一个更好的"把关人",确保最终的结果符合你的预期。
PS:请注意,编程新人不要期望下面的内容可以完全听懂,这块是需要不断实践的。
我希望你应该专注听我对每个概念的理解,而不是里面的细节。细节部分需要在后面不断的实践过程中学习消化
编程语言
首先我们需要了解一门语言的基础语法,这里我推荐Python
PS:编程语言了解一种即可,各种语言都是相通的,而且以后就算有了更高级的语言,只会学习起来更简单
学习的过程中请千万注意:
不要陷入到学习中无法自拔,尤其是Python,花3个小时了解基础即可,其余的时间要以练带学。
变量:程序中的“容器”
在编程语言概念中,变量是非常重要的概念
变量在编程中充当数据传递的媒介。具体来说,变量的主要作用可以分为两个阶段:
存储数据:将数据存储在变量中,使数据有一个名字标识,可以随时访问和修改。
引用数据:通过变量名来引用或使用存储的数据,从而在不同的地方或不同的时间点进行数据传递和操作。
我用一个例子来解释变量的作用:想象你有一个带标签的储物盒,这就是"变量":
盒子可以存放东西(数据)
标签上写着名字(变量名)
你可以随时更换盒子里的东西(修改数据)
下面这段代码可以简单的展示下变量的内容
# 创建一个名叫"age"的储物盒,放入数字18
age = 18
# 创建一个名叫"name"的储物盒,放入文字"小明"
name = "小明"
# 可以随时查看盒子里的内容
print(f"{name}今年{age}岁") # 输出:小明今年18岁
# 可以随时更换盒子里的内容
age = 19 # 把age盒子里的18换成19
print(f"{name}明年{age}岁") # 输出:小明明年19岁
详细学习请参考我的AI编程基础体系教程中的:09|程序中的变量
我们说变量是用来承载数据的,那么数据又有哪几种类型呢?
数据类型:不同的“物品类型”
就像现实生活中的物品有不同类型:
📝 文字(String):"你好","Python"
🔢 数字(Number):整数(1, 2, 3)或小数(3.14)
✅ 真假(Boolean):对/错,是/否
📋 列表(List):[苹果, 香蕉, 橙子]
📑 字典(Dictionary):{姓名: 小明, 年龄: 25}
其中列表和字典是Python中的概念,他们还可以被称作:JSON
我这里这里称之为复杂的数据类型,后面相对难学的也是这部分内容
JSON可以长下面这个样子
{
"name": "大圣",
"age": 18,
"city": "杭州"
}
或者这个样子
[
{
"name":"大圣",
"age":18,
"city":"杭州"
},
{
"name":"艾木",
"age":16,
"city":"深圳"
}
]
学习JSON就类似学习一门简单的语法,这里我们不展开。
详细学习请参考我的AI编程基础体系教程中的:06|数据的桥梁,理解与应用JSON
我想跟你分享下在学习JSON时需要记住的两点:
JSON跟我们的电脑文件夹结构很像,是一个树状结构,可以一层层的嵌套
JSON与编程语言无关,不同编程语言都认识JSON,就像英语是通用的国际语言
学习数据类型请参考:08|数据类型,一切数据的基础
控制流程:程序的决策与重复
条件判断(if-else)
就像生活中的决策:
你早上起床时查看天气:
如果下雨,则带伞
否则,则带太阳镜
用代码实现如下:
# 下雨决策
if is_raining:
take_umbrella()
else:
wear_sunglasses()
循环(for/while)
重复做某件事情
for循环
想象你有几个朋友,想给他们发一个生日祝福。你可以使用循环来一次性给每个朋友发送消息。
就是微信中的群发能力
friends = ["小明", "小红", "小刚"]
for friend in friends:
print("祝", friend, "生日快乐!")
while循环
假设你想要每天都进行锻炼,直到你瘦了10斤。在这种情况下,使用while循环会更合适。
currentWeight = 100 # 当前的体重
goalWeight = 90 # 目标体重
while currentWeight > goalWeight:
print("今天锻炼!")
currentWeight--;
print("恭喜!你完成了锻炼")
深入学习循环请参考:13|理解并应用循环
函数
函数是编程中非常重要的一个概念。简单来说,函数就是一段可以重复使用的代码。
函数就好比日常生活中的功能模块。
假设你是会计,你每天都要做各种加减乘除。
为了方便,你购买了一个计算器,这个计算器就相当于一个函数:
你输入数字(输入)
计算器内部进行计算(处理过程)
显示计算结果(输出)
来看一个简单的代码例子:
# 定义一个简单的计算器函数
def calculator(num1, num2, operation):
if operation == "+":
return num1 + num2
elif operation == "-":
return num1 - num2
elif operation == "*":
return num1 * num2
elif operation == "/":
return num1 / num2
# 使用这个计算器函数
result1 = calculator(10, 5, "+")
print(f"10 + 5 = {result1}") # 输出:10 + 5 = 15
result2 = calculator(10, 2, "*")
print(f"10 * 2 = {result2}") # 输出:10 * 2 = 20
函数的主要作用:
代码复用:把经常要用到的代码打包成函数,避免重复写同样的代码
模块化:把复杂的问题拆分成小函数,让代码更容易理解和维护
封装细节:使用函数的人不需要知道内部具体是怎么实现的,只需要知道怎么用
在实际开发中,一个程序往往会包含很多个函数,每个函数负责处理特定的任务。
就像你的办公桌上可能除了计算器,还有打印机、扫描仪等不同的工具,每个工具都专注于完成特定的工作。
记住:理解函数并不需要你立刻就能写出完美的函数。
关键是要明白函数的基本概念 - 它就是一个能重复使用的功能模块,给定输入,经过处理后,产生特定的输出。
编程的思维模型
当学完了变量、数据类型、控制流程和函数这些基础概念后,让我们来聊聊编程的核心思维模型。
输入-处理-输出框架
在编程中有一个朴实但非常实用的框架:输入、处理和输出。
这个框架跟传统编程还是AI编程都没有关系,它是一个共性的东西。
理解了这个框架,你会发现阅读代码还挺简单的
我们用做菜来举个例子:
输入:准备的食材
处理:具体的烹饪步骤
输出:最终的菜品
用代码来表达这个过程:
def cook_dish(ingredients): # 输入:食材
# 处理:烹饪步骤
if not check_ingredients(ingredients): # 检查食材是否齐全
return "食材不足"
prepared = prepare_ingredients(ingredients) # 处理食材
cooked = cooking_process(prepared) # 烹饪过程
return cooked # 输出:完成的菜品
这个框架为什么重要,因为到后面你会发现你在用AI帮你代码的时候,你要清晰的定义好输入和输出,而AI着重帮你搞定的则是处理的逻辑。
模块化拆分
你可能会问:"一个像豆包这样复杂的软件,也遵循这个框架吗?"
是的,一个有经验的程序员,会将复杂的功能拆解成多个模块。
而每个模块都遵循着输入-处理-输出的框架。
假设我们写一篇公众号,虽然流程有些复杂,但是可以拆分成如下几个模块
选题模块
输入:当下相关领域的热点新闻
处理:根据某种规则进行处理
输出:本次的选题
大纲确定模块
输入:选题
处理:AI
输出:文章大纲
内容生成模块
输入:文章大纲和选题
处理:AI
输出:每一章的内容
摘要生成模块
输入:文章内容
处理:AI
输出:文章摘要
封面生成模块
输入:文章摘要 & 选题
处理:AI
输出:封面图片
流水线组装
当确定了每个模块(函数)之后,我们就可以像流水线一样将这些模块串起来组成一个功能
什么是流水线:
第一个工作台(函数A)处理原材料,完成后把半成品放在周转箱(变量)里
下一个工作台(函数B)拿到周转箱里的半成品,根据产品类型(if条件)选择不同的加工方式,有时需要重复加工几次(循环)
就这样一个工作台接着一个工作台,最终制造出成品
我们用AI写公众号文章的例子来理解这个流程:
def generate_article(hotNews):
# 第一个函数:选题
topic = generate_topic(hotNews) # 输入热点新闻,输出选题
# 第二个函数:生成大纲
outline = generate_outline(topic) # 输入topic,输出outline
# 第三个函数:根据大纲生成内容
content = generate_content(outline) # 输入outline,输出content
# 第四个函数:生成摘要
summary = generate_summary(content) # 输入content,输出summary
# 第五个函数:生成封面
post = generate_post(summary) # 输入summary,输出post
# 最终的文章包含这些部分
article = {
"topic": topic,
"outline": outline,
"content": content,
"summary": summary,
"post": post
}
return article
模块复用
当你理解了上面的概念,就会明白为什么程序员总是强调"模块复用"。
乐高积木就是典型的模块复用思想,通过一个个基础的小模块不同的组合,可以搭建出各式各样的作品。
Coze中的插件也是模块复用的一种体现
github上的一些开源库也是模块复用的体现
理解了这些思维模型,你再看那些复杂的代码,就会发现它们无非是这些基本概念的组合。
这时候,阅读代码就不再显得那么复杂和可怕了。
这些思维模型不仅适用于编程,在我们解决日常问题时也很有用。因为它们本质上是一种解决问题的方法论。
编程的进阶概念
了解了编程的基础概念和思维模型之后,我们就掌握了阅读代码的基础。
接下来我们需要了解三个跟代码不直接相关,但是在编程侧很重要的3个概念
跟外部程序交互:API接口
在AI编程中,有一个非常重要的场景,就是获取外部的数据。例如:
需要实时获取当前的天气
想在代码中引入豆包大模型的能力
.....
这时候我们就需要学习一个叫做API的概念,
API全称:应用程序接口
我们先来理解下什么是接口,我换个方式来说:接口人
当你因为工作需要和一个人谈业务的时候,但是对方不想直接跟你见面,所以对方指定一个接口人来传递消息
然后你所有信息的传达都是通过这个接口人来完成的
接口人是用来进行人和人之间传递信息的
那么API(应用程序接口)就是用来和应用程序进行传递信息的
那么应用程序又是什么呢?
豆包就是个应用程序
你用的各种软件都是应用程序
谁会和应用程序进行通信呢?
人可以和应用程序通信
其他应用程序也可以和应用程序通信
什么情况下需要和应用通信通信呢?
当你需要从某个应用程序获取数据的时候,我举个例子:
你搭建了一个网站,你想要实时显示当前的天气,那这个天气信息是不是得从气象局来。
于是你发现气象局对外提供了一个API,你每次调用都可以获取当前最新的天气信息。
只要你的网站接入了这个API,你就可以随心所欲的给你的用户展示天气信息了。
为什么在编程领域,API是一个非常重要的概念呢?
我们应该知道ChatGPT刚火的时候,国内也出现了好多的平台号称可以付费使用和ChatGPT的能力,这个就是我们说的套壳软件,
这些平台肯定没有自己的大模型,他们只是接入了ChatGPT的API接口而已,甚至接入的都不一定是ChatGPT的能力
还有各种你在微信上见到的各种小程序,大多数的底层都是接入了一些开源或者付费的API,然后进行简单的前端页面包装就成了一个新产品了
所以如果你对API有一定的认知和了解,理论上来说你就可以通过像搭积木一样配合各种API组装出你的产品。现在好多的创业公司也是这么做的
深入学习API的概念,请参考:10|程序中的API是什么
数据存储
在一个正式运行的程序中,基本都离不开数据的存储
例如用户的账号密码、个人信息等都是需要进行数据存储的
这个时候,你需要了解一个叫做数据库的概念。
数据库就像是一个电子化的档案室,你可以:
安全地保管数据(比如用户密码会被加密存储)
方便地查找数据(像在Excel里快速找到某个信息)
随时更新数据(比如修改个人资料)
保证数据的可靠性(不会轻易丢失或损坏)
PS:新人接触数据库的时候就可以类比Excel,或者飞书的多维表格
学习数据库请参考:14|数据库
应用部署
我们写代码的目的基本都是为了构建一个具有某个特定功能的程序,可能是APP,也可能是一个网站。
而将你的代码变成可以运行的应用程序,这个环节就叫做部署
当我们在电脑上写完代码后,这些代码目前只能在你自己的电脑上运行。
如果想让其他人也能使用你开发的程序,你需要把代码部署到服务器上。
服务器,简单来说就是一台24小时运行的计算机。
最常见的就是云服务器,比如阿里云、腾讯云提供的服务器。它们就像是租用的一台远程电脑,你可以把你的代码放到上面运行。
比如:一直很火的微信自动回复机器人,就是将代码部署在一台云服务器上,然后24小时提供服务。
部署的一般流程:
选择一个云服务器
在服务器上安装需要的环境(比如Python)
把代码上传到服务器
让代码在服务器上运行起来
PS:对于非程序员来讲,部署最好有手把手的教程,否则你会很痛苦....
深入了解云服务器:16|云服务器是什么?
拥抱AI编程
上面我们花费大篇幅讲解了编程的基础概念,目的是帮助大家快速入门。
接下来我们终于进入到AI编程,我们首先必须对AI的特点有一个认知
它很强大,但需要清晰的指令
它很聪明,但需要正确的引导
它能写代码,但需要你说清楚要做什么
从执行者到方案设计
在AI编程时代,我们的角色发生了转变:
过去:我们是代码的"执行者",专注于如何实现功能
现在:我们是方案的"设计师",专注于想要实现什么功能
就像建筑师和建筑工人的区别:
建筑工人关注如何砌墙、怎么打地基
建筑师关注建筑的整体设计、功能分区、美观程度
我们不再需要掌握所有的编程细节,一些诸如语法之类的,随用随学即可。
但是我们要专注于:
理解编程的基本概念
明白代码实现的可能性
学会如何描述和拆解需求
AI编程的核心技能
AI编程时代,最重要的技能不再是写代码,而是结构化思维 & 清晰的描述需求
结构化思考让你可以自顶向下思考,而清晰的描述需求则可以更好的指导AI干活。
两者缺一不可
结构化思维
还是以搭建积木为例:
不会一开始就漫无目的地拼
而是先看图纸,了解整体结构
然后按部件一步步组装
编程也是如此:
先设计整体架构
然后拆解成模块
最后逐个实现
清晰的需求描述
记住一个原则:AI不是你肚子里的蛔虫,它需要具体的指示
❌ 错误的需求描述:
"我要做一个类似淘宝的购物网站"
✅ 正确的需求描述:我想要做如下一个功能
1. 首页功能:
- 商品展示区:
* 每个商品卡片显示:主图、标题、价格、销量
* 支持按价格、销量、好评度排序
* 提供分类筛选功能
- 搜索功能:
* 支持按商品名称搜索
* 支持按店铺名称搜索
* 提供搜索历史记录
2. 商品详情页:
- 图文展示区:
* 支持多图片轮播
* 显示商品详细描述
* 展示规格参数表
- 交互功能:
* 加入购物车按钮
* 立即购买按钮
* 收藏功能
与AI协作的正确姿势
记住这个公式:好的输入 = 好的输出
先整体,后细节
先描述整个项目的目标
然后列出主要功能模块
最后深入每个模块的细节
多用具体例子
告诉AI具体的使用场景
提供实际的数据样例
说明预期的展示效果
善用反馈迭代
AI的第一个方案可能不完美
及时提供具体的修改意见
通过多轮对话优化结果
AI编程工具
编程的目的不是为了写代码,而是为了能够创造出解决问题的应用。
写代码只是为了解决问题的一个手段而已。
这就像我们开车,目的是为了到达目的地,开车只是一个交通手段。
AI编程工具大致可以分为两类:
狭义的AI编程工具
这类工具主要面向程序员,专注于提升写代码的效率:
Marscode、Cursor这样的AI编程IDE,就像是给程序员配备了一个AI助手
它们可以:
帮你生成代码
解释代码含义
优化代码结构
查找代码错误
回答编程相关问题
这些工具让写代码变得更轻松
广义的AI编程工具
这类工具更进一步,它们让没有编程基础的人也能创造应用
像Coze、Dify这样的智能体搭建平台
它们提供了:
可视化的界面搭建
预设的功能模块
简单的逻辑配置
一键式部署功能
这些平台就像是提供了"积木",让你通过组合这些积木就能搭建出实用的应用程序
它们极大地降低了创造应用的门槛
无论是哪种AI编程工具,它们都在服务同一个目标:让创造应用变得更简单。
想要创造一个简单的对话机器人,也许Coze就够用了。
需要开发一个复杂的企业应用?那你需要借助Marscode这样的专业工具。
核心始终是:专注于你要解决的问题,而不是沉迷于工具本身。
用Marscode写代码
安装Marscode
创建示例项目
修改语言为中文
按住键盘上的"Ctrl+Shift+P"组合键,打开命令面板。
在命令面板中输入"Configure Display Language"。
点击"Configure Display Language"选项。
在弹出的语言选择列表中,选择"zh-cn",代表简体中文。
重启VSCode:点击"Restart"按钮,重启VSCode软件。重启后,VSCode的界面将变成中文
安装Python扩展
创建一个示例项目
我用AI帮我创建了这个示例项目
我在准备一个关于Marscode编程工具的讲解,面向的对象是编程新手。
所以我需要准备一个非常简单的案例来给观众讲清楚Marscode的功能。
我需要讲解的Marscode的能力如下:
代码解释
注释生成
代码生成
代码补全
智能问答
单元测试生成
我需要你帮我设计一个非常简单的代码案例(使用Python语言)
这个案例要足够简单易懂,但同时也能够覆盖上面Marscode所有能力的讲解
代码解释
无论对于新手同学还是资深的开发工程师,阅读别人的代码是最基础的能力。
而Marscode的代码解释就是为了方便大家阅读代码
对于新手同学:Marscode的代码解释能力能让你在实战中快速学习语法知识
对于开发者来讲:快速阅读别人的代码,了解其核心作用可以让我们更加聚焦于自己的逻辑
注释生成
注释就是在核心的代码逻辑上写上文字说明,让代码更容易阅读和理解。
想象一下,你好不容易将一段复杂的代码理解清楚了,
但是如果你不做任何笔记,过了一段时间再看这段代码的时候又会两眼一抹黑。
注释一般有两个作用:
开发代码的同学添加良好的注释可以提高自己代码的可读性,
无论是对于团队合作还是后期自己的维护都有着重要的作用
对于阅读代码的同学来讲,可以通过添加注释防止重复的理解的代码
代码生成
代码生成这个就很干脆了,就是你描述一段功能,然后让大模型帮你生成一段代码。
对于新手同学而言,代码生成要小而精的用,就像我们前面讲到的:输入,处理和输出的框架。
代码补全
代码补全是针对开发者的福音,对于专业开发者而言,日常是会经常性的写一些重复代码的。
如果我们可以擅用代码补全,是可以大大提高我们的编写效率的
单元测试
代码开发完成后,测试环节是确保软件质量的关键步骤,也是产品上线前的最后一道防线。
在软件开发领域,专门设有测试工程师这一岗位,他们主要负责系统的流程和功能性测试。
然而,在将代码交付给测试工程师之前,每个专业的程序员都应该进行充分的自测。
自测的核心就是单元测试,即针对代码的各个功能模块进行独立的测试验证。
单元测试的核心理念是构建完整的测试用例集,
通过验证各种输入场景下的输出结果是否符合预期,来保证代码的正确性和健壮性。
只有当代码能够正确处理所有可能的输入情况,并产生符合预期的输出时,这段代码才能被认定为合格。
然而,单元测试一直是专业开发者面临的两大挑战:
如何设计完整的测试用例,确保覆盖所有可能的场景而不遗漏
编写测试用例本身是一项耗时耗力的工作
而这两部分工作都可以交给AI来做,他非常的擅长
智能问答
智能问答就相当于你在写代码的时候,
旁边多了一个可以随时问答的AI助手,而Marscode的点在于这个大模型是专门针对代码进行优化过的
附录
产研团队的构成
在学习AI编程之前,先了解一个产品研发团队是怎么工作的,会对你的学习特别有帮助。
这就像你想拍一部短视频,了解编剧、导演、摄影、剪辑各自负责什么,能帮你更好地掌握整个创作过程
我用大家熟悉的美团外卖APP为例,聊聊研发团队的几个关键角色:
老板说,我们要做一个外卖点餐APP,于是产品经理就开始规划
产品经理就像总设计师,规划整个产品的功能,他们把用户的需求变成具体的功能清单。
用户能看什么餐厅、怎么筛选、
配送费怎么算
订单状态怎么展示。
产品经理在设计出整体的产品框架之后,交互设计师就会登场
交互设计师专注让产品好用:
点餐时菜品怎么展示最清晰
下单时哪些信息要重点显示
付款时优惠券放在哪里最显眼又不会误触
当产品和交互就绪之后,流程就进入到开发手中,也就是我们常说的程序员
常见的开发角色有两个:前端和后端开发
前端开发负责用户能看到的界面,就像餐厅的前厅:
让界面好看又好用
点餐界面要流畅不卡顿
优惠券要显眼但不突兀
后端开发处理看不见的核心功能,就像餐厅的厨房:
处理订单数据
计算配送费和优惠
保存用户信息
当前后端开发完成后,流程流转到测试工程师手中
测试工程师则像品控师,确保每个功能都正常运作
订单金额计算准确
支付流程不出错
如果你是产品经理,建议先了解后端:
AI能帮我们生成界面设计,但产品的核心逻辑和数据架构更需要人来思考
比如美团外卖,AI可以设计界面,但"如何计算配送费"、"怎么匹配骑手"这些核心逻辑,需要你理解后端原理
了解后端还能帮你评估功能的开发难度,知道什么是真正可行的
如果你是交互设计师,建议先学前端:
AI确实能生成界面,但好的交互体验需要理解前端实现原理
了解前端能让你设计出既美观又容易实现的方案
知道动画效果怎么实现,就能设计出流畅不卡顿的交互
如果是新人同学,没有特别喜好的情况下,建议从后端入手,先找找感觉
想了解学习更多AI编程的知识,立即扫描下方的学习小助手二维码报名吧!