<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>周良 Len</title>
    <link>https://zhoulianglen.com/</link>
    <description>AI 产品经理，用 Vibe Coding 把想法做成产品</description>
    <language>zh-CN</language>
    <copyright>All rights reserved 2026, 周良 Len</copyright>
    <lastBuildDate>Mon, 14 Sep 2026 22:34:54 GMT</lastBuildDate>
    <generator>Hexo</generator>
    <atom:link href="https://zhoulianglen.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>先做成一门生意，再谈增长</title>
      <link>https://zhoulianglen.com/business-growth-methods</link>
      <description>从互联网医疗、社交电商、建筑 SaaS、公链和 API Token 业务出发，复盘如何验证价值交换、完成冷启动、跑通商业闭环并复制增长。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/operations/">运营</category>
      <category domain="https://zhoulianglen.com/categories/share/">分享</category>
      <category domain="https://zhoulianglen.com/tag/product-manager/">产品经理</category>
      <category domain="https://zhoulianglen.com/tag/growth/">增长</category>
      <pubDate>Tue, 15 Sep 2026 02:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<blockquote><p>本文整理自我在深圳 AI 出海 Meetup 的一次现场分享，由录音内容精简而成。分享的主题虽然是 AI 出海，但我更想讨论一件基础的事：无论战场怎么变，商业于增长的底层逻辑并没有变。也顺带整理了过去十年我在产品和运营工作上的一些或许无用的方法论。</p></blockquote><h2 id="heading-1">01. 关于我</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-01-len-speaker-profile.png" alt="周良 Len 与个人介绍" decoding="async"></p><p>我是周良 Len。过去这些年，我做过基金，也做了大约十年产品经理；做过运营合伙人，也自己创业做过电商和互联网医疗平台。后来我从杭州来到深圳，加入一家从事 GPU 租赁和 Token 业务的公司。</p><p>我的经历看起来很杂，但这些工作背后一直是同一件事：理解一门生意，找到价值交换成立的方式，然后把已经跑通的闭环复制放大。</p><p>回头看我做过的医疗、电商、建筑 SaaS、公链和模型 API，它们表面上完全不同，最后遇到的却总是相似的问题。与其追逐某个短期渠道或工具，我更关心这些业务共同依赖的商业逻辑。</p><h2 id="heading-2">02. 出海只是换了战场，增长没有换底层逻辑</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-02-ai-global-expansion-growth-logic.png" alt="出海只是换了战场" loading="lazy" decoding="async"></p><p>出海会改变语言、渠道、支付方式和文化环境，AI 也会改变产品形态和交付效率，但商业的底层逻辑没有因此消失或改变。客户为什么选择你，愿意拿什么与你交换，以及这次交换能不能持续发生，这些问题始终存在。</p><p>因此，这次分享不会把重点放在某个出海渠道或某种 AI 工具上。我更关心的是：换了一个战场之后，我们还能不能把生意做成。</p><p>语言不同，获客渠道不同，用户使用的支付工具不同，甚至对信任的理解也不同。这些变化都需要认真处理，但它们更多属于表层条件。再往下一层看，用户是否需要你的产品、谁来作出购买决定、谁愿意付钱、你能否履约，这些事情并不会因为加上「AI」或「出海」两个标签就自动成立。</p><h2 id="heading-3">03. 先做成一门生意，再谈增长</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-03-build-business-before-growth.png" alt="先做成一门生意" loading="lazy" decoding="async"></p><p>我一直不太愿意把自己叫作「增长运营」。我更愿意说自己是一个生意人。增长并不是单纯把流量做大，而是把一套已经成立的价值交换不断复制和扩大。</p><p>如果第一次交换都没有发生，增长只会把问题放大。先证明有人需要、有人愿意付出成本、我们也能持续交付，然后再讨论规模。</p><p>我过去做增长时，从来没有觉得自己是在执行一套固定的增长方法论。我更像是在不停地做生意：先找到一笔能够发生的交易，再看这笔交易为什么成立，最后想办法把它重复一百次、一千次。所谓增长，只是这个复制过程的结果。</p><h2 id="heading-4">04. 一套增长方法，解决六个连续问题</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-04-six-step-business-growth-framework.png" alt="增长方法的六个问题" loading="lazy" decoding="async"></p><p>我通常把一门生意拆成六个连续问题：看懂生意、定义价值、找到矛盾、完成交换、跑通闭环、复制放大。</p><p>先看清这门生意里的参与者和利益关系，再定义用户到底得到了什么、公司又得到了什么。接着找到阻碍交换发生的核心矛盾，用产品、服务或组织能力完成第一次交换。闭环能够持续运转之后，才轮到增长。</p><p>这六步有严格的先后关系。如果生意没有看懂，就很难定义真正的价值；如果没有找到矛盾，团队很可能用一堆功能去解决假问题；如果没有完成过一次交换，所谓闭环就只是纸面上的流程图。增长不是从最后一步突然开始，而是前面五步都成立之后自然出现的结果。</p><h2 id="heading-5">05. 增长之前，先确认这是不是一门生意</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-05-business-value-exchange-model.png" alt="用户价值与公司收入" loading="lazy" decoding="async"></p><p>商业可以被理解为不同个体或群体之间的价值交换：用户获得需要的价值，公司获得收入。如果这件事还能为社会提供更多价值，当然更好。</p><p>产品只是承载交换的工具。APP、网页、Agent 都不重要，重要的是没有这些工具时，这笔交换是否仍然成立。产品的作用，是让已经成立的交换更高效、更稳定。</p><p>我原来是产品经理。我对产品经理的理解，是在用户价值和商业价值之间寻找平衡。用户得到他需要的东西，公司获得能够持续经营的收入，产品负责承载和优化这个过程。因此，我不会先问「我们要做一个什么 APP」，而会先问「这笔交换有没有可能发生」。如果不开发产品也能完成第一单，往往应该先把第一单做出来，这才是我们常说的 MVP 的本质。</p><h2 id="heading-6">06. 不要把「用户」当成一个人</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-06-user-roles-decision-payment.png" alt="用户角色拆分" loading="lazy" decoding="async"></p><p>一项业务里的「用户」往往不是同一个人。使用者、决策者、付费者和推动者可能分别由不同角色承担。有时还存在明确的阻碍者。</p><p>很多产品的需求并没有错，最后却死在利益关系上。真正获益的人不承担成本，承担成本的人又得不到收益，价值交换自然无法继续。分析用户时，必须先把这些角色拆开。</p><p>我自己过去做产品也经历过失败。回头复盘时，需求判断可能没问题，技术也做出来了，最后却因为没有处理好获益者与付出者的关系而失败。一个人说「需要」，不代表另一个负责付款的人会买；决策者同意购买，也不代表真正使用的人愿意改变习惯。把所有人统称为「用户」，会掩盖最重要的矛盾。</p><h2 id="heading-7">07. 指标的价值，是帮助行动</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-07-actionable-metrics-north-star-metric.png" alt="虚荣指标、可行动指标与北极星指标" loading="lazy" decoding="async"></p><p>我把指标分成三类。虚荣指标看起来漂亮，却不能改变业务，比如下载量很大，但激活和留存接近于零。可行动指标能够告诉团队下一步该做什么，常见的包括激活、留存、转化和用户的商业行为。</p><p>北极星指标通常只有一两个，它们代表产品或商业模型中最关键的结果。指标不是为了证明团队厉害，而是为了帮助我们判断问题、安排优先级并采取行动。</p><p>比如一款 APP 有一千万甚至一个亿的下载量，但激活和留存都是零，这个下载量对业务没有意义。相反，一项规模不大的指标，如果它发生变化后能明确告诉团队该改什么，就是有价值的指标。北极星指标也不是越多越好。它应该能长期指引团队，一旦这个数据持续改善，商业结果通常不会太差。</p><h2 id="heading-8">08. AARRR 是一张问题地图</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-08-aarrr-growth-funnel-framework.png" alt="AARRR 模型" loading="lazy" decoding="async"></p><p>AARRR 把用户旅程拆成获客、激活、留存、收入和推荐。不同业务可以调整这些环节的顺序，但它的价值一直没变：帮助团队看清用户从哪里来，在哪一刻第一次感受到价值，为什么愿意留下，何时愿意付钱，以及会不会把别人带进来。</p><p>它不是五个需要汇报的字母，而是一张排查商业问题的地图。</p><p>获客回答用户从哪里来；激活回答用户第一次真正感受到价值的时刻是什么；留存回答这种价值能不能持续发生；收入回答用户是否愿意用钱完成交换；推荐则回答体验是否足以让用户把朋友和同事带进来。不同业务里，这几个环节可以重排，但每一环都必须对应真实行为，而不是一个孤立的数据字段。</p><h2 id="heading-9">09. 漏斗优化先看最上游</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-09-upstream-funnel-optimization.png" alt="漏斗优化顺序" loading="lazy" decoding="async"></p><p>我优化漏斗时，通常会优先寻找上游的关键断点。比如付费率已经达到 5%，团队投入大量精力，可能也只能将它提高到 6% 或 7%；但如果首次价值环节能多留住十到十五个百分点，这部分增量会沿着漏斗传导，最终会显著放大转化的 GMV。</p><p>这不是一条绝对规则，而是一种 ROI 思维：团队的时间和资源有限，应该优先解决影响范围大、改善空间也大的问题。漏斗分析的本质，不只是观察转化率，更是确定投入精力的顺序。</p><h2 id="heading-10">10. 案例一：用户在哪里不重要，他此刻愿意做什么更重要</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-10-local-healthcare-growth-case.png" alt="互联网医疗案例" loading="lazy" decoding="async"></p><p>第一个案例来自互联网医疗平台微脉。当时许多平台展示的是全国医生，但患者最终需要在线下完成诊疗。人在深圳打开产品，看到的医生可能来自北京、南京或天津，却很难找到一个可以在线下继续服务的本地医生。</p><p>我们判断，互联网医疗的核心不只是线上问诊，而是通过本地医生建立信任，再把服务闭环落到线下。</p><p>当时我把市面上的主要互联网医疗产品都看了一遍。无论好大夫、丁香医生还是平安好医生，都能提供大量医生在线咨询，但医生与患者所在城市经常没有关系。医疗与普通内容产品不一样。用户线上咨询以后，检查、手术、治疗和长期复诊仍然依赖本地机构，医生离患者越远，后续服务越难形成闭环。</p><p>因此，我们没有继续在「医生数量更多」这件事上竞争，而是把问题重新定义为：怎样让患者在真实就医场景里认识并信任一位医生？</p><h2 id="heading-11">11. 冷启动先选择能赢的战场</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-11-cold-start-market-selection.png" alt="本地化与四五线城市策略" loading="lazy" decoding="async"></p><p>我们决定只做本地医生，并把主要战场放在四五线城市。同样一笔预算，如果投入一线城市，只能覆盖一个高成本市场；放到更小的城市，可以同时覆盖多个区域。</p><p>当竞争对手集中在一线城市时，我们利用本地化和成本差异建立优势。冷启动不是寻找「蓝海」这个抽象概念，而是选择资源约束下更有机会赢的战场。</p><p>当时我的直观计算是，打一座深圳或杭州的成本，可以覆盖几个金华、宁波或台州。四五线城市的医疗资源同样存在数字化需求，但竞争强度和进入成本都低得多。我们用本地医生建立服务网络，再借助城市数量获得用户增量。这更像「农村包围城市」，先在别人不愿意重投入的地方形成规模。</p><h2 id="heading-12">12. 医院里的每个瞬间，都有不同的转化任务</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-12-hospital-patient-journey-conversion.png" alt="医院场景中的用户入口" loading="lazy" decoding="async"></p><p>我们把患者在医院的旅程拆开：挂号、科室候诊、缴费、看病结束。每个场景里，用户的意图都不同。</p><p>挂号后可以推荐对应医生的咨询服务；候诊时，用户有停留时间，可以通过医院 Wi-Fi 连接到公众号；缴费后可以进入后续 Push 触达体系；看病结束时，患者对医生已经建立了初步信任，适合连接后续咨询复诊服务。</p><p>有效用户不是一个新增数字，而是在具体场景里有明确意图、能够继续完成价值交换的人。</p><hr><p>最大的入口是挂号。我们与医院一起把挂号、缴费和查报告做成了线上流程，合作医院的患者只要使用手机，就可能进入我们的服务体系。候诊也是一个重要场景。患者在科室门口等面诊、等报告时有明确的停留时间，当年微信刚好支持连接医院 Wi-Fi 后关注公众号，我们就把不同科室的用户导入相应的服务入口。</p><p>缴费环节还出现过一个特殊机会：用户微信支付达到规定金额后，可以自动关注指定公众号。单个公众号达到粉丝上限后功能就会失效，所以高峰期我们每周都要注册几个新公众号承接用户。这些做法带有很强的时代特征，但它们背后的判断仍然成立：用户在每个节点的意图不同，不能用同一种内容和转化动作处理。</p><p>转化最高的时刻出现在看病结束后。我们曾经给医生桌上放二维码，内部名称叫「患者报到」。我接手后重新设计，把它改成患者能理解的「加医生微信」，并把二维码印在纸上塞进病历，告诉患者有问题可以扫码免费问三个问题。实际结果是，扫码后的患者大多会与医生交流；只要对话达到一定深度，许多人就会在一段时间后购买医生的服务。</p><h2 id="heading-13">13. 公众号不是粉丝池，而是生命周期基础设施</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-13-wechat-patient-lifecycle-management.png" alt="微信公众号生命周期" loading="lazy" decoding="async"></p><p>我们没有把公众号当成简单的流量池。用户通过哪个二维码、从哪个科室和医生进入，都会被识别。就诊当天、第三天、第七天、一个月后，用户会收到与疾病、科室和医生相关的不同内容。</p><p>公众号真正承载的是用户识别、持续触达和服务转化。它是一套生命周期基础设施，而不是一个用来累计粉丝数量的账号。</p><p>我们会根据二维码来源判断用户来自哪家医院、哪个科室，甚至哪位医生，再决定推送什么。骨科患者不应该收到与他无关的泛医疗内容，看病当天和看病一个月后也不应该收到同样的信息。每一条路径都对应不同的触达节奏和转化任务。</p><p>当时我的团队规模并不大，大致是两名业务人员配合三名研发。公众号矩阵累计获得了约 3500 万粉丝，并成为平台订单转化的重要来源之一。这里最重要的不是粉丝总数，而是我们知道这些人为什么来、此刻需要什么，以及下一次价值交换可能在哪里发生。</p><h2 id="heading-14">14. 单点工具一旦开放，就可能变成增长飞轮</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-14-hospital-saas-growth-flywheel.png" alt="医院 SaaS 开放策略" loading="lazy" decoding="async"></p><p>单个医院的流程优化得差不多以后，增长遇到了新的瓶颈：继续靠自己的团队逐家实施，速度太慢；依赖患者推荐也很难成立，因为疾病不是适合主动传播的消费场景，医疗天然不适合粗暴裂变。要让业务滚得更快，必须换一种复制方式。</p><p>很多医院缺少开发和运营能力，原有系统也常由外包公司维护。我们把挂号、缴费、查报告和生命周期管理做成免费工具，嵌入医院公众号，条件是医院里的医生接入我们的医生端。医院获得一套可用的系统，我们则通过医生端和生命周期体系承接后续服务。第一周同时上线了二十多家医院，效率远高于自己的团队逐家推进。增长的关键不再是继续堆人，而是把自己的能力变成合作方愿意采用的东西。</p><h2 id="heading-15">15. 跨城市复制的关键是组织模型</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-15-cross-city-organization-growth-model.png" alt="总部能力与本地关系" loading="lazy" decoding="async"></p><p>免费工具解决了单家医院的部署效率，却没有完全解决跨城市扩张的问题。产品和运营能力可以标准化输出，医院关系、地方资源和落地经验却很难由总部远程复制。当业务从一家医院走向几十座城市，增长的瓶颈便从「工具怎样复制」转向「组织怎样复制」。</p><p>一家杭州公司很难真正理解全国几十个城市的医疗关系。我们把总部的产品、数据和标准化能力开放出去，在核心城市寻找有长期行业经验的本地负责人，通过子公司分享一部分利润。</p><p>总部提供完整能力，本地 CEO 解决医疗关系和落地问题。两者相乘，形成城市扩张速度。跨城市复制不是把总部动作重复七十遍，而是重新设计组织模型。</p><p>我们最终相当于把一家公司拆成了几十家城市公司。当地负责人不需要从头组建产品、研发和运营团队，总部把钱、人员、产品和业务方法准备好；他需要做的，是利用多年积累的本地医疗经验，把医院和关键资源连接起来。</p><p>在三四线城市，这种模式的成本更低。当地 CEO 分享子公司的一部分利润，也有足够动力推动落地。增长在这里已经不再是一个投放或产品问题，而是「总部能力 × 本地关系」的组织问题。</p><h2 id="heading-16">16. 案例一补充：冷启动最稀缺的往往是信任</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-16-campus-social-commerce-trust-network.png" alt="社交电商案例" loading="lazy" decoding="async"></p><p>离开微脉之后，我尝试做社交电商。当时行业都在争夺宝妈人群，我想找一个传播结构更强、又没有被充分服务的人群，最后选择了大学生。</p><p>大学生的关系网络天然向外扩散，但真正稀缺的不是流量，而是信任。我进入学校，寻找卖电话卡的人、社团负责人、楼长和宿舍管理人员。这些人才是校园网络里的信任节点。</p><p>我选择学生，还有一个原因。当一个人成为宝妈，她身边会出现很多处在相似阶段的人；而一个大学生的同学网络，可能从本校延伸到其他城市甚至海外。它不是围绕单一社区形成的小圈子，而是更分散、更具传播性的关系网络。当时我判断，这种结构的复制效率可能比宝妈市场更高。</p><p>但不能因为「大学生多」就把他们看成流量。我去学校待了几天，加了卖电话卡的人、吉他社和滑板社负责人、Cosplay 社团负责人、每层宿舍楼长、宿管阿姨和教官。我要找的是学生已经信任的人，而不是从外部硬插入一个陌生平台。</p><h2 id="heading-17">17. MVP 的极致，是先不用开发</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-17-mvp-before-product-development.png" alt="MVP 的投放与验证" loading="lazy" decoding="async"></p><p>当时我没有完整团队，也没有多少钱。我先找到一批供应链，用 Excel 标清供货价和利润，再把表交给校园里的信任节点。没有开发复杂系统，第一个月就做出了约 500 万利润，证明学生愿意买、校园节点能够卖、供应链也可以完成履约，这条交易链路是成立的。</p><p>这才是我理解的 MVP：它不是一套功能较少的平台，而是用最低成本验证生意中最关键的假设。交易跑通以后，扩张和产品开发要解决的就不再是「这门生意能不能成立」，而是如何把已经验证的动作复制成一百份、一千份。产品和平台不是起点，而是规模化工具。</p><p>后来我们发现，要进一步释放学生的消费能力，业务会逐渐触及信贷。但监管政策不允许继续向学生开放相关金融服务，信贷平台最终关闭。这也是商业闭环的一部分：用户需求、产品和交易链路成立还不够，业务还必须在政策和社会边界内成立。</p><h2 id="heading-18">18. 案例二：产品落不了地，往往不是用户不会用</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-18-construction-saas-adoption-case.png" alt="建筑 SaaS 案例" loading="lazy" decoding="async"></p><p>第三个案例是一家建筑 SaaS 公司。产品拥有同行 80% 到 90% 的功能，公司连续投入数年，却没有真正的客户和收入。</p><p>我去工地跑了两三周后发现，问题不在功能，而在采用成本。记录数据会给一线人员增加额外工作，有些透明数据还会触碰既有利益。老板获益，一线承担成本，价值和成本完全错位。</p><p>这家公司每年大约亏损 2000 万，已经做了三四年。老板早年就在工地搬砖，对行业有很深的经验，也一直靠自己的资金支持产品。站在办公室里看，这套 SaaS 缺的似乎只是销售；到了工地以后，才发现即使购买了竞品的客户，也很难真正让一线人员持续使用。</p><p>我在那里听不懂工人的方言，也看到大量记录仍然依赖不同颜色的纸质本子。让他们在原有工作之外再打开 APP、拍照、录入数据，并不是一个「培训一下就能解决」的小问题。</p><h2 id="heading-19">19. 「不会用」的背后，是「不想用」</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-19-saas-user-adoption-resistance.png" alt="建筑 SaaS 的采用阻力" loading="lazy" decoding="async"></p><p>使用门槛不只是界面复杂。员工使用考勤工具，往往不是因为喜欢，而是管理制度要求。在建筑现场，人员结构复杂、操作习惯不同，一线员工还可能因为数据透明而失去灰色收益。</p><p>如果只把问题归因于培训不足或功能不够，产品会不断增加功能，却始终无法落地。真正的问题是：谁承担采用成本，谁又能从中获益。</p><p>更麻烦的是，建筑行业存在真实的利益冲突。数据没有进入系统时，一些材料损耗和现场行为很难被追踪；一旦完整记录，某些人原有的灰色空间就会消失。对于老板，透明化是价值；对于一线部分人员，透明化可能是损失。</p><p>所以客户口中的「不会用」，可能包含三种完全不同的问题：操作确实复杂、改变习惯需要额外成本、或者用户根本不愿意让系统发挥作用。产品团队如果不区分这些情况，就会不停简化界面，却解决不了采用。</p><h2 id="heading-20">20. 重新设计利益，让关键角色推动采用</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-20-saas-stakeholder-incentive-design.png" alt="建筑 SaaS 的利益重构" loading="lazy" decoding="async"></p><p>解决采用问题，靠的不是继续增加功能，而是重新设计每个角色的利益。老板付了钱，却一直看不到系统带来的管理价值。于是我先用两周做了二十多张数据看板。刚上线时图表几乎都是空的，但每个空白都会说明缺少什么数据、应该由谁补充。老板想看清材料损耗和现场问题，自然会推动对应负责人完成录入。</p><p>一线人员承担的是额外的操作成本，「数字化能提高公司效率」对他们并没有直接吸引力。软件一年卖八万元，我们就考虑从收入中拿出一部分，每月奖励完成数据录入的人，用直接收益补偿他们改变习惯的成本。</p><p>第一个月，奖励全部被领完，老板的报表中开始出现数据，许多异常也被系统标红。老板据此采取管理动作，管理要求又进一步推动一线持续录入。系统真正转起来，不是因为所有人突然认可数字化，而是因为决策者获得了管理价值，使用者的采用成本也得到了补偿。</p><h2 id="heading-21">21. 能卖出去，靠的是一套角色化销售公式</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-21-b2b-saas-sales-adoption-model.png" alt="建筑 SaaS 的销售闭环" loading="lazy" decoding="async"></p><p>复杂 B2B 产品的销售，不是把功能表和许可证交给客户，而是让一套采用机制在客户组织里真正运转。决策者需要看到管理价值，一线人员需要获得足够的使用动力，中间人则要帮助降低跨层级协作的阻力。只有这些角色都进入闭环，产品价值才能通过真实数据被证明。</p><p>因此，软件「有人用」是规模化销售的前提，而不是交付后的附加结果。如果产品在单个客户内部都无法运转，卖得越多，实施和服务问题只会越大；采用机制跑通以后，销售才有了可以复制的基础。</p><h2 id="heading-22">22. 案例三：用户第一次拒绝的，可能只是表达方式</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-22-ecommerce-user-rejection-case.png" alt="电商广告案例" loading="lazy" decoding="async"></p><p>我曾经负责一项广告投放业务，后来承包了国内头部平台上相当大一部分广告流量。Banner 点击率达到 40%，说明入口和素材很有吸引力；但用户进入详情页后，大约六七成会直接离开。流量按照 CPM 购买，每一次退出都意味着成本已经发生，却没有形成交易。</p><p>入口数据很好、最终结果却很差，说明用户愿意了解，但不接受当前页面提供的商品或表达方式（毕竟是被骗进来的呀）。我们尝试过许多优化，效果始终有限。到后来这个问题后来也让我意识到，用户第一次拒绝的可能只是当前选择，并不一定代表他完全没有需求。</p><h2 id="heading-23">23. 入口很强，问题可能发生在详情页</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-23-landing-page-conversion-bottleneck.png" alt="入口与详情页转化" loading="lazy" decoding="async"></p><p>如果只看最终订单，团队很容易得出「流量不精准」的结论，继续换素材、换人群或增加预算。但 40% 的点击率已经证明用户愿意进入，真正的断点发生在他看到第一组商品之后。因此，我们停止继续放大入口，把注意力转向落地详情页。</p><p>漏斗的价值就在这里：它不仅告诉我们结果不好，还能帮助定位结果从哪个环节开始变差。此时需要判断的不是怎样获得更多点击，而是用户拒绝的究竟是这类需求、这个商品，还是当前这组选择。</p><h2 id="heading-24">24. 再给用户一次选择，曾经让订单增长</h2><p>（这个例子我就展示不在博客放产品截图了）</p><p>我们最终做了一个实验：在页面上增加了一个假的的关闭按钮，做成带链接的图片。用户点击「叉」时不会直接退出，而会进入另一组商品；再次关闭，还会看到新的选择。这个设计延长了停留时间，基本消化了原来六七成的流失，订单交易量也提升了约 xx%（对外数据就先保密了）。</p><p>我把它称为一个「骚操作」，因为它确实有效，却不值得包装成先进方法论。它给了用户更多「选择」，也让用户更难离开，因而可能伤害体验。后来我在其他产品中也见过连续多次挽留用户的类似设计。这个案例留下的真正提醒是：指标可以被优化，但数据变好不等于用户价值同步提高。团队仍要追问，我们是在帮助用户找到需要的东西，还是仅仅增加了退出成本。</p><h2 id="heading-25">25. 案例四：找到行业默认成本，直接消灭它</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-25-blockchain-cold-start-strategy.png" alt="公链冷启动案例" loading="lazy" decoding="async"></p><p>在一个北美公链项目里，我几乎只有一个可用的人和两万美元预算，却要完成冷启动、持续获客和留存。当时公链竞争已经非常激烈，其他项目一天的 KOL 和广告投入就可能达到几万美元。沿用相同打法，我们没有任何胜算。</p><p>我想到 360 免费杀毒的故事：当整个行业默认软件应该收费时，它直接消灭了这项成本。在公链世界里，类似的默认门槛是 Gas。用户进入一条新链以前，必须先购买对应的原生资产；不同链使用不同货币，购买、兑换和转账都会产生摩擦。有限预算下的突破口，不是购买更多流量，而是直接消灭这个所有用户都会遇到的进入成本。</p><h2 id="heading-26">26. 免费 Gas 只是敲门砖</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-26-free-gas-user-acquisition.png" alt="免费 Gas 冷启动" loading="lazy" decoding="async"></p><p>我们把主要预算直接用于补贴 Gas。用户完成一些简单操作以证明自己不是机器人后，就能获得足够进行十几到二十次链上交互的金额。补贴需要控制在一个微妙区间：太少无法消除门槛，太多又会吸引专业套利。</p><p>项目另外只花了两三千美元做传播。由于市场对未来空投存在预期，免费 Gas 很快引发了主动讨论和扩散。后来这条链在一些主流钱包中的活跃数据相当靠前，某头部钱包团队甚至参与了节点建设。冷启动由此完成，但免费 Gas 只解决了用户如何迈出第一步，还没有回答他们为什么长期留下。</p><h2 id="heading-27">27. 补贴可以点火，但不能替代真实需求</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-27-subsidy-to-real-user-demand.png" alt="从补贴到真实价值" loading="lazy" decoding="async"></p><p>免费 Gas 带来了大量追逐空投预期的用户，其中也混有大量女巫机器人。这在预期之内，冷启动完成后，继续增长的关键不是发更多补贴，而是从这些地址的行为中筛选值得服务的真实需求。（其实不是我们完成了冷启动再去看怎么做业务，这里只是为了便于理解）</p><p>链上数据让我们能够观察地址持有什么资产、参与过哪些协议。分析后，我们发现一批用户持有较多比特币相关资产。他们既希望获得收益，也希望保持资产流动性。当时行业流行将比特币存入协议获得凭证，再把凭证用于二次质押。我们由此设计了新的价值交换：用户存入凭证，再借出美元，让被锁定的资产重新流动起来。</p><p>这类业务风险很高，因此增长不能脱离风控。我们需要验证凭证背后的真实资产，设置预警和处置机制，同时连接愿意提供美元流动性的人。参与者从最初的十个人逐渐增加到一百、一千人…补贴只带来了第一批地址，提升资产效率的真实需求才让业务形成后续闭环。</p><h2 id="heading-28">28. 案例五：从 API Token 业务重新理解增长</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-28-api-token-business-growth-strategy.png" alt="API Token 业务" loading="lazy" decoding="async"></p><p>最后一个案例来自我目前负责的 API Token 业务。市场上存在大量模型中转站，将不同来源的 Token 额度整合后卖给企业或个人，其中一些依赖批量注册云账号等逆向代理方式。我们希望做的是合规版本：与国内外模型供应商正式签约，不承接灰产和黑产资源。</p><p>公司的另一项基础能力是 GPU 资源，部分开源模型可以自行部署。相比单纯转售，我们因此有机会更好地控制某些模型的供给、价格和稳定性。这项业务仍在发展中，我将的重点不在包装一个尚未完成的成功案例，而在于判断它究竟是什么生意，以及哪些供给约束决定它能否持续。</p><h2 id="heading-29">29. 大客户增长不等于业务健康</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-29-api-token-customer-health-metrics.png" alt="API Token 业务指标" loading="lazy" decoding="async"></p><p>接手业务后，我首先要决定该看充值额、客户数，还是其他指标。最终，我把重点放在真实消耗上。客户充值却没有调用，长期需求仍然存疑；只有持续消耗 Token，才能说明 API 正在他的业务里创造价值。除了每周和每月的消耗增长率，我也会观察客户自己的业务是否同步增长。</p><p>分析业务健康度时，还要把少数超大客户暂时剔除。大客户当然贡献 GMV 和利润，但异常大的数字会掩盖其余客户的真实状态，让团队把集中度误判为普遍增长。经营结果时要看头部贡献，判断模式能否复制时则要单独观察更广泛的客户群。</p><h2 id="heading-30">30. API Token 不是流量生意，而是供应链生意</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-30-api-token-supply-chain-business.png" alt="API Token 的供应链能力" loading="lazy" decoding="async"></p><p>看完客户需求后，我发现 API Token 更像供应链生意，而不是单纯的流量生意。客户会比较价格和质量，也会关心额度能否持续、模型是否稳定。某个上游出现问题时，我们有没有其他资源、其他机房或自建模型可以迅速切换？这些看似分散的问题，最后都指向供应链能力。</p><p>尤其对国内客户来说，成本很重要，但低价无法单独建立长期合作。营销可以带来一次访问，真正的交付则是在客户需要时稳定提供模型，并在供给波动时及时调度替代资源。流量决定客户会不会来，供应链决定客户敢不敢把核心业务放进来。</p><h2 id="heading-31">31. 让客户的增长，成为自己的增长</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-31-customer-success-driven-growth.png" alt="客户成功与共同增长" loading="lazy" decoding="async"></p><p>增长的第一步，是找到真正高消耗的场景，例如 Agent、开发者工具和批处理业务，再识别这些场景里的目标客户。接入阶段需要降低接口兼容和迁移成本，试用阶段要帮助客户尽快完成第一次稳定调用。正式使用后，内部调度团队还要持续发现资源异常并切换供给，尽量不把上游波动传递给客户。</p><p>在此基础上，更重要的工作是客户成功。SaaS、CDN 和短信公司通常都有客户成功经理；这项业务还在早期，我也会直接与客户沟通，帮助他们分析产品怎样获得更多真实用户、业务怎样继续增长。客户扩大 Token 消耗，不应该依赖我们反复催促，而应该来自他自己的产品创造了更多价值。客户的业务增长，我们的消耗和收入自然随之增长，这比一次性充值更可持续。</p><p>这项业务还没有一个完整结局。我仍在寻找 API Token 行业真正的「降维打击点」。暂时没有答案，就继续做、继续观察，而不是为了让本次分享的故事完整，而硬造一个结论。</p><h2 id="heading-32">32. 增长不是一个部门的任务</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-32-company-wide-growth-collaboration.png" alt="增长是整家公司理解生意的方式" loading="lazy" decoding="async"></p><p>我以前常说：设计向产品靠，产品向运营靠，运营向 CEO 靠。这不是让岗位边界消失，而是让每个人多理解一步下游结果。设计要知道方案是否帮助用户得到价值交换，产品要判断功能能否带来业务结果，运营需要继续靠近收入、成本和供给，CEO 则要让这些角色围绕同一套商业闭环协作。</p><p>增长因此不是某个部门的专属职责。一个价值不成立、供给不稳定或组织利益冲突的业务，无法由增长团队独自修复。只有每个角色都理解自己的工作如何影响价值交换，整家公司才可能对最终结果负责。</p><h2 id="heading-33">33. 最后，记住六句话</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-33-six-business-growth-principles.png" alt="关于增长的六条总结" loading="lazy" decoding="async"></p><ol><li><strong>增长之前，先看懂生意。</strong> 它必须能够完成的真实交易，否则增加流量只是在浪费资源和时间。</li><li><strong>产品首先要承载可持续的价值交换。</strong> APP、网页、客户端和 Agent 都只是形式。用户价值与商业价值无法同时成立，形式再新也没有推向市场的基础。</li><li><strong>先找到业务的核心矛盾。</strong> 医疗案例的关键是本地信任，建筑 SaaS 是获益者与成本承担者错位，公链冷启动则是准入门槛和利益驱动的价值交换。解决决定交易能否发生的问题，比增加锦上添花的功能更重要。</li><li><strong>用 ROI 思维处理冷启动 MVP。</strong> 先完成第一笔交易，再决定是否开发 APP、网页和管理工具。不要在收入尚未验证时，先投入大量成本建设一套可能无人使用的系统。</li><li><strong>补贴只能点火。</strong> 用户因为补贴进来以后，必须获得真实价值。只有留存和转化继续发生，补贴才是商业闭环的加速剂，不然只是一场昂贵的数据表演。</li><li><strong>对商业闭环负责，而不只对指标负责。</strong> 指标是帮助判断和行动的工具，终点是生意能否持续运转、能否守住法律与商业伦理，并以合理方式不断扩大。</li></ol><h2 id="heading-34">34. 增长是整家公司理解生意的方式</h2><p><img src="https://cdn.imzl.com/wp-content/uploads/2026/09/ai-global-growth-cases-34-business-growth-value-exchange.png" alt="增长总结" loading="lazy" decoding="async"></p><p>医院里的挂号入口、校园里的信任节点、工地上的利益关系、广告页里的退出按钮、公链上的 Gas 和模型 API 的供应链，看起来毫无关系，却都在回答同一组问题：用户会在什么场景中行动，谁能推动交易，什么阻碍价值交换，以及已经成立的结果怎样被继续复制。</p><p>方法论可以整理思路，却不能代替进入真实业务。很多关键答案不在会议室里，而在医院走廊、大学宿舍、建筑工地、客户的调用数据和一线人员的利益关系中。先看清这些事实，再决定产品和增长应该做什么。</p><p>无论做产品、运营、增长还是 AI 出海，最终都要持续完成一场双方认可的价值交换。先把生意做成，再用产品、组织、渠道和资本把它复制出去。增长不是某个部门的任务，而是整家公司理解生意的方式。</p><p>好了，谢谢各位，我今天废话连篇的分享大概到这里结束，如果你有任何问题，欢迎添加我的微信：Aipsme 与我进行讨论或业务合作~</p>]]>
      </content:encoded>
    </item>
    <item>
      <title>给朋友们的 AI 使用建议</title>
      <link>https://zhoulianglen.com/ai-usage-tips</link>
      <description>
        <![CDATA[<p>从 2022 年底 ChatGPT 开放给公众那天起，我就一头扎了进去。三年多过去，主流模型轮番上阵，从最早那个「会写诗的玩具」，到如今能陪我把一个 Idea 跑成产品、再跑出第一笔商业化收入。如今 AI 已经成了我使用最高频、投入最多、ROI 最高的工具。</p>
<p>]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/ai/">AI</category>
      <category domain="https://zhoulianglen.com/tag/ai/">AI</category>
      <pubDate>Sun, 07 Jun 2026 02:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>从 2022 年底 ChatGPT 开放给公众那天起，我就一头扎了进去。三年多过去，主流模型轮番上阵，从最早那个「会写诗的玩具」，到如今能陪我把一个 Idea 跑成产品、再跑出第一笔商业化收入。如今 AI 已经成了我使用最高频、投入最多、ROI 最高的工具。</p><p>也因为这层关系，身边越来越多的朋友总会问我同一个问题：<strong>AI 到底该怎么用？</strong></p><p>市面上 AI 教程已经过剩，多数在贩卖一种幻觉：仿佛复制一个神奇的提示词，就能点石成金。但现实是，多数人试过两次觉得不靠谱，从此再也没碰过。</p><p>这篇文章不教提示词。我把这三年踩过的坑、和验证过的几条习惯整理出来，希望能给同样在摸索的朋友一点参考。</p><p><strong>重要的从来不是技巧，是手感。</strong></p><p><img src="/img/ai-usage-tips/cover.png" alt="" decoding="async"></p><hr><h2 id="heading-1">一、AI 看遍了所有书，但没在你公司工作过一天</h2><p>我对 AI 预期是这样的：<strong>一个看遍了所有书、考遍了所有试，但从没在你公司工作过一天的天才。</strong></p><p>它知识满分，反应也快。但对你的业务一无所知：没开过你的会，没见过你的客户，不知道你的资源边界，更不知道你老板上周拍了什么板。</p><p>更要命的是，它不知道的时候，不会说「我不知道」，而是会一本正经地编一个看起来很对的答案给你看。</p><p>所以两件事很关键：</p><ul><li><strong>超出常识的内容，得喂给它。</strong> 行业报告、竞品资料、自己的判断，先丢进去。让 AI 凭空生成判断，注定是水货。</li><li><strong>把它当一个新来的天才同事，而不是当行业专家。</strong> 它能补全脚手架、把素材织成可读的文本；但方向和判断仍然得来自你。这家公司、这个客户、这件事的来龙去脉，是 AI 永远不知道的。</li></ul><p>这三年我越来越确信一句话：AI 时代真正值钱的，不是技术深度，<strong>而是业务判断力 × 工具使用能力</strong>。AI 帮你干活，但你得知道该干什么活。</p><hr><h2 id="heading-2">二、它会偷偷骗你，越自信越得防</h2><p>AI 犯错的方式很有欺骗性：<strong>它说得越自信，你越容易信</strong>，但它的自信和准确率之间，并没有必然关系。</p><p>几条底线得守住：</p><ul><li><strong>涉及事实的，一定交叉验证。</strong> 人名、日期、数据、引用、法条编号，AI 编造这些的能力堪称一绝。</li><li><strong>涉及专业判断的，AI 只能做参考。</strong> 法律条文、医疗建议、财务决策，可以做初步调研，但最终决策必须由专业人士把关。</li><li><strong>涉及隐私和敏感信息的，注意数据安全。</strong> 公司机密、个人身份、未公开的商业数据，别直接喂给公共 AI 服务。</li></ul><p>也有些事，<strong>最好别交给 AI</strong>：</p><ul><li>你自己根本不懂、又没法验证的领域，这种最容易被它的「自信废话」忽悠</li><li>涉及关键决策、需要你亲自担责的判断</li><li>高度依赖隐性知识、长期人际关系的事，比如要不要劝朋友离个婚</li></ul><p><strong>信任，但验证。</strong> 这是我和 AI 协作的基本态度，三年没变过。</p><hr><h2 id="heading-3">三、AI 让「超级个体」成为可能</h2><p>过去，要一个人高效完成跨职能的事，并不容易。产品经理想自己写代码，得脱产学几个月；设计师想独立做产品做运营，得补很多功底；内容创作者想做数据分析，得啃一遍统计基础。</p><p>每多跨一个领域，就要补一大堆基础，所以最经济的做法是分工。公司也因此越做越大、团队越做越臃肿。</p><p><strong>AI 在改变这个等式。</strong></p><p>未来的竞争力，已经不在于你是什么「岗位」，而在于你<strong>懂多少业务 × 会用多少工具 × 能用的多好</strong>。</p><p>下面这几件事，不是设想而是身边正在发生的：</p><ul><li><strong>我自己</strong>：原本要 7-8 人配合两个月的产品验证，现在一个人 4-10 天就能跑完一轮：写代码、做原型、出 PRD、写测试用例、跑数据全包。干活时桌面常常同时开着十几个 AI 对话窗口（当然我现在主要用终端），像随身带着一支微型团队</li><li><strong>一个全职妈妈</strong>，一个人撑起几十万粉的公众号 + 短视频账号矩阵，写稿、配图、剪辑、回评论、谈商务全自助；过去这种规模，是要养一支编辑部加一个 MCN 的</li><li><strong>一个 16 岁的高中生</strong>，独立做出上架应用商店的 App，下载量破万；过去这是科班毕业的程序员才敢挑的活</li><li><strong>一对 60 岁的老夫妻</strong>，零基础开起一家网店，选品、拍照、写文案、做直播全自己上手；过去这是一家小公司全员的活，他们靠一台手机一台电脑就转起来了</li><li><strong>一个普通公司的白领</strong>，下班后用 AI 接品牌咨询的活，副业月入逼平主业；过去这种活，得挂着一家咨询公司的牌子才接得下来</li></ul><p>AI 不会取代团队，但它确实大幅压低了「独立完成一件复杂事情」的门槛，<strong>它在延长每个人的能力半径</strong>。你不需要成为每个领域的专家，只需要把任务描述清楚、交给 AI、再把关质量。</p><p><img src="/img/ai-usage-tips/fig1.png" alt="" loading="lazy" decoding="async"></p><hr><h2 id="heading-4">四、别许愿，下指令</h2><p>很多人用 AI，其实是在「许愿」：</p><blockquote><p>「帮我写一篇好文章」<br>「给我出个方案」<br>「解释写个视频脚本」</p></blockquote><p>这就像你对一个刚入职的实习生说「把这事儿办好」，他不知道你要什么标准、给谁看、什么风格、哪些不能碰。</p><p>AI 不是阿拉丁神灯。它是一个极其勤快、但<strong>不了解你脑子里潜台词</strong>的同事。你给的指令越像一份「作业要求」，它交回来的东西，就越像样。</p><p>用了这么多年，我自己稳定下来的还是最朴素的一套：</p><pre><code class="highlight plaintext">[角色] 你是 ___（[背景] 现在的情况是 ___[任务] 请帮我 ___[要求] 输出需要 ___（长度 / 语气 / 禁区 / 格式）</code></pre><p>举个例子。不要说「帮我写个会议通知」，而是：</p><ul><li><strong>角色</strong>：你是一个资深行政助理</li><li><strong>背景</strong>：公司下周三要开季度复盘会，地点xxxx，人员xxxx…</li><li><strong>任务</strong>：撰写正式的会议通知，格式要求：xxxx…</li><li><strong>要求</strong>：包含时间地点议程，语气正式，500 字以内</li></ul><p>就这四句话的差别，输出质量能从 40 分直接跳到 75 分。</p><p>（朴素，但有效。AI 不需要花活，需要的是清楚。）</p><p><img src="/img/ai-usage-tips/fig2.png" alt="" loading="lazy" decoding="async"></p><hr><h2 id="heading-5">五、修改你的指令，而不是结果</h2><p>这一条特别送给有专业能力的朋友。</p><p>AI 出了一个 60 分的稿子，你手痒改两下变成 80 分，改着改着变成全部重写，最后说「还是我自己来吧」，从此再也不用 AI。</p><p>我见过太多人这么弃坑。</p><p>正确的做法是：当输出不满意时，<strong>不要去改它的结果，去改你的指令</strong>。</p><ul><li>加更明确的角色定义</li><li>给参考范例（「模仿这个风格」）</li><li>设定禁区（「不要用这些词」）</li><li>拆分步骤（「先列大纲我确认，再展开写」）</li></ul><p>你的目标不是让 AI 一次输出 100 分，而是让这套工作流能稳定输出 75-80 分；剩下的 20 分，由你来做最终判断和润色。</p><p><strong>迭代流程，而不是迭代结果。</strong></p><hr><h2 id="heading-6">六、同一个问题，前期至少问三个 AI</h2><p>我对刚开始上手 AI 的朋友的第一条建议是：<strong>前期同一个问题，至少抛给三个 AI</strong>。</p><p>每个模型都有自己的「性格」：</p><ul><li><strong>Claude</strong> 写东西有品味，推理扎实，但有时候太礼貌、太谨慎</li><li><strong>ChatGPT</strong> 万金油，创意发散好，但容易「编得很像真的」</li><li><strong>Gemini</strong> 搜索整合强，适合做信息密集型的初步调研</li><li><strong>DeepSeek、Kimi</strong> 这些国产模型，在中文语境下有各自的优势</li></ul><p>你不需要选出「最强模型」，你要的是<strong>长出手感</strong>：知道什么任务适合交给谁、谁出「第一稿」、谁做「审稿人」。这事和管理一个小团队没什么两样，得了解每个人的长板和短板。</p><p>（顺带一提：这条和上一条不冲突。前期多模型横评是为了「选人」，进入稳定工作流后该锁定主力就锁定主力；横评不是用来代替「改流程」的。）</p><p>过程可能要一两周。但一旦手感出来，效率提升是质变的。</p><p><img src="/img/ai-usage-tips/fig3.png" alt="" loading="lazy" decoding="async"></p><hr><h2 id="heading-7">七、把大任务拆成小步骤</h2><p>AI 最大的优势不是「一步到位给你正确答案」，而是它能<strong>在你设计的流程里，稳定地完成很多小步骤</strong>。</p><p>你越是要它一口气搞定一个复杂任务，它就越容易「看似完整、实则偷工减料」。</p><p>比如要 AI 帮你写一份产品需求文档，不要说「帮我写个 PRD」。而是拆：</p><ol><li>先描述用户场景与待解决的问题</li><li>输出产品目标和核心衡量指标</li><li>拆出主要功能模块的优先级</li><li>单个模块再展开用户故事 / 流程 / 边界</li><li>最后让它检查一遍逻辑漏洞</li></ol><p>每一步都是一个明确的小任务，AI 在小任务上的完成度，远高于「一步登天」。</p><p>这套思路的本质，<strong>不是教 AI 一句万能咒语，而是教你自己一套工作流</strong>。</p><hr><h2 id="heading-8">八、让它多产几个版本，再挑</h2><p>只让 AI 给你一个答案，你拿到的通常是最中庸、最保险、最「AI 味」的那一个，就是那种四平八稳、没有人味、什么都对又什么都不痛不痒的腔调。</p><p>我自己的习惯是：</p><ul><li>写文案标题？一次要 10 个</li><li>写小红书笔记？一次出 5 个版本</li><li>做创意选题？一次要 30-50 个，再分组筛选</li><li>起产品名称？一次要 20 个，按不同风格分类</li></ul><p><strong>用数量对抗平庸。</strong> 当你把平均分和产量都提上来，分布里自然会冒出几个让你眼前一亮的好东西。</p><p>这套思路，其实和互联网做增长是同一套底层：A/B Test 的本质，就是用数量和概率去取代「拍脑袋」。</p><p><img src="/img/ai-usage-tips/fig4.png" alt="" loading="lazy" decoding="async"></p><hr><h2 id="heading-9">九、把材料喂干净，再让它干活</h2><p>很多人用 AI 时有个反直觉的误区：用 100 字的提示词，要求它写出 3000 字的文章。这就像让一个手头什么资料都没有的人凭空写论文，出来的东西注定是泛泛而谈的水货。</p><p>正确的做法反过来：</p><blockquote><p><strong>给它海量材料，让它帮你压缩、提炼、组织。</strong></p></blockquote><p>把会议录音转录稿、行业报告、竞品分析、客户反馈都喂进去，让它从中提取关键信息、整理结构、输出摘要。压缩比扩张容易：把 10 万字压到 1 万字，AI 做得很好；把 100 字扩到 1 万字，十有八九是灌水。</p><p>但喂材料也有讲究：AI 会走最省力的路径。给它一个 PDF，它可能只扫了个目录就开始编；给它一个网页链接，它可能根本没真正读完。</p><p>所以你要替它做一点「体力活」：</p><ul><li>PDF、网页内容，先转成纯文本或 Markdown；导航、广告、格式噪音，先去掉</li><li>长文章，先人工分段，明确告诉它「以下是第一部分，请先处理这部分」</li><li>图片内容，用文字描述补充，AI 对图片的理解远不如文字</li></ul><p>你愿意做一点点准备，AI 的智力输出就会锋利很多。<strong>就像你给实习生准备好整理过的资料包，他干活效率自然高。</strong></p><p><img src="/img/ai-usage-tips/fig5.png" alt="" loading="lazy" decoding="async"></p><hr><h2 id="heading-10">十、从你身边的小问题开始</h2><p>不要上来就想着「让 AI 帮我重构整个业务」。<strong>从身边的「小问题」入手</strong>，是更靠谱的开场。</p><p>通用场景：</p><ul><li><strong>整理会议纪要</strong>：把录音转录稿扔进去，让它提炼要点和待办</li><li><strong>润色一封邮件</strong>：把草稿给它，告诉它受众和语气</li><li><strong>快速了解一个陌生领域</strong>：让它用「教小白」的方式给你讲</li><li><strong>批量起标题 / 文案</strong>：给它范例和要求，一次出 10 个再挑</li><li><strong>写 Excel 公式</strong>：用自然语言描述你要什么，让它替你写，让它替你整理报告</li><li><strong>翻译或改写</strong>：中文改成英文商务邮件、技术文档改成产品文案</li></ul><p>针对不同朋友的「第一个任务」：</p><ul><li><strong>做销售的</strong>：把客户公司官网、朋友圈最近 10 条、最近一篇公众号扔进去，让 AI 列 3 个谈资切入角度和对方可能关心的痛点</li><li><strong>做内容的</strong>：把你过去 10 篇阅读量最高的文章丢进去，让 AI 总结你的风格画像，再用这个画像生成新选题</li><li><strong>做产品的</strong>：把竞品 App 的评论区爬下来，让 AI 分类整理「用户最骂什么、最爱什么」</li><li><strong>纯粹好奇的</strong>：找一本你想读但一直没空读的书，让 AI 当陪练，每天给你讲一章 + 出 3 个思考题</li></ul><p>每一个小任务都能帮你省 15-30 分钟。一天做三四个，加起来就是一两个小时。<strong>用得越多，手感越好，你也会越清楚什么时候该用、什么时候不该用。</strong></p><hr><h2 id="heading-11">十一、现在就开始，不要等「更好的 AI」</h2><p>这三年看过无数 AI 产品的起起落落，有一个规律非常明确：</p><blockquote><p><strong>真正从 AI 中获益的人，都是在它「还不够好」的时候就开始用的人。</strong></p></blockquote><p>不要等完美的模型出来，不要等最佳实践固化。AI 每隔几个月就有一次大升级，但你和它协作的「手感」，是要靠时间慢慢积累的：</p><ul><li>知道什么任务值得交给 AI</li><li>知道怎么描述需求才能得到好结果</li><li>知道什么时候该追问，什么时候该换个模型</li><li>知道什么时候该自己动手</li></ul><p><strong>这些经验没有捷径，只能靠用。</strong></p><p>模型会迭代，工具会更新；但你对 AI 的理解和驾驭能力，是真正属于你的资产。就像二十年前学电脑、十年前学智能手机一样，早用早受益，越用越顺手。</p><hr><h2 id="heading-12">写在最后</h2><p>AI 不是魔法，也不是骗局。它是一个正在快速变强的工具。</p><p>和所有工具一样，它放大的是使用者本身的能力。你有好的判断力、好的品味、好的业务理解，AI 就能帮你把这些十倍放大；反过来，你什么都没有，只是对着它许愿，它也只能还你一堆看似正确的废话。</p><blockquote><p><strong>材料 × 品味 × 工具使用能力</strong></p><p>——这才是 AI 时代一个人的真正产出公式。</p></blockquote><p><img src="/img/ai-usage-tips/fig6.png" alt="" loading="lazy" decoding="async"></p><p>希望这篇对你有用。有问题，随时找我聊。</p>]]>
      </content:encoded>
    </item>
    <item>
      <title>内部分享 PPT 与文档：浅析 SEO 排名优化技巧</title>
      <link>https://zhoulianglen.com/seo-ppt-document</link>
      <description>
        <![CDATA[<p>最近 SEO 又火起来了特别是在出海圈，很多朋友私底下在频繁咨询我。故放出 17 年在微脉内部做的一次 SEO 分享 PPT 和相关文档。内容比较古早，但基本涵盖 SEO 的核心，在如今用于实战依旧有效，希望能帮助到有需要的朋友。</p>
<p>(地榆是我的花名，别笑…)<]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/operations/">运营</category>
      <category domain="https://zhoulianglen.com/categories/share/">分享</category>
      <category domain="https://zhoulianglen.com/tag/seo/">SEO</category>
      <category domain="https://zhoulianglen.com/tag/pdf/">PDF</category>
      <pubDate>Fri, 23 Aug 2024 06:44:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>最近 SEO 又火起来了特别是在出海圈，很多朋友私底下在频繁咨询我。故放出 17 年在微脉内部做的一次 SEO 分享 PPT 和相关文档。内容比较古早，但基本涵盖 SEO 的核心，在如今用于实战依旧有效，希望能帮助到有需要的朋友。</p><p>(地榆是我的花名，别笑…)</p><iframe src="https://cdn.imzl.com/docs/SEO%E5%91%A8%E4%BC%9A%E5%88%86%E4%BA%AB@%E5%9C%B0%E6%A6%86%EF%BC%88%E5%91%A8%E8%89%AF%E7%B2%A5%E5%87%89%EF%BC%89_2017.11.03.pdf"></iframe><p><a href="https://cdn.imzl.com/docs/SEO%E5%91%A8%E4%BC%9A%E5%88%86%E4%BA%AB@%E5%9C%B0%E6%A6%86%EF%BC%88%E5%91%A8%E8%89%AF%E7%B2%A5%E5%87%89%EF%BC%89_2017.11.03.pdf">SEO 分享 PPT 下载</a></p><p>SEO 基础规范文档：<a href="https://shimo.im/doc/aLMG4FtoLZ8JRoKC">https://shimo.im/doc/aLMG4FtoLZ8JRoKC</a></p><p>SEO 相关的尬聊：<a href="https://shimo.im/doc/7GVFl8rwU2snuY6X%C2%B7">https://shimo.im/doc/7GVFl8rwU2snuY6X·</a></p>]]>
      </content:encoded>
    </item>
    <item>
      <title>使用 Cloudflare Workers 为 Bento.me 设置自定义域名</title>
      <link>https://zhoulianglen.com/bento-add-domain</link>
      <description>
        <![CDATA[<p><a href="http://Bento.me">Bento.me</a> 是一个零代码创建个人主页的平台，以优雅美观的界面和使用简单而闻名。</p>
<p>但它唯一的缺点是：<strong>不支持自定义域名</strong></p>
<p>但别担心，本文将用最简单、零成]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/experimentation/">折腾</category>
      <category domain="https://zhoulianglen.com/tag/cloudflare/">Cloudflare</category>
      <category domain="https://zhoulianglen.com/tag/bento/">Bento</category>
      <pubDate>Tue, 14 May 2024 21:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p><a href="http://Bento.me">Bento.me</a> 是一个零代码创建个人主页的平台，以优雅美观的界面和使用简单而闻名。</p><p>但它唯一的缺点是：<strong>不支持自定义域名</strong></p><p>但别担心，本文将用最简单、零成本的方式，帮助你为 <a href="http://Bento.me">Bento.me</a> 绑定自定义域名。</p><h2 id="heading-1">1. 提前准备</h2><ol><li>你需要有一个 <a href="http://Bento.me">Bento.me</a> 个人页面</li><li>注册/准备一个 Cloudflare 账号</li><li>拥有独立域名，并将其转移至 Cloudflare 管理 DNS</li></ol><h2 id="heading-2">2. 创建 cloudflare Worker 项目</h2><p>在终端中输入以下命令，创建一个基础的 Cloudflare Worker：</p><p><code>npm create cloudflare@latest</code></p><p><img src="https://cdn.imzl.com/wp-content/uploads/2024/05/bento-add-domain.png" alt="终端操作" decoding="async"></p><p>然后按照终端内说明进行操作：</p><ul><li><p>In which directory do you want to create your application? 你现在哪个目录创建应用</p><ul><li><strong>默认或者自定义都可</strong></li></ul></li><li><p>What type of application do you want to create? 你想创建什么类型的应用？</p><ul><li><strong>选择 “Hello World” Worker 即可</strong></li></ul></li><li><p>Do you want to use TypeScript? 你想使用 TypeScript 吗？</p><ul><li><strong>选择 NO（用键盘→选择）</strong></li></ul></li><li><p>Do you want to use git for version control? 你想使用 Git 进行版本控制吗？</p><ul><li><strong>选择 Yes</strong></li></ul></li><li><p>Do you want to deploy your application? 你想部署应用么？</p><ul><li><strong>选择 Yes（如果你第一次使用，会自动打开网页要求登录）</strong></li></ul></li></ul><p>完成后对应目录会出现一个文件夹，使用 Visual Studio Code 等代码编辑工具打开这个文件夹。</p><h2 id="heading-3">3. 设置环境变量</h2><ol><li>编辑 <code>wrangler.toml</code> 文件，在末尾添加下列内容：</li></ol><pre><code class="highlight ini"><span class="section">[vars]</span><span class="attr">BENTO_USERNAME</span> = <span class="string">&quot;len&quot;</span> <span class="comment"># 替换为你的 Bento 页面 ID，我的是 bento.me/len</span><span class="attr">BASE_URL</span> = <span class="string">&quot;https://bento.imzl.com&quot;</span> <span class="comment"># 替换为你的自定义域名</span></code></pre><ol start="2"><li>在文件夹根目录创建 <code>.dev.vars</code> 文件，黏贴下列内容：</li></ol><pre><code class="highlight ini"><span class="attr">BENTO_USERNAME</span>=<span class="string">&quot;len&quot;</span> <span class="comment"># 替换为你的 Bento 页面 ID</span><span class="attr">BASE_URL</span>=<span class="string">&quot;http://127.0.0.1:8787&quot;</span></code></pre><h2 id="heading-4">4. 创建 Worker</h2><ol><li>编辑 <code>/src/index.js</code> 文件，替换为下列内容：</li></ol><pre><code class="highlight js"><span class="comment">/*</span><span class="comment"> * 为 Bento.me 设置自定义域名</span><span class="comment"> * 作者：len</span><span class="comment"> * 详情：https://imzl.com/bento-add-domain</span><span class="comment"> * 源代码来源：https://jayfranco.hashnode.dev/</span><span class="comment"> */</span><span class="comment">// 事件监听</span><span class="title function_">addEventListener</span>(<span class="string">&#x27;fetch&#x27;</span>, <span class="function"><span class="params">event</span> =&gt;</span> &#123;  <span class="comment">// 发生 fetch 事件时，用 handleRequest 函数结果做出响应</span>  event.<span class="title function_">respondWith</span>(<span class="title function_">handleRequest</span>(event.<span class="property">request</span>));&#125;);<span class="comment">// 根据内容类型解析响应</span><span class="keyword">async</span> <span class="keyword">function</span> <span class="title function_">parseResponseByContentType</span>(<span class="params">response, contentType</span>) &#123;  <span class="comment">// 如果没有内容类型，响应以文本形式返回</span>  <span class="keyword">if</span> (!contentType) <span class="keyword">return</span> <span class="keyword">await</span> response.<span class="title function_">text</span>();  <span class="comment">// 根据内容类型不同，采取不同的操作</span>  <span class="keyword">switch</span> (<span class="literal">true</span>) &#123;    <span class="keyword">case</span> contentType.<span class="title function_">includes</span>(<span class="string">&#x27;application/json&#x27;</span>):      <span class="comment">// 如果是 JSON，以 JSON 字符串形式返回</span>      <span class="keyword">return</span> <span class="title class_">JSON</span>.<span class="title function_">stringify</span>(<span class="keyword">await</span> response.<span class="title function_">json</span>());    <span class="keyword">case</span> contentType.<span class="title function_">includes</span>(<span class="string">&#x27;text/html&#x27;</span>):      <span class="comment">// 如果是 HTML，则使用 HTMLRewriter 对 response 进行转换</span>      <span class="keyword">const</span> transformedResponse = <span class="keyword">new</span> <span class="title class_">HTMLRewriter</span>()        .<span class="title function_">on</span>(<span class="string">&#x27;body&#x27;</span>, &#123;          <span class="title function_">element</span>(<span class="params">element</span>) &#123;            <span class="comment">// 自定义 CSS 和 JS 可添加到 HTML 页面中</span>            element.<span class="title function_">append</span>(              <span class="string">`</span><span class="string">                &lt;style&gt;</span><span class="string">                  // 在这里输入你需要的自定义 CSS</span><span class="string">                &lt;/style&gt;</span><span class="string">                `</span>,              &#123; <span class="attr">html</span>: <span class="literal">true</span> &#125;,            );            element.<span class="title function_">append</span>(              <span class="string">`</span><span class="string">                &lt;script&gt;</span><span class="string">                  // 在这里输入你需要的自定义 JS</span><span class="string">                &lt;/script&gt;</span><span class="string">                `</span>,              &#123; <span class="attr">html</span>: <span class="literal">true</span> &#125;,            );          &#125;,        &#125;)        .<span class="title function_">transform</span>(response);      <span class="comment">// 转换后的 response 以文本形式返回</span>      <span class="keyword">return</span> <span class="keyword">await</span> transformedResponse.<span class="title function_">text</span>();    <span class="keyword">case</span> contentType.<span class="title function_">includes</span>(<span class="string">&#x27;font&#x27;</span>):      <span class="comment">// 如果内容类型是字体，响应将以 ArrayBuffer 形式返回</span>      <span class="keyword">return</span> <span class="keyword">await</span> response.<span class="title function_">arrayBuffer</span>();    <span class="keyword">case</span> contentType.<span class="title function_">includes</span>(<span class="string">&#x27;image&#x27;</span>):      <span class="comment">// 如果内容类型是图片，响应将以 ArrayBuffer 形式返回</span>      <span class="keyword">return</span> <span class="keyword">await</span> response.<span class="title function_">arrayBuffer</span>()    <span class="attr">default</span>:      <span class="comment">// 如果内容类型是其他类型，响应将以文本形式返回</span>      <span class="keyword">return</span> <span class="keyword">await</span> response.<span class="title function_">text</span>();  &#125;&#125;<span class="comment">// 处理所有请求的函数</span><span class="keyword">async</span> <span class="keyword">function</span> <span class="title function_">handleRequest</span>(<span class="params">request</span>) &#123;  <span class="comment">// 从请求 URL 中提取路径</span>  <span class="keyword">const</span> path = <span class="keyword">new</span> <span class="title function_">URL</span>(request.<span class="property">url</span>).<span class="property">pathname</span>;  <span class="comment">// 默认情况下，URL 设置为 &quot;https://bento.me&quot; + 路径</span>  <span class="keyword">let</span> url = <span class="string">&#x27;https://bento.me&#x27;</span> + path;  <span class="comment">// 如果路径包含&#x27;v1&#x27;，URL 将更改为 &#x27;https://api.bento.me&#x27; + 路径</span>  <span class="keyword">if</span> (path.<span class="title function_">includes</span>(<span class="string">&#x27;v1&#x27;</span>)) &#123;    url = <span class="string">&#x27;https://api.bento.me&#x27;</span> + path;  &#125;  <span class="comment">// 如果 URL 为 &quot;https://bento.me/&quot;，URL 将更改为 https://bento.me/&#x27; 后加上 BENTO User ID</span>  <span class="keyword">if</span> (url === <span class="string">&#x27;https://bento.me/&#x27;</span>) &#123;    url = <span class="string">&#x27;https://bento.me/&#x27;</span> + <span class="variable constant_">BENTO_USERNAME</span>;  &#125;  <span class="comment">// 为 fetch 请求定义基本的 headers</span>  <span class="keyword">let</span> headers = &#123;    <span class="string">&#x27;Access-Control-Allow-Origin&#x27;</span>: <span class="string">&#x27;*&#x27;</span>,    <span class="string">&#x27;Access-Control-Allow-Methods&#x27;</span>: <span class="string">&#x27;GET,HEAD,POST,OPTIONS&#x27;</span>,  &#125;;  <span class="comment">// 使用定义的 headers 获取 URL</span>  <span class="keyword">const</span> response = <span class="keyword">await</span> <span class="title function_">fetch</span>(url, &#123; headers &#125;);  <span class="comment">// 从响应 headers 中提取内容类型</span>  <span class="keyword">const</span> contentType = response.<span class="property">headers</span>.<span class="title function_">get</span>(<span class="string">&#x27;content-type&#x27;</span>);  <span class="comment">// 根据内容类型解析响应</span>  <span class="keyword">let</span> results = <span class="keyword">await</span> <span class="title function_">parseResponseByContentType</span>(response, contentType);  <span class="comment">// 如果结果不是 ArrayBuffer</span>  <span class="comment">// 将所有对 bento API 的调用替换为我们的 BASE_URL</span>  <span class="comment">// 这是解决 CORS 错误的临时方案</span>  <span class="keyword">if</span> (!(results <span class="keyword">instanceof</span> <span class="title class_">ArrayBuffer</span>)) &#123;    results = results.<span class="title function_">replaceAll</span>(<span class="string">&#x27;https://api.bento.me&#x27;</span>, <span class="variable constant_">BASE_URL</span>);  &#125;  <span class="comment">// 将内容类型添加到 headers</span>  headers[<span class="string">&#x27;content-type&#x27;</span>] = contentType;  <span class="comment">// 返回带有结果和 headers 的新响应</span>  <span class="keyword">return</span> <span class="keyword">new</span> <span class="title class_">Response</span>(results, &#123; headers &#125;);&#125;</code></pre><ol start="2"><li>通过终端进入文件夹，运行代码查看页面：</li></ol><pre><code class="highlight yaml"><span class="string">npm</span> <span class="string">run</span> <span class="string">dev</span></code></pre><ol start="3"><li>查看无误后，部署到正式环境</li></ol><pre><code class="highlight yaml"><span class="string">npm</span> <span class="string">run</span> <span class="string">deploy</span></code></pre><h2 id="heading-5">5. 在 Cloudflare 配置自定义域名</h2><ol><li>先确保你需要绑定的域名 DNS 已经设置为 Cloudflare；</li><li>进入「Workers 和 Pages」找到刚才 Push 的 Worker 项目；</li><li>在「设置 - 触发器」中添加自定义域名并等待生效即可；</li><li>现在，你可以访问 <a href="https://bento.imzl.com">bento.imzl.com</a> 查看我们的 Bento 页面了。</li></ol>]]>
      </content:encoded>
    </item>
    <item>
      <title>Crypto 阅读列表</title>
      <link>https://zhoulianglen.com/crypto-reading</link>
      <description>一部分推荐阅读的 Crypto 相关文章列表，涵盖整个 Crypto 的周期性思考，建议按时间顺序阅读。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/crypto/">Crypto</category>
      <category domain="https://zhoulianglen.com/tag/crypto/">Crypto</category>
      <pubDate>Tue, 06 Feb 2024 23:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>以下是一部分推荐阅读的 Crypto 相关文章列表，从 <a href="https://danromero.org/crypto-reading/">Dan Romero</a> Blog 复制过来的，以英文为主我已经把标题翻译为中文，建议按时间顺序阅读：</p><h2 id="heading-1">2008</h2><ul><li><a href="https://bitcoin.org/bitcoin.pdf">Bitcoin：一个点对点的电子现金系统</a> — 万物初始，Bitcoin 白皮书，由化名为「中本聪」的家伙撰写</li></ul><h2 id="heading-2">2011</h2><ul><li><a href="https://avc.com/2011/11/bitcoin/">Bitcoin</a> — by Fred Wilson</li></ul><h2 id="heading-3">2013</h2><ul><li><a href="https://cdixon.org/2013/12/12/coinbase">Coinbase</a> — by Chris Dixon</li><li><a href="https://cointelegraph.com/news/investor_chris_dixon_why_i_am_interested_in_bitcoin">我为什么对比特币感兴趣</a> — by Chris Dixon</li></ul><h2 id="heading-4">2014</h2><ul><li><a href="https://a16z.com/2014/01/21/why-bitcoin-matters-nyt/">为什么比特币重要</a> — by Marc Andreessen</li></ul><h2 id="heading-5">2016</h2><ul><li><a href="https://medium.com/the-coinbase-blog/ethereum-is-the-forefront-of-digital-currency-5300298f6c75">Ethereum 以太坊是数字货币的前沿</a> — by Fred Ehrsam</li><li><a href="https://www.usv.com/writing/2016/08/fat-protocols/">胖协议</a> — by Joel Monegro</li></ul><h2 id="heading-6">2017</h2><ul><li><a href="https://medium.com/@FEhrsam/value-of-the-token-model-6c65f09bcba8">Token 模型的价值</a> — by Fred Ehrsam</li><li><a href="https://blog.coinbase.com/a-beginners-guide-to-ethereum-46dd486ceecf">Ethereum 以太坊初学者指南</a> — by Linda Xie</li><li><a href="https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274">去中心化的意义</a> — by Vitalik Buterin</li><li><a href="https://news.earn.com/thoughts-on-tokens-436109aabcbe">关于 Tokens 的思考</a> — by Balaji Srinivasan</li><li><a href="https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design">Crypto Tokens: 开放网络设计的突破</a> — by Chris Dixon</li><li><a href="https://vitalik.eth.limo/general/2017/06/09/sales.html">分析 Token 销售模型</a> — by Vitalik Buterin</li><li><a href="http://blog.eladgil.com/2017/07/cryptocurrencys-netscape-moment.html">加密货币的 Netscape 时刻</a> — by Elad Gil</li><li><a href="https://medium.com/@alokvasudev/permissionless-c66610ab2c38">Permissionless 无需许可</a> — by Alok Vasudev</li><li><a href="https://thecontrol.co/the-slow-death-of-the-firm-1bd6cc81286b">企业的缓慢消亡</a> — by Nick Tomaino</li><li><a href="http://blog.eladgil.com/2017/08/big-banks-and-blockchain.html">大银行与区块链</a> — by Elad Gil</li></ul><h2 id="heading-7">2018</h2><ul><li><a href="https://cdixon.org/2018/02/18/why-decentralization-matters">为什么去中心化很重要</a> — by Chris Dixon</li><li><a href="https://balajis.com/and-what-has-the-blockchain-ever-done-for-us/">区块链为我们做了什么？</a> — by Balaji Srinivasan</li><li><a href="https://medium.com/hackernoon/stablecoins-designing-a-price-stable-cryptocurrency-6bf24e2689e5">稳定币：设计一个价格稳定的加密货币</a> — by Haseeb Qureshi</li></ul><h2 id="heading-8">2019</h2><ul><li><a href="https://balajis.com/yes-you-may-need-a-blockchain/">是的，你可能需要一个区块链</a> — by Balaji Srinivasan</li><li><a href="https://lindajxie.com/2019/08/07/the-future-of-decentralized-finance/">去中心化金融的未来</a> — by Linda Xie</li><li><a href="https://www.youtube.com/watch?v=Dur918GqDIw">匿名经济</a> — by Balaji Srinivasan</li></ul><h2 id="heading-9">2020</h2><ul><li><a href="https://nakamoto.com/credible-neutrality/">可信中立性作为指导原则</a> — by Vitalik Buterin</li><li><a href="https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4">初学者指南：去中心化金融（DeFi）</a> — by Sid Coelho-Prabhu</li><li><a href="https://variant.fund/writing/the-ownership-economy-crypto-and-consumer-software">所有权经济</a> — by Jesse Walden</li><li><a href="https://www.matthuang.com/bitcoin_for_the_open_minded_skeptic">为持开放怀疑态度的人们讲解比特币</a> — by Matt Huang</li><li><a href="https://www.paradigm.xyz/2020/06/creators-communities-and-crypto">创作者、社区与 Crypto</a> — by Fred Ehrsam</li><li><a href="https://medium.com/dragonfly-research/what-explains-the-rise-of-amms-7d008af1c399">是什么导致了 AMMs 自动做市商的兴起？</a> — by Haseeb Qureshi</li><li><a href="https://www.paradigm.xyz/2020/08/ethereum-is-a-dark-forest">Ethereum 以太坊是黑暗森林</a> — by Dan Robinson and Georgios Konstantopoulos</li></ul><h2 id="heading-10">2021</h2><ul><li><a href="https://www.paradigm.xyz/2021/03/surviving-crypto-cycles">在 Crypto 周期中生存</a> — by Fred Ehrsam</li><li><a href="https://www.notboring.co/p/the-value-chain-of-the-open-metaverse">开放元宇宙的价值链</a> — by Packy McCormick</li><li><a href="https://research.paradigm.xyz/MEV">MEV（最大可提取价值）和我</a> — by Charlie Noyes</li><li><a href="https://variant.mirror.xyz/T8kdtZRIgy_srXB5B06L8vBqFHYlEBcv6ae2zR6Y_eo">NFTs make the internet ownable</a> — by Jesse Walden</li><li><a href="https://cdixon.org/2021/02/27/NFTs-and-a-thousand-true-fans">NFT 和 1000 名忠实粉丝</a> — by Chris Dixon</li><li><a href="https://linda.mirror.xyz/Vh8K4leCGEO06_qSGx-vS5lvgUqhqkCz9ut81WwCP2o">初学者指南：去中心化自治组织（DAO）</a> — by Linda Xie</li><li><a href="https://vitalik.eth.limo/general/2021/03/23/legitimacy.html">最重要的稀缺资源是合法性</a> — by Vitalik Buterin</li><li><a href="https://www.notboring.co/p/the-great-online-game">伟大的在线游戏</a> — by Packy McCormick</li><li><a href="https://balajis.com/p/add-crypto-to-indiastack">印度与 Crypto</a> — by Balaji Srinivasan</li><li><a href="https://www.notboring.co/p/own-the-internet">拥有互联网</a> — by Packy McCormick</li><li><a href="https://twitter.com/cdixon/status/1442201621266534402">为什么 Web3 很重要</a> — by Chris Dixon</li><li><a href="https://future.a16z.com/how-composability-unlocks-crypto-and-everything-else/">可组合性即创新</a> — by Linda Xie</li><li><a href="https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis">最强的 Crypto 游戏论点</a> — by gubsheep</li><li><a href="https://vitalik.eth.limo/general/2021/12/06/endgame.html">终局</a> — by Vitalik Buterin</li><li><a href="https://cobie.substack.com/p/trading-the-metagame">交易 metagame</a> — by Cobie</li><li><a href="https://balajis.com/mirrortable/">The Mirrortable</a> — by Balaji Srinivasan</li><li><a href="https://imzl.com/bitcoin-principle">白话比特币原理及运作机制</a> — by 张洋</li></ul><h2 id="heading-11">2022</h2><ul><li><a href="https://www.1confirmation.com/2021-nft-annual-review">2021 NFT 年度回顾</a> — by 1confirmation</li><li><a href="https://vitalik.eth.limo/general/2022/01/26/soulbound.html">Soulbound 灵魂绑定</a> — by Vitalik Buterin</li><li><a href="https://jacob.energy/hyperstructures.html">Hyperstructures</a> — by Jacob Horne</li><li><a href="https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks">社交网络的去中心化</a> — by Varun Srinivasan</li></ul><h2 id="heading-12">2023</h2><ul><li><a href="https://quail.ink/yishi/p/shi-bi-cheng-hou">《十币称侯》</a> — by 王一石</li></ul>]]>
      </content:encoded>
    </item>
    <item>
      <title>Atomicals 挖矿程序部署与钱包管理</title>
      <link>https://zhoulianglen.com/atomicals-mining</link>
      <description>零基础 Atomicals 挖矿程序部署与钱包管理教程，帮助你从零开始获取 Atomicals BTC 铭文资产。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/crypto/">Crypto</category>
      <category domain="https://zhoulianglen.com/tag/atomicals/">Atomicals</category>
      <category domain="https://zhoulianglen.com/tag/mining/">挖矿</category>
      <pubDate>Tue, 26 Dec 2023 17:13:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<h2 id="heading-1">部署</h2><ol><li>安装 <a href="https://nodejs.org/en">Node.js</a></li><li><code>git clone https://github.com/atomicals/atomicals-js.git</code></li><li><code>cd atomicals-JavaScript</code></li><li><code>npm install -g typescript</code></li><li><code>npm run build</code></li><li><code>npm install -g yarn</code></li><li><code>yarn install</code></li><li><code>yarn cli wallet-init</code> //这是创建钱包命令</li></ol><p>最后一步是创建钱包，命令运行后，会在文件夹内生成一个 wallet.json 文件，保存着助记词和私钥，请务必保存好该文件。</p><p>创建钱包后，会自动生成两个地址，Primary Address 及 Funding Address：</p><p><strong>Primary</strong>：用于接收Atomicals生态资产<br><strong>Funding</strong>：用于铸造（挖矿）过程的中转钱包，通常是往 Funding 地址中存入相应数量的 BTC，用于铸造相应资产。</p><h2 id="heading-2">常用指令</h2><h3 id="heading-3">铸造 FT 命令：</h3><p><code>yarn cli mint-dft dmint --satsbyte 30</code></p><p><code>yarn cli mint-dft quark --satsbyte=100</code></p><p>dmint 和 quark 是 token 名称，请修改成相对应 FT 资产名称。<br>satsbyte 是矿工费设置，设置 100 即为 100聪/KB 的费用 Mint 对应资产。</p><h3 id="heading-4">铸造图片NFT命令：</h3><p><code>yarn cli mint-nft &quot;\punk0000.png&quot; --satsbyte 30 --satsoutput 1000 --bitworkc 233</code></p><h3 id="heading-5">查询余额命令：</h3><p><code>npm run cli balances</code></p>]]>
      </content:encoded>
    </item>
    <item>
      <title>Starknet 早期社区成员计划申请指南</title>
      <link>https://zhoulianglen.com/starknet-ecmp</link>
      <description>Starknet 早期社区成员计划申请指南，帮助 Starknet 社区每一个成员快速了解 ECMP 内容与申请途径。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/crypto/">Crypto</category>
      <category domain="https://zhoulianglen.com/tag/starknet/">Starknet</category>
      <category domain="https://zhoulianglen.com/tag/communal/">社区</category>
      <pubDate>Wed, 01 Nov 2023 13:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>Starknet，这个在ETH L2 中迅速崛起的名字，如今正通过其新推出的早期社区成员计划（ECMP）为其社区成员提供前所未有的机遇。这个计划不仅仅是关于技术贡献，更是关于每一个助力 Starknet 生态系统前进的个人。</p><p>作为一个坚定的 Starknet 支持者，我认为这是一个独一无二的机会，可以让社区成员，无论是开发者、内容创作者、会议组织者还是技术讨论的积极参与者，都得到认可和奖励。</p><h2 id="heading-1">申请过程和时间线</h2><p>申请开始于 2023 年 10 月 30 日，截止到 11 月 23 日。评审委员会将在 12 月 29 日做出决定。感兴趣的个人和项目都应当在此期间提交申请。</p><h2 id="heading-2">谁可以申请？</h2><p>ECMP 面向那些积极贡献于 Starknet 生态系统的个人。无论是通过技术讨论、组织活动、发布品牌内容，还是以其他方式，所有为生态系统增添活力和资源的个人都应当考虑申请。</p><h2 id="heading-3">评估标准</h2><p>评估标准包括影响力、重要性、努力程度和原创性。这意味着不仅仅是代码行数，还包括你对社区的影响、你的工作对项目的重要性、你付出的努力，以及你的工作的独创性。</p><h2 id="heading-4">申请过程</h2><p>项目和个人都需要通过提供的链接提交申请，包括 Telegram ID、电子邮件和 Starknet 钱包地址。每个项目和个人都将由委员会进行评估。</p><p>申请地址：<a href="https://ecmp.starknet.io/form-individual">https://ecmp.starknet.io/form-individual</a></p><p>Starknet 官方公告：<a href="https://community.starknet.io/t/announcing-the-early-community-member-program/102092">https://community.starknet.io/t/announcing-the-early-community-member-program/102092</a></p><h2 id="heading-5">注意事项</h2><p>重要的是，受制裁的人员或居住在受制裁国家的人员，以及与美国相关的人士，都不符合参与条件。</p><p>这个计划是 Starknet 社区成长和发展的重要一步。它不仅奖励那些默默无闻的英雄们，也鼓励更多的人加入并为这个生态系统贡献力量。如果你是 Starknet 的忠实支持者，请不要错过这个机会。</p>]]>
      </content:encoded>
    </item>
    <item>
      <title>如何绕过烦人的 hCaptcha 验证</title>
      <link>https://zhoulianglen.com/disabling-hcaptcha</link>
      <description>了解 hCaptcha 的绕过方法：如何简化人机验证过程并避免频繁、无意义的图像验证。立即阅读，轻松绕过 hCaptcha 验证</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/experimentation/">折腾</category>
      <category domain="https://zhoulianglen.com/tag/skill/">技巧</category>
      <category domain="https://zhoulianglen.com/tag/hcaptcha/">hcaptcha</category>
      <category domain="https://zhoulianglen.com/tag/captcha/">验证码</category>
      <pubDate>Tue, 16 May 2023 20:15:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<h2 id="heading-1">什么是 hCaptcha？</h2><p>hCaptcha 是一种人类验证服务，类似于 Google reCAPTCHA。它旨在识别并区分人类用户和机器人，并帮助防止常见的 Web 自动化攻击，如 DoS、恶意机器人攻击和无节制的 Web 爬取。</p><p>从我自己的体验来说，hCaptcha 对机器人有没有拦截我不清楚，但对正常人类来了极大的不便。我们想个办法，绕过 hCaptcha 及其频繁、无意义的图像验证：</p><h2 id="heading-2">通过无障碍服务，绕过 hCaptcha 验证</h2><ol><li><p>通过 <a href="https://dashboard.hcaptcha.com/signup?type=accessibility">这个链接</a> 注册无障碍服务，请填写真实可用的邮箱地址；</p></li><li><p>使用邮箱收件，通过邮件中的「Get Accessibility Cookie」按钮打开链接，请注意链接应该是如下例子这样：<br><code>https://accounts.hcaptcha.com/verify_email/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</code></p></li><li><p>通过链接获取 hCaptcha Cookie</p></li></ol><ul><li>点击按钮将会跳转到 hCaptcha 的设置页面</li><li>点击「Set Cookie」按钮，等按钮下方出现一行字「Cookie set.」时就完成了</li></ul><p>当下一次再遇到 hCaptcha 只需要点击验证框即可，不用再进行烦人的图片验证了</p><p>【注】hCaptcha 官方其实也对无障碍服务做了说明<a href="https://www.hcaptcha.com/accessibility">具体请查阅这里</a></p>]]>
      </content:encoded>
    </item>
    <item>
      <title>白话比特币原理及运作机制</title>
      <link>https://zhoulianglen.com/bitcoin-principle</link>
      <description>
        <![CDATA[<p>最近在整理 Crypto 的资料，搜索到张洋的这篇文章，可能是写的最好的比特币原理及运作机制讲解故事，故转载至此进行分享。</p>
<p>这篇文章的定位会比较科普，尽量用类比的方法将比特币的基本原理讲出来，不会涉及算法和协议中细节的部分。</p>
<p>文中会给出一个虚拟的]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/crypto/">Crypto</category>
      <category domain="https://zhoulianglen.com/tag/bitcoin/">Bitcoin</category>
      <category domain="https://zhoulianglen.com/tag/finance/">金融</category>
      <category domain="https://zhoulianglen.com/tag/currency/">货币</category>
      <category domain="https://zhoulianglen.com/tag/repost/">转载</category>
      <pubDate>Thu, 25 Nov 2021 00:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>最近在整理 Crypto 的资料，搜索到张洋的这篇文章，可能是写的最好的比特币原理及运作机制讲解故事，故转载至此进行分享。</p><p>这篇文章的定位会比较科普，尽量用类比的方法将比特币的基本原理讲出来，不会涉及算法和协议中细节的部分。</p><p>文中会给出一个虚拟的村庄叫「比特村」，整体以讲故事的方式，逐步告诉大家比特币提出的动机、解决了什么问题以及一些关键组件的目标和设计方案。</p><h2 id="heading-1">以物易物的比特村</h2><p>话说在这个世界上，有一个叫比特村的小村庄，村庄共有几百户人家。这个村庄几乎与世隔绝，过着自给自足的生活。由于没有大规模贸易，比特村村民一直过着以物易物的生活，也就是说村民之间并没有使用统一的货币，互相间的贸易基本上就是老张家拿一袋面粉换老李家一只羊，王大嫂拿一筐野果换刘大婶两尺布。村民们一直就这么纯朴的生活着。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783546-bitcoin-mechanism-01.png" alt="" decoding="async"></p><h2 id="heading-2">实物货币</h2><p>终于有一天，村民觉得一直这样以物易物实在太不方便了，于是村子全员开会，讨论如何解决这个问题。有人提议，以便于分割且稀有的东西，例如黄金，作为一般等价物，把其它物品和黄金的对应关系编成一张表格，例如一克黄金对应一只羊，一克黄金对应一袋面粉等等，此时老张再也不用扛着一袋面粉气喘吁吁的去老李家换羊了，他只要从家里摸出一克金子，就可以去老李家牵回一只羊，而老李拿着这一克黄金可以从任何愿意出让面粉的人那里换回一袋面粉，当然也可以换取任何和一克黄金等值的物品。</p><p>此时比特村进入了实物货币时代。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783620-bitcoin-mechanism-02.png" alt="" loading="lazy" decoding="async"></p><h2 id="heading-3">符号货币</h2><p>好景不长，过了一段时间，实物货币的弊端也出现了。因为比特村附近金矿并不多，开采和冶炼金子太费时费力了。而随着使用，金子总是不断会因为磨损、丢失或有人故意囤积而发生损耗。全村人又一次坐在了一起，开始商讨对策。此时有人说，其实大家也不必一定要真的用黄金啊，随便找张纸，写上“一克黄金”，只要全村人都认同这张纸就等于一克黄金，问题不就解决了。其他人纷纷表示认同，但同时也有了新的问题：真实的黄金是需要开采和冶炼的，金矿有限，开采和冶炼也需要成本，所以没有人可以短期凭空制造大量的黄金，可写字就不同了，只要我纸够笔够，随便像写多少写多少，那这就变成拼谁家里纸多了，搞不好到时一万张纸才能换一只羊（实际上这就发生了经济学上的通货膨胀）。</p><p>大家一想也是啊。不过此时又有人提出了解决方案：这个纸不是谁写都有效，我们只认村里德高望重的老村长写得，大家都认识老村长的字。老村长写一些纸，同时按照各家黄金存量发给大家等量的纸，例如老张家有二百克黄金，老村长就发给老张二百张写着“一克黄金”的纸，同时将老张家的黄金拿走作为抵押。就这样，老村长将村里所有黄金收归到自己的家里，并按各家上交的黄金数量发给等值的写有字的纸。此时村民就可以拿着这些纸当黄金进行贸易了，而且大家都认得老村长的字，其他人伪造不出来。另外，如果谁的纸磨损太严重，也可拿到老村长那里兑换新的等值的纸，另外老村长承诺任何人如果想要换成真黄金，只要拿纸回来，老村长就会把等值的黄金还给那人。因为老村长写得纸的黄金量和真实放在家里的黄金量是一样的，所以只要严格按照销毁多少纸新写多少纸的原则，每一张有效的纸总能换回相应的真黄金。</p><p>此时，比特村进入了符号货币（纸币）时代。而老村长就承担了政府和银行的角色。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783682-bitcoin-mechanism-03.png" alt="" loading="lazy" decoding="async"></p><h2 id="heading-4">中央系统虚拟货币</h2><p>又过了几年，老村长由于每天都要核对大量的旧纸币，写新的纸币，还要把各种账目仔细做好记录。一来二去，老村长操劳过度不幸驾鹤西去了。</p><p>比特村再次召开全体大会，讨论应该怎么办。此时老村长的儿子二狗子自告奋勇接过了父亲的笔，承担起货币发行的责任。这个年轻的村长二狗子很聪明，他做了几天，发现好像也不用真的写那么多纸。完全可以这样：村民把纸币都交上来，销毁，但是二狗子会记录下每户上交的纸币数量。以后如果要进行付钱，例如老张要拿一克金子向老李换一只羊，就一起给二狗子打个电话，说明要将老张名下的一克金子划归老李名下，二狗子拿出账本，看看老张名下是否有一克金子，如果有就在老张的名下减掉一克，在老李的名下加上一克，这样就完成了支付，此时老李在电话中听到二狗子确认转账完成，就可以放心让老张把羊牵走了。</p><p>此时比特村进入了中央系统虚拟货币时代。每个村民都不需要用实物支付，支付过程变成了二狗子那边维护的账本上数字的变更。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783714-bitcoin-mechanism-04.png" alt="" loading="lazy" decoding="async"></p><h2 id="heading-5">分布式虚拟货币</h2><p>这新上任的二狗子是聪明，不过这人有时候是聪明反被聪明误。有一天二狗子盯着这账本，心想这全村各户谁有多少钱就是我说的算，那我岂不是……。于是他头脑一热，私自从老张帐下划了十克金子到自己名下。</p><p>本以为天衣无缝，但没想到老张也有记账的习惯，有一天他正要付钱却被二狗子告知账户没钱了。老张核对了一下自己的账本，明明还有十克啊，于是拿着账本去找二狗子理论，这一核对发现了那笔未经老张同意的转账。</p><p>东窗事发！比特村炸开锅了。二狗子被弹劾是不可避免了，不过通过这件事，大家发现了账本集中在一个人手里的弊端：</p><ul><li>这个体系完全依赖于账本持有人的个人信用，如果这个人不守规矩，随意篡改账本，那么整个货币系统就会崩溃</li><li>如果这个人家里失火或者账本失窃，同样也会为整个体系带来毁灭性的打击</li></ul><p>正当人们不知所措时，村里一个叫中本聪的宅男科学家走上了台，告诉大家他已经设计了一套不依赖任何中央处理人的叫比特币的虚拟货币系统，可以解决上述问题。然后他缓缓讲述了自己的方案。</p><p>下面我们就来看看中本聪同学是如何设计这套系统的。</p><h2 id="heading-6">基础设施搭建</h2><p>中本聪首先说明，要对现有账簿进行如下改造：</p><ol><li>账簿上不再记载每户村民的余额，而只记载每一笔交易。即记载每一笔交易的付款人、收款人和付款金额。只要账簿的初始状态确定，每一笔交易记录可靠并有时序，当前每个人持有多少钱是可以推算出来的。</li><li>账簿由私有改为公开，只要任何村民需要，都可以获得当前完整的账簿，账簿上记录了从账簿创建开始到当前所有的交易记录。<br>此言一出，下面立刻炸锅了。第一条还无所谓，但是第二条简直无法接受，因为账簿可是记录了所有村民的交易，这样大家的隐私不全暴露了吗。</li></ol><p>中本聪倒是不慌不忙，拿出了一对奇怪的东西。</p><h2 id="heading-7">身份与签名机制（公钥加密系统）</h2><p>中本聪说，大家不要慌。在他的这套机制下，任何人都不使用真实身份交易，而是使用一个唯一的代号交易。</p><p>他展示了手里神奇的东西，说这两件东西分别叫保密印章和印章扫描器。后面他会给村里每一户发一个保密印章和一个印章扫描器。两者的作用如下：</p><ul><li>保密印章可以在纸上盖一个章，每个印章盖出的章都隐含了一个全村唯一的一串字符，但是凭肉眼是看不出来的。也无法通过观察来制造出相应的印章。</li><li>印章扫描器可以扫描某个已经盖好的章，读出隐含的信息，并在液晶屏上显示出一串字符。<br>有了这两个神奇的东西，大家就可以在不暴露真实身份的情况下进行交易了，而印章隐含的那一串字符就是这户人家的代号。具体如何巧妙利用保密印章和印章扫描器进行交易，会在下文详述。</li></ul><p>成立虚拟矿工组织（挖矿群体）<br>下一步，中本聪面向全村招募虚拟矿工，招募要求如下：</p><ul><li>矿工以组为单位，一组可以是单独的一户，也可以是几户联合为一组</li><li>成为矿工不影响正常使用货币</li><li>矿工每天要花费一定时间从事比特币“挖矿”活动，但是不同于挖金矿，虚拟矿工不需要拿着工具去野外作业，在家里就可以完成工作</li><li>矿工有一定可能性获得报酬，在挖矿活动中付出的努力越多，获得报酬的可能性越大</li><li>矿工可以随时退出，也可以随时有新的矿工加进来<br>很快，大约有五分之一的村民加入比特币矿工组织，共分成了7个组。</li></ul><h2 id="heading-8">建立初始账簿（创世块）</h2><p>下面，中本聪宣布，先根据二狗子手里的账簿，把抵押的所有黄金按账簿记录的余额退还给每位村民，然后彻底销毁这本账簿。</p><p>然后，中本聪拿出一本新账簿，在账簿的第一页上记录了一些交易记录，特别的是，这些记录的付款人一栏全都是「系统」，而收款人分别是每个印章对应的隐含字符，代表初始时刻，系统为每一户默认分配了一定数量比特币，但是数量非常少，都只有几枚，甚至有些不幸的村户没有获得比特币。</p><p>接着中本聪说，由于目前市面上比特币非常少，大家可以先回到用黄金做货币的时代，由于我不是村长，我也没有权利强迫大家一定要承认比特币，大家可以自行决定要不要接受比特币。不过随着比特币的流动和矿工的活动，比特币会慢慢多起来。</p><h2 id="heading-9">支付与交易</h2><p>做了这么多铺垫，终于说到重点了，下面说一下在这样一个体系下如何完成支付。以老张付给老李10个比特币为例。</p><h3 id="heading-10">付款人签署交易单</h3><p>为了支付 10 个比特币，老张首先要询问老李的标识字符串，例如是「ABCDEFG」，同时老张也有一个标识字符串例如是「HIJKLMN」，然后老张写一张单子，内容为「HILKLMN 支付 10 比特币给 ABCDEFG」，然后用自己的保密印章改一个章，将这张单子交给老李。另外为了便于追溯这笔钱的来源，还要在单子里注明这笔钱的来源记在哪一页，例如这个单子里，老张的10比特币来自建立账簿时系统的赠送，记录在账簿第一页。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783753-bitcoin-mechanism-05.png" alt="" loading="lazy" decoding="async"></p><h3 id="heading-11">收款人确认单据签署人</h3><p>老李拿到这个单子后，需要确认这个单子确实是来自「HIJKLMN」这个人（也就是老张）签署的，这个并不困难。因为单子上必须有保密章，老李拿出印章扫描器，扫一下章，如果液晶屏显示出的字符和付款人字符是一致的（这里是「HIJKLMN」），就可以确认单子确实是付款人签署的。这是因为根据保密印章的机制，没有其他人可以伪造印章，任何一个人只要扫描一下印章，都可以确认单子的付款人和盖章人是否一致。</p><h3 id="heading-12">收款人确认付款人余额</h3><p>这个系统到目前还是很有问题。通过保密印章，收款人虽然可以确认付款人确实签署了这份单子，但是无法自行确认付款人是否有足够的余额支付。之前的中央虚拟货币系统中，二狗子负责检查付款人的余额，并通知收款人交易是否有效，现在把二狗子开了，谁来负责记账和确认每笔交易的有效性呢？</p><p>之前说过，中本聪设计的这个系统是分布式货币系统，不依赖任何中央人物，所以不会有一个或少数几个人负责这件事，最终承担这份工作的是之前所提到的矿工组织。老张、老李和全村其他任何使用比特币进行交易的村民都依赖矿工组织的工作才能完成交易。</p><h2 id="heading-13">矿工的工作</h2><p>矿工的工作是整个系统的核心，也是最复杂性最高的地方。下面逐步介绍矿工的工作内容和目的。</p><h3 id="heading-14">矿工的工具</h3><p>俗话说，工欲善其事，必先利其器。比特币矿工虽然不用铁撅、铁锨和探照灯等工具，不过也要有一些必备的东西。</p><p>初始账簿。每个组首先自己复制一份初始账簿，初始账簿只有一页，记录了系统的第一次赠送</p><p>空账簿纸。每个小组有若干账簿纸，每一页纸上仅有账簿结构，没有填内容，具体内容的书写规则后面讲述。下面是一张空账簿纸的样子，各个字段的意义后面会说到</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783804-bitcoin-mechanism-06.png" alt="" loading="lazy" decoding="async"></p><p>编码生成器（哈希函数）。中本聪又向矿工组织的每个组分发了若干编码生成器，这个东西很神奇，将一页账簿填好内容的账簿纸放入这个机器，机器会在账簿纸的“本账单编号”一栏自动打印一串由“0”和“1”组成的编号，共256个。最神奇的是，编号生成器有如下功能：</p><ul><li>生成的编号仅与账簿纸上填入的内容有关，与填写人、字体、填写时间等因素均无关</li><li>内容相同的账簿纸生成的编号总是相同，但是如果内容哪怕只改一个字符，编号就会面目全非</li><li>编码生成器在打印编码时还需要将所有填入账簿纸的交易单放入，机器会扫描交易单和填入交易单的一致性，尤其是保密印章，如果发现保密印章和付款人不一致，会拒绝打印编码</li><li>将一张已打印的账簿纸放入，机器会判定编号是否是有效的机器打印，并且判定编号和内容是否一致，这个编号无法伪造</li><li>交易单收件箱。每个矿工小组需要在门口挂一个箱子用于收集交易单。</li><li>公告板。每个矿工小组同样需要一个公告板公示一些信息。</li></ul><p>有了上面的工具，矿工组织就可以开工了。</p><h3 id="heading-15">收集交易单</h3><p>中本聪规定，每笔交易的发起人，不但要将交易单给到收款人，还要同时复制若干份一模一样的交易单投递到每个矿工小组的收件箱里。</p><p>矿工小组的人定期到自己的收件箱里把收集到的交易单一并取出来。</p><h3 id="heading-16">填写账簿</h3><p>此时小组的人拿出一张空的账簿纸，把这些交易填写到“交易清单”一栏，同时找到当前账簿最后一页，将最后一页的编号抄写到“上一张账单编号一栏”。 注意还有个“幸运数字”，可以随便填上一个数字，如12345。然后，将这样账簿纸放入编号生成器，打印好编号，一张账簿就算完成了。</p><p>如果你以为矿工的工作就这么简单，那就大错特错了，中本聪有个变态的规定：只有编号的前10个数均为0，这页账簿纸才算有效。</p><p>根据之前对编号生成器的描述，要修改编号，只能修改账簿纸的内容，而“交易清单”和“上一张账簿纸编号”是不能随便改的，那么只能改幸运数字了。于是为了生成有效的账簿纸，小组里的矿工就不断抄写账簿纸，但每张纸的幸运数字都不同，然后不断的重复将纸放入编码器，如果生成的编号不符合规定，这张纸就算废了，重复这个过程直到生成一串有效的编号。</p><p>我们知道，如果编号的每一个数字都是随机的，那么平均写1000多张幸运数字不同的纸才能获得一个有效的编号。</p><p>这就奇怪了，这些矿工为什么要拼命干这看似无意义的事情呢？还记得之前说过矿工有报酬吧，这就是矿工的动力了。中本聪规定：每一张账簿纸的交易清单第一条交易为“系统给这个小组支付50个比特币”。也就是说，如果你生成了一张有意义的账簿纸，并且被所有挖矿小组接受了，那么就意味着这条交易也被接受了，你的挖矿小组获得了50个比特币。</p><p>这就是矿工被叫做矿工的原因，也是为什么之前说随着交易和矿工的活动，比特币的数量会不断增多。例如下面是一个挖矿过程，这个小组的公共比特币帐号为「UVWXYZ」。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783852-bitcoin-mechanism-07.png" alt="" loading="lazy" decoding="async"></p><p>在幸运数字尝试到「533」时，系统生成了一页有效账簿</p><h3 id="heading-17">确认账簿</h3><p>当某挖矿小组幸运的生成了一张有意义的账簿，为了得到奖励，必须立刻请其它小组确认自己的工作。前面说过，当前村里有7个挖矿组，所以这个小组必须将有效账簿纸誊抄6份快马加鞭送到其他6个小组请求确认。</p><p>中本聪规定，当某个小组接到其他小组送来的账簿纸时，必须立即停下手里的挖矿工作进行账簿确认。</p><p>需要确认的信息有三个：</p><ol><li>账簿的编号有效</li><li>账簿的前一页账簿有效</li><li>交易清单有效</li></ol><p>首先看第一个，这个确认比较简单。只要将送来的账簿纸放入编码生成器进行验证，如果验证通过，则编号有效。</p><p>第二部分需要将账簿页上的「上一页账簿纸编号」和这个小组目前保存的有效账簿最后一页编号比对，如果相同则确认，如果不同，需要顺着已有账簿向前比对，直到找到这个编号的页。如果没有找到指定的“上一页账簿纸编号”对应的页，这个小组会将此页丢掉。不予确认。</p><p>注意，由上面的机制可以保证，如果各个小组手里的账簿纸是相同的，那么他们都能按同样的顺序装订成相同的账簿。因为后面一张纸的编号总是依赖前面的纸的编号，编码生成器的机制保证了所有合法账簿纸的相对先后顺序在每个小组那里都是相同的（可能会有分支，但不会出现环，后面细讲）。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783887-bitcoin-mechanism-08.png" alt="" loading="lazy" decoding="async"></p><p>最后是如何确认交易清单有效，其实也就是要确认当前每笔交易的付款人有足够的余额支付这笔钱。由于交易信息里包含这笔钱是如何来的，还包含了记录来源交易的账单编号。例如，HIJKLMN要给ABCDEFG10个比特币，并注明了这10个比特币来自之前OPQRST支付给HIJKLMN的一笔交易，确认时首先要确认之前这笔交易是否存在，同时还要检查HIJKLMN在这之前没有将这10个比特币支付给别人。这一切确认后，这笔交易有效性就被确认了。</p><p>其中第一笔是系统奖励给生成这页账簿的小组的50个，这笔交易大家都默认承认，后面的只要按照上述方法追溯，就可以确认HIJKLMN是否当前真有10个比特币支付给ABCDEFG。</p><p>如果完成了所有了上述验证并全部通过，这个小组就认可了上述账簿纸有效，然后将这张账簿纸并入小组的主账簿，舍弃目前正在进行的工作，后面的挖矿工作会基于这本更新后的主账本进行。</p><h3 id="heading-18">账簿确认反馈</h3><p>对于挖矿小组来说，当账簿纸送出去后，如果后面有收到其他小组送来的账簿纸，其「上一页账簿纸编号」为自己之前送出去的账簿纸，那么就表示他们的工作成功被其他小组认可了，因为已经有小组基于他们的账簿纸继续工作了。此时，可以粗略的说可以认为已经得到了50个比特币。</p><p>另外，任何一个小组当新生成有效账簿纸或确认了别的小组的账簿纸时，就将最新被这个小组承认的交易写到公告牌上，那么收款人只要发现相关交易被各个小组认可了，基本就可以认为这笔钱已经到了自己的账上，后面他就可以在付款时将钱的来源指向这笔交易了。</p><p>以上就是整个比特币的支付体系。下面我们来分析一下，这个体系为什么可以工作下去，以及这个体系可能面临的风险。</p><h2 id="heading-19">工作机制分析</h2><p>虽然上面阐述了比特币的基本运作规则，但是村民们还是有不少疑问。所以中本聪同学专门开了个答疑会，解答常见问题。下面总结一下村民最集中关心的问题。</p><h2 id="heading-20">核心问题答疑</h2><h3 id="heading-21">如果同时收到两份合法的账簿页怎么办？</h3><p>注意在上面的运行机制中，各个挖矿小组是并行工作的，因此完全可能出现这样的情况：某小组收到两份不一样的账簿页，它们都基于当前这个小组的主账簿的最后一页，并且内容也都完全合法，怎么办？</p><p>关于这个问题，中本聪同学说，小组不应该以线性方式组织账簿，而应该以树状组织账簿，任何时刻，都以当前最长分支作为主账簿，但是保留其它分支。举个例子，某小组同时收到A、B两份账簿页，经核算都是合法的，此时小组应该将两页以分叉的形式组织起来，如下图所示：</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783962-bitcoin-mechanism-09.png" alt="" loading="lazy" decoding="async"></p><p>黑色表示当前账簿主干。此时，可以随便选择一个页作为当前主分支，例如选择A：</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637783996-bitcoin-mechanism-10.png" alt="" loading="lazy" decoding="async"></p><p>此时如果有一个新的账簿页是基于A的，那么这个主干就延续下去：</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637784030-bitcoin-mechanism-11.png" alt="" loading="lazy" decoding="async"></p><p>如果这个主干一直这么延续下去，表示大家基本都以 A 为主干，B 就会被遗忘。但是也有可能忽然 B 变成更长了：</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637784087-bitcoin-mechanism-12.png" alt="" loading="lazy" decoding="async"></p><p>那么我们就需要将 B 分支作为当前主干，基于这个分支进行后续工作。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637784118-bitcoin-mechanism-13.png" alt="" loading="lazy" decoding="async"></p><p>从局部来看，虽然在某一时刻各个小组的账簿主干可能存在不一致，但大方向是一致的，那些偶尔由于不同步产生的小分支，会很快被淹没在历史中。</p><h3 id="heading-22">如果挖矿小组有人伪造账簿怎么办</h3><p>关于这个问题，中本聪同学说，只要挖矿组织中大多数人是诚实的，这个系统就可靠，具体分几个方面给予答复。</p><p>首先，基于保密印章机制，没有人能伪造他人身份进行付款，因为编码生成器在打印编码时会核对所有交易单的保密印章，印章和付款人不一致会拒绝打印。</p><p>而且诚实的矿工也不会承认不合法的交易（如某笔交易付款方余额不够）。</p><p>所以只有一种可能的攻击行为，即在收款人确认收款后，从另一条分支上建立另外的交易单，取消之前的付款，而将同一笔钱再次付款给另一个人（即所谓的 double-spending 问题）。下面同样用一个例子说明这个问题。</p><p>先假设有一个攻击者拥有 10 个比特币，他准备将这笔钱同时支付给两名受害者 A 和 B，并都得到承认。</p><p>第一步，攻击者准备从受害者 A 手里买 10 比特币的黄金，他签署交易单给受害者 A，转 10 个比特币给受害者 A。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637784169-bitcoin-mechanism-14.png" alt="" loading="lazy" decoding="async"></p><p>第二步，这笔交易在最新的账簿页中被确认，并被各个挖矿小组公告出来。受害人 A看到公告，确认比特币到账，给了攻击者10个比特币等值的黄金。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637784229-bitcoin-mechanism-15.png" alt="" loading="lazy" decoding="async"></p><p>第三步，攻击者找到账簿，从包含刚才交易的账簿页的前一页做出一个分支，生成更多的账单页，超过刚才的分支。由于此时刚才攻击者制造的分支变成了主干分支，而包含受害者A得到钱的分支变成了旁支，因此挖矿组织不再承认刚才的转账，受害者A得到的10比特币被取消了。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637784270-bitcoin-mechanism-16.png" alt="" loading="lazy" decoding="async"></p><p>第四步，攻击者可以再次签署交易单，将同一笔钱支付给受害者B。受害者B确认钱到账后，支付给攻击者等值黄金。<br><img src="https://img.imzl.com/wp-content/uploads/2021/11/1637784303-bitcoin-mechanism-17.png" alt="" loading="lazy" decoding="async"></p><p>至此，攻击者将10个比特币花了两次，从两名受害者那里各购得等值黄金。攻击者还可以如法炮制，取消与受害者B的转账，将同一笔钱再支付给其他人……</p><p>关于这种攻击，中本聪给出的解决方案是，建议收款人不要在公告挂出时立即确认交易完成，而是应该再看一段时间，等待各个挖矿小组再挂出6张确认账簿，并且之前的账簿没有被取消，才确认钱已到账。</p><p>中本聪解释道，之前设定变态的编号规则，正是为了防御这一点。根据前面所述，生成有效账簿页不是那么简单的，要花费大量的人力反复试不同的幸运数字，而且过程完全是碰运气。如果某账簿页包含你收到钱的确认，并且在后面又延续了6个，那么攻击者想要在落后6页的情况下从另一个分支赶超当前主分支是非常困难的，除非攻击者拥有非常多的人力，超过其他所有诚实矿工的人力之和。</p><p>而且，如果攻击者有如此多人力，与其花这么大力气搞这种攻击，还不如做良民挖矿来的收益大。这就从动机上杜绝了攻击的形成。</p><h3 id="heading-23">比特币会一直增加下去，岂不是会严重通货膨胀</h3><p>中本聪说，这一点我也想到了。前面忘了说了，我给矿工组织的操作细则手册会说明，刚开始我们协议每生成一页账簿，奖励小组50个比特币，后面，每当账簿增加21,000页，奖励就减半，例如当达到210,000页后，每生成一页账簿奖励25个比特币，420,000页后，每生成一页奖励12.5个，依次类推，等账簿达到6,930,000页后，新生成账簿页就没有奖励了。此时比特币全量约为21,000,000个，这就是比特币的总量，所以不会无限增加下去。</p><h3 id="heading-24">没有奖励后，就没人做矿工了，岂不是没人帮忙确认交易了</h3><p>到时，矿工的收益会由挖矿所得变为收取手续费。例如，你在转账时可以指定其中 1% 作为手续费支付给生成账簿页的小组，各个小组会挑选手续费高的交易单优先确认。</p><h3 id="heading-25">矿工如果越来越多，比特币生成速度会变快吗</h3><p>不会。中本聪解释，虽然可以任意加入和退出矿工组织，导致矿工人数变化，每个矿工也会拿到一个编码生成器，不过我已经在编码生成器中加入了调控机制，当前工作的编码生成器越多，每个机器的效率就越低，保证新账簿页生成速率不变。</p><h3 id="heading-26">虽然每个人的代号是匿名的，但如果泄露了某个人的代号，账簿又是公开的，岂不是他的所有账目都查出来了</h3><p>确实是这样的。例如你要和某人交易，必然要要到他的代号才能填写交易单。因为收款人一栏要填入那人的代号。不过中本聪说可以提供无限制的保密印章，建议每一次交易用不同的保密印章，这样查账簿就追查不到同一个人的所有账目了。</p><p>答疑完毕。</p><h2 id="heading-27">说明</h2><p>本文用通俗比喻的方式讲解了比特币的运行机制。有几点需要说明：</p><p>为了便于理解，我做了很多简化，因此有些机制细节和实际的比特币可能不完全相同。但总体思想和关键原理是一致的。<br>由于很多计算机世界的东西（如公钥体系、网络传输）在现实世界中并没有特别好的对等物，所以故事里难免有一些生硬和不合常理的细节。<br>本文描述的是比特币网络本身的技术原理和运作机制，当在如 Mtgox 这种买卖市场中进行比特币交易时，市场做了中间代理，并不遵从上述机制</p><h2 id="heading-28">参考</h2><ol><li><a href="https://bitcoin.org/bitcoin.pdf">Bitcoin 白皮书（英）</a></li><li><a href="https://bitcoin.org/files/bitcoin-paper/bitcoin_zh_cn.pdf">Bitcoin 白皮书（中）</a></li><li><a href="https://bitcoin.it/">Bitcoin Wiki（英）</a></li><li><a href="https://blog.codingnow.com/2011/05/bitcoin.html">云风的 BLOG: 《Bitcoin 的基本原理》</a></li></ol><p>via.<a href="https://blog.codinglabs.org/articles/bitcoin-mechanism-make-easy.html">原文地址</a></p>]]>
      </content:encoded>
    </item>
    <item>
      <title>什么是产品人?</title>
      <link>https://zhoulianglen.com/producter</link>
      <description>碎片思考什么是产品人：产品经理需要平衡商业价值和用户价值的文章。了解如何超越表面的设计交互，找到真正的产品优势。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/miscellanies/">杂记</category>
      <category domain="https://zhoulianglen.com/categories/internet/">互联网</category>
      <category domain="https://zhoulianglen.com/categories/thinking/">碎片思考</category>
      <category domain="https://zhoulianglen.com/tag/product-manager/">产品经理</category>
      <pubDate>Mon, 06 Sep 2021 13:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>这段话我之前在推上有发过，更新到博客做一个备忘，这是我一直在践行的事情。</p><p>产品人首先要明白商业价值和用户价值的平衡，即我们要通过产品得到什么？用户通过产品得到什么？这是体验的最核心层，然后一层层往上抽丝剥茧，可惜市面上的大部分产品都盯着表面层炫酷屌炸天的设计交互体验，我一直觉得这是《人人都是产品经理》的遗毒。</p><p>而好的产品，除了对五层体验了然于胸外，更要有预见性，一个大而全的产品容易抄但付出的是时间，说不定战略战术资源管理还不匹配，牛逼的是你的产品次序，前一个动作是后一个的预动作。简约不是没想到恰是想到了，看的远、走的近、想的多、做的少，验证后快速迭代。</p><p>而卓越的产品，是在红海中能找到关键任务，降维打击。</p><p><img src="https://img.imzl.com/wp-content/uploads/2021/09/1630932266-dedao-chanping.jpeg" alt="产品人" decoding="async"></p>]]>
      </content:encoded>
    </item>
    <item>
      <title>独立博客三大乐趣：主题、域名、建站程序</title>
      <link>https://zhoulianglen.com/theme-domain-blogcms</link>
      <description>自 2010 年起始，写博已十年有余，换过五次域名、十多次主题、两次建站程序。许是学美出身，过于追求表现层的东西，追求好看、完美，读书期间也有大把时间能折腾研究，花了很多功夫在主题、插件、服务器运维上，这些折腾在他人眼里或许是浪费时间，但对当时的我来说：通过折腾满足自己的需求和想法，获得的快感可以称之为「高潮」。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/miscellanies/">杂记</category>
      <category domain="https://zhoulianglen.com/tag/miscellanies/">杂记</category>
      <category domain="https://zhoulianglen.com/tag/blog/">博客</category>
      <category domain="https://zhoulianglen.com/tag/domain/">域名</category>
      <pubDate>Wed, 25 Aug 2021 12:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>最近买下了 <a href="https://imzl.com">imzl.com</a> ，圆了「有枚顺眼 .com 域名」的「梦想」。已用作本博主域名，也是继 2020 年以来周良博客第三次换域名。</p><p>自 2010 年起始，写博已十年有余<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>，换过五次域名、十多次主题、两次建站程序<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>。许是学美出身<sup class="footnote-ref"><a href="#fn3" id="fnref3">[3]</a></sup>，过于追求表现层的东西，追求好看、完美，读书期间也有大把时间能折腾研究，花了很多功夫在主题、插件、服务器运维上，这些折腾在他人眼里或许是浪费时间，但对当时的我来说：<strong>通过折腾满足自己的需求和想法，获得的快感可以称之为「高潮」。</strong></p><p>这也是为什么我说：独立博客有三大乐趣，主题、域名、建站程序。<strong>但乐趣是对自己的，价值是对读者的。</strong></p><p>博客的价值是内容，好的、有用的内容。</p><p><strong>博客主题</strong>：干净就行，能清晰展现内容、便于阅读即可，简陋一点没关系。有一个搜索框，能让读者找到想找的内容；有一个评论框，能与读者交流，就够了。</p><p><strong>域名</strong>：不复杂、能一眼记住最好，不能也没关系。这年头域名的比重越来越低，本着有就用、能用就行即可，无需和我一样老是换。我只是有心结，但大可不必。只要内容够，再邋遢的域名我都会把你加入收藏夹。</p><p><strong>CMS 建站程序</strong>：能用就行，甚至越简洁越好。不要让工具限制自己，也不要让写作的启动成本太高，我现在都是在笔记本里码完字一键黏贴发布的，从不管后台那些七七八八花里胡哨的功能。无格式纯文本的写作方式，实在太棒了。</p><p>看起来有点「功利」，其实这事情只要自己舒服，就皆无不可。</p><p>我更多的是在做一次反思，是四年前就该写的。曾经的我过于专注表层花里胡哨的东西（这事情和写博客无关），毕竟设计师，其实无错。自从转产品后，才明白花花绿绿的世界下还有一些看不见的东西，用户体验不是只有框架层和表现层，再往下还有结构、范围和战略。也不是把功能做好看了、操作舒服了就行。商业价值和用户价值的平衡，才算是体验的最核心层。</p><p>在写作、写博客这件事上，域名的好坏、主题的好看与否，绝不是成为一个好博客的必要因素，要做好，但不要执着到最好。把精力放在内容上，才是核心。</p><hr class="footnotes-sep"><section class="footnotes"><ol class="footnotes-list"><li id="fn1" class="footnote-item"><p>2010 年初中开始，学生时代更新频繁，近 4 年偶有更新。 <a href="#fnref1" class="footnote-backref">↩︎</a></p></li><li id="fn2" class="footnote-item"><p>从 WordPress 独立站更换至 Bitcron，后又回归 WordPress。 <a href="#fnref2" class="footnote-backref">↩︎</a></p></li><li id="fn3" class="footnote-item"><p>之前本职是 UI 设计师 <a href="#fnref3" class="footnote-backref">↩︎</a></p></li></ol></section>]]>
      </content:encoded>
    </item>
    <item>
      <title>麻将</title>
      <link>https://zhoulianglen.com/majiang</link>
      <description>
        <![CDATA[<p>打麻将和做产品略有相似，在现有的信息下做出「正确」的选择，提升赢面概率。持续做出正确的选择，最终胡牌。当然，麻将是有限游戏，产品是无限游戏。</p>]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/thinking/">碎片思考</category>
      <category domain="https://zhoulianglen.com/tag/%E6%80%9D%E8%80%83/">思考</category>
      <category domain="https://zhoulianglen.com/tag/%E4%BA%A7%E5%93%81/">产品</category>
      <pubDate>Mon, 01 Mar 2021 04:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>打麻将和做产品略有相似，在现有的信息下做出「正确」的选择，提升赢面概率。持续做出正确的选择，最终胡牌。当然，麻将是有限游戏，产品是无限游戏。</p>]]>
      </content:encoded>
    </item>
    <item>
      <title>2020.10.15 杂记：有钱人的定义、iOS 工作日智能闹钟、iPhone 12</title>
      <link>https://zhoulianglen.com/857</link>
      <description>区分「真有钱」和「假装有钱」很重要，至少应该满足如下两个标准，才会被视为「有钱」，安德鲁哈勒姆也是这样认为的:1. 可以选择不工作，而不必为了生计而担忧; 2. 所持有的投资，可以保证终生都有两倍于本国中等收入家庭的收益。（2020 年，上海家庭年收入为24-60万元）</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/miscellanies/">杂记</category>
      <category domain="https://zhoulianglen.com/tag/riches/">财富</category>
      <category domain="https://zhoulianglen.com/tag/iphone/">iPhone</category>
      <pubDate>Thu, 15 Oct 2020 14:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<h2 id="heading-1">何谓有钱？</h2><p>区分「真有钱」和「假装有钱」很重要，至少应该满足如下两个标准，才会被视为「有钱」,安德鲁哈勒姆也是这样认为的:</p><ol><li>可以选择不工作，而不必为了生计而担忧;</li><li>所持有的投资，可以保证终生都有两倍于本国中等收入家庭的收益。（2020年，上海家庭年收入为24-60万元）</li></ol><h2 id="heading-2">iOS 工作日智能闹钟</h2><p>iOS 闹钟一直不支持按中国法定节假日自动开启关闭，今天在 @scomper 的博客上看到了依托捷径的全自动解决方案。通过订阅中国法定节假日日历+捷径、在线 API 接口+捷径处理。</p><p>教程详见：<a href="https://pepcn.com/ios/iosshang-de-gong-zuo-nao-zhong">《iOS 上的工作日闹钟》</a></p><h2 id="heading-3">iPhone 12</h2><p>iPhone 12 终于出了，明晚 8 点就可以抢购。手上的 iPhone 7 用了四年，终于可以换代了。这次就不走官网途径购买了，会考虑手上的供货商渠道或者拼多多，差价应该足够覆盖分期手续费了。</p><h2 id="heading-4">简历</h2><p>最近在帮吴老师改简历，也衍生出了更新一下自己简历的想法。最近几次跳槽都没有用到简历，目前的简历内容还停留在设计师的内容上。周末可以抽空，更新一份产品坑的简历，顺带梳理一下这些年做产品的经历。</p>]]>
      </content:encoded>
    </item>
    <item>
      <title>公司五行论与组织六元拟人指标</title>
      <link>https://zhoulianglen.com/869</link>
      <description>
        <![CDATA[<p>某年跨年夜，朋友组织了一场小型酒会，其中有他的天使投资人。中途聊天提到他之前做项目如何设立团队，给出了一个五行论，公司由金木水火土组成，根据五行属性与城市的匹配，将不同的团队放置到不同城市，比如杭州属木，适合放运营团队，深圳属火适合放市场团队….反正最后项目成了。</p>]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/thinking/">碎片思考</category>
      <category domain="https://zhoulianglen.com/tag/ch6/">CH6</category>
      <category domain="https://zhoulianglen.com/tag/%E4%BA%94%E8%A1%8C%E8%AE%BA/">五行论</category>
      <pubDate>Mon, 28 Sep 2020 05:10:42 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>某年跨年夜，朋友组织了一场小型酒会，其中有他的天使投资人。中途聊天提到他之前做项目如何设立团队，给出了一个五行论，公司由金木水火土组成，根据五行属性与城市的匹配，将不同的团队放置到不同城市，比如杭州属木，适合放运营团队，深圳属火适合放市场团队….反正最后项目成了。</p><p>我倒更认为是因为这些城市，本身人才属性上就存在划分。杭州确实可以找到很好的运营人才，毕竟这里是电商的中心；深圳东莞等地服务业可能较为发达，金钱与付出成正比深入人心，销售自然拼命干活。</p><p>我也不知道猜的对不对，毕竟没去这些城市。不过先不谈这类迷信内容，五行轮用于看公司，我觉得还是有参考意义的。正好昨天早上看到一篇类似的文章，就做个备注。</p><h2 id="heading-1">公司五行轮</h2><p>印象里，那晚五行轮被拆分成如下内容，有外在也有内在因素。我在那之后也常根据这五个角度去看一些公司：</p><p>土：土壤，对应着行业<br>木：方法论、老板<br>水：水是流动的，对着着公司的资源<br>火：团队，好的团队要热情似火<br>金：财务，财务状况</p><h2 id="heading-2">组织六元拟人指标</h2><p>昨天看到一篇文章，地址：<a href="https://mp.weixin.qq.com/s/rNn1wl3bZmv4p5wLD32m0A">没有 KPI 和 OKR，早期创业如何定指标？×6 了解一下</a></p><p>其中提到了公司六元论，拆解的是组织本身的生态系统，我觉得也要比较有意思，放出来做备忘用。</p><p><img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1601298517-ch6.png" alt="" decoding="async"></p>]]>
      </content:encoded>
    </item>
    <item>
      <title>修真世界</title>
      <link>https://zhoulianglen.com/868</link>
      <description>探索「修真世界」与现实职场的惊人相似性。从灵力到炼丹，如何运用修真玄幻中的原则优化你的职能和天赋。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/miscellanies/">杂记</category>
      <category domain="https://zhoulianglen.com/categories/thinking/">碎片思考</category>
      <category domain="https://zhoulianglen.com/tag/imagination/">臆想</category>
      <category domain="https://zhoulianglen.com/tag/function/">职能</category>
      <category domain="https://zhoulianglen.com/tag/cultivation-fantasy/">修真玄幻</category>
      <pubDate>Thu, 24 Sep 2020 14:00:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>曾想过一个问题，化学是不是「炼金术」，物理是不是 「天道法则」？课本如果改个名，或许当年能提升我对学习的动力。</p><p>昨晚洗澡的时候，又突然想到，修真小说体系中，有各类修习法门。内练灵力、外练体魄，左手炼丹、右手制器。这何尝不是对应着我工作中产品、运营、商务等等各种职能。</p><p>而修真世界中的天才，或许就是那些既能往外扑，也擅修内功的人。</p><p>有些人灵力高强，有些人灵力高强的同时又是稀缺的炼丹师，兼具的越多，「修炼天赋与境界」则越高，而修炼天赋与境界在这个体系中，更多指代的是「勤奋」、机遇、时间和生死战斗所带来的感悟。</p><p>嗯，一切的一切都殊途同归。</p><p>如此说来的话，这场无限游戏越来越好玩，越来越「游戏化」了。</p>]]>
      </content:encoded>
    </item>
    <item>
      <title>玩法分析：让人停不下来的抽奖活动</title>
      <link>https://zhoulianglen.com/lottery-analysis</link>
      <description>
        <![CDATA[<p><img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599124737-photo-1537154835319-14f43d91ea98.jpeg?x-oss-process=image/resize,m_f]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/%E4%BA%A7%E5%93%81%E8%AE%BE%E8%AE%A1/">产品设计</category>
      <category domain="https://zhoulianglen.com/tag/%E8%BF%90%E8%90%A5/">运营</category>
      <category domain="https://zhoulianglen.com/tag/%E6%8A%BD%E5%A5%96/">抽奖</category>
      <category domain="https://zhoulianglen.com/tag/%E5%BF%83%E7%90%86%E5%AD%A6/">心理学</category>
      <pubDate>Thu, 03 Sep 2020 09:30:01 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p><img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599124737-photo-1537154835319-14f43d91ea98.jpeg?x-oss-process=image/resize,m_fill,w_780,h_225" alt="玩法分析：让人停不下来的抽奖活动" decoding="async"></p><blockquote><p>最近在折腾一些抽奖活动，同事向我分享了这篇文章。发布到博客仅做个人备忘用途。 本文对抽奖类活动进行了说明，并总结分享了抽奖类活动的玩法设计、页面表现，文末也有我写的一些批注。</p></blockquote><h2 id="heading-1">一、说明</h2><p>带有「博彩场景」特征的活动几乎是市面上运营类活动的首选项。它常复刻「线下博彩」的游戏场景，比如大转盘、扭蛋机、老虎机、猜杯子、翻卡片、红包雨、彩票等等，将其视觉化，用户通过简单的交互方式（如点击），随机获得优惠券、抵扣红包、小额现金等奖励。业务转化通常在用户 <strong>获得抽奖机会</strong> 以及 <strong>后续对奖品的使用</strong> 过程中实现。 这一类活动有较强的代入感，人们天生对博彩游戏着迷，愿意尝试，操作得当，很容易获得成功。 但也要注意，与线下博彩相比，手机环境对氛围的模拟较弱、奖品也常是优惠券等，价值较低，用户很难得到真实博彩带来的 <strong>「差一点成功」</strong>、<strong>「随机奖励」</strong> 的刺激体验。在多次奖励没有命中用户心理的情况下，很容易让用户产生受骗、倦怠的感觉，导致用户在业务转化前流失。 根据开奖周期，博彩类游戏还可以分为即时开奖和周期开奖两种类型，越长的开奖周期会带来越多的用户流失。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599122832-choujiang-1.png" alt="抽奖玩法" loading="lazy" decoding="async"></p><h2 id="heading-2">二、玩法设计</h2><p>人们参与「博彩类」活动主要的驱动力是 <strong>未知好奇</strong> 。我们都普遍痴迷于变化莫测的体验，对外界饱含探索的欲望，为了满足高涨的好奇心，愿意立即采取行动，这是人类得以生存、进化的必要机制，博彩行业正是利用了这一“人性弱点”得以长盛不衰。 当然人们沉迷赌博还有损失厌恶与规避（沉默成本）等复杂心理因素的影响，但也足以说明这一类型活动的有效性。 用户在参与过程中，刚开始在 <strong>好奇心</strong>、<strong>大奖诱惑</strong> 或者 <strong>社交压力</strong> 等驱使下进入活动，采取设计的交互行动获得奖品，因为 <strong>随机奖励</strong>、<strong>即时反馈</strong> 的酬赏机制，大脑分泌多巴胺，产生快感，用户沉迷其中… 最终，活动得以成功。 但是这类活动的奖品设计往往同质化严重，来来回回都是优惠券、抵扣券，用户几次抽奖后就心里倦怠，不再因为获得奖品而惊喜、兴奋；另外活动常需要用户完成任务来获得抽奖机会，用户付出后却没有得到 <strong>“等价”</strong> 的奖励，会感到被欺骗，最终离开活动。 因此在做设计时，首先要营造“博彩”氛围，使用 <strong>大奖奖励</strong>、<strong>动态弹幕</strong> 等设计手段、以及足够“热闹”的 <strong>视听呈现方式</strong> ；其次， <strong>尝试与其它的行为动机相结合，扩展玩法，承接用户动机变化</strong> ，最大化对用户的激励效果，促进用户行为。</p><h3 id="heading-3">2.1 给用户免费尝试的机会</h3><p>在设计时，提供给用户免费尝试的机会，让用户顺利开始活动，同时进行用户投教、用户行为培养，帮助用户认知行为模式。免费尝试机会一般为2~3次，太少太多都不大合适。同时，免费机会常会按天刷新（或不刷新），用完后可以通过完成一些带业务转化的任务来增加。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599122899-choujiang-2.png" alt="抽奖时给用户免费尝试机会" loading="lazy" decoding="async"></p><h3 id="heading-4">2.2 策略化用户中奖路径</h3><p>每次抽奖得到的奖品在用户看来是随机的，“公平公正、没有内幕”。但为让各业务数据（参与/业务转化/病毒传播）实现最优，用户奖品路径必须经过刻意设计，综合考虑运营成本、业务目标实现、用户体验，经过策略平衡以后，其效果远远不是简单随机可以比拟的。 <strong>2.2.1 奖品分级、用户分层</strong> 设计师根据需要对运营活动目标用户以及可用奖品进行分层，这样做的目的在于 <strong>实现奖品、用户两者之间的最优匹配，提高转化。</strong> 用户分层常根据用户属性进行，可能是：新老用户、资深用户……；或者根据用户行为偏好，分成“日用品用户”、“个人护理用户”… 奖品分层从不同层次用户的命中率、同一层次用户的吸引程度（价值）两个维度进行。在用户抽奖匹配奖品时，再结合随机性，就可以形成“随机”但高命中率的用户获奖路径。 <strong>2.2.2 奖品发放策略化</strong> 在免费阶段，常见的派奖内容是优惠券、消费抵扣红包等低价值奖品，很容易让用户产生活动含金量低、不参与损失不大的感觉，不利于业务转化阶段的用户留存。 可以试着在免费机会首次用完时，根据上一步的分层结果，针对性地派发一个吸引力较强的奖品，比如低面额的现金红包。 这样用户会建立活动价值很高，后续即使做任务也会得到更大奖励的心理预期，顺利进入业务转化阶段。 在业务转化阶段，用户付出时间、金钱、情感等，完成任务获得抽奖机会，自然期望得到更多，总是低价值奖品会大概率劝退用户，这个时候奖品分层就起到了作用， <strong>根据奖品对某一层次用户的吸引程度逐渐加码，随机派发</strong> ，能最大程度的提高转化深度（完成任务的个数与难度）。 可以设置奖品重置的策略，比如按天或者在本轮大奖发出后重置大转盘奖品。重置的概念通过限制时间引入稀缺性，提升了用户动机；在奖品足够丰富的情况下，甚至可以让用户成组选择中奖可得的奖品。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599122979-choujiang-3.png" alt="用户选择扭蛋机奖品" loading="lazy" decoding="async"> <strong>2.2.3 抽奖机会如何增加</strong> 常用的设计逻辑是，系统提供免费抽奖机会，在免费机会用完后，一定倒计时（ <strong>稀缺性</strong> ）后可恢复1次或多次，同时提供给用户并列的可选项—— <strong>完成某一项任务可以获得抽奖机会。任务推送要兼顾运营目标和用户属性，最好像用户和奖品一样进行分层</strong> ，控制任务列表的整理完成率，实现任务推送个性化；从而有效提升完成率和业务转化，更好的实现业务目标。 抽奖机会可以恢复的机制是否需要，同活动业务目标是否考虑复访以及活动奖品支撑能力有关。大多数活动都需要用户尽可能多的到访来提高活动效果，在运营资源足够的情况下，恢复机制就有必要。 但也有其它情况，比如支付宝针对未风测用户进行了1次运营活动，旨在提高平台风测用户比例，规则为用户完成风测则获得一次转盘抽奖机会，抽完即止。 Ps：不要用特殊任务击穿活动的基本参与逻辑，比如做某一个任务必中某一奖品，这样的设计“吃相太难看”，劝退用户没商量。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123052-choujiang-4.png" alt="抽奖机会增加方式" loading="lazy" decoding="async"></p><h3 id="heading-5">2.3 更高层次的用户驱动-使命感</h3><p>在马斯洛需求层次中，使命感处在尊重的需要（第四层）和自我实现（第五层）的需要，属于高层级的用户需求，如果活动设计可以与使命感关联，无疑会给用户更强的行为动机。 想一想彩民在没有中奖时常说的一句话是什么，“我为慈善做贡献了！”，正是这种更宏大的意义给了彩民金钱损失的安慰以及复购彩票的“借口”，甚至慈善也是彩票行业在我国存在的法理基础。但也要注意使命感传递难以保证可信度，缺乏紧迫感的问题，设计时要采取其他手段中和。 针对可信度，可以尝试与慈善机构合作，通过 <strong>叙事（动画等方式）</strong>、<strong>专属勋章（发放特有的慈善勋章）</strong>、<strong>精英集体（形成慈善团体）、排行榜、成就（英雄主义）</strong> 等方式强化。针对紧迫感欠缺，可以通过 <strong>稀缺（限制勋章数量、参与时间）</strong> 等办法提高。 这个技巧被支付宝应用的炉火纯青，蚂蚁森林，蚂蚁庄园、年年有余（一起保护中华鲟）都出现了使命感的影子。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123148-choujiang-5.png" alt="更高层次的用户驱动-使命感" loading="lazy" decoding="async"></p><h3 id="heading-6">2.4 把奖品展示出来</h3><p>随机奖励不意味着奖品不可见，把活动提供的奖品中最吸引人的部分大方展示出来，并提示更多。 要是可以的话，提供选择或者个性化，这对长期运营的抽奖活动尤其有用。这样做的好处在于能够激发用户的 <strong>拥有感和获得感</strong>、<strong>多巴胺预期效应</strong> 和 <strong>侥幸心理，</strong> 从而使用户立即采取行动。 <strong>「多巴胺预期效应」</strong> 表明人们哪怕只是预期能得到某些东西，获得某种成就，大脑也会分泌出多巴胺，产生愉悦感，从而增强追求这些东西的动机，促进人们采取行动。 <strong>「侥幸心理」</strong> 表明人们总会认为自己是最幸运的那个，因此哪怕只有一点点机会，人们也愿意以小博大，而放弃稳妥的中等奖励。</p><blockquote><p>“在人类的进化史上，从来没有什么预先准备好的事情，没有相应的知识结构帮助我们尝试并把握住机会。” ——罗伯特威廉姆斯。</p></blockquote><p>具体在设计时，可以尝试 <strong>大奖悬挂</strong> 的技巧，在活动页面中展示大奖奖励，用户看到后大脑开始分泌多巴胺，侥幸心理渐渐发挥作用， <strong>“这些都有可能是我的！”</strong> ，随之开始采取行动。还可以滚动展示 <strong>获奖动态弹幕</strong> ，进一步强化用户的侥幸心理，这样还能激发从众效应。注意头像和名称能提供更多可信度，尤其是头像。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123210-choujiang-6.png" alt="抽奖时外露奖品" loading="lazy" decoding="async"></p><h3 id="heading-7"><strong>2.5 给用户一个目标</strong></h3><p>上面我们提到过，用户在抽奖活动中获得奖品是策略化以后的“随机”结果。 随机奖励因为有不确定性，相较于确定奖励能带给用户惊喜，产生更多愉悦和成就感；但是不确定性也意味着缺乏掌控，奖励多次没有命中用户，用户就会产生受骗感和倦怠感，继而离开活动。 所以在设计时给用户设定一个目标很有必要，这样做能顺利承接用户行为动机的变化，同时还能激发 <strong>“目标实现效应”，</strong> 在目标周期内促进用户行为。 比如：</p><ul><li><strong>每抽满5次，必中黄色区域奖品（奖品价值较高）</strong> ；</li><li>或者 <strong>抽满5次开黄色宝箱，抽满9次开红色宝箱，抽满12次开紫色宝箱……；</strong></li><li>再或者 <strong>每天发布定量大奖；</strong></li><li>再或者 <strong>抽碎片集满送大奖（与抽奖类活动集合）……</strong></li></ul><p>通过设定额外的进阶性奖励，激励用户参与下去。在使用时结合文字说明，引入进度条组件、引导气泡组件等实现有效的视觉传达。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123284-choujiang-7.png" alt="给用户一个目标" loading="lazy" decoding="async"></p><h3 id="heading-8">2.6 社交影响</h3><p>在 <strong><a href="http://www.woshipm.com/pd/3279762.html">《收集类活动设计总结》</a></strong> 中我们详细论述了社交影响对运营活动的重要意义，在活动病毒式传播、可玩性拓展、业务目标转化上都有特别好的效果。这里不过多论述，只列举几个设计技巧。 <strong>2.6.1 邀请用户获得抽奖机会</strong> 如标题，获得抽奖机会的方式中加入邀请用户；如果有必要，可以设置进阶，邀请用户可以获得更多的抽奖次数。甚至可以在活动页面中加入特定的模块，来引导邀请并记录进度。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123339-choujiang-8.png" alt="邀请用户获得抽奖机会" loading="lazy" decoding="async"> <strong>2.6.2 引导用户分享</strong> 用户分享的前提一定是感到分享的内容有价值，传播它们能满足 <strong>虚荣、炫耀，或带来利益</strong> 。 如果系统在用户并没有这种感受的时候引导分享，那用户会感觉受到了侮辱和嘲弄，这一点也不夸张，想想某些系统让你分享你并不想传播的内容时，你心理的抗拒和对系统的厌恶有多强烈。 因此在合适的场景、合适的时机、提供合适的物料，才能让用户有动力去采取行动，并且分享也才能带来应有的业务价值。 比如：在用户获得大奖时提供有专属意义且设计精美的获奖卡片，用户原本就沉浸在获奖的情绪中，有欲望想要分享出去让大家都知道，此时系统的“善意”正中下怀，完成分享顺理成章。而这样的分享内容也才能真正起到吸引新用户的效果。 <strong>2.6.3 把机会、道具送给好友</strong> 很多游戏设计都有这样的机制，用户每天有固定的次数可以把能量值、金币等送给好友，同时自己也获得等量的赠送物，能量值可以用来参与活动、金币可以购买道具。 在活动设计中，也可以使用这一机制，把抽奖机会、道具等送给好友，同时自己也得到等量的物品，这样的设计在利他主义下，带来了双赢的局面。 <strong>2.6.4 排行榜/滚动中奖名单/中奖动态弹幕</strong> 它们都属于社交影响组件，与动态弹幕相比，中奖名单、排行榜常驻在活动页面的某一个区域或者有专门的展示页面，可以追溯。用户通过查看这些内容能产生 <strong>羡慕、攀比、侥幸的</strong> 心理，在这些心理作用下采取行动。排行榜还能告诉用户怎样才能获得胜利，投教用户可以采取的行动。当用户在排行榜中看到有人超过自己时，可以产生更强的行为驱动力，这一点常常被忽视掉。 但要注意排行榜很容易产生头部聚集效应，其内容有可能长期无法更新；二来用户的位置也很难在排行榜中体现出来，对用户产生劝退作用。可能的解决办法有 <strong>定期重置排行榜</strong> ； <strong>微型排行榜—只将用户和其朋友或者相似的人进行比较等</strong> 。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123395-choujiang-9.png" alt="增加排行榜、滚动中奖名单等" loading="lazy" decoding="async"></p><h3 id="heading-9">2.7 亏损和逃避心</h3><p>亏损和逃避心理作用的原理在交互组件：运营类活动「倒计时」中论述过，即人们认为某样东西（已拥有或本可以拥有的）即将逝去，生理上就会有冲动去避免这样的情况发生。 <strong>2.7.1 先给用户道具</strong> 设计道具，道具使用逻辑为 <strong>在用户获得某项奖励以后有强化的效果。一定要保证用户首先获得道具，然后获得奖励，这非常重要。</strong> 道具有天然的使用倒计时—活动时间，在活动到期后道具随之失效，用户就失去了道具可以带来的“超额收益”，设计师甚至可以给道具设定少于活动时间的专门倒计时，并在视觉层面强调出来，用户在 <strong>损失规避</strong> 的驱动下，产生对可强化奖励的强烈渴望，从而采取行动，这个时候最好给用户能提高获得该奖品概率的逻辑，防止用户因为缺乏掌控而产生无能无力的感觉，离开活动。如果用户是在免费尝试阶段获得道具，还有利于用户顺利进入业务转化阶段。 <strong>发放道具的手段</strong> 也很重要，要 <strong>有效传达给用户道具的价值</strong> 。以尊享的概念送给用户道具（用户感觉受到特别对待，提高道具的心理价值）；或者在用户抽奖得到奖品后以额外惊喜的形式送给他；再或者把道具作为众多奖品中的一个，使用策略手段让用户在免费阶段获得。 比如：用户在免费尝试阶段获得一张翻倍卡，可以翻倍获得的现金奖励红包，用户会努力去获得一个现金红包，甚至于想要得到更多的现金红包就为了让翻倍卡使用的更有意义。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123475-choujiang-10.png" alt="有效传达给用户道具的价值" loading="lazy" decoding="async"> <strong>2.7.2 连抽必中高价值奖品</strong> 连抽必中高价值奖品，引导用户积攒一定的抽奖次数然后一次性触发抽奖，作为技巧玩法能有效提高用户业务转化深度。值得注意的是连抽效果要能承接用户心理预期，同时 <strong>高价值奖品要做特别展示，凸显区别</strong> 。不过有时候，连抽也单纯为了快速消耗抽奖机会，提高操作效率。 比如：连抽5次必中黄色区域奖品。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123533-choujiang-11.png" alt="B站抽奖连抽必中" loading="lazy" decoding="async"> <strong>2.7.3 灵活使用倒计时</strong> 倒计时组件通过限制时间营造稀缺，提高用户动机，促使用户立即行动。 在运营活动中，倒计时有 <strong>活动时间倒计时</strong>、<strong>重要奖品倒计时</strong> 两种情况，分别提高了活动、重要奖品的稀缺性。要注意当对重要奖品使用倒计时时，最好能提供可以提升该奖品获奖概率的操作办法，如果用户仍然只能通过不停抽奖来获得该奖品，会因为不能更进一步而无能为力，倒计时反而会带来反作用，为了逃避这种感觉，用户大概率会选择无视。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123606-choujiang-12.png" alt="抽奖活动倒计时" loading="lazy" decoding="async"></p><h3 id="heading-10">2.8 用户行为指示与召回</h3><p><strong>2.8.1 最大的抽奖按钮</strong> 在设计时，尽可能把行动按钮做到最大，最酷炫，这样才能有效吸引用户视线，引导用户行为。 人类的本能决定： <strong>除非必要，我们很少会主动思考，哪里有引导，哪里就会有“服从”引导的行为</strong> 。 有效的按钮设计，会让用户“顺从”的点击，从而顺利进入活动，完成参与；这样的设计还能提高用户效率，有效防止用户在首次进入时碍于理解成本，离开活动。 <strong>「4 s法则」：用户进入一个系统，在4s内找不到匹配点，系统也不提示可能的后续流程，那么他大概率会选择离开。</strong> <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123666-choujiang-13.png" alt="抽奖按钮要大" loading="lazy" decoding="async"> <strong>2.8.2 引导气泡（Popover）</strong> <strong>「引导气泡」</strong> 是行动引导组件的一种，一般出现在需要被点击的操作按钮、被解释的视觉元素旁边；常与手势指针一起使用，起到引起用户注意、引导用户行为的作用。引导气泡可以常驻或短暂出现，设计时，要讲究策略，详细描述其出现时机、隐藏机制、展示内容等。 比如：在用户进入页面3s无操作时出现、5s后消失。 <strong>「气泡引导（Popover）」</strong> 组件我会在后续文章中进行总结说明。 <strong>2.8.3 用户挽留与召回机制</strong> 用户 <strong>挽留和召回机制</strong> 是一个很重要但是常常会被忽略的交互策略内容。 用户参与活动可能来自于不同的渠道，离开活动时，也可能处在不同的参与深度，能挽留用户完成更多或吸引用户重新回到活动的内容理所当然也要差异化。 因此交互设计时，应当尽可能细分场景，设计不同的弹窗文案内容，以不同的渠道精准打中用户，最大化挽留和召回效果。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123759-choujiang-14.png" alt="用户挽留与召回机制" loading="lazy" decoding="async"></p><h2 id="heading-11">三、页面表现</h2><p>“博彩”类活动中可能存在的功能模块有 <strong>头部标题、抽奖功能区、业务转化抽屉、好友邀请进度、规则介绍</strong>、<strong>我的中奖、排行榜、中奖表单、动态弹幕</strong> 等。</p><h3 id="heading-12">3.1 场景故事与氛围</h3><p>“博彩”类活动可以用来复刻的线下场景极其丰富，现实生活中有众多博彩玩法都可以用作原型扩展为主场景，如 <strong>【红包】、【彩票】、【扭蛋】、【娃娃机】、【老虎机】、【大转盘】、【翻牌】、【招财猫】、【弹珠】、【猜杯子】</strong> 等，设计时结合时节、热点等灵活操作即可。 页面设计要尽最大努力烘托氛围，有效体现参与热度、奖品价值。通过页面 <strong>局部动效、背景音乐</strong> 等手段强化。 <img src="https://cdn.imzl.com/wp-content/uploads/2020/09/1599123889-choujiang-15.png" alt="抽奖的一些玩法形式" loading="lazy" decoding="async"></p><h3 id="heading-13">3.2 弹窗设计</h3><p>在“博彩”类活动中，奖品发放、用户投教、召回等一般都采用弹窗来承载，所以弹窗的设计体感很重要。 <strong>蒙层的透明度选择、文案设计、主从按钮、是否自动收起、品牌投教元素、</strong> <strong>弹窗动效设计</strong> 等内容都要经过深思熟虑，后面我会在专门的弹窗组件说明中详细论述。 总之， <strong>弹窗的体感一定要能承接你希望用户产生的情绪波动</strong> ，“小奖不要浪，大奖一定炫！”</p><h2 id="heading-14">四、总结</h2><p>如上文，“博彩类”活动群众基础广泛，运营得当较容易取得成功。在交互设计时要注意规则策略化，尤其是奖品发放逻辑要深入浅出，简单又有效；同时 <strong>采用不同的动机设计手段来承接用户参与过程中的动机变化</strong> 。实现活动运营的效果最大化。 原文作者 <a href="http://www.woshipm.com/pd/3327970.html">@崔宇雄</a> 原创发布于人人都是产品经理。</p><h2 id="heading-15">个人备忘</h2><ol><li>现金红包也是一种抽奖方式，可以向 PDD 学习玩法（有零有整，运气最佳）</li><li>如何承接好奇心？抽检疲惫有什么新的玩法？</li><li><s>购买后现金返现？大额？会降低转化率么？加微信给红包？</s></li><li>让用户成组选择中奖可得的奖品。</li><li>慈善事业使命感？蚂蚁森林是个很好的例子</li><li>多巴胺刺激：奖品提前罗列</li><li>用户获得大奖时，提供有专属意义且设计精美的获奖卡片， 用户原本就沉浸在获奖的情绪中，有欲望想要分享出去让大家都知道。但也要考虑抽奖场景的特性，并不是所有的抽奖都可以进行裂变分享</li><li>或许有一种新的玩法：掷骰子，按点数打折。既有运气也有实力成分</li><li>亏损和逃避心理：先获得翻倍卡一小时内有效，再获得消费券。（直接给翻倍卡 or 抽中翻倍卡？）</li><li>凭实力+运气抽中（可以答题）炫耀后可以券翻倍或者再抽一次</li><li>列表页城市专享、日期特权等</li><li>学会造节日（全场造节，给用户一个为什么这么便宜的理由。如双十一、双十二；单品造节，如某某品牌回馈、成立多少年等）</li></ol>]]>
      </content:encoded>
    </item>
    <item>
      <title>Chrome 网页中同时查找多个关键词内容的方法</title>
      <link>https://zhoulianglen.com/chrome-search-for-multiple-keywords</link>
      <description>
        <![CDATA[<p>我自己是 Chrome 的忠实用户，十多年来就只用 Chrome 这一个浏览器。最频繁使用的功能是「关键词搜索（页内搜索）」。</p>
<p>只需要使用 <code>⌘ + F</code> 就可以快速打开「页内搜索」功能，输入关键词后即可在当前网页内查找关键词，但这功能只]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/tool/">工具</category>
      <category domain="https://zhoulianglen.com/tag/chrome/">Chrome</category>
      <category domain="https://zhoulianglen.com/tag/chrome-%E6%8F%92%E4%BB%B6/">Chrome 插件</category>
      <pubDate>Mon, 24 Aug 2020 13:46:30 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>我自己是 Chrome 的忠实用户，十多年来就只用 Chrome 这一个浏览器。最频繁使用的功能是「关键词搜索（页内搜索）」。</p><p>只需要使用 <code>⌘ + F</code> 就可以快速打开「页内搜索」功能，输入关键词后即可在当前网页内查找关键词，但这功能只支持单个关键词。如果想在网页内搜索多个关键词的话，就只能重复数次，非常麻烦。</p><h2 id="heading-1">CHrome 插件：Multi-highlight</h2><p>今天偶然在少数派上看到这款 Chrome 插件，试用后发现可完美解决该问题。</p><p>它支持同时高亮网页内的多个关键词，你只需要在输入时用空格或回车将关键词隔开即可在当前网页中搜索多个关键词。</p><p><img src="https://cdn.imzl.com/wp-content/uploads/2020/08/1598276448-Multi-highlight.png" alt="" decoding="async"></p><p>如上图，我同时搜索了「周良、问题、杭州、文件 」 4 个关键词。Multi-highlight 就会为关键词进行不同色彩的高亮显示，让我们更加精确地发现并区分它们。</p><p>并且这款插件对中文支持也基本没有问题，在特定页面中用它来进行信息挖掘相当称手，爱了。</p><h2 id="heading-2">快捷使用小技巧</h2><p>我们可以在 Chrome 中给插件设置一个特定的快捷键，用起来就方便了。快捷键设置操作如下：</p><ol><li>新建一个标签页；</li><li>地址栏输入 <code>chrome://extensions/shortcuts</code> 后访问；</li><li>找到 Multi-highlight 插件，设置一个快捷键即可。</li></ol><h2 id="heading-3">安装 Multi-highlight 插件</h2><p>你可以在  <a href="https://chrome.google.com/webstore/detail/multi-highlight/pfgfgjlejbbpfmcfjhdmikihihddeeji">Chrome 网上应用商店</a>  免费获取 Multi-highlight。</p>]]>
      </content:encoded>
    </item>
    <item>
      <title>解决 WordPress 错误页面无法正确识别为 404 页面问题</title>
      <link>https://zhoulianglen.com/wordpress-not-recognized-404</link>
      <description>
        <![CDATA[<p>上文说到最近给<a href="https://imzl.com/zlbk-net">周良博客换了 imzl.com 域名</a>，服务器迁移到了阿里云 ECS 杭州。文件数据迁移、部署新服务器环境、Https 证书部署、<a href="https://imzl.com/]]>
      </description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/wordpress/">WordPress</category>
      <category domain="https://zhoulianglen.com/tag/wordpress-tutorial/">WordPress 教程</category>
      <category domain="https://zhoulianglen.com/tag/wordpress-skill/">WordPress 技巧</category>
      <category domain="https://zhoulianglen.com/tag/lnmp/">LNMP</category>
      <category domain="https://zhoulianglen.com/tag/nginx/">nginx</category>
      <category domain="https://zhoulianglen.com/tag/%E7%BD%91%E7%AB%99%E7%BB%B4%E6%8A%A4/">网站维护</category>
      <category domain="https://zhoulianglen.com/tag/pathinfo/">pathinfo</category>
      <pubDate>Thu, 06 Aug 2020 13:29:45 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>上文说到最近给<a href="https://imzl.com/zlbk-net">周良博客换了 imzl.com 域名</a>，服务器迁移到了阿里云 ECS 杭州。文件数据迁移、部署新服务器环境、Https 证书部署、<a href="https://imzl.com/wordpress-301">老域名 301</a>、静态文件上阿里云 OSS 等流程基本轻车熟路。整个过程没出什么问题，返倒是网站上线后遇到一个奇怪的问题。</p><p>WordPress 居然不能正确识别错误网页跳转到 404 页面了。</p><h2 id="heading-1">状况概述</h2><p>这个大概的表现情况就是：</p><ul><li>访问 <a href="https://imzl.com/404/">https://imzl.com/404/</a> 这个无内容页面，正常逻辑上是跳转 ng 设置或者 WordPress 主题自带的 404 页面，但实际情况这个页面居然直接显示了博客首页的内容。</li><li>而访问 <a href="https://imzl.com/404">https://imzl.com/404</a> 这个 URL，可以正常识别无效页面，显示为 404 页面。</li></ul><p>懵逼不懵逼？也就是说，博客所有 URL 不为 .html 结尾的 404 页面，打开后全部都会显示博客首页内容，这个事情体验太差了。</p><h2 id="heading-2">问题排查路径</h2><p>记录一下我的问题排查过程，可能你没有遇到问题，但这个一步步控制变量、提出假设验证假设的排查逻辑方法说不对你有用。</p><h3 id="heading-3">排查 WordPress 主题是否出错</h3><p>最初步的猜测可能是主题有问题：换一个已知没问题主题进行测试。因为我手上有两个博客，都换成相同主题，实测 WordPress 主题没问题，排除该原因。</p><h3 id="heading-4">排查 Nginx 配置是否有误</h3><p>既然是跳转问题，猜测可能是 Nginx 配置文件规则写错了。查看 WordPress Nginx 配置文档说明，对比后后确认规则无误，可排除规则引起问题。</p><p>但不能完全排除 Nginx 无问题，我又将将相同规则的 nginx 应用于另外站点，也未发现问题。再确定两个站对比变量是否一致，发现阿里云上挂了两个站，测试 VPS 上只有一个站，抱着试一试的心态，去测试服务器上又挂了一个站。</p><p>问题复现，那基本可以确认问题出在 Nginx 配置文件上。</p><h2 id="heading-5">最终解决</h2><p>本身我对 Nginx 不会做频繁更改，一直就只会写那么几个固定的规则。所以选择了求助大牛这条路。因为服务器环境是用 LNMP 搭建的，所以找了 LNMP 一键安装包的作者<a href="https://bbs.vpser.net/">@军哥</a> 咨询。说明遇到的问题、当前的排查方法和对应结果。</p><p>最后猜测是 Nginx 配置中开启了 <strong>pathinfo</strong> 导致。</p><h3 id="heading-6">LNMP WordPress 站点关闭 pathinfo 方法</h3><ol><li>找到 Nginx 配置文件，一般在 <strong>/usr/local/nginx/conf</strong> 目录。</li><li>找到 <strong>include enable-php-pathinfo.conf;</strong></li><li>将其修改为 <strong>include enable-php.conf;</strong></li><li>终端链接服务器，输入 <strong>service nginx restart</strong> 重启 Nginx。</li><li>问题解决。</li></ol>]]>
      </content:encoded>
    </item>
    <item>
      <title>WordPress 文章内容自动为 a、p 等标签插入指定 Class 方法</title>
      <link>https://zhoulianglen.com/wordpress-content-insert-class</link>
      <description>WordPress 文章内容自动为 a、p 等标签插入指定 Class 方法。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/wordpress/">WordPress</category>
      <category domain="https://zhoulianglen.com/tag/wordpress-tutorial/">WordPress 教程</category>
      <category domain="https://zhoulianglen.com/tag/wordpress-skill/">WordPress 技巧</category>
      <pubDate>Fri, 31 Jul 2020 15:10:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>上周在写个主题，因为引用了开源的 CSS 框架，各类前端标签添加 Class 就行，比较简单。但写到文章内容的时候就有问题了，内容都是 WP 自己输出的，我控制不了所使用的 Class。</p><p>问了一下 @desin（我爱水煮鱼博客作者） 有没有不写 js 去添加 class 的方式，desin 提到可以看一下 content 的文档。研究了一下，问题解决。</p><p>代码丢上来，仅供大家参考，复制下面的代码丢到主题 <code>function.php</code> 文件的 <code>&lt;?php</code> 下面一行即可 ：</p><pre><code class="highlight php"><span class="comment"># 文章内 img 标签自动添加 img-res Class</span><span class="function"><span class="keyword">function</span> <span class="title">img_paragraph</span>(<span class="params"><span class="variable">$content</span></span>)</span>&#123;    <span class="keyword">return</span> <span class="title function_ invoke__">preg_replace</span>(<span class="string">&#x27;/&lt;img([^&gt;]+)?&gt;/&#x27;</span>, <span class="string">&#x27;&lt;img$1 class=&quot;img-res&quot;&gt;&#x27;</span>, <span class="variable">$content</span>);&#125;<span class="title function_ invoke__">add_filter</span>(<span class="string">&#x27;the_content&#x27;</span>, <span class="string">&#x27;img_paragraph&#x27;</span>);</code></pre><p>同理，你要控制 p 标签的话，代码如下：</p><pre><code class="highlight php"><span class="comment"># 文章内 p 标签自动添加 mt1em mb1em lh-180 三个 Class</span><span class="function"><span class="keyword">function</span> <span class="title">p_paragraph</span>(<span class="params"><span class="variable">$content</span></span>)</span>&#123;    <span class="keyword">return</span> <span class="title function_ invoke__">preg_replace</span>(<span class="string">&#x27;/&lt;p([^&gt;]+)?&gt;/&#x27;</span>, <span class="string">&#x27;&lt;p$1 class=&quot;mt1em mb1em lh-180&quot;&gt;&#x27;</span>, <span class="variable">$content</span>);&#125;<span class="title function_ invoke__">add_filter</span>(<span class="string">&#x27;the_content&#x27;</span>, <span class="string">&#x27;p_paragraph&#x27;</span>);</code></pre>]]>
      </content:encoded>
    </item>
    <item>
      <title>解决 WordPress 长时间处于「正在执行例行维护，请一分钟后回来」状态问题</title>
      <link>https://zhoulianglen.com/wordpress-scheduled-maintenance</link>
      <description>原来 WordPress 在升级程序、主题和插件时，会切换到维护模式。这个时候访问网站前台会显示「正在执行例行维护，请一分钟后回来」，如果升级顺利几秒左右就会恢复正常。但遇到网络不佳等特殊情况会导致升级中断，WordPress 就会一直停留在维护模式，不论前台还是后台，都一直显示「正在执行例行维护，请一分钟后回来」。</description>
      <author>周良 Len</author>
      <category domain="https://zhoulianglen.com/categories/wordpress/">WordPress</category>
      <category domain="https://zhoulianglen.com/tag/wordpress-tutorial/">WordPress 教程</category>
      <category domain="https://zhoulianglen.com/tag/wordpress-skill/">WordPress 技巧</category>
      <pubDate>Fri, 31 Jul 2020 14:54:00 GMT</pubDate>
      <content:encoded>
        <![CDATA[<p>今天给个人博客升级插件的时，遇到个问题：前后台一直停留在空白页面并显示「正在执行例行维护，请一分钟后回来」，一脸懵逼。</p><p>原来 WordPress 在升级程序、主题和插件时，会切换到维护模式。这个时候访问网站前台会显示「正在执行例行维护，请一分钟后回来」，如果升级顺利几秒左右就会恢复正常。但遇到网络不佳等特殊情况会导致升级中断，WordPress 就会一直停留在维护模式，不论前台还是后台，都一直显示「正在执行例行维护，请一分钟后回来」。</p><h2 id="heading-1">如何解决这个问题呢</h2><p>删除网站根目录下的 <code>.maintenance</code> 文件。</p><p><code>.maintenance</code> 是个隐藏文件，通过 FTP 登陆一般看不到，建议 SSH 登录。可按如下步骤处理：</p><ol><li><code>cd /home/xxx/xxx</code> 进入对应出问题的 WordPress 网站根目录；</li><li><code>ls -a</code> 列出当前目录含隐藏文件的所有文件，看看有没有 <code>.maintenance</code>，有的话执行删除；</li><li><code>rm -rf .maintenance</code> 回车删除，问题解决。</li></ol>]]>
      </content:encoded>
    </item>
  </channel>
</rss>
