充满爱意的机器 • Dario Amodei

本文是 Anthropic 的 CEO Dario Amodei 所写。Dario 曾担任 OpenAI 的研究副总裁,领导了 GPT-2 和 GPT-3 等大型语言模型的开发。他也是根据人类反馈进行强化学习的共同发明者。在加入 OpenAI 之前,他曾在 Google Brain 担任高级研究科学家。 文中 Dario Amodei 探讨了强大人工智能(AI)对未来世界的潜在积极影响。他强调,尽管人们对 AI 风险的关注是必要的,但 AI 的正面潜力同样不可忽视。他认为,AI 可以通过加速科学发现、改善人类健康、减少贫困、促进全球和平与民主等方式,极大地提升人类生活质量。Amodei 描述了一个“如果一切顺利”的未来,AI 将在多个领域带来革命性进步,尤其是在生物学、神经科学、经济发展、治理和人类工作的意义等方面。 AI 的潜力与风险: Amodei 强调,尽管 AI 的风险不容忽视,但 AI 的潜在好处可能比大多数人预期的更加激进。通过有效管理这些风险,AI 可以带来一个更美好的未来。 AI 在五大领域的应用: 生物学与健康:AI 可以加速生物学发现,解决疾病问题,延长人类寿命,甚至可能在 5-10 年内实现 50-100 年的科学进展。AI 将不仅仅是分析工具,而是成为“虚拟生物学家”,通过设计实验、控制实验室设备等方式推动生物医学的突破。 神经科学与心理健康:AI 将帮助理解和治疗精神疾病,如抑郁症、精神分裂症等。通过结合生物学、神经测量和行为干预,AI 可能在 5-10 年内治愈大部分精神疾病,并提升人类的认知和情感自由。 经济发展与贫困:AI 有潜力通过优化健康干预、提高生产力和促进经济增长,帮助发展中国家赶上发达国家。然而,AI 也面临腐败和人类复杂性等挑战。 和平与治理:AI 的发展可能会影响全球的民主与专制斗争。Amodei 提出了“民主联盟”策略,建议通过 AI 增强民主国家的军事和经济优势,以遏制专制国家的扩张。 工作与意义:尽管 AI 可能取代许多工作,但人类仍然可以通过与 AI 协作找到新的经济和社会角色。Amodei 提出,未来的经济可能需要重新设计,可能包括普遍基本收入等新形式的经济结构。 AI 对社会结构的影响: 健康与寿命:AI 可能在未来几年内消除大部分疾病,延长人类寿命,甚至实现“生物自由”,让人们能够控制自己的生物过程。 治理与民主:AI 有潜力改善民主治理,减少偏见,增强法律系统的公平性,并通过提供更透明的信息流动,削弱专制政权。 经济转型:AI 可能带来前所未有的经济增长,尤其是在发展中国家。然而,如何确保技术的公平分配和防止社会不平等的加剧,将是一个重要的挑战。 未来的愿景:...

October 12, 2024 · 5 min · fisherdaddy

OpenAI Canvas 介绍

OpenAI 于 2024 年 10 月开发者大会上发布 Canvas,官方给它的用途定义为:在写作和代码方面展开协作。有点结对写作和结对编程的意思,应该是想往写作工具(office、notion这些)和代码编辑工具(vscode、cursor)上扩展。下面我结合官方的文档以及我的试用体验,给大家简单大概介绍一下 Canvas。 功能 写作工具 该功能支持在线编辑文档,可以选中某一句或段文本进行追问让chatgpt进行改写,也可使用快捷键,其中快捷键包括建议编辑、调整长度、阅读水平、添加最后的润色、添加表情。有点类似于 DALLE 的交互逻辑。 代码编辑 该功能借鉴了 Claude 的 artifacts,虽然不支持在线预览,但支持在线编辑、选中某一句或段文本进行追问,也可使用快捷键,如代码审查、转移到另一种语言、修复错误、添加日志、添加注释。 关于实现 我阅读了一下 OpenAI 官方发布的介绍文章,这里记录了一些重点的内容。 重新训练了 GPT-4o,让它能够成为创造性的合作伙伴。这个模型知道何时打开 Canvas、进行有针对性的编辑或彻底重写。它还能理解更广泛的上下文,提供精准的反馈和建议。据 OpenAI 研究员介绍 Canvas 模型是通过合成数据进行训练的,并在 2 个月内训练了出具有核心行为的模型。 Canvas 有以下核心功能: 在写作和编程时触发 Canvas 生成多样化的内容类型 进行有针对性的编辑 重写文档 提供行内点评 通过超过 20 项自动化内部评估来衡量进展。使用了新颖的合成数据生成技术,例如从 OpenAI o1-preview 蒸馏输出结果,对模型的核心行为进行微调训练。这种方法让我们能够快速解决写作质量和新的用户交互问题,而且完全不依赖人工生成的数据。 一个关键的挑战是定义何时触发 Canvas。我们教会模型在像“撰写一篇关于咖啡豆历史的博客文章”这样的提示时触发 Canvas,同时避免在“帮我做一道新的晚餐食谱”这样的常规问答任务中过度触发。对于写作任务,我们优先提升了“正确触发率”(以牺牲“正确不触发率”为代价),达到了 83%,相比基础的零样本 GPT-4o 使用提示指令有了明显提升。 值得注意的是,这类基线的表现对具体提示的敏感性很高。使用不同的提示时,基线模型可能仍然会表现不佳,但形式不同——例如,它可能在编码和写作任务上同样表现不佳,从而导致不同的错误分布和其他形式的次优表现。对于编码任务,我们故意让模型偏向不触发 Canvas,以避免干扰高级用户的使用体验。 对于写作和编程任务,我们改进了正确触发 Canvas 的决策边界,分别达到了 83% 和 94%,相比基础的零样本 GPT-4o 使用提示指令有了显著提升。 第二个挑战是如何在触发 Canvas 后调整模型的编辑行为——特别是在何时进行有针对性的编辑,何时重写整个内容。我们训练模型在用户在界面中明确选择文本时执行有针对性的编辑,否则则倾向于重写。 训练模型生成高质量评论需要经过反复的仔细迭代。与前两个较容易通过全面人工审查适应自动化评估的情况不同,自动化衡量质量是一个特别具有挑战性的任务。因此,我们通过人工评估来判断评论的质量和准确性。我们的集成 Canvas 模型在准确性上比零样本 GPT-4o 使用提示指令提升了 30%,在质量上提升了 16%,这表明合成训练相比零样本加详细提示指令,能够显著提升响应质量和行为表现。

October 5, 2024 · 1 min · fisherdaddy

o1 研发团队/奥特曼/王小川/杨植麟对 OpenAI o1 的观点

o1 研发团队访谈 Hyung Won Chung:o1 是个推理模型,它在回答你的问题之前会做更多思考。我们将发布两个模型:o1 preview,还有采用了与 o1 相似的训练框架、更小更快的 o1 mini 什么是推理?Giambattista Parascandolo:可以这么理解:对于一些需要立即回答的简单问题,例如,「意大利的首都是哪里?」,不用想太多,就知道答案是罗马。但是如果想要解一个复杂的谜题、想精心策划一份商业企划书、或者想写小说,那可能需要很多思考。想得越多,可能成果越好。因此,可以说推理是一种把思考时间转化为更好成果的能力。 Mark Chen:很难确切指出 o1 是从哪个具体的时刻开始的。最早和 Yakob 进行了一些探索,后来又和Łukasz 和 Ilya 进行了早期的探索。关键时刻是 Jerry 一起整合了这些内容,并由 Jerry 来推动项目。 Trapit Bansal:当我们开始考虑要训练一个推理模型时,我最先想到的方法就是,可以让人类写下他们的思维过程,然后以此进行训练。我的「Aha Moment」是当我们发现,通过使用强化学习来训练模型生成和打磨它自己的思维链,效果竟然比让人类为其写下思维链更好。我们意识到可以真正扩展这个方法,并且专家模型也可以通过这种方式进行推理。 Jerry Tworek:从本质上讲,训练大型模型是非常困难的事情,有成千上万的事情可能出错,实际在每一轮训练中至少有数百个地方确实出错了。几乎每个人都投入了大量的心血、汗水和眼泪去训练这些模型,并想办法让它们继续学习和改进。通向成功的道路非常狭窄,而失败的可能性却很多。 Ilge Akkaya:这个模型非常优秀,很多时候甚至表现得比人类还要好,就像拥有好几个博士学位的水平。但这有时也是一种挑战,因为我们经常需要验证模型是否没有偏离轨道,或者是否在做一些不合理的事情。随着模型规模的扩大,这开始变得非常耗时;我们已经用尽了所有行业级资源,但我们不知道接下来应该找什么,所以这也是一个挑战。 Jason Wei:对我来说,我喜欢把 o1 当作一个头脑风暴的伙伴,从解决某个非常具体的机器学习问题到如何写一篇博客都适用。比如,我最近写了一篇关于语言模型评估的博客,我向 o1 询问了有关博文结构的想法、某些基准测试的优缺点,甚至包括写作风格的建议。因为它在给出最终答案之前会思考,更好地更好地连接起思路,它还可以修改和评估备选的方案。 Jakub Pachocki:每次我们将某件事扩大一个数量级时,都会遇到一组新的问题 —— 包括算法和基础设施方面的问题 ——OpenAI 无疑已经发展出了同时解决这两个方面问题的强大能力。 Hongyu Ren:我们的动机是希望将 o1 系列带给更多的用户,并降低成本。因此,我们创建了 o1 Mini,它的设计目的是展示整个 o1 框架的简化版本。我们让它成为一个推理专家,它可能不一定知道你最喜欢的名人的生日,但它确实能够非常有效地理解如何进行推理。它比我们之前最好的推理模型要聪明得多,并且几乎与我们最好的模型 o1 持平。它确实有一些限制,比如可能不知道很多外界的信息,尤其是与科学或技术无关的内容。但我们努力让它大致与我们之前最好的模型(如 GPT-4o mini)相当。我们正在进一步改进它,我非常期待外部用户能够尝试体验这种「闪电般」的推理和思维。 原文:https://www.thepaper.cn/newsDetail_forward_28821226 o1 研究团队三位核心技术人(Noam Brown、Hunter Lightman、Ilge Akkaya)对话红杉美国合伙人 o1 模型系列使用了强化学习,能够进行推理,或者你也可以称之为“思考”。它与我们过去使用的大型语言模型有本质上的不同。 我们从一开始就相信这一方向有潜力,但实际走到今天的路径并不清晰。你看看 o1 ,这并不是一夜之间的成果。实际上,这背后有多年研究,而其中很多研究并没有取得成效。 OpenAI 整体上采取了一种非常实证、数据驱动的方式,当数据开始向你展示趋势并且变得有意义时,我们就会追随这些线索。而这也是我信心确立的时刻。...

October 1, 2024 · 1 min · fisherdaddy

我爱计算器 • Andrej Karpathy

本文来自 Andrej Karpathy 的 blog,我这里将其翻译为了中文。 作者表达了对计算器的深深喜爱,尤其是作为一种技术产品和象征的意义。计算器不仅仅是一个简单的工具,它代表了一种极简、用户友好的技术哲学,与现代技术产品日益复杂、依赖性强、用户体验糟糕的趋势形成鲜明对比。作者认为,当前的技术产品越来越偏向于复杂的、依赖网络和用户数据的商业模式,损害了用户的隐私和自主权。作者呼吁消费者和开发者反思这种趋势,并以计算器为理想,推动技术回归简单、可靠和用户至上的方向。 计算器的优点: 计算器是一个自给自足的设备,不依赖外部网络或服务。 它通过太阳能或电池供电,不需要复杂的设置或更新。 计算器的功能简单直接,不收集用户数据,也不要求创建账户或登录。 这种技术产品在过去、现在和未来都能稳定运行,完全属于用户自己。 与现代技术的对比: 现代技术产品通常依赖互联网、需要账户注册、权限管理,并且频繁更新。 许多设备和应用程序通过数据收集、订阅模式等手段,逐渐侵蚀用户的隐私和控制权。 作者提到 CO2 监测器等现代设备,要求用户提供精确位置信息、创建账户等,来说明现代技术的复杂性和用户不友好性。 技术与资本主义的关系: 作者认为,现代技术的复杂性与资本主义公司追求最大化股东价值的目标有关。 通过数据收集、订阅服务等手段,公司可以在售卖产品的同时,持续从用户身上获利。 这种趋势导致技术产品变得越来越依赖用户数据,侵害用户的隐私和自主权。 对未来技术的期望: 作者希望技术产品能够像计算器一样,简单、可靠、用户至上。 他呼吁消费者通过抵制复杂、依赖性强的产品,来影响市场趋势。 开发者则应在设计产品时,考虑到用户体验和自主权,避免过度优化商业利益。 我爱计算器 2024年9月8日 前几天,我随意逛书店时,偶然发现了一本书:《总和帝国:掌上计算器的崛起与统治》。翻阅它的过程中,我突然有了一个强烈的感悟:我真的……爱……计算器。这里的“计算器”并不是指你今天可以购买和使用的实体设备,而是一种技术的结晶,也是一种哲学的象征。请看: 计算器是个奇妙的发明。通过手指操作,它仿佛成为你大脑的插件,扩展了你在算术方面的能力,让你思维更敏捷。而更神奇的是它的工作方式。计算器是一个完全独立的物理设备,它几乎不依赖外部技术环境。它只需要一点光(感谢它前面的太阳能板),或者电池,这些都很容易获得。你只需要花钱买它一次,它就永远属于你。只要按下“开机”键,它随时可以为你服务。如果你把这个小巧的设备带回几千年前,交给当时的人们,它也会正常工作,简直像是奇迹。 让我们对比一下我们现在习以为常的技术。计算器不需要联网,也不需要蓝牙权限。它不会询问你的位置信息,也不需要你创建账户或登录。它不会频繁提示你更新软件版本。你不必升级到什么带有正弦、余弦功能的“高级计算器+”版本。它不会硬着头皮变成一个多功能平台,也不需要你的信用卡信息,更不会追踪你的使用数据。它不会随机弹出窗口要求你评分或反馈,也不会在暗网上泄露你的数据或自动订阅什么通讯邮件。更不会因为服务器宕机而无法使用。所有的计算都在设备上完成,完全私密、安全,不会被记录。计算器就是你大脑的算术工具。它过去能用,现在能用,未来也能用。你买了它,它就是你的。它没有其他的附加要求,它只做它该做的事——如此完美。 相比之下,这款有上千好评的二氧化碳监测器却要求我必须创建账户、下载它的应用,并开启位置服务,才能告诉我房间内的二氧化碳含量。 那么,为什么我们的技术正逐渐变得如此复杂、臃肿,对用户不友好,充满反模式?一个常见的类比是,在资本主义经济中,公司可以被看作是在法规限制下,最大化股东价值的优化问题。如今的这些现象,是不是公司为了实现目标而过度优化的结果?为什么要卖产品,当你可以通过租赁来持续获利,并且最大化信息控制权,收集并货币化所有客户数据?政府是否在应对这些不利于用户的行业行为、外部成本和垄断问题时已经落后?作为消费者和开发者,我们应当记住并深刻感受技术本来的样子。技术可以像计算器那样简单、纯粹。也许不是所有的产品和服务都能做到,但它可以作为一种理念,一种可以不断追求的理想。作为消费者,我们可以更加意识到这种趋势,并通过影响公司利润来抵制这种趋势。而作为开发者,我们可以为优化目标增加一个意识形态的约束项。只有这样,我们才有可能找到真正的全局最优解。 这是一个资本主义经济中公司的数学模型,它可以被看作是解决一个二次规划优化问题。 以下是一些我觉得有趣且有启发的相关内容: Internet of shit 没有工业的技术 科技法官 过度追求效率使一切变得更糟

September 29, 2024 · 1 min · fisherdaddy

Licklider 1960 • Andrej Karpathy

本文来自 Andrej Karpathy 的 blog,我这里将其翻译为了中文。 在这之前先介绍一下文章标题里一个名字:Licklider,他的全名是 J. C. R. Licklider 是计算机科学和互联网发展的先驱,他的愿景和研究为现代交互式计算和全球计算机网络(即互联网)的诞生奠定了基础。他不仅在技术上有远见,预见了图形计算、时间共享系统、网络计算等概念,还通过资助和管理关键项目推动了这些技术的实现。他的工作直接影响了诸如 ARPANET(互联网的前身)、人机交互界面、以及人工智能的早期发展。 早期生平与教育背景 Licklider 于 1915 年出生于美国密苏里州圣路易斯。他在华盛顿大学获得了物理、数学和心理学的学士学位,并在罗切斯特大学获得了心理学硕士和博士学位,专攻心理声学。 职业生涯与学术贡献 他早期在哈佛大学和麻省理工学院(MIT)任职,参与了 SAGE 项目(半自动地面环境),这是冷战时期的计算机辅助防空系统。 在 MIT,他负责了人机交互的研究,并在 1960 年发表了具有里程碑意义的论文《人机共生》,预见了未来计算机与人类合作的方式。 推动互联网的先驱 Licklider 是互联网概念的最早提出者之一,1962 年他在一系列备忘录中提出了 “Intergalactic Computer Network” 的设想,这一设想后来演变为 ARPANET。 他在 ARPA(高级研究计划署)担任信息处理技术办公室(IPTO)主任期间,资助了多个关键项目,包括 MIT 的 Project MAC 和斯坦福大学的研究,这些项目推动了时间共享技术和网络计算的发展。 人机共生与人工智能 Licklider 的研究重点是如何通过计算机增强人类智能,而不是完全取代人类。他提出的 “人机共生” 概念预见了计算机将承担繁琐的任务,从而帮助人类在科学和技术思维中做出更高层次的决策。 他还对人工智能持谨慎态度,认为计算机虽然可以在未来某天主导思维过程,但在短期内,人类仍然会设定目标并进行评估。 计算机网络与全球通信 Licklider 的愿景不仅限于个人计算机的交互式使用,他还预见了全球计算机网络的潜力。他的 1968 年论文《计算机作为通信设备》详细描述了计算机网络将如何支持跨地域的合作和交流,这一设想成为了现代互联网的基础。 其他贡献 Licklider 还在心理声学领域做出了重要贡献,提出了 “双重音高感知理论”,并进行了有关双耳语音去遮蔽效应的研究。 他是互动小说游戏公司 Infocom 的创始成员之一,推动了计算机游戏领域的发展。 Licklider 的远见卓识不仅影响了计算机科学的技术发展,还改变了人们对计算机在社会中的角色的理解。他的工作为现代计算机网络、人工智能和人机交互奠定了基础。 本文摘要 Licklider 在其 1960 年的文章《Man-Computer Symbiosis》中,提出了计算机作为“智能增强”工具的概念。他认为,虽然完全自动化(即人工智能,AI)可能是未来的终极目标,但智能增强(IA)这一阶段将持续足够长的时间,值得深入思考和研究。Licklider 还预测了计算机在人类生活中扮演的角色,尤其是军事和日常任务中的应用。然而,许多当时的预测由于技术和数据的限制未能实现,今天的计算机技术发展方向与他预期的有所不同。 智能增强与自动化的对比 Licklider 认为,计算机在未来会逐步从智能增强工具过渡到完全自动化。然而,尽管当时的研究对人工智能和广义人工智能(AGI)充满乐观,实际进展远未达到预期。今天,AI 领域的主流方法(如大语言模型,LLMs)在当时是不可想象的,因为当时的计算能力和数据规模都无法支持。...

September 29, 2024 · 2 min · fisherdaddy

拥抱琐碎 • Jacob Kaplan-Moss

本文是 Django 的共同创建者,同时担任工程主管的 Jacob Kaplan-Moss 所写。作者通过一个魔术表演的例子,强调了成功的秘诀往往在于愿意投入大量时间和精力去完成那些看似枯燥、乏味的任务。这种“磨砺”的精神不仅适用于魔术,也适用于技术行业,甚至可以帮助解决复杂的问题。尽管自动化和效率是现代技术行业的重要追求,但有时解决问题的关键在于亲力亲为,愿意承担那些别人不愿意做的繁琐工作。 魔术的例子: 作者描述了一个魔术表演,观众选择的卡片最终出现在一个密封的茶包里。这个魔术的秘密不在于复杂的手法,而在于表演者在幕后进行了大量准备工作:打开数百个茶包,将卡片放入其中,然后重新封装。这种耗时的准备工作让观众无法想象背后的努力,从而感到惊奇。 魔术师的投入: 引用魔术师 Teller 的话,强调魔术的一个核心原则:观众会被那些需要比他们想象中更多时间、金钱和练习的表演所迷惑。比如,Teller 和 Penn 为一个节目准备了 500 只特制的蟑螂,花费了数周时间,只为完成一个看似简单的表演。 技术行业的应用: 作者将这种“磨砺”的精神引入技术行业,指出虽然自动化和效率是技术人员追求的目标,但有些问题无法通过自动化解决。例如,作者曾加入一个充满问题的团队,面对数千个未解决的错误报告。通过亲自阅读、分类和整理所有报告,作者成功扭转了局面,帮助团队恢复了效率。这一过程虽然耗时且单调,但最终的效果却如同魔术一般。 核心教训: 作者总结道,有时成功的秘诀不在于寻找捷径或依赖自动化,而在于愿意投入时间和精力去完成那些看似枯燥的任务。如果能“拥抱磨砺”,就能在看似不可能的情况下取得成功。 拥抱琐碎 我曾见过一个魔术表演,至今仍让我印象深刻。它的表演方式非常简单(为了清晰起见,我在此进行了简化):一位志愿者选了一张卡片,并将其密封在信封中。然后,魔术师请志愿者选择一种茶。桌上有几十盒茶,所有的茶都用塑料包装封好。志愿者选择一盒,撕开塑料包装,从里面挑选出一个密封的小袋。当志愿者撕开小袋时……里面竟然是他们之前选的那张卡片。 ⚠️ 如果你不想知道这个魔术的原理,请立即停止阅读。 这个魔术的秘密其实很平常,但对我来说却充满了神奇感。选卡片的过程其实是“强迫选择 (force)”。不过,志愿者从几十盒茶中选择的过程确实是自由选择,从茶盒中挑选茶包也是自由选择。没有任何手法或欺骗:魔术师根本没有接触到志愿者选择的茶盒或茶包。那张卡片真的就在密封的茶包里。 这个魔术的精髓在于背后的准备工作。表演前,魔术师会买来几十盒茶,将每盒茶都拆开,取出每个茶包,再将一张梅花三的卡片放入每个茶包里,然后重新密封这些茶包。接着,再把茶包放回茶盒中,并重新封好每个茶盒。这个过程重复几百次。可能需要几个小时,甚至几天的时间。 唯一的“魔术”在于,这样的准备工作看上去既枯燥又耗时,当我们看到最终的效果时,很难想象有人会为了这个看似简单的表演而做如此繁琐的准备。 Teller 在一篇关于“魔术七大秘密”的文章中提到了这个现象: 如果一个魔术比你(或其他任何理智的旁观者)愿意付出的时间、金钱和精力更多,你就会被它愚弄。我的搭档 Penn 和我曾在 David Letterman 的脱口秀节目上,从桌子上的礼帽里变出 500 只活蟑螂。为此我们准备了数周时间。我们雇了一位昆虫学家,他为我们提供了适合镜头展示的慢速蟑螂(厨房下水道里的蟑螂可不适合拍特写),并教我们如何在不尖叫的情况下抓住这些虫子。然后我们用泡沫板(蟑螂无法附着的少数材料之一)制作了一个秘密隔层,并精心设计了将这个隔层悄悄放入礼帽的方案。这个过程比表演本身要麻烦得多?对你来说可能是的。但对魔术师来说并不是。 很多刚入行的科技新人会问我成功的秘诀。其实并没有什么特别的秘诀,但有一个道理:愿意做那些看上去极其琐碎乏味的工作,就能产生像魔术般神奇的效果——这在科技领域同样适用。 我们是一个痴迷于自动化、精简和效率的行业。我们的工程文化奠基文本之一,Larry Wall 的《程序员的美德》中提到过“懒惰”: 懒惰:这种品质让你愿意付出巨大的努力来减少整体的工作量。它促使你编写省力的程序,这些程序能帮助其他人,并且记录你写的内容,这样你就不用重复回答同样的问题。 我并不反对这一点:将重复性工作交给程序处理是编程最好的地方之一。但有些问题是无法通过自动化解决的。如果你愿意去面对那些琐碎繁重的任务,你就能展现出如魔术般的能力。 例如,我曾经加入一个维护系统的团队,这个系统因为错误太多而陷入困境。大概有两千个未解决的错误报告。所有问题都没有被标记、分类或优先排序。团队无法就哪些问题需要优先处理达成一致。结果就是不断随机地处理错误,但这常常让人不清楚某个问题是否真的重要。新问题无法被有效处理,因为找到重复问题几乎是不可能的。未解决的问题数量继续攀升,团队已经停滞了数月。我被分配的任务是:让团队重新运转起来,扭转未解决问题数量的上升趋势,并最终将其降到零。 于是我采用了和魔术师一样的方法——其实根本没有什么技巧:我做了那些枯燥的工作。我把所有的问题都打印出来——每个问题一页纸。我读了每一页。我占用了一个大房间,把纸张堆放在地板上。我在便签上写上标签,然后贴在不同的堆上。我在各个堆之间移动纸张。我在白板上画了长长的列,写上问题编号,幻想自己像 Ben Affleck 在电影《会计刺客》中那样。我在那个房间里呆了将近三周,最后所有的错误报告都被审阅、标记、分类和优先排序。 趋势立即发生了逆转:我们立刻关闭了几百个重复的错误报告,而现在新问题的分类只需要几分钟,而不是一天。我们用了大概一年多的时间,将未解决的问题数量降到零,整个过程非常顺利。人们说我完成了不可能的任务,但其实不是:我只是做了那些琐碎乏味的工作,而没人愿意去做罢了。 有时候,编程像是魔术:你念一些晦涩的咒语,然后一群机器人就会按你的指令行事。但有时候,魔法其实很平凡。如果你愿意面对那些枯燥繁重的任务,你也能实现看似不可能的效果。

September 27, 2024 · 1 min · fisherdaddy

为什么我们坚持使用 Ruby on Rails • Sid Sijbrandij

这篇文章 由 GitLab Inc. 的联合创始人、首席执行官和董事会主席 Sid Sijbrandij 撰写,本文主要探讨了 Ruby on Rails 作为开发框架的优势,尤其是在 GitLab 项目中的成功应用。作者强调,Ruby on Rails 通过结合良好的架构和易用性,解决了传统开发框架在“可用性”和“结构性”之间的权衡问题。此外,文章讨论了 模块化 的重要性以及为什么 微服务 并不是实现模块化的唯一或最佳方式。最后,文章介绍了 GitLab 如何通过 模块化单体架构 实现了开源与商业模式的结合,促进了创新和扩展。 Ruby on Rails 的优势 Ruby on Rails 结合了 PHP 的易用性和 Java 的架构完整性,创建了一个既易于上手又结构良好的 Web 框架。 GitLab 选择 Ruby on Rails 作为其开发框架,得益于其易用性和良好的架构,这一选择极大地推动了 GitLab 的成功。 模块化的必要性 模块化可以缩短开发时间,减少沟通需求,并允许对单个模块进行独立的更改和研究。 作者引用了 David L. Parnas 和 Fred Brooks 的理论,强调模块化有助于减少复杂性和沟通成本。 微服务的局限性 虽然微服务可以通过操作系统强制模块边界,但这种方法带来了显著的性能和可靠性问题。 微服务架构增加了不必要的复杂性,并且没有保证能够真正实现模块化,反而可能导致“分布式混乱”。 模块化单体架构的优势 GitLab 采用了 模块化单体架构,即一个结构良好、模块化的单一进程程序。这种架构减少了复杂性,并提升了开发效率。 虽然 Rails 有一些性能问题,但 GitLab 通过结合其他技术(如用 Go 编写的 gitaly 守护进程和 PostgreSQL)解决了这些问题。 开源与商业模式的结合...

September 27, 2024 · 1 min · fisherdaddy

作为独立开发者,如何管理我的动力 • Marcus Buffett

本文作者 Marcus Buffett 作为一名独立开发者,分享了自己在保持工作动力方面的经验与心得。作者强调,作为独立开发者,如何有效地激发和维持动力是一个关键问题,并介绍了多种策略来帮助自己保持高效工作。这些策略包括从外部获取动力、留下一些未完成的任务、亲自使用自己的产品、解决痛点、避免“零日”、以及与合作伙伴保持互动等。文章的基调轻松,更多像是一篇个人日记而非正式的建议。 外部动机的利用: 作者自知自己更依赖外部动机,因此通过系统化的方式来获取动力。例如,订阅通知和社交媒体提及提醒等外部反馈能给他带来动力,尽管随着时间推移,这种动力的强度会有所减弱。 留下一些未完成的任务: 每次工作结束时,作者会刻意留下一些未完成的任务,这样第二天开始工作时能迅速进入状态。这种“快速胜利”的策略帮助他更快进入工作流。 亲自使用产品: 通过亲自使用自己开发的产品,作者能够更直观地感受到产品中的问题和不足,从而激发改进的动力。同时,这也带来了更好的产品创意。 解决痛点: 作者强调,与其强行忍受工作中的痛点,不如寻找解决方案。例如,使用自动生成类型的库来减少重复性工作,不仅消除了痛苦,还增加了工作的兴奋感。 避免“零日”: 作者尽量避免“零生产力日”,即完全没有任何工作成果的日子。即使是完成一点小任务,也能让他在休息时没有负罪感,从而真正放松。 合作伙伴的作用: 尽管是独立开发者,作者也提到拥有一个合作伙伴的重要性。合作伙伴不仅能在技能上互补,还能通过定期的沟通和反馈保持双方的工作动力。 灵活利用突发的动力: 当灵感和动力突然涌现时,作者会立即行动,即使是在深夜。这种灵活性是独立开发者的一大优势。 做“无事”以重新聚焦: 当陷入社交媒体等干扰时,作者发现最有效的策略是先什么都不做,让大脑冷静下来,再重新进入工作状态。 通过这些策略,作者能够更好地管理自己的动力,保持工作效率,同时也享受独立开发的自由和灵活性。 作为独立开发者,如何管理我的动力 对于独立开发者来说,保持动力是最大的挑战之一。我一直在记录如何“破解”我的动力,哪些方法有效,哪些方法无效。以下是一些对我而言行之有效的策略。 将外部刺激转化为动力 我一直知道自己比起内在动机(intrinsically motivated)更受外部动机(extrinsically motivated)驱动。因此,我建立了一些系统来获取短暂的外部动力,例如当有人订阅时,我的 Money Bots 会立即弹出通知。 虽然我平时会关闭大多数推送通知,但这些订阅通知会直接出现在我的主屏幕上。每次收到通知时,我都会感到一阵小小的动力提升。尽管一开始每新增一个订阅者都会带来强烈的多巴胺刺激和能量提升,但随着时间推移,这种刺激会逐渐减弱。然而,这些通知依然能为我提供动力。 类似地,我还订阅了一个服务,当有人在网络上提到我的项目 Chessbook 时,它会立即通知我。这不仅有助于市场推广,因为在社交媒体上与用户互动很重要,同时,每当看到有人(希望是正面的)讨论我开发的项目时,也会激励我继续前进。 此外,我还创建了一个名为 #pump-up 的频道,用来记录我们达到的一些里程碑,比如月经常性收入(MRR)达到 $X 美元,Discord 用户达到 2000 人,流失率低于 6% 等等,这些成就都令人振奋。 任务留一点没做完 这一点对我的帮助非常大。我尽量在结束一天的工作时,将任务留到 90% 完成。这种状态比完全完成任务稍显不爽,但第二天开始工作时,会轻松 10 倍。开始一天的工作时,能迅速完成一个小任务,会让我立刻进入“心流状态”(flow state)。但任务也不能过于简单,如果只是运行 git commit 就能完成,那就没有挑战了。理想情况下,剩余的任务应该是我知道怎么做,但需要花 5-10 分钟才能搞定的。 尽可能多地使用自己的产品 我尽量多使用自己开发的产品。有人报告某个小 bug 时,我可能觉得无关紧要。但当我自己遇到同样的问题时,才意识到它对用户体验的负面影响有多大,这时我就会立刻修复它。亲身体验的痛点远比别人告知的更直观。 顺便一提,这也帮助我想出更好的产品创意。最好的创意往往不是坐下来冥思苦想用户可能想要什么,而是来自我自己在使用过程中发现了需求。 消除痛点,而不是硬着头皮坚持 开发过程中,总会有一些令人头疼的任务,比如维护被忽视的代码库、处理第三方服务,或者发布新版本的原生应用等。如果我知道某个任务中包含这些内容,就会更难鼓起勇气去开始。 诀窍是,你几乎总能找到方法来减轻这些过程中的痛苦。 比如,最近我开始一个新任务时感到很大的阻力,因为它需要创建 4 个以上的新接口,而这通常涉及很多重复代码。我需要在后端定义数据类型,然后在前端再次定义,确保传递的数据和路径都正确,而且由于没有类型检查,这通常第一次总是出错的。所以我在开始前,找到了一个名为 RSPC 的 RPC 库,它可以自动为我生成类型定义,使得在前端调用后端函数变得和调用另一个异步函数一样简单和安全。...

September 27, 2024 · 1 min · fisherdaddy

Canva 的 SEO 策略:程序化内容聚合与反向链接

偶然看到的一篇介绍Canva SEO的推文,我整理了一下并翻译成了中文。 Canva 是 SEO 领域的典范。 每月流量达 2.42 亿 拥有 2900 万个反向链接 (Backlinks) 覆盖 190 个目标国家 每月用户达 1.8 亿 公司估值 260 亿美元 我花了 20 多个小时逆向分析了他们的成功策略。 总结出 7 大核心 SEO 策略: 策略 1:程序化 SEO Canva 非常擅长程序化 SEO,这种策略通过自动化方式创建成千上万个针对 SEO 的网页。 这些页面专门针对与设计需求相关的搜索,如: 标志设计 简历制作 图表、统计图等… 这些页面通常瞄准高搜索量的关键词,为 Canva 带来了超过 1 亿的每月 SEO 流量。 Canva 的程序化策略分为两个主要类别: 1. 制作器/生成器页面 公式:[主题] [生成器/制作器] 例如:简历生成器 或 标志制作器 Canva 的制作器/生成器页面是其 SEO 策略的核心,它们的目标用户是那些想要创建设计的客户。 这些页面有两个主要作用: 信息中心 功能型着陆页 这些页面为用户提供了在 Canva 平台上直接创建所需设计的工具。 2. 模板 公式:[创意] 模板...

September 26, 2024 · 1 min · fisherdaddy

智能时代 • Sam Altman

本文探讨了人类即将进入“智能时代”的前景。通过人工智能( AI )的持续发展,尤其是深度学习技术的进步,人类将能够解决许多当前难以想象的问题,并实现前所未有的繁荣。尽管 AI 的发展可能带来挑战和风险,但其潜力巨大,将极大地提升全球生活质量。未来的 AI 将不仅仅是工具,而是能够协助人类完成复杂任务的虚拟助手,推动科学、教育、医疗等领域的全面进步。 历史进程与 AI 的加速作用: 人类历史上通过科学发现和技术进步不断提高能力, AI 将加速这一进程。我们的祖先为现代社会奠定了基础,而 AI 将帮助我们在这一基础上继续构建,解决难题并实现新的突破。 深度学习的成功: 深度学习技术的突破是推动 AI 进步的核心原因。随着计算资源和数据的增加, AI 在解决问题上的表现越来越好。深度学习能够学习任何数据分布的底层规律,这种能力使其成为解决复杂问题的有力工具。 AI 的未来潜力: 未来, AI 将成为个人助手,帮助协调医疗、教育等各个领域的任务。 AI 还将推动下一代系统的开发,促进科学的全面进步。人类将拥有虚拟专家团队,能够实现几乎任何想象中的目标。 智能时代的繁荣与挑战: AI 的广泛应用将带来巨大的繁荣,未来每个人的生活质量都可能超过当今最富有的人。然而,繁荣并不一定直接带来幸福,社会需要谨慎应对 AI 带来的挑战,特别是劳动力市场的变化。尽管工作形式会发生变化,但人类的创造力和互助精神将继续推动社会进步。 技术与能源的基础设施需求: 为了使 AI 普及并惠及更多人,必须降低计算成本并确保能源和芯片的充足供应。如果基础设施建设不足, AI 可能成为一种稀缺资源,甚至引发冲突。 风险与应对: 尽管 AI 可能带来一些负面影响,如就业市场的变化,但这些变化将比预期更为缓慢。社会应尽早采取措施,最大化 AI 的好处,同时尽量减少其潜在的危害。 未来的展望: 智能时代将带来前所未有的繁荣和技术突破,如解决气候问题、建立太空殖民地、揭示物理学的终极奥秘等。虽然这一切不会一蹴而就,但 AI 的发展将使这些成就变得可能且常见。 智能时代 在未来几十年里,我们将能够实现一些在祖辈眼中如同魔法般的事物。 这种现象并非新鲜事,但其发展速度将大幅提升。随着时间推移,人类的能力显著增强;我们现在已经能够做到许多前辈们认为不可能的事情。 我们的能力提升并非源于基因变化,而是因为我们生活在一个比任何个体都更智慧、更强大的社会体系中。从某种意义上说,社会本身就是一种高级智慧。我们的祖辈和他们之前的几代人,为我们今天所依赖的“人类进步的基石”奠定了基础。人工智能(AI)将为人类提供工具,帮助我们解决难题,为这一进步体系增添新的支撑点,让我们能够实现单靠自身难以完成的任务。进步的故事将继续延续,我们的子孙后代将拥有更强的能力。 这一过程不会一蹴而就,但我们很快将能与 AI 合作,实现比以往更多的成就。最终,每个人都可以拥有一支虚拟专家团队,涵盖各个领域的 AI 专家,共同创造几乎所有我们能够想象的事物。孩子们将拥有虚拟导师,可以在任何学科、任何语言以及任何学习进度上,提供个性化的指导。类似的应用还可以扩展到医疗保健、软件开发等众多领域。 借助这些新能力,我们有望实现今天难以想象的共享繁荣;未来,每个人的生活都有可能比现在任何人的生活都要好。虽然财富不一定能带来幸福——即使在富人中也有不少不快乐的例子——但它确实能够显著改善世界各地人们的生活。 从狭义上看,人类历史就是科学发现和技术进步不断积累的过程。经过数千年的努力,我们学会了如何将沙子熔化,加入杂质,并以惊人的精度在极小的尺度上排列成计算机芯片,最终创造出能够生成日益强大的人工智能的系统。 这可能是迄今为止人类历史上最重大的事实。或许在未来几年内(!),我们就能拥有超级智能(Superintelligence);即使需要更长的时间,我也相信我们终将达到这一目标。 我们是如何到达这一繁荣的起点的? 简单来说,就是因为深度学习 (Deep Learning) 有效。 更具体地说,深度学习在规模扩展的过程中,表现出可预见的效果提升,而我们为其投入了越来越多的资源。 事实就是这样:人类发现了一种算法,它能够真正学习任何数据分布(更确切地说,它能够学习生成任意数据分布的“规则”)。随着计算能力和数据的增加,它帮助人们解决难题的能力也随之提升。尽管我花了很多时间去思考这一点,但仍无法完全领会它的深远意义。 我们仍有许多细节问题需要解决,但过于关注某个具体挑战是错误的。深度学习确实有效,我们将会解决剩下的问题。未来会有许多可能发生的事情,但最主要的是,随着 AI 规模的扩大,它将变得越来越强大,从而显著提升世界各地人们的生活质量。...

September 24, 2024 · 1 min · fisherdaddy