文章

为孩子定制一款 AI 聊天机器人

为孩子定制一款 AI 聊天机器人

相关:[[激发孩子的创造力是一件比学习更重要的事]] | [[AI 时代,前端开发何去何从]] | [[AI与程序员的价值:在倒视镜中看见未来(完整版)]]

hi,大家好 很高兴能在这样一个场合,来给大家做一次技术的分享。当然能获得这样的机会,也特别感谢朋友的推荐,和主办方的邀请。 距离上一次这样的技术分享活动,还是在 23 年底。那时候我还是以腾讯员工的身份参加的。而如今,我是以前鹅厂人来参加这样一次分享活动。 在这个会场上,我看到了去多过去的老战友,但是更多的还是新朋友。所以在分享之前,我也先想大家简单介绍一下我自己。 我叫陈子舜,大家都叫我舜子。 我 06 年加入鹅厂,在去年 24 年离开。在鹅厂整整干了 18 年。18 年也是一个人的从出生到高中毕业的周期,所以我称自己成功从鹅厂毕业。 我过去做过许多工作,也参与过许多项目。包括QQ 空间,农牧场,腾讯云到微信小游戏。业务形态也从 toC 业务,干到 toB,toD 的业务。 在鹅厂,我是 T13 技术专家、产品技术总监、技术负责人等等各种头衔。而如今,我的我还是选择成为一名数字游民、回归独立开发者的身份。当然我同时还很朋友合伙创办了公司,所以也荣获了一个 CTO 的头像。 我发现,原来人人都可以当 CTO 的。但是要做一个好的 CTO 却不是人人都能做到的。我相信这里的大家,都是好 CTO。 卸下所有光环,来参加这样的分享,我还是有一个困惑的。 我到底以什么身份来给大家做这一次分享? 首先,我现在做的事情,全是个人兴趣驱动,不是什么高精尖的技术,也不是什么能够获利百万的业务。何况在 B 站上,有许多年轻人做得比我要优秀。如果是过去,我代表鹅厂出来分享,其实还是有带货的私心的。如今我连货都没有。在没有获得什么结果之前,也没什么系统设计,极致的优化可言。 我想,我仅作为一名普通的父亲,一名普通的程序员,只做唯有一个用户的产品,分享其中的故事和思考。 于是今天我带来的主题是,作为一个程序员的父亲,《为孩子定制一款 AI 聊天机器人》 这个主题,在 4 月底,我通过公众号文章其实分享过了。本以为只是一个非常普通的事情,我只是做了我专业上能为孩子的做的事情,结果没想到得到非常多朋友的认可。也包括邀请我今天来做一次线下的分享。 进入主题,我今天分享的议题,主要是围绕着我给孩子做的AI 聊天机器人到故事展开。我会分享,

  1. 是什么,让我有动力花 3 个星期的通宵,熬夜做这样的项目
  2. 做这样的项目过程中,我的体会是什么?
  3. 项目完成后,我到收获是什么。我思考到了什么?

分享之前,我先引用哲学家 路德维希·维特根斯坦 提出的观点。他提出,“语言的边界就是我的世界” “The limit of language is the limit of the world." 这句话,让我突然领悟到了许多事情,包括技术人员的为何会出现不同的发展差异、为何会有产品和技术的分工、为何 AI 技术的到来,比起过往的技术会带来如此巨大的社会影响力。本质上是 AI 在语言层面在重塑我们的社会生产方式。 包括,我过去做独立开发者的体感是,技术的实践是落后于想法的。我得需要有想法,才知道我需要什么样的技术。这些技术在当下,能不能更好地、超出预期地实现我的想法。而我的想法本身,需要能够先通过语言表达出来。 我语言的边界,就是我世界的边界。

所以我想为孩子做一款AI 聊天机器人的想法和出发点也非常简单。AI 一定会在语言及信息归纳上颠覆过去的认知。 过去的互联网技术我们解决的是信息的转递效率问题,如今 AI 技术在信息转递之前学会了归纳和总结,这就是人类在语言和思维上最基本的应用了。 同样的,认知作为我的一部分,那么在语言表达的发展上,如果孩子能够越早地接触到 AI交流,也能接触到现实的语言交流。那么对她来说未来这些技术会很自然地成为她生活的一部分。不至于,像我们现代人看到 AI 像是打开了潘多拉的盒子,不仅欢喜也担忧。 所以,做一款聊天机器人的想法还蛮自然的。

想法,先从做一款小游戏开始 Q:给 3 岁的小孩子做一款游戏,应该需要怎么做?

当然了,我也并不是一开始就想到要做这么一件事情。和大多数创业的经历一样,公司的运作,不会一开始就能想明白我们能做什么。过程是会演进的。 在开始做 AI 聊天机器人之前,我先兑现了一个承诺。 在我还在微信小游戏团队的时候,我的孩子诞生了。由于我在游戏行业做了多年,而且我自己也是一个游戏玩家,我太太向我提了一个需求。 “你那么喜欢游戏,也做游戏。能不能给孩子做一款游戏?” 带着这个需求,我一直没有找到合适的场景。虽然我之前的业务是负责小游戏,也成功突破小游戏性能瓶颈,把Unity 团队和手游团队带到小游戏生态。

手游,小游戏反而是我最不希望她先接触的内容。主机游戏开发,成本又太高。如果没有家长的陪同,大型视觉互动类游戏带着绚丽的图像技术,一定会让孩子过早沉迷。 我想起家里闲置了多年的树莓派 3B 的开发板。如果在上面加一个小屏幕,是不是可以用来做个小游戏呢?马上我开始寻找方案,先是采购一块屏幕,对于硬件的选择上,一个给孩子的产品,我不喜欢用颜色太丰富的 LCD 屏幕。我看到桌面上朋友送我的充电站,想起来可以使用一张OLED屏幕即可。 有个小细节可以分享一下,这里的OLED 屏幕和大家买电视的技术是类似的。和彩色HDR 的 OLED 不同,2bit 的 OLED 成本是目前最低的屏显方案了。 在 AI Agent 的帮助下,10 分钟不到就已经生成好了 chrome dino 的游戏代码。并且实现了能自动游玩的游戏AI。AI coding 让一个想法能够马上落地,这是非常让人兴奋的事情。可以在我的热情没有销退的时候,继续点燃了一把火。 当然需要达到图片中的效果,还是无法完全依靠 AI 来完成。例如,屏幕的驱动代码,输入交互逻辑设计,小恐龙的精确像素绘制,其实还是需要程序员一点点整合起来,才能达到一个成品的效果。 不管如何,这已经是一个非常好的开始。AI 已经具备让个人成为超级个体的可能性。想法的落地,不受限于你一定是程序员的身份。产品经理也能通过 AI Coding 做出自己的小游戏了。 A:AI可以释放每个人的潜能(论据 1 ) AI 扫除了干扰。特别是 AI 扫除了靠学科的干扰,就像用教练的观点,一个人的效能是 P=p-i,那么当一个人的干扰被排除后,那么潜能就会被放大,其效能就会被释放出来。 我身边的朋友圈,开始出现 1 个人的公司,他们希望成为超级个体。而且我观察下来,其实他们做得非常不错。 开玩笑得说,他们公司有 10 多个员工,全是各种 AI。负责文案,视频制作,也有负责编程的。一个人作为公司的 CEO,指挥着这些员工在工作。以前这些跨学科的困扰,需要花大量的人力和沟通的成本。AI技术使他们的想法得到延伸,快速行动起来。 如今 AI 正在改变过去社会合作的运作方式。学新东西有时候会令人感到太麻烦,也是一种个人潜力发挥的干扰。AI 正在帮助我们消除这种干扰。

Q:如果 AI 能写代码,作为技术人的价值在哪? 在故事里,我接着分享。 孩子体验了第一款,由他父亲为她定制的小游戏后,她玩得很开心。从她的反应中,我收获到了幸福感。于是,我开始构思,是时候为她做一个 AI 聊天机器人了。 通过 AI Coding 的协助,和我自己打磨小恐龙游戏的过程,我也基本掌握了 python 的语法方式。 然而做一个 AI 聊天机器人的复杂度会比做一个小恐龙游戏要复杂许多。 技术的基本点来说,需要具备语音识别+大语音模型+语言合成这些基本的环节。我希望实现对话的反馈延迟越低越好。所以我优先考虑是能否在树莓派上本地完成这项工作,过程中,我继续向 AI Agent 寻求帮助。 当我把需求和 chatgpt 沟通多次后,经过实验。我最终发现,AI 并不能给我一个系统性的可行方案。 首先,AI 目前对系统工程性的技术方案理解是有幻觉的。虽然 AI 清楚需要做一个聊天机器人的技术过程,但是在具体的技术选型上,许多信息是落后于当下好几年的。这样的方案建议并不利于落地。更何况,现实中 AI 技术的分布式发展,远快于单一的 AI 模型训练的速度。 其次,AI 对物理硬件性能理解也是有偏差。其实在树莓派上做语音识别不是不可行,但是由于性能关系,语音识别的准确度和模型的体积都不尽如人意。 项目的进度陷入了卡点。 AI 帮不上,我只好回到过去的方式,通过搜索引擎,挖掘当前技术路线的最新技术实践。在我不断查找各种电子元器件时,我发现去年底开始有一个高度集成的 AI 语音聊天产品开始流行起来。在买家的演示视频中,我发现其整体的对话延迟和体验已经接近我想要的体验。而且也硬件体积也做的非常小。 其主控芯片只是了功耗特别低的ESP32。没理由性能更强的树莓派做不到这样的效果。对吧。 沿着这个思路,我挖掘到,在去年年底。github 有一个通过 ESP32+国内大语言模型的开源项目。叫 小智 AI。短时间内获得了非常高的关注度。 https://github.com/78/xiaozhi-esp32?tab=readme-ov-file 虽然整体的技术方案是把语音识别,LLM,语言合成都放到了云端。但是由于目前我国的大模型和云服务的性能都非常友好。足以让一个微 MCU 的端也能轻松接入人工智能。这就让人非常兴奋了。 虽然 ESP32 只能用 C++或MicroPython 来编程。我需要把AI对接到我现在的硬件上,那就意味着我需要理解其协议和音频压缩方式。在树莓派上重新实现一个版本。 事情到这里,反而容易起来了。应为整体的技术方案设计,协议我已经搞清楚了,剩下的事情,我可以指挥 AI 来帮我写第一版代码…

A:AI 还不是专家,实践中学习依旧是硬道理(论据 2 ) 我发现,在整个过程中,AI 并不能代替技术专家。技术专家,依旧需要又人来完成整体的构思和思考。当我们把事情想清楚后,我们可以借 AI 来帮忙实现。 就好像钢铁侠电影里,AI 贾维斯,并不能代替托尼来思考问题。但是贾维斯可以根据托尼的想法来快速推演和执行。AI 可以帮我们快速试错,实验出最优的方案。可以说 AI 对技术的小问题或 bug 的修复是比较高效的。而在宏观层面,无法取代有想法的技术人。

Q:如何让 AI 机器人成为孩子的伙伴? 这个问题,其实不属于技术问题了。但是作为一个独立开发者,这是必须需要考虑的。首先是,如何让孩子能和机器人产生情感连接?其次,如何让孩子容易操作? 解决着两个问题,我的想法是。人在沟通的场景下,表情的信息是非常重要的。沟通=7%语言+38%听觉+55% 非语言。其中非语言部分包括肢体和表情等微表情的变化。为什么 siri 和小爱同学和大家的连接不是那么深刻,一方面是这些语音合成技术只能传递出 7% 的内容,而我们听到语调其实是非常有限的。通俗一点就是没有语调,没有情感。 其次,没有非语言表达部分。哪怕是表情那么基本的点,其实都是没有的。 我的孩子和我,特别喜欢去年 TGA 的获奖游戏《宇宙机器人》,机器人的灵动和可爱,已经在孩子记忆中留下了印象。我决定模仿宇宙机器人的表情,在产品中实现。 技术上,我并不希望采用 gif 这样的死板的动画实现。我喜欢表情与表情之间是有连贯性的。这需要用到游戏引擎的基本概念,动画的状态实现。我自己实现了一整套的动画状态机,动画之前通常参数的变化实现过度,在小小的 128x32 屏幕上,实现一个由代码和矢量绘制的表情动画引擎。 机器人、会眨眼睛、会犯困、会生气、会高兴。通过对 LLM 上下文的理解,也能做出不同的表情。 我的孩子特别喜欢看到AI 机器人睡着的样子,每次她闭上眼睛,孩子会高兴地说:“爸爸,爸爸。你看。小派姐姐又睡着了”这一刻,我发现,孩子已经和 AI 机器人产生了连接。这样的技术特别有温度。 在易用性上,我参考FC 游戏机手柄的原则,只有两个主要的控制键+一个 select 键。 聊天场景下,A,B 控制键一个是对讲,一个是切换对讲内容。通过对讲机的模式,孩子是特别容易上手的,没有学习成本,我全程让她自己去摸索。后来,孩子没事就来和机器人聊天,这个场景特别可爱。 有一天,孩子做好了一个手工,她兴奋得跑去找小派姐姐,希望把作品展示给她看。这时候,我发现,用户的需求又来了…

A:再先进的工具,也替代不了人在产品细节上的敏锐与执着(论据 3 ) 在产品打磨环节,现阶段的 AI 能提供的帮助非常有限。我开始还挺希望 AI 能帮我实现表情动画引擎的。但是后来我发现 AI 连基本的表情动画都画得并不好。我只能用 figma 重新设计整个交互所需要的动画。 这个问题,我在之前做小恐龙游戏的时候也遇见了,AI绘画在细节上,达不到我的要求。幸好,我来腾讯之前,做过 2 年设计师。一些简单的设计自己还是可以拿捏。当然也有可能是我这个场景特别特殊。AI 对像素画的控制上,还做得非常不精准。 借助 AI Agent 整个产品设计到开发的全流程中,我获得了一个体会。

不用让自己成为只会行动的机器,想法先于行动。 担心自己会被 AI 取代,除了是媒体大肆宣传外,我发现生活中有想法的人真的不多。大家的行动只是源自机械性的惯性,这是可怕的。 相反,我不仅不当心 AI 会取代人们的工作。我认为 AI 会帮助到更多超级个体脱颖而出,做出更多属于自己的好产品。在新技术的帮助下,个人的精力会被释放出来,让我们可以有更多精力专注于当下最重要的事情。作为个人,我们只需要接纳和顺应这个时代的洪流就好。

**如果有一天,AI 技术成为我们的日常,我们的生活和工作会变成什么样子? ** 这个问题,我没有答案。当下,我能做的,只是在育儿上,工作上,兴趣上,把 AI 先用起来。我希望能把更多精力放在对孩子的兴趣引导上。我想让她自己能明白,比读书更重要的事情是,她自己未来想成为什么样的人。 谢谢大家,以上是我的个人项目的分享与思考,希望这个没什么用的项目,能给大家带来一些小小的启发 。

评论

1
  • 舜子

    无敌了

登录 后发表评论。