Skip to content

Instantly share code, notes, and snippets.

Bitter Lesson http://www.incompleteideas.net/IncIdeas/BitterLesson.html 痛苦的教训
作者:Rich Sutton
2019年3月13日 从人工智能研究的 70 年历史中能够读出的最大教训是:利用计算能力的通用方法最终最为有效,并且差距巨大。其根本原因在于摩尔定律,或者更一般地说,是“单位计算成本持续以指数级下降”的趋势。大多数 AI 研究都是基于这样一种假设:智能体所能使用的计算资源是固定不变的(在这种情况下,利用人类知识或许是提升性能的唯一途径)。但从比典型研究项目稍长的时间尺度来看,大规模的计算资源不可避免地变得触手可及。研究者为了在较短期内获得提升,会努力融入他们对领域的人类知识;然而,从长远来看,唯一重要的就是对计算资源的有效利用。两者原本不必对立,但现实中却往往相互排斥。投入在一方面的时间,就意味着无法投到另一方面。而且基于人类知识的方法常常会使系统更加复杂,从而不利于应用那些能充分利用计算资源的通用方法。纵观 AI 历史,有许多案例都证明了研究者在这点上“后知后觉”,值得回顾这些最具代表性的例子。

在计算机国际象棋领域,击败国际象棋世界冠军卡斯帕罗夫(Kasparov)的 1997 年系统主要依靠大规模的深度搜索。当时,大多数计算机国际象棋研究者对这一结果感到沮丧,因为他们投入大量精力研究如何利用人类对国际象棋特殊结构的理解。当时,凭借简化的搜索方法以及专门的硬件和软件,整个系统在性能上远胜于依赖人类知识的方法,这些研究者都难以接受。他们声称“蛮力”搜索也许这一次赢了,但并不是通用策略,也不符合人类下棋的方式。这些研究者更希望那些基于人类经验输入的方法能够赢,所以当事实并非如此时自然感到失望。

在计算机围棋的研究中也出现了类似的发展模式,只不过推迟了 20 年。早期的巨大努力都用于避免大规模搜索,转而利用人类知识或围棋的特殊特征,但当大规模搜索得到有效应用后,这些努力都变得无足轻重,甚至适得其反。此外,自对弈学习价值函数也至关重要(这一点在许多其他游戏以及国际象棋中也有体现,不过在 1997 年打败世界冠军的国际象棋程序中,学习并未发挥主要作用)。无论是搜索还是学习,都是在 AI 研究中利用大量计算资源的最重要手段。正如在国际象棋中一样,计算机围棋最初投入了大量精力来利用人类对围棋的理解(以减少搜索需求),但直到后来,人们拥抱

@kaichen
kaichen / story-written-by-o1-pro.md
Created January 6, 2025 04:59
来自得到APP的万维钢精英日课

o1-pro写的故事

程燃躺在光滑的地板上,透过高处弧形的透明天窗,望向夜空。夜空是干净的,甚至可以说是过分纯净——整个大地早已高度自动化,无需人类劳动,社会为每个人无差别发放基本收入,温柔而冷静的超级智能在无声运转。程燃没有工作,也不需要工作。他也不渴望名利或满足感。可他最近一直在尝试做一件不可名状的事情,一件没人要求他做、也无从解释的事情。

他想创造一个新概念。一个没有被语言、艺术、逻辑或科学承认过的概念。

在这个时代,几乎所有的人类思考都已被超级智能妥善分类、归档、预测与重构。每一个崭新的创意都能立即被检索、评估,然后融入智能系统的大脑里,再无半点神秘。没有惊奇,没有未解之谜。这个世界像一块剔透晶石,每一个棱角都是已知算法的结果。

但程燃想制造一缕迷雾。

Coding with Cursor Note

from: https://www.youtube.com/watch?v=1CC88QGQiEA

##总结 网页的主要内容是一位创业者和开发者分享如何利用 AI 工具(如 Cursor 和 Claud)来提高编程效率,并通过实际示例展示如何使用这些工具快速开发一个图片悬挂计算器。

摘要

网页内容主要围绕着如何利用 AI 技术提升软件开发效率展开。主讲人员是一位 CEO,他同时也是一位开发者,分享了自己如何使用 Cursor(一个集成了 AI 助手的编程工具)和 Claud(一个 AI 模型)来编写代码。他强调了 AI 工具在编程中的重要性,特别是在减少编码时间、简化开发流程以及提高产品迭代速度方面的优势。在直播演示中,他展示了如何通过 Cursor 和 AI 模型快速构建一个用于计算墙上悬挂图片位置的工具,解释了整个开发过程,包括设计、编码和调试。此外,他还讨论了使用 Tailwind CSS 的优势,以及如何通过 AI 工具来优化团队协作和减少开发成本。演示中还提到了一些编程实践和思想,例如如何有效地与 AI 工具沟通,以及如何通过 AI 工具来克服传统开发中的一些挑战。

@kaichen
kaichen / trc10.transfer.json
Created October 18, 2022 13:41
tron tx response
{
"ret": [
{
"contractRet": "SUCCESS"
}
],
"signature": [
"e788847a9b215d40b3abff32fd33724f2089e948273c6597f0431446dc0863437c18163cf8b0a3ab0827eb57a0bbae9fce7daa0ad9dd3c8f0406d55f132b851000"
],
"txID": "78758c5303a49b7b9d010853b8774c55a554b57a26060190e3e338cb70043081",
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-sessionist'
set -g @plugin 'tmux-plugins/tmux-continuum'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
{
"app_state": {
"accounts": [
{
"account_number": "679",
"address": "cosmos1qqp837a4kvtgplm6uqhdge0zzu6efqgujllfst",
"coins": [
{
"amount": "60091022",
"denom": "uatom"
@kaichen
kaichen / get_actions.json
Created December 26, 2018 07:51
eos history api
{
"actions": [
{
"_id": "5c232c16b5035bc1a6dc7585",
"receipt": {
"receiver": "luckymearena",
"act_digest": "f7b0b39cac563a1ab054a192ef017a7d45e34e07a12b49e0ed29bd117f3448ba",
"global_sequence": 3310712726,
"recv_sequence": 2827,
"auth_sequence": [
@kaichen
kaichen / luxe-ens-management.md
Last active November 6, 2018 06:25
how to integrate with luxe IANA

luxe ens managment

data structure:

mapping(uint=>mapping(address=>bool)) public registrars; // Maps IANA IDs to authorised accounts
mapping(bytes32=>uint) public nonces; // Maps namehashes to domain nonces

keep track mapping of user id and ethereum address, and domain nonce