We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode No.68 活到老学到老——和26年程序员老兵汪志成聊AI,个人成长和终身学习

No.68 活到老学到老——和26年程序员老兵汪志成聊AI,个人成长和终身学习

2024/12/19
logo of podcast Web Worker-前端程序员都爱听

Web Worker-前端程序员都爱听

AI Deep Dive AI Chapters Transcript
People
汪志成
Topics
汪志成:我是一位26年的程序员,代码始终是我的爱好,它改变了我的思维和性格。我的技术栈是全栈的,涵盖前端Angular、后端Spring和最近两年的AIGC应用。我更像是一个架构师,关注系统化思维,构建完整的解决方案。我总结出DDD AI(领域驱动AI)方法论,它抓住了AI应用工程的本质——知识工程。我创立了北京智座科技,提供咨询、交付和培训服务,并荣获Google Developer Expert称号。我从2015年底开始翻译Angular中文文档,经历了人工翻译和AI辅助翻译的阶段。我撰写过《AngularJS深度剖析与最佳实践》和翻译过Angular权威教程以及Rust程序设计。我翻译文档的动力是“因为自己淋过雨,所以要帮别人撑把伞”。我翻译《Rust程序设计》的目的是学习,而非赚钱。我提倡“以教为学”的学习方式,通过教学来加深理解。学习AI的过程中,我深刻体会到扎实的基础知识的重要性,例如微积分、线性代数和概率论。我使用AI辅助学习,例如用AI帮我出微积分题,并判断对错。我接一些企业培训,并总结了一个DDAI的方法论,希望能帮助企业更好地应用AI。我建议年轻人善用AI,保持学习,勇于尝试不同角色,并抬高视角关注架构设计,远离饭圈思维,关注技术本质。 辛宝Otto: 作为主持人,我引导话题,并与嘉宾进行互动,对嘉宾的经验进行总结和提炼。 刘威Franky: 作为主持人,我分享了自己使用Angular的经验,并与嘉宾就Angular的版本更新、文档翻译、以及与AI结合等方面进行了深入探讨。

Deep Dive

Chapters
嘉宾汪志成老师是一位拥有26年经验的资深程序员、架构师和技术专家。他从1998年开始在中关村从事软件开发,至今仍坚持编码。他认为,写代码不仅是程序员的职业,更是一种爱好,对思维方式、性格和志向都有深远影响。
  • 嘉宾拥有26年的软件开发经验
  • 代码不仅是职业,更是爱好,影响思维和性格
  • 从中关村开启开发之旅

Shownotes Transcript

好,我们开始吧嗨,大家好,新一期的 WebWorker 播客又来了 WebWorker 播客是几个前端程序而闲聊的音频播客节目好久没有我们来继续来进入技术闲聊了我们这一次邀请到了永远的二号位刘威 Frankie 大家好,我是声音磁性的刘威 Frankie 好久不见熟悉的低音炮刘威我是儿化音比较牛逼的新宝头

之前我们在节目和刘威去聊一些自己的技术经历的时候刘威提到聊他讲使用一些 Angla 使用一些 NetsJS 那时候的一些经验我们一直没合适的机会来聊这次非常巧我们在之前在线下认识到了汪志诚汪老师然后

汪老师之前对 Angler 然后中文文档这几个领域都做了很多贡献然后我们这次比较巧合我们三个人一起来聊聊来汪老师打个招呼吧大家好我是汪志诚汪老师你熟悉 Angler 吗你和 Angler 有什么奇妙的缘分或有些奇妙的经历吗你给很多人都熟悉你的人简单介绍介绍

这个说起来就很长了,咱们一个个来吧首先呢,我先做个自我介绍就是我呢其实是个 26 年的马农就是

就是做专业的软件开发做了 26 年了也就是说我在这个 1998 年的时候来到中关村开始这个做软件开发加入一个公司做软件开发一直到现在这个期间呢我一直都没有放弃写代码就是全都是这个我不管做什么职位我这个代码从来没丢包括现在我代码也没丢掉因为在我看来呢就是说代码这个事情其实是程序员的一种

爱好可以说是作为程序员呢就是我们会就是不是纯粹为了吃口饭而来这个写代码的当然就我的经历来说我确实吃掉吃到了这个互联网还有这个什么的红利就是软件的这个红利但实际上呢就是我觉得最大的收获其实还是关于

就是写代码带来的一些思维上的一种变化就是以及呢就是甚至一些就是说怎么说呢就是说人的这个性格啊志向啊什么的都受到了代码的影响

嗯就是我的主要的技术战呢其实大家可能知道的是 angular 其实我主要的技术战呢呃是一个全战的就是说前端是 angular 后端是 spraying 然后呢这个同时最近特别是最近就是应该应该将近两年了就是在做 AIGC 相关的应用就是当那个

当 XGPT 一推出的时候我就关注了它并且当时找一个在英国的朋友申请了账号但是后来被封了所以我现在的话 AIGC 方面我主要是一个是使用国内的各种大模型另一个是使用 Google 的 Gemini

它这个就是说只要你能够连到外网它不会封你基本上是这样然后我其实除了是工程师之外在这些年的过程中我感觉我最主要的一个角色是加工师就是说

有些同学可能会觉得架构师这个角色是一个技术非常牛的人其实并不是架构师是相对于技术专家来说的技术专家可能更侧重于一个非常具体的领域

就像 Angler 我当然也同时上过来的技术专家但是呢更多的我其实自己的认知自己的定位是一个架构师就是他会把一个解决方案整个的构建出来就是不管这个解决方案都涉及到前端涉及到后端涉及到 AI 涉及到运维甚至呢涉及到一些人工操作那么这些呢都应该把它作为解决方案的一部分来

而不是一个纯粹的完全从技术的角度来考虑的一个方式就是一种思维方式所以更侧重于这种系统化的思维

然后在今年我 AI 就是 AIGC 的应用方面做了很多尝试当然大部分都失败了不然的话我可能现在也没说跟大家聊都是他就是说也就挣个吃饭的钱反正然后但是在这个过程中我经过了这些各种不同

各种不断的呃叠根头什么的就是我总结出来一个方法论或者是一个工程方向叫做这个 DDI 就是 Domain Driven AI 领域驱动 AI 那么这个呢会呃就是抓住了这个 AI 应用工程本质上是一个知识工程这样的一个本质然后呢

就是我来尝试做这个从上次 IOE20 的应该六七月份吧好像是 IOE3D 的时候我在这个会上提了一下然后到年底这次的 Google DevFest 我就是去演讲了一下然后这个月底的话天津还有一场我会讲一遍这个感谢大家可以去然后就是这个

这个我就不细说了太什么了太长时间了然后我现在应该从去年 10 月份左右创建了一个个人工作室叫做北京制作科技

然后在这个之前我是 Southwax 的专家级咨询师叫李德克桑的然后我现在的其实做的活跟当时的也差不多几项业务就是咨询交付和培训这几项那么领域的话就前面说的这些领域当然我还是 GDEGoogle 给的一个社区荣誉这个也是跟我翻译安格勒官方文档有一定的关联

当然后面的话我从这个里边就是主要的收获就是在这个 GDE 社区中认识了很多很厉害的很厉害的这个专家然后呢就是比如说我遇到这个 AI 方面的知识我就可以去问他们然后呢他们会组织一些活动我也会去参加比如说训练一个模型之类的这些他们组织了很多内部活动好

就让我就是这样了刚才对刚才忘了是聊到了很多也是和之前和刘薇也也讨论过就是说我们这次嘉宾非常的资深然后我们也是一个互联网老炮然后有很多我们

并不局限于我们主要聊的 Angler 除了 Angler 我们接下来也可以聊很多比如全站的角度技术演进的角度包括后面刚才提到 AIGC 和参加技术活动社区让自己更事业更 open 更打开自己的经历更丰富一样一样来吧先聊聊我们最初也是认识你那个标签也是 Angler

刘威我记得你之前是用过一些 Angler 你对 Angler 这块使用感受怎么样然后之前对 Angler 中文文档和汪老师有一些轻描缘分之类的吗说到 Angler 我到现在其实三大框架都用过一遍了然后对 Angler 最特别的感受其实就是上手是最难的一个然后我像其他 Vue 和 React 基本上一两个

一两周吧就可以上手了安格勒我抱着汪老师那个文档看了一个多月才勉强才能开始写这是最大的感受另外的话汪老师你看有一个博客叫汪克然后我刚刚也跟汪老师聊了说现在已经不更新了但是他上面有一些文章解释的非常好比如说有一篇依赖注入的

这篇文章后来只要有其他人问我有关于这一方面的问题我都是直接把那个汪老师这篇博客甩过去给他当参考的

刚才提到 Angle,我记得之前大家都在提 ng-Angle,Angle 2,1,2,3,现在我看数字越来越大了,汪老师能给讲讲 Angle 版本号或背后的这些小故事吗?包括你负责的文档这部分。

其实呢 Argora 的版本呢它是一个定期更新模式也就是说呢它会在每这个半年就固定会发布一个版本然后呢这种方案呢其实这种版本方案呢其实是现在非常广泛采用的比如说 Ubuntu 就比如这种方案就每半年一个然后呢 Node.js 也是这样的方案

然后包括 Rust 现在其实也是类似这样的方案还有 Java 那么它本身也是半年一更新你也会看到 Java 也一直在刷版本号其实这种方案的话是一个对社区就特别是对生态系统非常友好的一个方式也就是说你每半年一发布那么所有的社区中的不管是库的开发者还是应用的开发者都可以有一个生态系统

升级的计划有一个非常稳定的升级计划他可以把这个他的升级策略呢直接排到他的这个项目计划里去而且呢实际上现在的话安格尔的最大的优点就是在升级方面最大的优点就是他几乎是一个无痛升级就是你运行一条命令你升级就完成了

特别是现在最近的这几个版本那么基本上你就不用怎么干预就完成升级了我记得就是还是在以前就是特性不完全稳定的时候曾经有这个社区的同学把一个他们的一个实际的项目升级升级了一个版本好像是一共花了四个小时就完成了就是全部这个所有的工作都做完包括这个自动的和手动的

所以像这种的话就是 Angler 社区中它不像传统的一些框架也包括一些后端框架那样的碎片化非常的碎片化然后各自有各自的写法各自有各自的最佳实践各自有各自的版本各自有各自的库那么它不会损害这个问题现在的话可以说 Angler 开发者是带着 Angler 社区在往前狂奔

当然也会让一些人会感觉比较累实际上这个是受到过去的思维定势的影响那么如果说你这个自己实际的升级一下就知道非常的轻松愉快而且就是这种升级了之后你真正需要在上面投入的精力是很少然后你又能享受到新版本给你带来的好处就是这个

刘威最近有在跟版本这些刚才说的这些观点有感触吗我这边这个话我记得是有一个版本比较变化大的有一点印象是 14 升 15 还是 15 升 16 的时候就是他那个 form group 增加了这个类型支持

对那个是 Typed Form 这个当时我尝试去升了一下但是他应该是没有提供说自动化升级的能力的他有自动化升级但是他会给你改名就是他里边的一些类会给你改名还是这样不过现在的话应该

现在的话应该没什么问题就是安格尔除了用工具给你提供这个升级的支持以外呢他还有一个网站专门告诉你该怎么去升级对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对期

刚才汪老师提到我们把升级迭代有一个固定的日期大家在比如在早期技术选型项目排期的时候就会把这个点给加进去因为比如我们选用其他的方案可能不能预期今天还是明天他们会发版本可能还发一个大版本有可能每个版本之间的花的时间不同

如果我们已经明确每隔一段时间我们需要升级下版本来保持最新来使用获得最好的性能或最佳的实践包括最好的安全性能保障这些作为一个项目级把控的话确实这一点和之前想象的不一样这个之前没有去想这一块

对因为实际上我估计现在的话应该很多系统都是有漏洞的而这些漏洞其实早就被矿产商给改掉了但是项目没有跟进就导致了这些漏洞你甚至自己不一定意识到它存在前段空间还好

特别是后端框架那么如果你不能及时的跟上的话呢往往会遗留一些漏洞然后呢被人扫描到刚才刚才提到汪老师也在负责文章翻译这一块你给讲讲啊

文档翻译的话其实 Angler 这个文档翻译的特别早应该是 2015 年底是 Angler 发布那个时候其实我就已经开始翻译了它发布了之后没多久我就发布了第一个版本应该也是在 2015 年给发布的所以到现在就是 9 年多了

就到现在那么开始的两年呢就是更新的很频繁因为这个时候呢特性不稳定然后呢就是很多这个包括文档也在这个不断的改那个时候就非常的痛苦大部分都是这个而且那个时候完全是人工升级

所以他的工作量很大我记得最初翻译的时候那个时候我还在 Southwark 的一个项目上就是一个客户项目上然后白天在客户现场高强度的工作然后晚上回到酒店就开始疯狂的翻译那个时候还有一个朋友就是叶志敏就是我前面说的在国外的一个朋友

然后呢跟我一起翻译因为他这个就是英语比较好因为在国外生活嘛所以呢就是这个当时就是我们我们两个就是分工然后呢就是高强度狂奔还是

现在我看这个

打开 Angle 中文网最快的方式是我刚才分别试了一下在官网上去搜 Angle 的时候翻到最下边会有一个 language 然后其中就有简体中文简体中文的网址是哪我记得好像是 angle.cn

对,我刚才说哪了,就是开始的时候,我有两年左右是人工翻译的,这个时候工作量很大,那么后来我就开始做了自动翻译程序,

一个是把原来已经翻译过的部分给它自动合并过来然后只翻译那些变化的部分然后就是说对接了 Google Translator API 然后开始使用自动化翻译做初译当然这些 Google Translator API 它是传统的 AI 所以它的整个的翻译质量不是很理想所以每一句我几乎都要教的一遍

然后好在更新的量差异也不是特别大所以说我基本上官方发布了之后一周左右我就高强度的工作一周然后就差不多发布了然后这两年就开始改用更加

更加智能的也更加自动化的方式就是现在我是改用这个大模型来进行翻译这样的话呢他更能理解上下文也能更理解也能更好的理解专业词汇对就是这样嗯那么现在呢我呃本来是呃本来是

该这个呃这次发布之后也发布这个文档的更新的但是呢就是现在的这个工作比较就是比较困难有点困难因为原先的上一个版本就是上半年的一个实现的就是一个翻译程序呢有点 bug 所以我还是还在去改去改改正它然后呢就是可能要呃花一些时间但是应该至少在春节前应该能翻译完能做完这部分

然后明年我希望能把这个工作完全做完然后能把我的大部分工作自动化然后等到明年下半年或者后年我希望做一个

做一个程序上的改进让所有的读者都能够参与进来你看到哪句翻译的不对或者你看到哪个专业名词翻译的不对你就直接提一个修正过来提一个修正过来然后我后台会用 AI 进行判定然后判定了之后如果是他觉得比较合理的可能就会推给我然后我确认了之后他就会把这个加到词汇表里去就是

就是以后这个再翻译就就不会再有这个错误了嗯然后这样这样就变成一个重包模式嗯对这个这些方式也确实之前我们也聊聊过比如历史的播客中也聊过呃未有 wait react 包括之前我参与过那个 node wiki 的一些翻译工作也是经历了类似王老师一样的这种

就是走过的路吧就是我们一开始可能也是人肉翻后面辅助去 API 就是机器翻译来翻来尽快的就是把这个出稿或大概的这个表达意思先给那个确定了然后面再去这个润色现在有了 AI 和 AI 之后呢它要远比那个那个机器翻译

强大在一个是那个他技术细节他能够了解的更深入然后有些词汇他会翻译的更准确再一个我们可以提前置一些那个词典比如安格拉可能要告诉他不要翻译不要翻译成角或者不要翻译成一些其他中文含义这样的话后续的话整体的工作就轻松了很多

是的,这边我逐渐的希望把文档的工作变成自动化之后我就可以做一些更有意义的活儿了因为我现在的其实主要的方向还是在 AI 方面并不是在 Angler 的方面因为文档本身就已经是相当自动化了如果不是有个 bug 的话我可能现在我就已经发布了新的版本了

我看 Google 有一个翻译产品叫 Translation AI 之前在看 web.dev 的时候发现有好多用英文写的文档它自动翻译出来阅读起来完全没有困难我们现在也用的这种方式

现在不是现在使用的是这个 Translation API 就是我在后台调用然后呢这个对这个结果翻译了之后要人工确认一把再发布出去就是 Google Translation API 那种呢它应该是完全自动化的所以呢没有人检查的过程

那么现在我是会检查一遍然后当改用大模型之后应该自己需要检查的地方应该就会少很多然后在这个基础上才有可能变成中保模式因为初步发布的质量应该已经至少 90 分或者是 95 分以上了才能让大家参与进来不然的话太浪费大家时间了

听到这儿如果听众对 Angler 中文翻译感兴趣也可以我们根据 SNOWS 汪老师的研究方式我们来加入到 Angler 翻译的社区中去让更多人就享受到最新的这种 Angler 的各种新功能的中文文档

现在没有这么一个翻译社区后面我就是希望这个网站本身就是一个参与的渠道你只要阅读这个网站然后你看到哪里不合理就提出来然后就进入了后面的处理流程了我就到时候只做一个确认就差不多希望这样如果我现在有时间也想就参与完善 Angled 翻译我有方式能够帮你或加入我来吗我如何做可以吗

现在应该没有什么因为现在的话呢当我这个就是自动翻译程序写完之后基本上就是直接这个对外了就是直接就我会推送到 GitHub 的一个仓库里去如果是想参与的可以直接在这个仓库里提这个 PR 就行了提 PR 或者一手就行了

下午的时候之前的我记得在上一个版本的时候 Angler 的那个官网进行了一个风格的大的一个变化刘威有在观察这个 Angler 官网有变化吗和你印象中变化大吗这个印象挺深的那个时候我刚刚换 react 然后看到那个看到那条新闻然后过去看了一下感觉这个就是这个 UI 更加现代化了对

忘了给讲讲打开 Angle 官网它有什么特点和其他文档有什么区别我可能还没打开过其他人可能还没感受过这个

就是现在这个 Angler 的这个新的官网呢其实从上一个版本就是上半年发布那个版本就已经是这个新的新的风格了那么它的主要的变化呢一个是这个对这个新手更友好了就是它现在的话是直接把那个新手需要了解的东西都给聚在一起然后呢就是读起来很方便而且呢现在 Angler 的这个文档呢你

你是不需要任何本地环境的就可以体验过了你不需要准备任何环境就能学就是它是一个这个以 playground 为主的一个一个教程了就直接你在

这个网页上就可以就可以实验当然这个呢也对我这个翻译工作带来一些挑战因为这个在英文上跑得好好的这个一个这个 playground 呢到了这个中文版之后它就出了在特定情况下会出 bug 所以我现在在解决它但是呢就总体来说这个方式是就是说对入门的这个需求已经

非常小了就是入门的障碍已经非常小了而且呢就是

Angra 也在一些特性上做了一些改进就是一些面向新手友好化的一种改进比如说把 module 模块给去掉了然后这样的话让一些对模块化的思想什么的不太了解的同学也能够比较轻松的掌握它

然后就是像 CLI 就不用说了就是它的现在可以说是我见过的最强大的 CLI 之一我写后端的时候我都希望有这么个东西我也认同这一点对而且 CLI 这个东西其实对于 AI 时代来说它是一个非常好的一个切入点非常好的一个入口

就比如说呢我们传统的方式下我们在 CLI 中是需要这个技术这些命令然后呢而且它的能力也是受限的就是只有我这个支持的一些 SIGMETIC 就是一些原理图才能够用但是呢在 AIGC 的时代呢理论上是可以做这么一个

就是纯交互式的一个就是自然语言交互的一个 cli 的就是有这么一个是给没提的比如说我要他给我创建一个什么样的东西他就直接给我创建出来了就理论上这个是完全可以做到的但是现在的话没有的就是难度还是有点大的就是后面可能我会做一小部分就是尝试一下实验一下嗯说到这个难度降低其实我感觉那当时学的时候难度最

最难入手的其实是 RXJS

就我在那看着 Angler 文档啊看着看着突然发现我必须得跳到 RX 去看看上半天然后再跳回来然后后来好像出了一个 Angler Sinos 就能脱离掉那个 RX 去学习是的是的这也是就是 Angler 本身的这个开发体验改善的这个计划的一部分就是当时呢就是 RXDS 作者还跟这个 Angler 团队这个呃就是

就是沟通了好长时间希望安哥继续使用 RSJS 然后最后还是决定换掉但是 SIGNA 我试验了一下它确实比 RSJS 使用的难度要小很多很多很多这是一个相对通用的概念对主要是

主要是它并不需要一些像函数人编程之类的知识它的概念很少所以使用起来特别对于新手来讲很友好而且后面它也有可能会变成 EKMAS 的标准之类的有可能会成为标准的一部分

所以还是挺有希望的当然 ICGS 有它自己的特有的优点特别是一些复杂的运算如果你掌握的很清楚的话其实你自己本身可以省很多代码的但是关键是

关键就是这个入门对入门比较难我学会了以后就就富有自主的就经常去想拿 XGS 去实现好多东西但是就入门的时候特别痛苦

对原先我就是尝试过一个就是尝试过一个呃工作的对比好像 rcjs 用诗行代码能搞定的事情你这个用传统的代码可能 50 行都搞不定而且还写的会很很很乱这真的就是 rcjs 本身的概念实在是还是比较难的就像还说变成了响应声啊这些就很多都晕了

所以 Angola 做这方面的改进其实说实话就是说不管是去掉模块还是 RSJS 去掉也不算完全去掉就是它改为 signal 那么对新手会更友好但实际上等到成为高手之后其实还是逐渐的还是要把它捡回来因为他们的一些试用场景其实还是有很多地方还是很好的

那现在作为新手来说比如去学习根据官网或根据这个体系去学习的时候接触到的 RXJS 还多吗它是现在是一个怎么的形式完全剥离了还是有一部分还是作为高级之类的现在文档里还是不少的只是就是说你可以不用了就是逐渐的可以不用了就是他把那个 RXJS 慢慢的就封装成了 Angler 本身的实现细节

就是你写程序的时候呢就是大部分不是必须的只能说这样就是他们可能还是有一个逐渐演化的过程将来可能会演化成一个就是新手可以完全不用了解 RSJS 的版本但是目前还是做不到的

这里刚才也提到这个文档它变革然后我作为一个纯用户纯小白去比如第一次打开 Angler 的话对比我们之前想象的比如 Realt Vue 包括 Sverit 相比就是 Angler 在这个首页包括引导的部分就会更突出的引导到这个 Playground 去之前咱在历史播客中可能也会提到比如对于一个文档技术类那个网站来说比如

Playground,Get Started API 和一些 Demo 都是不同的侧重现在来看像 Angler 完全在首页默认的路线上突出了 Playground 刚才我一看和最早我们提到 Split 的文档也是相似路线包括其实

Plaigrond 我感觉它现在逐渐变成了标配就是你像 Rust 也是自己提供了一个 Plaigrond 那么对于这个新手来说就是因为很多人他要学一项技术他要先去体验它但是往往这个直接就卡在了这个本地环境上

像 Rust,你需要去下载很多东西,然后需要去了解 RataApp 的命令,然后才能去体验 Rust 语法,看看你喜不喜欢,或者自己写起来顺不顺手。但是现在的话,像 Rust 它就直接在官网,就直接提供了一块 Clickground。

那么这个我感觉会是一个很显著的趋势特别是当 AI 时代到来之后这个 playground 可能就不仅仅是一个 playground 了它可能会变成一个 AI 教师在旁边指导你那种模式

刚才提刚才对比其他网站我们后面这部分也有很多有趣的细节后面我们再合适机会再去谈对比我们目前遇到的这些常用技术战官网他们是如何来演绎趋势的我看现在 playground 在各家都有这个显著的入口和显著的位置都把 playground 的抬的比较高刚才还提到了 Angler 的 CIR 它比较特殊这个怎么理解

不是 CI 特殊,是 CLI,就是命令航空界面。其实它的特别之处不在于 CLI 本身,而在于它背后的一个概念叫做 Schemetics。

就是所谓的原理图或者是就是你可以认为它是一个啊 bear plate 的这个一个加加版就是升级升级升级完就是他呢可以直接去就是他不是只在你首次创建东西的时候才用得到他的修他可以修改现有的代码然后呢可以跟你有很多交互然后呢就是

甚至你在这里边可以调网络 API 各种各样的活都可以做比如说 angularMaterial 它库就提供了很多 generate 命令你可以直接 generate 出来很多重要的元素就是重要的界面元素

这样的话你使用起来的时候就非常的方便然后它实际上还有一个它实际上还是 ng update 的基础也就是说你要实现就是 Angular 中你为什么能够实现用一条命令就从比如说 Angular 17 升到 18 那么其实这个背后都是 ng update 这个 Sigmatic 在做这个工作

不仅仅是安格尔自身能够用这种方式升级一些著名的组件库比如说 Zorro 之类的也都可以用这种方式升级包括 Material 也都可以用这种方式升级它只要说社区的一些库就生态中的库它支持了特定名字的 Sigmatic 它就可以跟着安格尔的官方的 ng update 命令一起搞定就是这样

这样会对对本身和生态来说都比较友好对就是对用户会特别友好因为对生态不太友好对对生态不太友好要求高要求有点高但是呢就是说呃他就避免了这个用户升级的一些痛苦就是在你这个呃传统的方式下你你想升级那么你不光是这个

管工价本身的事你还得管各种第三方库那么这样的话你的整个的工作量风险就是工作量的不可预测性都会提高很多

这个点确实是毫不一样我看之前做介绍是汪老师也围着 Angler 也输出过一些经验的输出刚才刘威也提到之前在写博客也在翻译之类的对其实我在 Angler 领域我是翻译了一本书也写过一本书最初的一本书就是是个原创的就是自己写的这个是由华章就是鸡公出版的那个时候还是 AnglerJS 的时代的

那个时候呢我是跟我的朋友破狼一起合著的那么当时呢就是这个里边这个讲的时候除了对技术细节剖析的很深之外呢其实还有一些工程化方面的一些最佳实践这个呢就是自认为他写的不错的这本书叫什么名字安格勒 JS 深度剖析与最佳实践这个是激光出版的华章出版社的

然后这个很久了,应该得有八九年了,可能十几年了,那个是我在刚到 SatWorks 没多久就翻译的,就是写的。

然后呢就是呃就是呃我后来呢就是呃翻译了一本安格尔的权威教程这本书这个就是著名的这个安吉布克的后续那么他呢就是

当时翻译这本书的时候呢正好是我老婆生孩子的时候这个这本书的翻译呢就是好多工作都是在这个产房中赔产然后那个时候就是翻译的就是特别是需要熬夜的时候我就在那翻译书等到自己能打瞌睡然后就是这个呢就从那个时候我开始这个就是开始那个就是

非常投入很多时间去做翻译这个其实就是说我因为我自己最初的时候英语是相当不好的到现在我还在背单词所以我的想法就是说因为自己淋过雨所以要帮别人撑瓦伞这样的话可以让后来者不用再去

不用再去花很多时间去在这上面所以我也很重视这个翻译的质量那么这样呢就是我觉得呢这个就是说译者的责任就是不是因为不是说呃你英语不好那是你的你的问题那么我为什么要拿我的时间去填补你呢我觉得这这种这种方向方式是我不认同的我的想法就是说如果我这个呃

就是如果我在某些方面受过阻碍然后或者是费过很多功夫那么我还是希望尽量的把这个石头给别人搬走一起搬走

然后就是后来呢我就是去年我又翻译了一本 RAT 程序设计这个呢也是就是很火的一本在京东字影上呢就是现在编程榜还在排在第 26 名就是编程编程内幕的这个榜当然就是跟那些真正爆火的就是拍像之类的没法比了嗯然后呢就是去年年底的时候呢图灵给我了给我了我一个嘉义得奖

就是年多的十加一者这本书呢其实并没有花太多的时间因为就是当时呢就是说我那个是春节之前敲定了合同开始工作然后呢就是用半年的时间完成了

然后质量又达到了 10+1 的这个程度那么这个经验其实就是跟大部分从翻译安格勒官方文档的时候积攒下来的就是说 AI 辅助翻译然后而且当时翻译它的时候其实我本身对 RAT 并不是很熟也算是新手

但是呢我的想法是说我翻译的过程并不是为了挣这点钱因为翻译挣这点钱呢可能我搞两场企业培训就赚回来了那么为他投入半年这个不是因为这个他能赚钱而是因为呢就是一个是我自己能学到的东西我就是因为我要翻译的话我对自己的这个标准要求是很严格的所以我必须把每一个细节都搞懂然后呢就是在这个过程中呢

在这个过程中我会把很多技术细节我去问 China GDPT 然后因为 China GDPT 对训练的时候肯定是用了 Rata 的文档所以说它很多回答是靠谱的

当然不能完全依赖他但是为回答知识性的问题特别是当我自己知道一个主体的知识框架的时候我能够判断他有没有在胡说八道嗯这个是这个是这样对呃然后呢就是后来呢就是说呃这个

后来我把当时用 AI 进行翻译的一些因为那时候还完全是手动翻译手动去找拆 GPT 翻译把这些经验我也记下来然后准备用在 Angola 官方文档的升级的程序改进里就逐渐提高它的质量就这些

对所以所有的付出并不白费我们把它积累成经验包括在下一个下一个这个应用场景上能够继续来附用

是的好特别的学习方式因为这个就叫做以教为学就是当你自己去学的时候呢往往容易这个就是妥协对自己妥协我之前也有过这样的对有的没有搞太清楚然后就觉得太累了算了吧但是你想这个你如果翻译出来给别人看那么你这个就是你的面子问题了

我之前也翻译过一个库叫 routine controllers 是一个和 nest 比较像的库然后我是一开始因为我想去用他去写一个写一下后端吗结果写着写着发现我我找他的 API 找的特别费劲我想的要不给他翻译了吧

我翻译完了以后等真的翻译完了以后我发现我不需要不需要再去查查文档了对因为你翻译翻译一本书或者一个文档的话你每一个细节肯定都要过过来嗯

对我们作为读者的时候比如看完这一句话觉得不是很理解但是就还想继续往下看就呼噜吞嘴就把它这个支点并不理解深刻的情况下继续读下去了作为翻译本身我们需要去斟酌去表达

我们在这里边可能就需要停下来去看原版中或者最佳实践中或者官方中有没有在 A 数中就去提到这个点或者这个东西到底是什么意思或者如何来把这个含义表达的更完美更完整

是的而且呢就是翻译书的话呢还有一个优势就是说后期呢这个出版社可能会这个召集一些专家来进行审读就是他会去挑你这个翻译的这个问题然后呢就是在这个过程中呢你以前误解的地方他也会给你指出来你也可以纠正自己的这个错误的认知嗯而且这个是免费的嗯

求知的方式有很多,这种方式是非常特殊的。也是之前咱也提过,比如我们之前谈到魏友霍春阳,春阳那一次他也是从核心开发者逐渐地去阅读所有的内容。

把最终把他经验成年人一本书然后其他我们聊其他呃一些嘉宾的时候也会有类似的那回到我们刚才去谈了花了一些时间去谈安呃汪老师和安格勒的一些交集也会看到汪老师在呃在熟悉了解在不断这个精进的过程中也是把安格勒方方面面文档呀书籍呀然后课程呀教程呀博客呀然后这些都有都有在探索都有在这个不断的这个总结和成长嗯嗯是的

也问一些刚之前搜集到问题比如很多人也在问现在 ng 就是 1.x 或者说就是之前老版本现在很多场景是不是还在用他们比如现在市场占有率有统计他们比例大概是什么样

1.0 已经很少了大部分都已经迁移到或者改写成 angular 了因为 1.0 的话它的生态太老了然后特别是它原先的大部分都是 JS 的而不是 TS 的所以这就造成了从

1.0 就是 1.几升级到 2.几的时候呢流失了相当一部分用户但是呢这个其实也是感觉也是必要的代价因为那个确实很难这个升级当然如果是确实需要的话呢就是个案分析就是按照

按照单门的去做这个是没问题的因为原先的就是他没有通用的解决方案但是呢做专用解决方案并不难因为原先的时候呢我就做过一项工作当然不是关于 Angular 的是把一个呃一个那个开源库一个那个会图的一个开源库一个相当老的一个 JS 库

他当时的写法可能连 ES 都没有那个时候的一个 DSQ 然后我通过一些技术手段给改造成了这个 TS 的而且当时可能在一个月左右一个人月左右的工作量就基本上完成了就是这个就是说我们要去分析这个原有原来代码的这个特点然后针对性的去写前移工具这个是没问题的对可行性没问题然后工作量也不算太大就除非你这个项目特别复杂

下一个问题和 Angler 有关是我看你之前也在做 Angler 生态相关的比如一些组件库相关的 Material 对 Material 这个其实我只是翻译了它的文档我现在其实是三份文档同时翻译一个是 Angler 本身一个是 Material 一个是 RSJS

嗯但是你们可能不知道 RSJS 我也翻译了 RSJS 也是你翻译的吧对 RSJS.tech 这个语言我也翻译了嗯对然后呢这个方案都一样你可以看到这三个网站呢都共同的特点就是它的翻译是完全覆盖的就是说不管是你这个呃教程还是这个盖的还是那个 API 选择翻译了嗯哦

Rxjs.tag 这个是我后来才发现的之前有一个 Rxjs.cn 还是什么那个版本特别老我看了半天根本对不上刚才我们提到这几个网站我们在 show notes 里面会专门把链接贴出来然后大家对这部分有使用需求或者想学习的可以根据这个链接里面那个 show notes 里面内容来进行一个学习和理解

我看一下还有没有 Angle 相关的因为刚才 RUST 和 AI 已经呼之欲出了我看一下 AI Angle 相关的问题还有没有

之前在线下见的汪老师也是在分享 Angler 相关的,国内有哪些活动或者技术活动或者社区之类的在交流讨论 Angler,比如我们公司在用 Angler,那我有哪些方式能够找到更多正通道合的人来交流 Angler 的一些最佳实践或者最新的动态之类的?

其实现在的话呢我在的群就是一个这个微信群然后呢这个微信群里现在基本上快 500 人了然后就是这个里边呢会经常性的讨论问题

然后其他的我还真不太了解可能回头我看看怎么建一个能把大家给标记起来的机制有可能我会到时候我会在 angler 的 angler.cn 上放一个入口谷歌的 IoA extents 包括线下的各种 GDG 活动也是一个渠道是的这些都会

这个就关注我觉得这个 GDG 的活动就是关注那个谷歌 GDG 或者说当所在城市的 GDG 就能去参与到基本上也能看到安格勒的最新动态包括就是谷歌那个呃就是谷歌系的这些这些技术生态对对实际实际上呢就是说呃在我看来呢就是说呃安格勒社区呢不要太把这个这个焦点放在这个安格勒本身上

就是呃在在这个安格拉我们这个微信群里这个特点就特别的明显就是他们实际上讨论的呃不只是安格拉很多人在讨论就是 ai 啊这些相关的东西就是不是说呃去赶这个时髦而是呢就是说安格拉这个社区文化他推他提倡的是一个就是全站的视野就是不要去把自己这个这个圈在这个前端圈里嗯

就是什么都要了解一点你可以不用去对新技术追的特别多但是你应该至少在后端和 AI 这两个领域甚至在产品设计这些领域都要有所涉猎不要觉得我是个前端我就是个前端程序员对

我学了 Angular 以后再去转接就是前一段时间在用 Nest 写管理后台感觉就是无缝衔接的基本上这些概念基本上全都是通用的包括看 Spring Boot 的代码也是一样的所以这也是一个常见的问题有很多人说 Angular 和 NestJS 和 Spring Boot 就比较相像这个怎么理解

这个呢其实是他们在这个架构上和这个设计思路上是一样的就是甚至大部分的概念都是通用比如说 service 啊然后呢这个依赖注入啊这个都是这个三部分都有的嗯

然后甚至说他们的一些依赖注入的语法都很像比如说 Spring Boot 那么从前几个版本开始就已经是切到 Contractor Inject 了那么 Anglers 是从一开始就是 Contractor Inject 所以很多思想他们会靠在一起对于做前站来说其实难点不在于语言的不同

就是如果把这个聚焦带语言上你会限制自己很多很多东西那么核心其实是在它的架构思路在它最佳实践上你像 Angler 中的很多最佳实践跟这个 Spring Boot 中是完全重合的

那么比如说你如何去拆这个服务那么这个 Angler 中的拆的方式跟这个 Spring Boot 中拆的方式是完全一样的就包括它的架构特点那么是一个等级架构的风格就是 Angler 跟 Spring Boot 其实有一个共同的相似点共同的特点就是他们在架构设计上把自己做的尽可能没有存在感

就是他不是说这个呃我动不动就要调这个就是写 ng 点什么 ng 点什么 ng 点什么那样的话呢会把这个框架呢紧紧的偶合在你的业务代码里

那么它的这个架构呢是整洁架构的风格如果大家看过那个整洁架构那个图的话呢可能就会知道可能就会知道它的这个特点就是它从里到外它是一个圆它是一个洋葱形的一个架构那么它的最内部最核心的部分是叫做业务实体它不依赖任何外部的东西然后呢业务实体的外边是用力

那么这个就相当于一个 user theory 那么这个它不需要任何的界面就能够把这 user theory 的逻辑完成那么这是它用力然后在外层呢是这个控制器展示器和这个网关这个这一层那么这个呢才开始这个跟这个界面表现之类的有关系了但是呢它本身又不操纵这个界面那么最外层是这个 web 用户界面 web 接口数据库和设备

那么我们的框架这个概念应该在哪一层呢它其实在最外层像 web 框架然后还有一些数据库映射的框架之类的它全在最外层这样的架构叫做整洁架构那么整洁架构有什么优点呢

就是它的这个业务实体跟用力是完全没有对外依赖的也就意味着呢你不管使用的框架怎么换它这些代码不受任何影响而这些代码又是你的整个程序中最有价值的部分而且它是最稳定的就比如说一个利息算法那么从这个几千年前有利息开始那么它的这个利息算法可能就那么几个

到现在各种金融创新其实也没有仍然没有逃出利息算法的本质去所以它是非常稳定用几千年都没问题但是如果你在业务实体里不断的提 ng 那完蛋了以后 ng 框架消失了你业务代码怎么办这就是问题所以 angler 跟 spring boot 其实它们共同的一个特点就是把自己做没了

不要去干涉到这些不要让别人动不动就叫你所谓的好莱坞准则 Don't call me, we'll call you 不要去调用我你把你这个架构设计你把这个业务逻辑想好然后给它加上标记我自然会找到你并且去调用你到时候即使说框架没了有别人认识这个标记

那么也仍然可以照这个逻辑来用所以这个就是所谓的整洁架构这也是这个 Angler 跟 Spring 非常相似的原因之一那么我之所以全站的这个技术站选择的是 Angler 加 Spring 也是这个原因因为我在这个在这个做宏观思考的时候完全不需要思维切换

对一套体系我们能够做全站甚至把这个做和业务这些这个抽象思维紧密结合在一起我觉得对这一点是确实不一样也是安乐的 sprint boot 包括刚才提到的 nice js 这样这些设计理念

是的 其实就是说很多人一起到全站就想到同一个语言其实同一个语言在全站里最不重要的因为现在的话特别是在 AIGC 出来之后你完全可以写一段 JS 代码要求他给我翻译成 Kotlin 的他翻译的准确度非常高甚至你让他翻译成 Raster 也没问题

Rust 可能现在稍微困难一点但是随着他训练数据越来越多那么他的翻译准确度会远远超出我们的想象所以语言反倒是全战中最不重要的部分最重要的部分是架构思维架构风格这才最重要的 Ok Angular 相关的问题应该都差不多我看后面也有些这些点应该都覆盖到了看看看还有忘了看看还有能提炼出的问题吗我们再覆盖一下

我们后面再聊一聊 RAS 和 AI 然后就就就关于 Angland 就没有什么了

嗯行那我们刚才围着安格勒聊了很多其实在提到那个安格勒翻译的时候汪老师也提到了他在翻译 RUST 相关书 RUST 也是现在我们不光是前段期技术圈都在比较火热的一个话题无论是各个层面无论是呃就系统层面包括应用层面都在讨论 RUST 呃

汪老师这个 RAS 的这本书你可以介绍介绍你翻译的这个过程包括心得然后学习 RAS 的这块你有没有一些对新手来说入门来说他们有些过来人建议好其实刚才大部分已经提过了就是翻译的过程就是总结起来就是说单人加 AI 来翻译了全程那么半年完成最后拿了一个十加亿者就是基本上就是这样的过程当然当时就是说

当时这个翻译压力还是很大的特别是后面这个沈渡老师提各种意见的时候我每一条都要看过来然后每一条都要给这个做修订然后就是如果合理的我就做修订然后呢还要跟这个编辑来回的来回的走但是呢就是当时是这个当时是这个呃这些付出也是挺值得的就是呃至少呢就是他在这个让我们这个中文版的这个进度没有落后这个英文版太多就对了

然后 RAST 本身的话关于 RAST 本身其实在那本书上它的优势在那上面写的很清楚了就是安全性能和生态这几方面就是安全性不用说 RAST 的看家本领然后它可以避免很多对战意图的攻击方式对

就是各种内存泄漏之类的方式然后呢性能方面呢这个是这个就是大家如果用过这个 RS-PAC 之类的应该都知道就是它的性能会这个吊打这个 JS 可以说

至少在它优势场景下调查 JS 然后生态方面这个是相对于 C 之类的来说的在 C 中虽然它的生态很多但是没有合适的像 Cargo 之类的通用的管理工具所以说相对来说在生态方面的话特别是对于嵌入式开发之类的这种社区来说应该是就很有吸引力了

然后对于我们前端来说那么它的优势一个是性能当我们要做某些工具的时候那么你使用一个基于 REST 的一个工具链的话你可以提升很多性能包括就是说节省硬件资源或者是提高构建速度这些都是有优势的

然后大家自己有什么相关的需求完全可以用 RAT 来尝试写一下因为你可能很难找到让公司支持你去全面的写 RAT 的机会但是这些工具没人管理自己用的效率工具没人会管理的

它的这个写工具的另一个优势呢就是说它是跨平台加上零环境部署的你像那个 RSJS 不是你像那个 NodeJS 的程序你需要去这个带一个 node 环境但是呢 Rust 的不需要就是它直接构建成一个包就得了就直接发布出去了二进制对直接二进制部署然后是跨平台的你随便想用在哪都可以

然后对于这个想对于对 RAS 感兴趣的这个新同学呢就是有一些建议一个呢是善用 AI 刚才我说过呢现在 AI 的这个很多能力呢其实超出了你的传统的想象比如说你原先是写 JS 的你就可以写好 JS 代码写好是 TS 的然后写好代码之后然后呢粘贴到这个这个

大模型的对话框里然后要求他给你翻译成 RAT 的然后给你翻译的八九不列式然后你拿过来之后读一下然后也运行看看能不能如预期工作就可以了当然你最好这种方式下你最好还是用测试驱动开发的方式就是让你先把 JS 或者 TS 的代码以及测试代码写好然后把这两者都给 AI 让他去翻译

然后呢翻译完之后你就这个拿过来一起然后呢去跑这个测试代码如果他翻译的完全正确那么这个代码测试代码一定能过如果不能过你再去修就可以了嗯然后另一个呢就是以教为学然后呢写作去懂学习就是说你要去写你要你要去输出而不要只是去去去读这样的话呢你容易

错过某些技术细节也容易放松自己然后呢这个导致你学的不深然后如果是其实我有个问题就是我学 Rust 我把那个 Rust 原圣经已经读了三遍多了但是但是一直没有找到一个场景去用 Rust 在这方面有什么推荐吗其实前端的话最好的用处就是写工具链

工具链对就是你前端需要某个工具就比如说你的构建或者预处理这类的工具比如说你这个要迁移那么很多这个框架并没有像安格勒这样的这个迁移工具那么你要是迁移的话你就可以用 Rata 来写因为它里边处理这个这部分来的性能非常高

当然你要是这个想投快的话你还是得用 JS 但是呢你要想练习的话其实你用 Rust 是很不错的嗯最主要其实我一开始是准备拿 Rust 写后端但后来发现拿 Rust 写后端有点太痛苦了哦对后端的话呢主要是它的这个生态会限制你就是但是呢你要是写这个工具的话呢因为它本身规模很小

这个需求也很明确所以说它相关的这个对对相关的这个生态的要求呢就很低嗯你可以自己从头全写也没问题好的明白了一个是写这个另一个呢就是硬件编程如果是你这个想这个做一些硬件相关的编程的话就是固件开发那么你可以搞这个就特别是有家里有孩子的你就可以去这个这个

对就是买一些可编程的玩具然后呢用用这种方式去去编程嗯就是买各种板子然后呢去用这个去编程也是可以的这是他的优势场景因为他对这个 RAS 对硬件的这个要求很低嘛所以说你就可以节省成本嗯然后就是 web assembly

就当你需要一些高性能的场景的时候你就可以用这个 rata 来写然后呢在浏览器中你就去调用它或者是让它在后台做这个精密处理都可以

基本上就是这些对之前我们在以前历史嘉宾去讲 Electron 的时候他也提到他在学 Rust 写了一个好像是 node 还是哪一个就是写了一个版本切换工具可能是类似于重新写了一个比如 NRM 或者这类的这种版本切换工具然后也是一个学习的场景和汪老师提到的命令上工具就场景就很像

是的还有就是比如说你要是做桌面开发的话你可以用 Turry 来代替 Electron

Terry 的话它是性能高然后占空间也小然后能力也比较强对我之前去看 Terry 2.0 的时候他们做技术分享其中提到 Terry 可能是最好的学习 RAS 的一个实践项目然后因为它很多东西都是可控的比如去调 API 它本身就是不需要自己完全重新实现很多场景下它可以做一个 RAS 的学习工具

对,而且你 Tauri 你想用好的话,你可能要写一些插件来支持访问系统环境,那么你这个也是用 RAS 的好机会。这个也是和之前的一些东西很巧合进行了一个联动。刚才我们 RAS 相关的应该聊的差不多吧?

还有一些 AI 相关的我看看刚才汪老师也提到就是也在探索一些 AI 包括 AIGC 的一些那个探索和实践可以聊聊你目前就是围绕 AI 做过哪些工作然后有哪些心得和体会这个就说来话长我先把这个我就是我先把这个 AI 呢跟 Angela 先关联一下就是 AI 呢我认为它非常适合这个 AI 时代为什么呢就是它有两个优势

就是一个是它的严谨性和一致性就是它本身的风格是非常严谨的你人去写感觉束手束脚的但是这正是 AI 喜欢的地方就是只要有规则 AI 就能遵守规则越多它遵守的越好另一个是一致性就是官方发布了统一的风格指南然后可以说现在社区中的大部分代码

可能都是遵循着风格指南的所以说呢就相当于是说 Angular 有一个普通话

但是不是每个框架都有各有各的风格有的框架是各有各的风格就是你北京的团队跟深圳的团队往一块一合然后互相写法都不一样然后互相骂对方的代码很烂可能都会有这种情况但是 Angler 的话就不会有这种争议因为官方的 CL Guide 直接就是从这个 Beta 版就开始一直挂在那了挂在官网上了

而且呢变化也不是很大因为这个是属于这个最佳实践这个跟这个具体的这个技术关系不大所以呢就是这是它的优势第二个优势呢就是 angular 它本身支持 web component 也就是现在的名字叫做 cut of element 那么这个呢对于这个 AIGC 应用来讲是非常有非常有用的因为呢

当你做这个 IgC 应用的时候你的主要的交互的媒介其实是生成的 HTML 但是你生成这些 HTML 本身它是不会运行的就是你没有办法就是说让它生成一个线程的一个就是线程的一个安格勒代码或者是任何框架的代码然后让它开始能够用你预期版的工作

但是 Angular 中对 Web Component 的支持

就让你可以定义出一大组的 web component 了这些 web component 都是一些原子能力比如说去播放一个天气预报去显示一个天气预报或者是去显示一个特定的一个交互式的表格来下钻的这类的表格那么你生成了之后你就可以注册到浏览器里让它变成一个就像 video 一样的一个标签

这样的话你就可以另一方面你就可以教大模型去认识这些标签然后当大模型输出 HTML 的时候那么这些标签就会变成一个可交互的组件这样的话它就可以扩展大模型的交互能力在出来大模型领域的浏览器这种通用解决方案之前这个其实是一个很好的一个解决方案这是两点优势就是大模型的在案时代的优势

然后我再讲讲我关于 AI 的一些探索其实很多一个是说我在日常的应用就刚才已经说过了翻译这是用到最多的应用之一然后另一个是学习比如说我想了解 Rust

或者我对 Agra 的某个特性拿不太准那么我就可以去问他然后他发音的八九不离十然后我在我的知识引擎中没有找到他矛盾的地方所以我就可以认为他对的就是另一方面就是

像那个文章的润色或者是演讲稿的这个修改或者呢一些知识点的确认就是都都可以通过他来进行进行帮忙然后呢就是说呃 AI 呢我还做过一些这个呃工具比如说我们我写好一个 PPT 然后呢也就是这种我现在就是

用的 PPT 就是使用 MAP 来做 PPT 然后生成了之后我就可以用 AI 来自动完成合成的工作就是说做语音合成然后包括自动帮它标注语调之类的这种一些能改进发声质量的东西

然后呢生成了这个生成这个 SSML 之后呢我就可以把它传给这个网络的 API 来让它生成合成一个语音然后呢我把这个语音跟这个跟这个这个 PPT 的内容画面合成在一起直接生成一个 MVP4 嗯就可以了

这样的话生成出来的 MP4 一个是特别小另一个音质很高然后它的传播也很方便

就这样当然我没有去做推广我大多数的活我只是做一下技术验证就是 POC 就是如果用到了我能随时捡起这些代码了就是我并没有去因为我毕竟在这个行业做了 20 多年也有一定的积蓄所以说也不着急赚这个钱是不是

所以对然后呢另一个呢我还做过一个这个聊天的机器人也就是说直接对接微信的后台然后呢这个在当你关注公众号之后你可以去在这里问我的安格拉相关的问题但现在没有在这个运行因为这个还是有一定运营成本的还是

不花这个不必要的钱然后呢就是呃你就可以去问然后呢问这些然后同时呢他这个是一个这个多专家的一个模式也就是说当你问这个安乐的问题的时候我会把它导向到这个安乐的 Aiden 去然后呢他会去这个调用安乐的知识库然后就回答你但是呢如果你问的问题是关于 Spring 的那么我就会这个导到这个 Spring 的这个专家去就是这样的方式而且呢

就是使用这个微信提供的 API 我可以让他们使用不同的头像就像你真的是在跟一个专家团队来交互一样然后还有一些呢就是比如说这个对视频进行脱离比如说你在这个做视频的时候你这个提到了某个字然后呢这个字的这个

比如说你在淘宝发的视频里不能出现微电或者之类的资料或者可以切掉把这句话切掉类似这样然后还有一个正在做的产品就是一个同声传译的耳机但是这个还没有对外公开而且申请了一些专利所以不想讲讨论了基本上就是这些

我忘了是也对 AIGC 做了很多并不是实用级别更多是创造级别的一些经验总结刚才也提到了你经历比较多所以能够对一些场景上有一些理解会比较深刻比如刚才你提到翻译可能你是

日常确实能够提升你的这些效率或者提升你的开发体验这也是我们如果比如我是一个想去做一些 AI 的产品就可以从这些场景就是观察自己有哪些需求来满足先首先满足自己的需求我们并不一定非得是最终做成一个 SaaS 或者是一个产品化的功能我们满足自己需求把这些东西打通后面有类似需求的时候可以快速捡起来

这种思路就是在设计思维里就这间心情里叫做 MVP 就是最小可行产品也就是说你把大家跑起来了然后验证了你的思路是对的然后一旦有需求你可以快速上码就可以了就没必要说把一条条走到黑在 AI

在 AIC 的早期时代你要多探索不同的路径你要对这些有深刻的体验深刻的体会你才能有能力接得住未来可能的商机像我刚才提的这几个如果说有客户想要的话我完全可以直接去发展成一个完整的产品只要有人给钱然后有人有具体的需求可以给我讲清楚就可以

OK 我们聊聊就是最后也是到最后我们聊聊一些轻松的话题忘了是目前这个典型的一天怎么来度过然后目前在学习什么有在探索一些新的生活技能或技术技能吗有就是实际上的就是我这一年的这个我呢就是大部分围绕的主题就是 AI

但是呢就是经过这些之后呢其实我现在的体验体会最深的是什么呢是基础知识的这个扎实是很重要的因为我是半路出家的而且是转行过来的所以呢我就是现在在做的就是

同修微積分现代和概率论这些是人工智能的基础这些如果不深刻的理解的话其实你很难真正的把握人工智能的未来的发展趋势你甚至你很难理解人工智能的本质比如说现在我们说大模型是一个概率模型到底是怎么回事

那么这个就是有很多概率论的知识然后它有张量张量是怎么回事那么既涉及到微积分也是叫现代所以这些东西的话没有就是基础不牢地动山摇把这些都重新的开始要捡起来然后背单词虽然我能翻译但是单词还是要背的

嗯这相当于维持一个就像健身一样维持始终有日常的练习维持一个状态对而且呢就是说实话我这个口语的英语就很差所以呢我记住背单词我也把这个口语稍微提升一点完全的哑巴英语

对然后就是产品原型开发这个就不多说了这个我刚才提的就是耳机这些东西嗯然后呢就是 AI 的应用 AI 应用呢现在我是主要在这个尝试各种智能体比如说这个 Define

或者呢这个 code 这些那我会定这些智能体呢来这个把知识孤导进去然后呢帮助我进行学习比如说前面的这个微积分现在概率论背单词这些都有相应的智能体就是我会让他给我出题然后呢我回答然后他判断对错然后我再判断他判断的对我再判断一下他判断的对错的对错嗯对啊

这是现在的话就是 AI 对学习的过程它的影响是非常大的如果我用传统的方式去学微积分现在概念论的话那么我可能就需要请一个非常资深的老师而且我有钱都不见得请得到所以智能体只要你写的提示册合适然后给的数据源就是知识库合适那么你就可以

这个节省很多的这个走弯路的时间而且呢你可以让他不厌其烦的陪你进行练习比如说这个做这个分布积分那么我们就可以让他给我出分布积分的领域的题然后呢就是我再把这个思路告诉他甚至把这个结果或者计算过程告诉他让他来判断对错基本上就是这样

然后就是接一些企业培训就是现在我今年就是接了有三四个企业培训吧就是虽然就是说

稍微贵一点但是呢就是肯定很值得因为比如说我最近就是十月份接的一个企业培训那么一天一共一共一天然后要了一万块钱然后呢但是为了准备这个培训呢就是我准备这个课件我花了这个有两周的时间在这上面那么如果是以我在这个

到托克斯的瑞特来讲这个是完全亏本的我能直接被这个总经理立刻来骂我要这么做的但是呢就是对于个人来讲这个就很自由因为你这个去完全是你自己说了算如果说你这个如果说你在这个整理的过程中能够理清你的思路那么其实也是对自己的一下收获就是这样

然后我现在这个培训的领域呢就是一个 AI 应用一个是架构然后 angular 那些那么实际上呢就是在这个过去今年呢我还接触了很多授权但是呢大部分都没有成功因为就是 AI 应用呢现在是很多人都想做但是呢不知道怎么做嗯

然后即使你告诉他怎么做他也不明白当中的工程逻辑所以痛定思痛我就在这个基础上总结了一个 DDAI 的一个法规论出来希望这个能够让企业能够看清楚自己的位置然后知道这个 AI 能对自己做什么以及如果你想决心做的话你会面对什么样的困难要做多少努力类似这样的通过这个

刚才汪老师也提到了这几个方式如果对汪老师感兴趣也是帮汪老师要好要好我们在 show notes 里面有汪老师提供的这些领域然后和相应的联系方式

顺利的话我们还有一个最后一个问题就是刚才也谈过了就是我们听友中有很多年轻就是还在上学的就是大学生在校生还在读书的学生还有刚开始参加工作的那个前端成员他们可能也是在接触到前端接触到这个 RAT 接触到 AI 可能也有一些就是迷茫或不知道那个

接下来要怎么学习,如何落地的一些问题。汪老师对这一块,对这些年轻人,还是学习经验比较少的人,有哪些过来经验或者采取经历吗?我也正在读书的那个同学。

建议呢有几点一个呢是善用 AI 就 AI 已经不再是未来了 AI 已经是现在了就是未来以来千万别漏物就是未来打败你的人不是 AI 而是善用 AI 的人所以呢你一定要做一个善用 AI 的人那么就包括就是就包括是说像一些这个年龄比较大的程序员那么你也应该这个

把一只眼睛至少一半的精力可能投在 AI 里你的日常的工作跟 AI 是有很多结合点的一定要去试不要去孤孤自封或者是因为财类而放弃

这个是为自己博一个未来这个是很有必要的就是就像那个我今年整个的这个探索其实都是比较 AI 来的那么就是只能挣个糊口钱但是呢就是对于这个 AI 的这些收获那么这是我的资本这是在未来继续力量在给未来继续力量然后另一个呢就是保持学习就是要驻劳积土天天向上

那么就像我在学这个微积分现在还有这个概率论那么如果是其他的人想要这个在 AI 领域的有一定的深入的理解的话那么这几个基础的学问是不能少的就是甚至呢就是一些在校生如果你现在这个没有这个在这方面这三个方面没有学的很牢的话一定要加大功夫

然后呢陈振领教授然后呢这个追证的讲师然后就是会弄你的同学然后把这部分掌握牢了一定要掌握牢了呃然后第三个呢就是说要勇于尝试就是呃特别是对于新程序员来讲呢要多体验不同的角色不要把你不要你刚毕业就把自己当做一个前面程序员了这样的话呢对你未来的这个发展呢是非常有害的

那么未来 AI 擅长解决的是什么 AI 擅长解决的是单项的问题一个具体的问题它不擅长的是什么不擅长的是宏观的思维解决方案的架构这种能力越是宏观它胡说八道的可能性也越大同时它也更容易假扮空就是你要用 AI 给你生成一个什么报告那么你会发现它每一句话几乎都是对的但是一句有用的也没有

这就是因为 AI 它本身就导致了这个问题它 AI 本自身的限制导致了缺乏这个所以你将来想要避开 AI 的竞争那么你一定得有这个宏观视角一定得有解决方案设计的能力这些都是多方面的综合知识才能共同构成的并不是你光门头写程序就能搞定的事情就包括如果你有机会的话多去现场多去客户现场跟客户聊聊

然后你在这个过程中你会逐渐的把业务相关的思考与技术相关能力结合起来这样的话你就很难被别人期待然后第四点叫做抬高视角就是把你的注意力不要集中在具体代码上因为具体代码的话 AI 写的比你好那么你要把这个视角放在架构上

就是整洁架构有一本书叫做《架构整洁之道》这个是这个啊 鲍伯大夫写的那么 Robert Martin 他写的这个我认为他是每个程序员都应该了解的越早越好你在学校都应该读它你工作了十年了也该读它只要没读过都要读嗯

这个是当然这个翻译也跟我没关系但是呢我非常推荐这本书这个是如果说在这些年中有哪本书我后悔看晚了就是他如果我在这个 20 年前看到他我现在的这个这个可能跟这个我现在的状况可能跟现在完全不一样至少水平可能比现在高一截

然后最后一个就是远离饭池就是关注技术本质然后多烧冷灶不要去关注热度就是很多时候呢你去关注热度往往是就是说非理性的一种选择那么非理性选择你就付不代价对不对所以呢多关注这个技术的本质那么让你们关注 AI 并不是因为 AI 热而是因为 AI 有用你要

自己去亲自体验然后找出它的热度来而不是说 AI 很热然后我去买个课我去买个认证这个没有用没有意义就这些关注 AI 不是因为 AI 热是因为 AI 有用这话有点被 shock 到最主要的就是不要去

不要去走入那种饭圈思维就是娱乐圈需要饭圈但是呢技术圈不喜好嗯就是

特別是 AI 這種熱詞會有很多人開始 AI 可以說現在在中國賺到錢的都是搞 AI 培訓的但是 AI 落地的沒有什麼賺到錢的這個就是一個畸形的現象一定是說它落實到產業界產生了價值

买上的钱然后反馈到这个培训机构去而不是说培训机构把钱赚了然后呢最后发现这个最后发现这个产业界没有任何落地场景那么这个就没有这个就没有意义了嗯就是一种内卷一定要冷静做技术决策的时候一定是理性大于感性才行嗯

OK 看看 Frankie 还有问题吗看看汪老师还有观点没表达到感觉和预期的时长和内容差不多我这就没有别的了还有一个我再补充一点吧即使是你还不知道自己要做什么呢你也不跟

AICC 聊聊都跟各种大模型聊聊因为现在的话手机上就有很多可以自由使用的免费使用的大模型应用那么去多聊聊

OK,那我们刚才聊了好多,和汪老师一开始围绕 Anglin 聊了一些技术话题,也看到了汪老师在 Anglin 里做了哪些工作,然后有哪些收获和心得,在后半部分我们和汪老师也聊了一些 RAT 和 AD 学习,然后刚才汪老师也贴心的提供了一些课件,我们到时候也放在 SnowS 里。

对刚才感兴趣的话题有没听到没听懂或者想继续探讨的也欢迎和汪老师建立联系我们在那个 show notes 里边把这些信息放在里边 OK 那我们来收个尾吧我是刚才收获了很多其中有一话是说 AI 火是因为它有用这点感觉这个观点非常受用我是经常听下来非常开心的心毛头

刘威也来做个总结了我这一直受到汪老师的阴蔽基本上汪老师做的这些开源贡献我都在从中受益了所以说特别感谢汪老师汪老师也来说两句吧其实总结起来就是王道老学道老

我希望大家都跟我一样如果我一个 26 年的程序员其实已经是第 27 周年开始了我一个 26 年程序员都能够到现在还在保持学习保持积极向上的心态然后甚至是以已经开始退化的大脑去学微积分去学现代去学概率论那么为什么你们就不能