Loading video...

Video Failed to Load

Go Home

又看了一些推友的推荐: 还有这个 ArkType 验证库可以尝试: 和 Zod 非常类似,但是速度非常快,语法简约更接近 Typesript 的原生写法,错误信息设置的更加清晰。 看了几个例子觉得非常不错。如果不是我的代码都和 zod 深度绑定,我还真想换换看。新项目可以尝试一下。 一个小结论,如果要做验证,那么目前就是这三个方案最棒: Zod ArkType:更贴近原生语法,更快 Valibot

23,198 views • 1 year ago •via X (Twitter)

6 Comments

Cat Chen, @catchen@mastodon.world's profile picture
Cat Chen, @[email protected]1 year ago

每一个这种工具都要发明一套自己的 DSL,这对于独立开发者来说不是问题,但对于团队来说就是个问题——每个新人加入团队都要学一门这种非主流的 DSL。我宁愿用 ts-json-schema-generator,写每个人都会写的 TypeScript,然后它编译为大多是工具都能接受的 JSON Schema。

Travala.com 🏨 ✈️'s profile picture
Travala.com 🏨 ✈️4 years ago

This one's for the Crypto Whales ⬇️ NEW exclusive & luxurious experiences have been added to Apply today & #TravelUnlikeAnyOther with your favorite cryptocurrency.

币安高返佣注册申请 (Parody)'s profile picture
币安高返佣注册申请 (Parody)1 year ago

挺不错

Zen's profile picture
Zen1 year ago

刚用 ai 写完一个 ArkType 做验证库的项目,然鹅我连 API 都没看完

besh's profile picture
besh1 year ago

ts还不够吗😢😢

全 国 上 门 服 务's profile picture
全 国 上 门 服 务1 year ago

🧑🏾‍🦼‍➡️💂🏾🇰🇳💂‍♂️

Related Videos

最近陶哲轩在 2024 年第 65 届国际数学奥林匹克上,陶哲轩做了一次 AI 和数学的演讲,非常精彩,从数学使用计算计算机的历史开始讲起,一直讲到大语言模型,干货相当多,尤其适合对数学有兴趣的同学。 (对数学没那么感兴趣的同学只想看 AI 部分的建议直接跳到 41 分的位置开始观看) 先摘录几个冷知识: 1. 我们使用机器做数学计算已经有数千年,最早的机器辅助计算可能是罗马人,然后是中国的算盘 2. 二战时就有人肉“计算机”,计算弹道和其他任务,多位女孩子,因为男士们在打仗,所以那时候的计算基本单位不是GPU,而是kilogirl-hour——“千名女孩工作一小时的计算量” 3. 现在,数学家们使用一种现代化的证明辅助编程语言,叫做 Lean。在 Lean 中有一个核心的数学库,通过众包的方式开发的,本科数学课程中看到的内容,比如微积分基础、群论基础或者拓扑学等等,这些都已经被形式化了,所以你不用从公理开始。 4. 现在数学领域有一种团队协作证明复杂数学定理的工作流程,那就是先编写一个称为“蓝图”的详细证明计划,将整个证明分解为数百个小步骤。每个步骤可以单独形式化,然后再将它们整合在一起,这样你就可以将一个庞大的论证分解成许多小块。先编写这个蓝图,然后团队中的其他人可以对论据的不同步骤的不同部分进行形式化。 去年,陶哲轩和几位同事一起解决了一个组合数学问题。这是一个组合学的问题。大约20人在短短三周内完成了,使用了蓝图工具,参与的人中有概率论专家,甚至还有一些并非数学家的人,他们是程序员,但在解决这些小型拼图问题上非常擅长。每个人都挑选了一个觉得自己能做的小任务,并完成了它。 在数学领域,通常很难这么多人一起合作,一般最多可能五个人合作。因为在大项目上合作时,你必须相信每个人的数学都是正确的。但是,一旦超过一定规模,这就无法实现了。但现在借助 Lean 编译器,它能自动检查。团队成员无法上传任何编译不通过的内容,会被拒绝。因此,你可以与一些从未见过的人合作。 最后是讲大语言模型,首先陶哲轩就打脸了 GPT-4 的论文(我猜是微软那篇《GPT-4,通用人工智能的火花》),论文中号称 GPT-4 能解决国际数学奥林匹克问题,但实际上,这个问题不是 2022 年国际奥数竞赛的原始问题,而是一个简化版本,并且他们测试了几百道国际奥数竞赛问题,成功率只有1%,论文里的这个是精心挑选的恰巧能做对的。 并且陶哲轩提到了基于大语言模型的一些改进的方案: 比如 CoT(Chain of Thought),也就是 LLM 做简单的算术运算都做不对,但是如果让它一步步解释,可能就对了。还可以教 AI 一些解题技巧,比如尝试简单的例子,反证法,尝试逐步证明等。 比如让模型和编程语言或者工具连接,将大语言的输出结果交给 Wolfram 这样的专业数学工具或者 Python 这样的编程语言验证,并且迭代的进行修正和验证,直到得到正确的结果,这可以提升大语言模型生成的效果。 即使借助这些手段,大语言模型还远远不能解决大多数数学问题,更不用说数学研究问题了! 当然陶哲轩也没太过打击大家对于 AI 的信心,表示我们在 AI 上还是在不断的取得进展,还提到了他日常是怎么用 AI 的,比如说把 AI 当成灵感之源。 > 我曾遇到过一个问题,我尝试了几种方法,但都无法解决。于是,我尝试询问 GPT,你建议我使用什么其他方法来解决这个问题?GPT 给我提供了 10 种可能的方法,其中有 5 种我已经尝试过,或者明显没有帮助。的确,有几种方法并不实用。但其中有一种我还没尝试过的方法,那就是针对这个问题使用生成函数。当 GPT 建议我使用这种方法时,我意识到这就是我漏掉的正确方法。所以,将 GPT 视为一个交流伙伴,它确实具有一定的用处。 还有使用 GitHub Copilot 帮他写代码,让它自动生成下一步的证明结果,Copilot 的智能提示有 20% 的概率能生成正确的下一步结果。 > 例如我使用的一个叫 GitHub Copilot 的工具,你只需要写下一半的证明,它就会尝试猜测接下来的内容。大概有 20% 的情况下,它能猜到接近正确的答案。然后你就可以说,我接受这个答案。好的,那么在这种情况下,我正在试图证明这个陈述。灰色的部分是 Copilot 给出的建议。结果发现第一行完全没用。不过第二行,尽管你可能看不清楚,却真的解决了这个问题。所以,你不能盲目接受它的输入,因为这些代码未必能顺利编译。但如果你对代码的运作方式已经有所了解,这将大大节省你的时间。这些工具正在变得越来越好。现在如果一个证明只需要一两行,它们就能自动完成。现在已经有了这样的实验,即通过迭代地让 AI 提供证明,然后让编译器进行反馈,如果编译出错,就把错误信息反馈给 AI。通过这种方法,我们开始能够验证四五步长的证明。当然,一个大型的证明可能需要数万行。所以,我们还没有达到能够立即得到一个正式证明的程度。但是,这已经是一个相当有用的工具。 对于大家关心的问题: AI 在数学领域现在到了哪一个阶段?是否未来几年利用 AI 能直接解决数学问题? 陶哲轩也给出了他的看法: > 我认为我们还远远没有达到这个阶段。如果我们专注于非常特定的问题,你可以定制专门的 AI 来处理一小部分问题。即便如此,它们也不是完全可靠的,但还是有用的。不过至少在接下来的几年里,它们基本上将是非常有用的辅助工具,超越了我们已经熟悉的暴力计算辅助。 他还提到了一些可能的 AI 能在数学领域提供帮助的方向: - AI 能够非常好地生成有价值的猜想 > 比如,我们已经看到了关于结理论的例子,它们已经可以推测出两个不同的统计量之间的关系。因此,我们希望能够创建大量的数据集,输入到 AI 中,它们就会自动找出各种不同的数学对象之间的有趣联系。虽然我们还不知道如何做到这一点,部分原因是我们没有这些庞大的数据集。但我认为这是未来可能实现的一个方向。 - 批量或者说规模化的证明大量数学定理 > 现在,因为证明定理是如此繁琐和艰难的过程,我们一次只能证明一个定理,如果你效率很高,可能一次能证明两三个。但是有了 AI,你可以设想一下未来的情况,我们不是试图解决一个问题,而是处理一类类似的1000个问题,然后告诉AI,尝试用这个方法解决这 1000 个问题,然后报告结果,哦,我能用这种技术解决 35% 的问题。那么另一种技术呢?我能解决这个百分比的问题。或者如果结合这些方法,又能解决多少问题?你可以开始探索问题的空间,而不是一个接一个地解决问题。这是你现在根本无法做到的事情,或者是你需要几十年时间,通过数十篇论文慢慢搞清楚各种技术能做什么,不能做什么。但是有了这些工具,你真的可以开始做规模前所未有的数学研究。所以,未来将会非常令人兴奋。 演讲环节结束前的最后一句话说的特别好: > 我们仍然会以传统方式证明定理。事实上,我们必须这样做,因为如果我们自己都不知道如何做这些事情,就无法引导这些 AI。但是我们将能够做很多现在无法做到的事情。 这恰恰也是我们现在使用 AI 辅助编程的问题:如果我们自己都不知道如何构建软件,就很难引导好 AI 帮助我们生成高质量的代码。 尽管 AI 在数学和编程领域变得越来越有用,但人类的洞察力和创造力仍然是创作价值的关键。 原始 YT 视频:

宝玉

301,570 views • 1 year ago

高人,你这个帖子让我整整琢磨了两天!本来想写个长文,但是太多头绪也不知道从何写起。总的来说是我这段时间上推的原因,总感觉自己的开发缺了很重要的认知;也是我这段时间除了自己硬件修复工作之外,还必须要去看text-to-CAD 的原因。 我为啥这段时间上推,就是心情不好。话多,我心情好的时候是不说话的,哪有这个功夫,可以一直干活。 很多行业,甚至是大部分AI需要落地的严肃场景,就是缺 IR, Verifier; 后续的TD和Platform Config必须建立在前面已经推导完成的前提下。AI写程序为什么那么厉害,就是因为IR-Platform Config这条链条是顺畅的。 我们看一下我这个视频。Zoo(text-to-CAD)就是创造了KCL这个IR, 集合你说的Specs/Impl 于一体,Specs是代码前面那一段。后面的Impl与verfier, 比如一些constraint是混在一起的。 这个版就做的非常好,就是我在你的提示下,自己把specs IR写好了。直接导入fusion我加了螺纹就是一个完整的可打印件。 我们要做任何一个行业的“如码" as code, 恐怕都逃不过这个阶段。 法律,医疗,CAD, circuit。 全都需要IR。 否则AI只是提供方案,不能提供方案验证,没有统一的IR,简直就是语言机——只会说!例如 Text-to-CAD 中,模型可以生成 KCL;但如果没有几何检查、约束检查, 这个图都画不出来的。 Transformer 本质上是概率预测器:P(next token | previous tokens) 代码非常成功是因为:代码行业拥有世界上最成熟的 IR 和 Verifier。 现在各行各业IR缺失,才是这一轮AI基本感觉漂浮在语言宇宙的原因。比如医疗。医疗算不算全世界标准最多的领域之一? 医疗已经有 FHIR、DICOM、SNOMED 这些标准,但是这些标准大多数解决的是数据交换(Interoperability),而不是医学推理(Clinical Reasoning)。 如果真的要靠AI医学推理,需要耗费十几年的时间,真正把IR做出来,形成统一标准。 高人,给跪了。

Susan STEM

26,351 views • 1 month ago