程序员改变世界,从未如此直观

2023-05-16

万万没想到,包博士的代码让一个六岁的小学生哇哇大哭。

这个让小学生流眼泪的“科学家代表”有非常漂亮的履历:清华大学毕业、博士曾在斯坦福就读,他现在是VIPKID的首席AI科学家,带领四十多人的产品研发团队负责公司的AI技术。

回国投身在线教育行业之前,包英泽就因早期供职硅谷“最神秘的创业公司”Magic Leap而名声鹊起。后来自己创办的计算机视觉公司xPerception被百度收购,他也入职百度,专攻机器视觉技术。

就是这样一个一直以来在科技领域不断耕耘的“硬”科学家,在VIPKID被六岁小朋友的眼泪“尬”了个措手不及——起因是在2020年6月,AI团队上线了新的口语测评系统,这一系统可以从音、词、句维度帮助VIPKID学员测试并提高口语水平。AI是一个绝对公正的老师。初学的小朋友一般是60多分,优秀的小朋友可以拿到90分,但想要在AI手里拿到100分,“基本就是美国电视台播音员水平了。”

但这愁坏了一个对100分执念颇深的小朋友。由于怎么读都得不到100分,这位平时在学校成绩优秀的小学员在家大哭不止,甚至睡不着觉。这可愁坏了家长,最后家长无奈打电话给客服,说孩子在家大哭不止,提出不能修改AI分数就只能退课。

“对大部分企业来说,AI通常是一种后台的技术。可能很多企业的消费者根本就意识不到AI在产品背后的工作,”包英泽说,“但在在线教育领域,后端的AI技术和前端的学生之间几乎是零距离的。AI真的会影响孩子,帮助孩子。”

这个切身经历给包博士带来了巨大震撼,“我做AI十多年了,我曾以为AI只是一套算法,我只是开发了一套我认为正确的技术。但我的代码却直接导致了一个孩子嚎啕大哭,一个家长想要退费。”这个故事的结局是,口语测评系统的AI打分模型被重新训练,变得更适合孩子的学习心态。AI从一个公正的老师变成了一个有温度的老师,鼓励更多小朋友勇敢尝试挑战。

放眼整个行业,技术人才在今时今刻的作用变得更为关键。

2020年以来,疫情催化了在线教育行业的爆发,重新成为风口上受投资人追捧的赛道。整个行业的渗透率都在提高,根据中国科学院大数据挖掘与知识管理重点实验室预测,到2022年K12在线教育行业的渗透率能突破55%。

技术成为了这条赛道的重点PK项目——技术能力的提升,才能保证教学体验流畅、切实提升教学效果。换句话说,技术团队已成为托起整个教学过程的重要基座。

对在线教育公司来说,“得技术者得天下”,并不是一件耸人听闻的事情;但对学生和家长来说,“程序员”又不讲课,又不提供服务,好像完全与自己的产生不了关联。

包英泽不这么认为。他总会想起那行惹得小朋友哇哇大哭的代码——因为一行代码,摸不着的技术与小朋友之间产生了一次意外而有趣的交互:它意味着,技术、算法、代码这些看似离教学体验很遥远的“基础设施”,其实跟教学本身非常贴近、甚至就融为一体。

技术人才,正在改变流向

一个好消息是,随着行业渗透率的提高,在线教育行业对人才的吸引力也正不断上升。

根据黑板洞察研究院发布的数据显示,清华与北大毕业生签约教育单位行业(包括中小学公立学校、民办学校、高等教育单位和教育培训机构)的人数正在逐年走高:2017至2019年的增长幅度达50%;

另据猎聘发布的《2020年在线教育领域中高端人才就业报告》显示,2020年1-8 月中高端人才的职能分布来看,教育产品技术人才占比位居前10。其中,教育产品研发与JAVA人数占比之和紧随教师其后。

新东方教育集团创始人、董事长俞敏洪也曾在接受采访时表示:“教育上市公司现在是所有领域上市公司中增速最快的,这就给高端人才一个信心,这个领域值得你做。”

这点在技术人才身上表现得尤为明显:“非大厂不可”的思维已经逐渐淡化,更多样的职业选择摆在应届生面前。

2019年应届毕业生刘瀚就选择了VIPKID的JAVA后端开发作为自己人生中的第一份工作。在武汉大学读研时,他所在的实验室不允许学生外出实习,刘瀚的求职路径便只剩下参与校招这一条路。

他在校招中收获不错:一份金融行业的offer、一份互联网某大厂的offer,再加上VIPKID。刘瀚没在这三份offer里纠结太久。

被问及为什么做出这样的选择时,刘瀚给出的答案是——“我觉得这个行业永远是一个朝阳产业。人的一辈子有两件事是不可或缺的,一是医疗,二是教育。尤其对在线教育行业来说,技术绝对是不容忽视的角色。”

这样一个迅速发展、充满变化的行业,对于个人能力的要求是很高的。刘瀚认为,对学习能力的要求尤其高,进入VIPKID一年半以来,他大概参加了十几次技术分享,规模小到小组内部的十几个人,大到整个技术团队的几百个人。大多数时候都是公司内部的技术大牛来分享,偶尔也会邀请外部嘉宾,刘瀚自己也在部门内部进行过一次关于分布式锁的分享。

他目前所在的团队负责教师端研发,工作内容包括但不限于教师课前备课、课后评估、课程数据反馈等一系列技术支持工作,帮助老师高效教学,提升课程质量,不断优化学生的课程体验。比如为了控制“TNS率”(教师未到课率)在千分之几的水平上,团队研发了不少辅助功能:每节课前给北美外教发送邮件、提醒到课等等。

相比应届毕业生们,现任VIPKID首席科学家的包英泽则承担了更前端的突破、创新任务。他选择VIPKID的原因很直接:在线教育,是最适合AI技术落地生根的行业之一。而VIPKID提供了一块广阔的土壤。

在进入VIPKID之前,包英泽在百度承担了多项AI2B的产品研发工作,他接触最多的几类客户是教育、金融、工业、零售行业。客户们都希望能购买相应的AI技术解决方案、结合自己的具体业务进行落地。

包英泽认为,这四大行业的共同特点是人力密集,因此拥有诸多可以通过AI技术进行优化的环节;但教育,是其中唯一一个全流程数字化的人力密集行业。

对工业、零售行业来说,它们的工作流程不是数字化的,会涉及到许多实体的、物理的信息。如果想用自动化的方式去改造,首先需要在物理世界部署大量昂贵的传感器来实现信息数字化——然而很多AI项目都是卡在这一环节,难以真正推进落地。

相比非数字化行业,“全流程纯数字化的企业,最容易应用AI技术产生价值,”包英泽说。

树立标杆的“瞭望者”

AI技术在在线教育中的首要任务,就是提高课堂的教学效果。

包英泽正在带队研发“老师的AI分身”—— 将北美外教完全“复制”,成为外教的“AI分身”。他不愿称其为AI老师,“因为AI老师会抢了真人老师的饭碗,而AI分身是帮助真人老师更高效的教学。”

他将这一尝试描述为“非常激进的创新”:首先是因为这个技术在行业内非常领先,同行业的对手们鲜有涉足;其次就是难点颇多,每一个细节的优化与前进都极为艰难。

第一个需要解决的就是“恐怖谷效应”。当AI老师和真实人类的相似程度达到某个特定地步时,人们会非常反感这样极其相似的“仿真人”。哪怕他们和人类只有一点点的差别,都会让AI老师们显得十分恐怖。该怎么才能让AI老师们不像“行尸走肉”?怎么样才能让孩子们不被吓着?

除此之外,还有声音的仿真问题。复制一个人的声音是极其耗费时间的工作,想要靠传统办法采集20个小时的语句,可能要耗费100个小时的工作时间。针对这个问题,包英泽团队正在尝试以GAN声纹迁移的方式提升效率。

包英泽表示,在AI分身、自适应学习这块,教育行业内还没有大规模落地的标杆,大家的探索都是摸着黑前进,团队内其实非常需要“瞭望者”的角色——即在AI领域拥有丰富经验的技术专家,能够帮助团队看清前进的方向。

包英泽承认教师AI分身“确实是目前最有挑战的一个项目”,但他强调,“这也是家长和孩子最能感知到的创新,最有可能颠覆在线教育行业的创新,所以一定要坚持做。”

VIPKID的北美外教师资雄厚,但成本较高,一节正课的时长在1个小时左右,其中25分钟是和真人外教互动,其余时间是基于AI的预习和练习。在包英泽的设想中,教师的AI分身解决的是提高孩子“感知外教时间短”的问题——除了25分钟的正课有外教老师,在课前预习、课后练习等环节应用外教的AI分身,能保证更好的学习效果。

这样一来,不管是预习、正课、还是复习,都是由相同的“一个外教”带着孩子学习,而非常见的外教+辅导老师的双师模式。这能对孩子的感知产生关键影响:他们不会感受到“上课”与“下课”的明显区隔,状态会更投入,学习效果也更好。

包英泽认为,唯有老师AI化、AI老师化,大规模的个性化学习才有可能成为现实。

脚踏实地做“农民”

不过,除了“探索未来”这种听着很宏伟的事,AI科学家的日常更多的是满足业务线的需求。包英泽将AI团队的日常工作定义为两部分,一是提升课堂教学效果,二是提高公司内部运营效率。

在提升教学效果方面,除了“老师AI分身”外,AI团队还为老师们研发了“教学大数据中台”和“AI看课”系统。这样一来,教辅老师了解每个孩子上课情况的所需时长从平均7分钟降低到了2分钟——这还不够,AI团队想把它做成一个全自动的系统,将孩子的课堂表现细分为90多个纬度的指标(包括口语发音、面部情绪等),自动提取出来并归纳成图文并貌的报告,提供给教辅老师们,让他们快速准确了解孩子课上情况,从而给家长提供最专业的指导意见。

在提升运营效率方面,AI团队则帮助开发了客服对话机器人、智能教辅工作台、教研AI等系统,帮助公司数千同事提升工作效率。

面对教学环节和公司内部工作中各种琐碎的需求,技术者们的核心任务是,把千万种需求抽象出来、提供模块化的解决方案。认真解决一个问题之后,可以快速解决一百个类似问题。

包英泽主张,在AI落地的过程中,技术人员要学习做“农民”。因为唯有脚踏实地地开垦荒原、拔除杂草,才能将看似遥远而“高大上”的技术落到实处。

VIPKID的愿望,莫不如是。

在这种追求技术提升的动力驱动下,这两年间,这家教育科技公司源源不断地吸纳高端技术人才。2019年 ,VIPKID引入原百度副总裁、百度移动生态事业群CTO郑子斌,担任VIPKID首席技术官。

如今,超过10万的北美教师和80万中国学生之间隔着茫茫海洋,依靠云服务器的支持来进行教学、互动。为了提供最好的教学体验、实现课堂的零卡顿,在老师与学生背后,程序员则拿着锤子,帮他们解决一个又一个冒出头的“钉子”。同时,他们还身兼帮助企业拓展新业务的重任。

和小朋友一样,程序员们也走在追求100分的道路上。他们坚信不疑,自己的征途是星辰大海。

最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、Python练习题

检查学习结果。
在这里插入图片描述

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员改变世界,从未如此直观 的相关文章

  • 线程初体验

    线程的概念 xff1a 线程是一个进程地址空间的一个控制流程 xff0c 是调度的基本单位 xff0c 由于同一进程的多个线程共享同一地址空间 因此Text Segment Data Segment都是共享的 如果定义一个函数 在各线程中都
  • 死锁的四个必要条件

    死锁产生的四个必要条件 互斥条件 xff1a 资源是独占的且排他使用 xff0c 进程互斥使用资源 xff0c 即任意时刻一个资源只能给一个进程使用 xff0c 其他进程若申请一个资源 xff0c 而该资源被另一进程占有时 xff0c 则申
  • 线程安全与可重入函数的区别

    线程安全 xff1a 一般来讲就是一个代码块被多个并发线程反复调用时会一直产生正确的结果 如何确保线程安全 xff1a 确保线程安全 主要 考虑线程之间共享变量的安全 xff0c 每个线程私有的内容包括 xff1a 线程id xff0c e
  • Linux模拟实现sleep

    工作原理 linux中的sleep函数能够让程序休眠一定的秒数 xff0c 到时间后自动恢复运行 实现思路 设定睡眠的秒数 睡眠 xff08 挂起 xff09 恢复运行实现机制 设定睡眠的秒数 xff1a 采用alarm 函数设定需要睡眠的
  • 基于ESP32C3处理器创建Hello World工程-并使用OpenOCD进行Debug

    1 编程环境 1 1 硬件 序号 名称 描述 备注 1 ESP C3 12F KIT 深圳安信可开发的基于其自家ESP C3 12F模块的开发板 淘宝购买 2 ESP Prog 乐鑫官方推出基于FT2232HL接口芯片的JTAG调试器 淘宝
  • 平衡二叉树旋转详解

    平衡二叉树的定义 xff08 AVL xff09 定义 平衡二叉树或者是一棵空树 xff0c 或者满足以下的性质 xff1a 它的左子树和右子树的高度之差的绝对值不超过1 xff0c 并且左子树和右子树也是一个平衡二叉树 平衡因子 左子树高
  • Linux进程组,作业,会话,作业控制详解

    进程组 xff08 1 xff09 每个进程除了有一个进程id之外还属于进程组 xff0c 进程组是一个或者多个进程的集合 xff0c 通常 xff0c 他们与同一作业相关联 xff0c 可以接收来自同一终端的各种信号 xff08 2 xf
  • 如何写一个linux精灵进程

    什么是精灵进程 精灵进程也称守护进程 xff08 Daemon xff09 xff1a 是运行在后台的一种特殊进程 xff0c 它独立于控制终端并周期性的执行某种任务 xff0c 或等待处理某些发生的事件 Linux大多数服务器就是用精灵进
  • TCP的四种定时器

    TCP使用的四种定时器 xff08 Timer xff09 重传计时器 xff08 Retransmission Timer xff09 坚持计时器 xff08 Persistent Timer xff09 保活计时器 xff08 keep
  • Linux进程池与线程池以及线程池的简单实现

    通过动态创建子进程 xff08 或者子线程 xff09 来实现并发服务器的 这样做有如下缺点 xff1a 1 动态创建进程 xff08 或线程 xff09 是比较耗费时间的 xff0c 这将导致较慢的客户响应 2 动态创建的子进程 xff0
  • linux下vim中多行注释和删除多行注释

    多行注释 xff1a a 按下Ctrl 43 v xff0c 进入列模式 b 在行首选择需要注释的行 c 按下 I xff0c 进入插入模式 xff1b d 然后输入注释符 xff08 等 xff09 e 按下 Esc 键 删除多行注释 x
  • socket编程以及select、epoll、poll示例详解

    socket编程 socket这个词可以表示很多概念 xff0c 在TCP IP协议中 IP地址 43 TCP或UDP端口号 唯一标识网络通讯中的一个进程 xff0c IP 43 端口号 就称为socket 在TCP协议中 xff0c 建立
  • 命令替换的两种方式$()和``

    命令替换的含义 命令替换是指将命令的输出作为命令替换的位置的文本 命令替换的一般作用是抽取一个命令的输出 然后使用 61 操作赋值到一个变量供以后使用 命令替换的两种方式 1 反引号 xff0c 电脑键盘Esc下面的那个键 使用如下图 xf
  • Linux中eval命令

    eval命令的作用 eval命令会首先扫描命令进行所有的替换 xff0c 然后在执行所有的命令 xff0c 该命令适用于那些一次扫描无法实现其功能的变量 xff0c 该命令对变量进行两次扫描 xff0c 这些需要进行两次扫描的变量被称为复杂
  • Shell脚本实现带颜色进度条

    最近刚刚学习啦shell脚本的编程方法 xff0c 就采用shell脚本实现了一个带颜色的进度条 xff0c 下面将结果展示给大家 程序结果 实现这个其实非常的简单 xff0c 只需要了解一些基本的语法就可以了 进度条的实现就是循环加输出格
  • KiCAD绘制原理图的几个常用的操作之一

    摘要 在绘制原理图的的过程中 xff0c 会用到很多的操作功能 xff0c 今天就介绍几个在绘制原理图时必须要用到的几个功能 xff1a 1 放置原理图符号 xff1b 2 放置电源符号 xff1b 3 绘制器件引脚之间的连线 xff1b
  • linux中crond服务与crontab用法详解

    crond服务 crond服务是一种守护进程 xff0c 用来定期执行程序 xff0c 安装完成系统之后 xff0c 默认便会启动此任务调度命令 crond命令每分钟会定期检查是否有要执行的工作 xff0c 如果有要执行的工作便会自动执行该
  • shell字符串截取方法

    运算符截取 1 和 截取字符串 xff08 删左边留右边 xff09 下面我们先看代码和运行结果 解释 xff1a span class hljs keyword var span span class hljs keyword strin
  • 面试题:判断一个节点是否在一棵二叉树中

    题目 xff1a 判断一个节点是否在一棵二叉树中 结点定义如下 span class hljs keyword struct span BinaryTree BinaryTree span class hljs keyword char s
  • shell脚本实现希尔(shell)排序

    题目 xff1a 采用shell脚本实现希尔排序 最近刚刚学习啦shell脚本编程 xff0c 因此写了一个简单的希尔排序 span class hljs shebang bin bash span arr 61 span class hl

随机推荐

  • Linux小项目-群聊系统

    项目名称 xff1a chat room群聊系统背景知识与主要技术 xff1a 熟悉Linux基本指令的使用 xff08 ls cd make mkdir top basename pwd cp mv rm touch xff09 熟悉li
  • 求先递增在递减数组中的最大值

    题目 xff1a 一个数组先从小到大递增在从大到小递减 xff0c 找出数组的最大值 思路 xff1a 可以依次遍历整个数组如果array i 满足array i gt array i 1 amp amp array i gt array
  • 哈希(HASH)冲突的处理方法

    通过构造良好的哈希函数可以减少冲突 xff0c 但一般不能完全避免冲突 因此解决冲突是哈希法的另一个关键问题 常用的解决冲突方法有以下四种 开放地址法 这种方法也称再散列法 xff0c 基本思想是当关键字key的哈希地址p 61 H key
  • 消息队列实现从一个进程向另一个进程发送一个数据块的方法

    首先是Comm h的代码 include lt stdio h gt include lt string h gt include lt sys types h gt include lt sys ipc h gt include lt s
  • 打开PADS出现“PADS已停止工作”提示的解决办法

    一 场景 前一天还可以正常使用 xff0c 今天处理完一些事务后点击PADS打算画一些PCB xff0c 结果弹窗出现 PADS已停止工作 xff0c 无论是打开PADS的Logic还是Layout文件都提示这个 xff0c 打开其他之前正
  • cmake解决动态库soname,rpath以及符号冲突解决方案备忘

    set target properties TGT PROPERTIES NO SONAME TRUE SKIP BUILD RPATH TRUE LINK OPTIONS 34 Wl version script 61 CMAKE CUR
  • KiCAD绘制原理图---------创建一个新的原理图符号

    1 创建一个新的原理图库文件 第1步 xff0c 打开原理图器件编辑界面 如图1 1 1所示 xff0c 点击 Smbol Editor 图标进入器件编辑界面 第2步 xff0c 进入文件管理菜单 如图1 2 1所示 xff0c 点击 Fi
  • ubuntu 查看内存命令

    Linux中使用free 可以查看系统内存使用状态 默认单位为KB 为单位 xff0c 在此我以MB为单位说明 lostman 64 lostman MS 6702E 桌面 free m total used free shared buf
  • Nvidia Xavier Nx平台SD卡热插拔检测失效问题调试记录

    1 前言 Xaiver NX上 使用sdmmc3为sd卡 正常工作 但是 当热插拔时会检测不到 使用GPIO12 GPIO3 PCC 04 作为cd gpio cd gpios lt amp tegra aon gpio TEGRA194
  • MobaXterm连接虚拟机超时:Connection timed out

    折腾了几个小时 来两句废话 1 首先我确认了虚拟机防火墙已关 2 ip配置无问题 3 重置VMware网络设置啥的 然而并没有卵用 4 虚拟机ping百度正常 主机ping虚拟机正常 以上4条依然无效 解决方案 原理不清楚 但是解决了 通过
  • Windows下python激活虚拟环境后仍然使用全局python和pip

    这么过分一定要发CSDN jpg 在windows下 xff0c 激活python虚拟环境后 xff0c 使用的python和pip仍然是全局的python和pip 如图 使用pip list 可以看到这个包这么多 xff0c 显然不是我刚
  • openmv 自学笔记(APRILTAG标记追踪)

    由图可知 id 为5 旋转角度 为11 0 左边旋转 角度增加 正式时候调度接近0 右边旋转 角度减少 由360度 向右减少 Tx 在左边的时候 为负数 右边为正值 Ty 在上边的时候为正数 左边为负值 Tz 从远处 到近处 由负数到向正数
  • 学习STM32(3)-电源、时钟、复位电路

    Stm32 时钟分析 该分析材料大部分来自opendev 论坛 xff0c 我所做的只不过是加上一些自己的分析和整理 xff0c 由于个人能力有限 xff0c 纰漏之处在所难免 xff0c 欢迎指正 一 硬件上的连接问题 如果使用内部RC振
  • 只是运行roslauch来发布一次TF

    如果只是希望运行roslaunch来发布一次TF xff0c 可以使用launch文件中的node标签来实现 下面是一个发布一次TF的launch文件例子 xff1a lt launch gt lt node pkg 61 34 tf2 r
  • 2019年年终总结(流水账)

    2019年年终总结 流水账 前言 马上就要是2020年了 xff0c 我此时敲下我的第一篇年终总结 马上就要过去的2019年对于我来说是平凡但却不平淡的一年 xff0c 这一年里我经历了很多 xff0c 虽然这些在别人眼中可能是微不足道的
  • 融资租赁与经营租赁的区别

    我现在手上项目的客户是一家销售公司 xff0c 他们有把自己的商品租赁给别的公司经营的业务 于是就有了上面的融资租赁与经营租赁 xff0c 这两种方式在财务上对资产的处理是不一样的 下面我们来看看这个场景 xff1a A公司把资产租给B公司
  • 【Linux网络编程(五)】TCP编程流程

    文章目录 TCP编程1 TCP介绍 编程流程2 TCP C S架构3 TCP客户端编程流程1 创建TCP套接字2 connect连接服务器3 send发送请求4 recv接收应答 xff08 默认带阻塞 xff09 5 close6 客户端
  • ESP32-Drone四旋翼无人机代码编译发现的二个问题及解决方法

    摘要 ESP32 Drone四旋翼无人机是乐鑫的一个开源项目 xff0c 我根据官方的硬件参考设计 xff0c 重新使用KiCAD绘制了原理图和PCB板 xff0c 并制作了控制板样板 xff0c 在配置了ESP idf 4 4编程环境编译
  • 小觅相机运行vins-mono

    小觅相机运行vins mono span class token function mkdir span p mynt eye vins catkin ws src span class token function cd span myn
  • 程序员改变世界,从未如此直观

    万万没想到 xff0c 包博士的代码让一个六岁的小学生哇哇大哭 这个让小学生流眼泪的 科学家代表 有非常漂亮的履历 xff1a 清华大学毕业 博士曾在斯坦福就读 xff0c 他现在是VIPKID的首席AI科学家 xff0c 带领四十多人的产