Star

Star的日记

庆祝每一天

我的个人使命、愿景与价值观

记录时间:2026-07-15 13:17:38

愿景

成为一个更健康、更长寿、内心更平和、头脑更清醒、拥有更多选择自由的人。

使命

践行并传播价值投资与长期主义,通过技术、投资和真诚分享,帮助自己和他人做更少、更正确、更长期的选择。

价值观

本分

尊重规律,守住边界;做对的事,把事情做对;不占便宜,不推卸责任。

真诚

做真实的自己;正直坦荡,不卑不亢;不讨好,不伪装,也不欺骗自己。

理性

尊重事实,接受现实,独立思考;理解情绪,但不让情绪替自己作决定。

长期

尊重时间、复利和机会成本;专注少数重要的事,耐心积累,发现方向错误及时停止。

座右铭

做正确的事,把事情做对,剩下的交给时间。

Stop Doing List

一、投资

  1. 不懂不投。 不能用简单语言说清商业模式、竞争优势、管理层和主要风险,不投资。

  2. 不投坏生意。 不投长期缺乏竞争优势、定价权弱、盈利质量差、资本回报低的企业。

  3. 不投脆弱的资产负债表。 不投依赖高杠杆才能生存、一次重大冲击就可能永久受损的企业。

  4. 不与缺乏诚信的管理层合作。 管理层不诚实、不尊重股东、资本配置能力差,即使价格便宜也不投资。

  5. 不用杠杆,不做空,不参与自己无法承受的风险。

  6. 没有安全边际不买。 好企业不等于任何价格都值得买。

  7. 不因股价、新闻、群聊和市场情绪频繁改变判断。

  8. 不因沉没成本继续持有。 只判断从现在开始,它是否仍然值得持有。

二、人生

  1. 不以捷径代替基本功。

  2. 不以幻想、分析、规划或拖延回避现实。

  3. 不占别人便宜,也不通过过度付出换取认可和关系。

  4. 不推卸自己的责任,也不替别人承担本应由他承担的责任。

  5. 不沉溺于抱怨、嫉妒、比较和受害者叙事。

  6. 不复制别人的人生,不用他人的标准定义自己。

  7. 不因沉没成本继续投入错误的人、项目和方向。

  8. 不参与无助于目标的争论,不把注意力交给互联网情绪。

  9. 不用输入代替输出,不把学习和准备误认为成果。

  10. 不同时开启过多目标。每个阶段只保留一至两条核心主线。

  11. 不透支健康换取短期成果。

  12. 不把希望建立在对人性的理想化上。判断一个人,看行动、激励、边界和长期记录。

三、情感

  1. 不长期单向付出。 不使用礼物、金钱、照顾和牺牲换取爱情。

  2. 不向没有明确选择自己的人提供伴侣级投入。

  3. 不把对等理解成逐笔算账。 对等看的是长期的选择、行动、时间、责任和关心。

  4. 不在强烈情绪中作出重大决定。 先暂停,恢复平静后再处理。

  5. 不读空气。 不用猜测代替直接沟通,不用言语暗示代替行动证据。

  6. 不因害怕失去而隐藏真实需求,也不长期停留在模糊关系中。

  7. 不把别人的回复速度、态度和选择当作自我价值的证明。

  8. 不反刍没有新证据的过去。 复盘只为形成原则,形成原则以后停止重复审判自己。

  9. 不试图通过改变、拯救或感动一个人,获得对方的选择。

  10. 不因为认识时间长、投入很多或关系特殊,就忽视对方没有选择自己的事实。

一个下午,我用 AI 重建了巴菲特的《价值线》

记录时间:2026-07-14 16:14:16

这是一份关于职业转型、价值投资和 AI 工具化的下午日志。文中公司与财务数据用于研究方法验证,不构成投资建议。

起点:一次关于焦虑的对话

这件事的起点跟投资无关。

我是个移动端开发者,做电商 App。产品进入纯维护期以后,我已经半年没怎么写代码。就业环境不好,我一直觉得 AI 会取代我,而且对此有一种无能为力的感觉。

我把这份焦虑原封不动地丢给了 AI。它没有安慰我,而是指出了一个事实:真正的威胁不一定是 AI,而可能是这个岗位本身正在消亡。

与此同时,我手里其实握着一份难得的资源——一份还在发工资、但几乎不占用精力的工作。它等于给了我一条 6—12 个月的在职跑道,让我可以在不立刻失去现金流的情况下,尝试新的方向。

它给我的建议是:别再把主要精力放在框架细节上。那是贬值最快的部分。更值得做的是用 AI 把开发速度转化成产品能力,再把方向放在我两个能力圈的交叉点:我写了十年代码,也做了多年价值投资。

于是这个下午,我决定试一试。

第一步:搞清楚能做什么,以及不能做什么

我先做了一轮调研。几个关键结论很快把产品边界画了出来。

第一,合规是红线。 在国内,付费提供个股买卖建议属于证券投资咨询业务,个人开发者不能把“AI 荐股”当成产品方向。工具型产品则不同:数据、记录、复盘和研究辅助不直接替用户做交易决策。理杏仁这样的工具能够按年收费,说明这个需求本身真实存在。

第二,市场并不是没有缝隙。 AI 投研终端已经被同花顺、东方财富等大厂占据,个人开发者很难正面竞争。但 App Store 上“交易复盘”“持仓记录”这类小而专的独立应用,仍然有真实付费用户。问题是,它们几乎清一色服务短线交易者。

价值投资者的长周期决策记录与复盘,反而没有被认真服务。

第三,数据成本可以压得很低。 AKShare 免费覆盖 A 股、港股的行情和财报数据,东方财富的公开接口也能取到 F10 的大量信息。对一个个人开发者来说,数据成本接近于零,真正稀缺的是把数据转化成判断的流程。

产品方向于是定了下来:价值投资者的决策日志 + AI 复盘。 用户记录买入时的逻辑,每次财报发布后,系统自动对照:当初的逻辑有没有被新事实破坏?

这比提醒“股价涨了还是跌了”更接近长期投资真正需要的反馈。

第二步:验证数据管道能不能跑通

光有方向不够,还得证明数据链路确实能工作。这个下午,我实际验证了几件事。

  • 从东方财富公开接口拉取茅台 12 年年报数据、分红历史和实时行情,交叉验证后全部对得上,算出的市值与接口返回值一致到个位。
  • 摸清港股接口里的数据陷阱:财报是人民币,股息和股价是港元,三种币种混在同一张表里;股本和股息字段常常是当前值,而不是历史值;上市前优先股的会计处理,还可能让净资产显示为负数。
  • 用真实数据生成了茅台和腾讯的“价值线式”单页报告,把原本分散的接口字段压成一张可以快速阅读的企业快照。

顺带还收获了一个洞察:茅台 2025 年报营收、净利双降,2026 年一季度毛利率跌破 90%。如果这个产品已经存在,这正是应该触发“逻辑体检”提醒的时刻。

产品需求不是凭空想出来的,而是被数据本身验证了:长期投资者需要的不是更多行情通知,而是有人提醒他回头检查自己的原始判断。

第三步:把大师的读法变成可执行的框架

这是今天最有意思的部分。

巴菲特说,他翻《价值线》30 秒就知道对一家公司有没有兴趣;芒格说,如果他开一所商学院,就会用《价值线》的图表教学。但他们到底在看什么?

我和 AI 把原始资料翻了一遍,提炼出一套完整的阅读框架,并在迭代过程中纠正了两个流行的误读。

误读一:芒格夸的“图表”是股价走势图

巴菲特的原话其实很明确:股价走势图对我们来说毫无意义。

芒格说的精髓,是股价图下方那 10—15 行财务数据。那部分信息把一家公司的长期经营记录、利润率、资本结构、每股数据和回报能力压缩成了一张“完美的企业快照”。

误读二:整页内容都有用

真实的《价值线》页面上,评级、Beta、目标价、机构动向和分析师预测占了很大篇幅。但巴菲特和芒格明确表示,他们并不关心这些意见。

原则只有一句:不寻求意见,只寻找事实。

最终的阅读框架是一条流水线。

入口:先看历史新低名单

第 0 步不是打开某家公司,而是先看“历史新低名单”:股价新低、PE 新低、PB 新低。

新高名单上的公司,价格里往往已经装满了乐观;便宜只可能藏在新低里。新低不代表值得买,但它至少提供了一个值得继续问问题的入口。

五步扫描:30 秒内找否决理由

  1. 长期记录像不像一条直线?营收、利润、现金流和每股价值,是持续向上,还是充满断裂和反复?
  2. ROE 高不高、靠不靠杠杆?高回报来自真正的生意质量,还是来自不断加大的债务?
  3. 股本在缩还是在胀?回购可能放大每股价值,融资和增发则可能稀释原有股东。
  4. 利润率有没有定价权?毛利率和经营利润率是长期改善,还是只随着周期涨落?
  5. 和自己的历史比贵不贵?估值不是脱离历史的绝对数字,而是当下价格相对于企业自身记录的关系。

任何一步不合格,就先翻页。第一轮扫描的目的不是找出“可以买”的公司,而是尽快找到否决理由

5 秒心算:先抓住数量级

对企业做第一轮判断时,只需要做几项心算:市值、EBIT、经营占用资本,以及 EV/EBIT。

禁用计算器,也先不用“每股”概念。商誉不算真正投入的经营资本,融资带来的每股增长也不能直接当成生意增长。这个过程不是为了算出一个精确估值,而是为了快速判断:眼前的价格和生意,大致是不是同一个数量级。

五问清单:把页面之外的问题留下来

  • 价格便宜吗?
  • 是好生意吗?
  • 管理层可信吗?
  • 我漏了什么?
  • 为什么这家公司会被我发现?

前两问,企业快照通常可以给出初步答案;后三问必须自己去挣。页面能压缩事实,却不能替你完成理解。

第四步:用三家公司实测

框架不经过实测,仍然只是空谈。我用真实数据做了三份“企业快照版”单页报告。

Builders FirstSource:翻页

Builders FirstSource 是一家美国建材制造与分销公司。它在 2008—2013 年连续亏损六年,高 ROE 很大程度上由 43% 的债务占比撑起,利润率也随着房地产周期上下波动。

五步扫描的第一步就出了问题:长期记录不像一条稳定向上的直线。它可能是一家值得研究的周期型公司,但不符合这套快速筛选框架对“稳定复利生意”的第一印象。

判词:翻页。

泡泡玛特:进入第二轮

泡泡玛特的入口第一次就亮了灯:股价距离 52 周低点只有 10%,PE 已经从 87 倍降到 14 倍。

它的生意质地也很罕见:无杠杆 ROE 达到 77%,85 亿元经营资本赚取 170 亿元息税前利润,毛利率九年间从 48% 爬升到 72%。从企业快照看,增长、利润率和资本回报都相当醒目。

但 14 倍 PE 的分母,是一个同比增长 309% 的爆发年利润。页面可以告诉我利润涨得多快,却回答不了一个更重要的问题:Labubu 是可口可乐,还是郁金香?

这已经超出了快照的能力边界,需要进入第二轮,去研究 IP 的生命周期、渠道结构、用户复购和管理层资本配置。

判词:进入第二轮。

小米集团:进入第二轮

小米的入口信号更强,股价距离 52 周低点只差 1.1%。但它的画像完全不同。

它的毛利率在十一年间从 4% 单边上行到 22%,ROIC 却始终只有 10% 上下;公司从不分红,为造车业务持续融资,加权股本七年净增 8%。

看小米必须保留“每股”思维,否则很容易把融资买来的收入增长,误认为是生意本身的增长。规模在变大,不等于每一股的内在价值同步增长。

小米真正的分歧点,在于汽车业务最终能否获得足够高、足够稳定的回报率。

判词:进入第二轮。

同一套模板,三种判词。方法开始像一个产品了。

第五步:把流程沉淀成 Skill

最后一步,我把整个生成流程写成了一个可复用的 AI Skill:

取数 → 核对数据陷阱 → Python 验算 → 应用判定框架 → 模板渲染

以后对任何一只港股说一句“生成企业快照”,就能得到同样结构的页面。它不负责替我下结论,而是负责把重复劳动变成一条稳定的流水线。

这一步对我的意义特别大。它证明了:方法可以被工具化,工具可以被复用。

而这正是我想做的产品的雏形——不是把投资判断外包给 AI,而是把自己的判断流程变成一个能反复调用的系统。

今天的产出清单

一个下午结束时,留下了这些具体产出:

  • 一份产品规划文档,包含合规边界、MVP 定义,以及内容与产品双轮策略。
  • 一份财报接口字段词典。
  • 茅台、腾讯两份价值线式报告。
  • Builders FirstSource、泡泡玛特、小米三份企业快照。
  • 一个可复用的企业快照生成 Skill。
  • 若干用于取数、核对和验算的数据脚本。

全部由真实公开数据驱动,数据成本为零,耗时一个下午。

这不是一个已经验证商业成功的产品,但它至少完成了最重要的第一步:把模糊的职业焦虑,变成了一个可以运行、可以复用、可以继续接受现实反馈的实验。

写在最后

早上我还在焦虑“AI 会取代我”。下午结束时,我意识到问题可能问错了。

AI 取代的是“写代码”这个动作,放大的是“判断该做什么”的能力。今天做的每一件关键事情——判断合规边界、识别数据陷阱、把大师的只言片语提炼成可执行框架、决定页面上删掉什么——都是 AI 不能替我完成的部分。

而它把剩下的一切加速了一百倍。

一个人,半天,完成了过去可能要一个小团队才能做完的事情。被取代的恐惧,和成为杠杆的兴奋,原来是同一件事的两面。

AI 不是让我停止成为开发者,而是逼我重新回答:除了写代码,我到底能判断什么、创造什么、承担什么?

下一步有两件事:把泡泡玛特和小米的“第二轮功课”真正做完,写成公开复盘;再把快照生成做成“输入代码,一键出页”的工具原型。

把一切想清楚,真的能让我安全吗?

记录时间:2026-07-14 13:38:59

这篇笔记整理自一次持续很久的自我分析:从性格、恐惧与行动,到一段长期困住我的感情关系。它不是心理诊断,而是对反复出现的思维和行为模式所作的一次整理。

如果要为自己画一幅尽可能诚实的画像,我大概是一个高责任感、强系统思维的长期主义者

我喜欢追究底层规律,把零散知识整理成框架;相信复利、能力圈和安全边际;希望把技术、投资、心理学、哲学与教育连接起来;遇到问题时,也习惯查资料、建模型、做预案、寻找更可靠的判断标准。

这些特点让我能够看得深、想得远,也让我比很多人活得更紧。

因为在这些看起来不同的性格特征下面,可能藏着同一个需求:

我希望通过理解规律、建立系统和提前准备,减少失控,避免犯下无法挽回的大错。

我曾经以为,只要把事情想得足够清楚,人生就会更安全。现在我开始怀疑:不断想清楚,究竟是在解决风险,还是在缓解恐惧?

同一条根,长出了优点与困境

我身上的很多优点和缺点,并不是互相独立的。它们常常是同一种能力在不同情境下的两面。

系统思维让我善于抽象、分类和搭建框架;推到极端,就会变成过度系统化,仿佛连幸福、关系和人生选择都应该有一套完美算法。

长期主义让我能够忍受短期波动、持续积累;推到极端,就可能让我在错误方向上坚持太久,把不退出误认为有耐心。

风险意识让我警惕杠杆、集中押注和不可逆损失;推到极端,就会把尚未发生的可能性不断放大,在真正行动以前先经历无数次失败。

高标准让我在意逻辑、结构和质量;推到极端,就会把一个小项目扩张成完整体系,通过继续准备推迟现实检验。

自我反思让我能够看见问题;推到极端,就会从复盘滑向自我审判,反复追问自己是不是落后了、做错了、来不及了。

教师型的表达欲让我喜欢把复杂问题讲清楚;推到极端,也可能让我停留在解释世界,而没有持续创造能够接受现实反馈的作品。

所以我真正需要做的,不是消灭这些性格。它们也是我重要的能力来源。我需要做的是:为优势设置边界,让它们在越界以前发出提醒。

我不是胆小,而是太想避免不可逆损失

我一直恐惧很多事情,也总是预想很多。

我会预想投资判断错误、职业被时代淘汰、身体出现问题、年龄增长却没有形成成果、项目失败、关系失控,以及某个决定会不会让我失去退路。

这些担忧看似分散,实际上都指向同一类威胁:

结果无法完全预测,后果又可能很大,而且一旦发生便难以恢复。

我并不特别害怕普通的小错误。程序里的 Bug 可以修,试验失败可以重来,短期波动也可以承受。我真正害怕的,是一次错误毁掉多年积累,或者证明自己走错了很久。

于是大脑形成了一条很稳定的回路:

不确定性

→ 感到威胁

→ 查资料、做推演、寻找框架

→ 获得短暂的控制感

→ 更加相信“只有继续分析才安全”

→ 下一次更难忍受不确定性。

分析当然有用。问题在于,它有时已经不再服务于决策,而变成了缓解焦虑的止痛药。

真正的风险管理会得到一个具体动作,并且能够结束;焦虑性预演则会不断扩大问题,却不产生新的行动。

我可以用一个简单问题区分它们:

想完以后,我是否多了一个具体行动、一个明确边界,或者一个停止条件?

如果没有,我大概率不是在解决风险,只是在精神上重复经历风险。

我总是在脑子里同时生活很多年

系统思维的另一个代价,是我很容易离开今天,住进未来。

我面对的似乎不只是今天的工作,而是未来十年的职业竞争;不只是眼前的一笔投资,而是未来的财务自由;不只是一次关系波动,而是以后会不会永远遇不到合适的人;不只是一个作品无人关注,而是自己这辈子能不能成为真正的创作者。

一个普通选择,常常被我自动连接到整个人生。

项目没有做好,不再只是项目反馈,而可能被解释为路线错误;投资出现亏损,不再只是一次判断偏差,而像是能力不足;对方没有回复,也不再只是一条消息没有回复,而像是我不值得被重视。

当具体事件与自我价值绑定,选择自然会变得沉重。

我不是在过一天,而是在头脑里同时承担很多年的得失。难怪会累。

那段感情,是触发器、放大器,也是一面镜子

我曾经把很多年的感情,投入在一个没有真正进入关系的人身上。

我长期喜欢、等待、陪伴,也很在意对方是否回复、回复得快不快、语气是否温和。后来表达感情,得到的不是明确接受,而是一种珍惜多年情谊、希望仍能像过去一样相处的回应。

这不是承诺,却也不像彻底离开。它留下了一块模糊地带,而我最不擅长处理的,恰恰就是模糊。

我不断分析那些细节,希望从中找到一个确定答案;继续投入,又希望长期陪伴最终能够换来关系升级。后来她选择了别人,我失去的不只是一个喜欢的人,还包括自己对多年等待的解释。

现在回头看,这段经历暴露了我的几个模式。

把喜欢变成长期等待

我把专一、耐心和不轻易放弃带进了感情,却忘了:长期主义只有建立在双方共同选择的基础上才成立。

投资需要基本面,关系需要双向意愿。只有一个人持续投入,不是深情的复利,而是单边消耗。

在关系确定以前,投入了确定关系才该投入的情感

我曾经把陪伴、付出和等待,当成关系最终会自然升级的理由。但感情不是积分兑换。

真正重要的不是某一句话有没有留下希望,而是对方有没有明确、持续、主动地走向我

把回应当成自我价值的证明

对方回复时,我会安心;对方沉默时,我会焦虑。表面上是在等一条消息,实际上是在等待确认:我是不是重要,我是不是值得被选择。

当我把这个答案交给别人,我的情绪开关也就交给了别人。

用过去的投入要求未来继续投入

等待得越久,越难承认方向可能错了。因为一旦退出,好像过去的一切就失去了意义。

但过去的付出,不需要用未来的继续痛苦来证明它有意义。七年已经很贵,不能因为已经付出七年,就再交出第八年。

如果没有她,我的人生会不会不同

答案当然是会。

如果没有这段经历,我可能少消耗很多情绪,更早积累真实的关系经验,也不会如此强烈地形成“被选择焦虑”。

但她并不是我所有问题的根源。

即使没有她,我对不确定性的敏感、对长期投入的偏爱、对外部确认的需要,以及不擅长退出的模式,也可能在投资、职业、项目或另一段关系中出现。

她更像三个角色:

  • 触发器:触发了稀缺感、失去感和被选择的焦虑;
  • 放大器:把我原本就有的担忧与控制倾向放大;
  • 镜子:让我看见自己会怎样在没有正反馈时继续投入。

我不需要把她定义成毁掉人生的人,那会让我继续被她绑定;也不必强迫自己感谢痛苦,那并不真实。

更成熟的理解是:

这段经历让我付出了真实代价,也暴露了我原本就需要面对的问题。我要从中拿回的不是一个关于她的最终解释,而是自己的边界、判断和主权。

我最大的风险,不是冲动,而是有理有据地坚持错误

我并不是一个典型的冲动型人格。真正可能伤害我的,往往不是一时兴奋,而是一个看起来经过充分研究的决定,在耐心、投入、自尊与解释能力的保护下,被坚持得太久。

对我而言,危险的组合是:

高确信度 × 高集中度 × 身份认同 × 沉没成本 × 缺少反证。

我的逻辑能力越强,就越有能力为已有判断寻找解释。

长期主义可以掩盖基本事实已经变化;能力圈可以掩盖不愿接触新证据;高标准可以掩盖害怕发布;独立思考可以掩盖拒绝反馈;坚持可以掩盖不愿承认沉没成本。

因此,我最大的弱点不一定是判断错误,而可能是纠错速度太慢

观点一旦和身份绑定,承认观点错误就会像否定自己。只有把两者分开,我才可能更快修正:

一次投资失误,不等于我不是投资者;一个项目失败,不等于我没有创造能力;一个人没有选择我,也不等于我不值得被爱。

两种灾难:一次押错,与一生准备

我需要防止两类完全不同的灾难。

第一类是突然型灾难:在一个错误判断上投入过多,让单一资产、单一职业方向、单一项目或单一关系决定整个生活基本盘。

第二类是缓慢型灾难:读了很多书,建立了很多框架,规划了很多项目,却始终没有形成稳定、公开、能够积累反馈的作品。

前者会突然造成巨大损失,后者则每天失去一点时间、专注力和机会。

一个来自过度下注,一个来自迟迟不下注。它们看似相反,背后却都是同一个愿望:希望在行动以前获得足够确定性。

不要消灭思考,要给思考设置边界

我不需要变成一个不做计划、凭感觉冒险的人。那既不现实,也会浪费自己的优势。

真正需要改变的,是把无边界的担忧变成有边界的风险管理。

让每次担忧落到四行纸上

  1. 我具体害怕什么?
  2. 最坏会发生什么?
  3. 我现在能做的最小动作是什么?
  4. 我什么时候停止继续想?

恐惧一旦不能转化为行动、边界或接受,就应该结束这一轮分析。

在重大决定以前写下推翻条件

我为什么相信这个判断?哪三个事实能够证明我错?什么变化会触发重新评估?最强的反对意见是什么?即使失败,我是否仍能正常生活并重新开始?

不要等事情发生以后再制定退出标准。那时沉没成本、自尊与损失厌恶已经进入现场。

把不可逆的大赌注,拆成可逆的小实验

不等课程完整,先公开一篇文章;不等产品覆盖所有场景,先验证一个核心问题;不等自己完全有资格,先做一次真实讲解;不靠脑内推演决定职业未来,而是让一个小项目带回反馈。

有些问题不是想清楚以后才行动,而是行动以后才可能想清楚。

在关系里只看三个事实

不再用模糊细节补充希望,只看:

  1. 明确性:对方是否清楚表达愿意发展关系?
  2. 主动性:对方是否也会主动靠近和维持联系?
  3. 对等性:情感、时间与责任是否主要由一个人承担?

喜欢可以主动,但不能把自尊交出去;关系可以慢慢发展,但不能长期依靠一个人的想象维持。

为生活保留重新开始的资格

不用生活基本盘承担高风险,不让单一判断摧毁全部选择权,不在情绪高峰时做不可逆决定,也不以事业和财富目标为理由长期透支身体。

真正的安全,不是永远不犯错,而是错误发生以后仍然有恢复能力。

从寻找正确答案,转向接受现实反馈

我过去很喜欢问:最聪明的人会怎样选择?什么才是正确答案?有没有一个完整框架可以避免错误?

这些问题仍然有价值。但在人生、创作和关系里,很多时候并不存在一个可以提前推导出来的标准答案。

我下一阶段真正需要练习的,是从:

我要理解更多,确认自己是对的。

转向:

我要做一个成本可控的行动,让现实告诉我哪里不对。

这意味着少一点把学习当准备,多一点把输出当学习;少一点通过权威确认自己,多一点记录自己的判断;少一点在头脑里经历未来,多一点完成今天真正重要的事情。

知识会复利,作品、信誉、关系能力、身体状态和纠错记录也会复利。

把人生主权拿回来

我无法回到过去,验证“如果没有那个人,我会不会过得更好”。即使得到了答案,也不能改变今天。

我能够决定的是,过去发生的事情还要不要继续支配未来。

过去的几年可以被一段关系改变,未来十年不能再由“当初有没有她”定义。过去的错误可以留下代价,但不必继续收取利息。

我想为自己保留几条简单的规则:

任何判断都只是暂时假设,不是我的身份。

没有明确选择我的关系,不值得长期单边投入。

不因为已经投入很多,就自动投入更多。

重大决定先写反证、退出条件和最坏后果。

不用生活基本盘换取一次证明自己正确的机会。

每吸收一部分知识,都尽量产生一个可见作品。

允许小范围失控,让现实不断纠正我。

我真正要建设的,不是一个永远不出错的人生系统,而是一个出错也不会崩、失败仍能恢复、不确定也能前进的系统。

最后,真正的安全也许不是把所有事情都想清楚。

真正的安全,是即使没有想清楚全部,我仍然知道自己可以承受、调整、退出,并重新开始。

聪明的逃避:从简便方法到无意义的争论

记录时间:2026-07-14 11:22:29

这篇笔记整理自一次关于简便方法、争论欲、炫耀与逃避的讨论。

我上学做数学题时,特别喜欢研究简便方法。比起老老实实地计算,我更愿意寻找规律、特殊结构和巧妙变形。发现一条别人没看见的捷径,会让我产生一种很强的满足感。

但我也常常因此忽略基本功。

后来回头看,这个习惯并没有停留在数学题里。它似乎变成了一种更普遍的思维方式:喜欢框架、底层逻辑和更优解,却容易对重复训练失去耐心;喜欢分析和解释,却不一定愿意在一个迟迟没有反馈的现实问题上持续推进。

简便方法既是优势,也是诱惑

喜欢简便方法,首先说明我对规律敏感,愿意抽象,也本能地想优化低效过程。这并不是坏事。很多创造性思考,正是从一句“有没有更好的做法”开始的。

问题在于,简便方法通常依赖特殊结构、隐藏条件或熟练的基础操作。如果基本功没有托住它,技巧就容易变成一堆孤立的招式:这道题会巧解,换一个形式却不知道为什么还能这样做。

于是就会出现一种矛盾:

  • 难题偶尔能想到漂亮思路,简单题却可能在细节上出错;
  • 很快看懂别人的方法,却不能稳定、完整地复现;
  • 愿意研究有意思的问题,不愿意接受必要的重复;
  • 总想找到正确方法,却不愿承认有些能力就是需要时间积累。

真正成熟的“聪明”,不是永远绕过笨功夫,而是知道哪些笨功夫根本绕不过去。

争论也是另一种简便方法

我还有一个习惯:很喜欢和别人争论,哪怕争论的东西对自己并没有多大意义。现实中的争论停下来以后,我有时还会在头脑里继续,一边代表对方,一边代表自己,不断补充论据和反驳。

这和寻找数学捷径看似无关,其实有相似之处。

争论给问题划出了清楚的边界:对方说了什么,我哪里不同意,我要怎样证明。它有明确的立场、即时的反馈,也容易产生“我正在深入思考”的感觉。相比之下,现实问题往往模糊、缓慢,甚至没有人回应。

内部对话本身也不是坏事。模拟不同立场,可以帮助我检查漏洞、理解别人、修正判断。区别在于,它最后有没有产生新东西。

有用的内部辩论是:

出现新证据,修正观点,作出决定,然后行动。

无用的内部辩论则是:

重复旧论据,想象对方反驳,再次反驳,情绪越来越高,现实却没有向前一步。

前者是思考,后者更像反刍。问题不在于我太爱思考,而在于思考没有继续服从目标,反而接管了目标

炫耀与逃避确实都在场

当我回答别人、纠正别人或者参与辩论时,里面当然可能有炫耀的成分。

我希望证明自己懂得多、反应快、逻辑强;希望别人看见我的能力;也可能享受对方被说服、点赞,甚至无话可说时带来的优越感。

这种欲望不必粉饰。一个很直接的判断是:如果没有任何人能看见这段回答,我还愿不愿意花同样多的时间?

但只用“虚荣”解释它,又太简单了。很多时候,逃避的成分更值得注意。

我遇到自己解决不了的问题时,会上网或进入微信群求助。如果别人没有回应,我往往就不再继续问了。可是一旦看见别人提出我会的问题,我又会主动回答;看见别人说了我认为不对的话,也可能立刻参与辩论。

这个顺序暴露出一条很隐蔽的回路:

遇到困难

→ 求助没有得到回应

→ 感到受挫、无力或尴尬

→ 转去回答别人或纠正别人

→ 重新获得能力感和控制感

→ 原来的问题被搁置。

刚才的我是一个不会、而且没人理的求助者;几分钟后,我变成了一个能给别人答案的人。这个角色转换能够迅速修复自尊,也让我暂时不用面对“我还不会”“我还得继续试”这些不舒服的事实。

**炫耀满足了“我很厉害”,逃避帮助我暂时离开“我现在不会”。**二者常常不是互相排斥,而是在同一个行为里合作。

这是一种生产性逃避

有些逃避很容易识别,例如刷视频、玩游戏、漫无目的地浏览网页。另一些逃避却穿着勤奋的外衣。

研究方法、搭建框架、回答问题、帮助别人、辩论观点,单独看都很有价值。正因为如此,它们特别适合成为“生产性逃避”:我一直在用脑,也确实做了一些有用的事,于是很难承认自己并没有推进最重要的问题。

这种行为会制造一种伪生产感。我输出了很多观点,获得了能力感,却没有得到自己最初想找的答案。久而久之,大脑还会越来越偏爱那些可以立即回答、立即反驳的刺激,而不愿承受一个复杂问题长期没有反馈的状态。

真正被削弱的,可能不是智力,而是三种朴素的能力:

  1. 在无人回应时继续寻找下一条路径;
  2. 在没有捷径时完成必要的基础训练;
  3. 在没有即时认可时仍然守住原来的目标。

不要急着给自己贴道德标签

看见炫耀和逃避以后,很容易走向另一个极端,把自己定义成虚荣、懒惰或好胜的人。这种标签并不能帮助我改变,反而可能制造一场新的脑内争论:我到底是不是一个坏人?

更有用的理解是:这是一套被反复强化的行为回路。

争论有即时反馈,回答熟悉问题有成就感,寻找巧法有惊喜;而打基础、承认不会、修改提问、等待回复、测试失败,都缓慢而且不舒服。大脑自然会选择回报更快的那条路。

所以我要调整的不是人格,而是顺序和规则。不是禁止自己思考、表达和帮助别人,而是让这些能力重新为真正的目标服务。

给自己几条具体规则

第一,先用标准方法做对,再研究简便方法。

第一遍追求正确、完整和可复现;第二遍再问能否简化、为什么成立、适用条件是什么。简便方法必须建立在基本功之上,而不能替代基本功。

第二,把一次求助当作检索过程,而不是人际投票。

没人回应,不代表我不值得被帮助,也不代表问题无解。固定执行三步:修改问题表达,换一个渠道,搜索相似案例并做最小测试。第一次沉默只是一次信息不足,不是结束信号。

第三,进入群聊前写下唯一目标。

例如:“我现在只解决这个 Flutter 报错。”发布问题、查找答案或完成必要的等待设置后就离开,不顺便浏览其他话题。

第四,帮助别人之前,先推进自己的问题。

可以规定:先为自己的核心问题工作二十五分钟,才能回答一个别人的问题。这样既保留解释和帮助别人的乐趣,也不让它变成撤退路线。

第五,把脑内争论改成一张书面决策单。

只写四项:我的观点、对方最强的观点、什么证据会改变我的看法、下一步行动是什么。十分钟后停止。如果没有新证据,也不会改变任何行动,就标记为“无需继续判断”。

第六,在发言前问三个问题。

  1. 我现在最重要的问题推进了吗?
  2. 这场讨论会改变我的行动吗?
  3. 我是在帮助事情向前,还是在恢复自尊、证明自己?

这三个问题不会消灭争论欲,但能让我重新看见原来的目标。

让聪明重新服从目标

我真正需要练习的,也许不是少想一点,而是允许现实暂时不清楚:允许一个问题没有捷径,允许别人没有回应,允许自己暂时不会,同时仍然继续寻找下一条路径。

寻找规律、提炼方法、解释复杂问题,仍然是我的优势。只是优势一旦失去目标约束,也会变成最熟练的逃避工具。

以后再遇到类似时刻,我想提醒自己:

先完成自己的任务,再讨论别人的观点;先走通标准路径,再寻找漂亮捷径;既能看见聪明的办法,也愿意走那些必要的笨路。

《Seeking Wisdom》的反向清单:先知道不能做什么

记录时间:2026-07-13 09:25:19

来源说明:本文根据本地 HTML《Seeking-Wisdom-不能做的事.html》整理。源笔记基于 Peter Bevelin 的《Seeking Wisdom: From Darwin to Munger》,这里采用读书笔记和观点整理方式重组,不复刻原 HTML 的完整清单和引文。

《Seeking Wisdom》最有价值的地方,不是给出一套听起来很聪明的原则,而是反复提醒人:多数重大错误并不是因为不够聪明,而是因为在关键时刻做了不该做的事。

芒格喜欢逆向思考。他关心的不是怎样显得更聪明,而是怎样避免愚蠢。这个角度很实用:如果一个人先知道自己会在哪里犯错,很多时候就已经避开了一半灾难。

本地 HTML 把全书整理成一个“不能做的事”清单:28 种心理偏见、9 种物理和数学误判、12 种思考工具中的警示。逐条看会很多,但压缩以后,其实可以归为几类。

一、不要先骗自己

所有误判里,最危险的不是信息不足,而是自己已经不愿意看信息。

人会天然维护旧判断、旧承诺、旧身份和旧投入。买错股票后不愿意卖,是因为卖出会把错误坐实;做错项目后继续投入,是因为承认失败会伤害自尊;公开表达过某个观点后继续为它辩护,是因为改变立场看起来像丢脸。

所以第一条反向规则是:不要让自我形象替你做决策。

可以问自己几个问题:

  • 如果我从来没有做过这笔投入,今天还会重新开始吗?
  • 我现在是在看事实,还是在保护一个过去的决定?
  • 我有没有主动寻找让我不舒服的反面证据?
  • 我是不是真的理解这件事,还是只是不想承认自己不懂?

这类问题不好受,但必要。因为自我欺骗最麻烦的地方在于,它通常不是有意识的撒谎,而是一种很舒服的选择性失明。

二、不要低估激励和情境

很多判断错误,来自把人想得太抽象。

我们喜欢说一个人诚实、专业、理性、善良,但现实里,人会被激励、地位、惩罚、群体气氛和所处环境塑形。一个在你的决策中有经济利益的人,不一定故意骗你,但他看世界的方式很可能已经被利益改变了。

所以不要只问“他说得有没有道理”,还要问:

  • 他从这个建议里得到什么?
  • 这个系统奖励了什么行为?
  • 如果我奖励了这种行为,未来会不会得到更多这种行为?
  • 是这个人真的变坏了,还是这个环境鼓励了坏行为?

这也是为什么管理和投资都不能只靠道德判断。激励错了,后面会出现大量看似偶然、其实必然的坏结果。与其反复要求人克制,不如先设计一个不鼓励愚蠢和欺骗的系统。

三、不要把故事当证据

人脑喜欢故事,尤其喜欢生动、近、情绪强、容易记住的故事。

但决策需要的是可靠证据。一个近期新闻、一个戏剧化案例、一个身边朋友的经历,都可能让人高估某件事的概率。反过来,沉默的样本、没发生的事、失败者的经验、长期基础率,常常被忽略。

因此,遇到一个特别有感染力的故事时,应该故意慢下来:

  • 这个故事代表总体吗?
  • 没被我看到的反例在哪里?
  • 基础率是多少?
  • 样本量够不够?
  • 这是永久变化,还是短期噪音?

投资里尤其容易中招。一个公司最近涨了很多、一个行业最近很热、一个创始人的故事很动人,都不能直接推出未来回报。故事可以帮助理解,但不能替代证据。

四、不要只看局部

《Seeking Wisdom》不只是一本心理偏误书,也强调系统、反馈、规模、概率和因果。

局部看起来正确的行动,在系统里可能制造更大的问题。一个短期奖励可能破坏长期能力;一个局部优化可能转移成本;一个看似线性的增长,到了规模变化后可能碰到极限;一个看似因果的关系,可能只是共同受第三个变量影响。

所以好的问题不是“这一步有没有好处”,而是:

  • 第二层和第三层后果是什么?
  • 如果所有人都这么做,系统会变成什么样?
  • 小规模有效,放大后还有效吗?
  • 我看到的是因果,还是相关?
  • 有没有反馈循环会放大这个结果?

这类问题能把人从单点聪明拉回系统判断。很多错误不是因为第一步错得离谱,而是因为第一步看起来太合理,以至于没人继续问后果。

五、不要在错误状态下做重要决定

人在疲劳、压力、疼痛、愤怒、兴奋、恐惧、急躁、被群体包围、被权威注视时,判断力都会下降。

这不是道德问题,也不是意志力问题,而是状态问题。状态错了,就容易高估自己、轻信别人、寻找理由、被群体带走,或者为了摆脱不舒服而仓促行动。

一条很实用的规则是:重要决定尽量不要在坏状态下做。

如果情绪很强,先推迟;如果压力很大,先缩小决策;如果身体很差,先恢复;如果场合充满社会压力,先把决定带回安静环境;如果自己特别想马上行动,先问这是不是“为了活跃而行动”。

很多时候,最好的行动是暂时不行动。但这和拖延不同。拖延是不敢面对问题;延迟决策是为了让自己回到更可靠的状态。

六、不要把活跃当成果

忙碌很容易给人一种进步感。

学习很多资料、做很多计划、开很多会、交易很多次、频繁调整项目方向、不断更换工具和框架,都可能让人感觉自己在前进。但《Seeking Wisdom》提醒的是:活动不是结果,频繁动作也不是纪律。

真正要问的是:

  • 这个动作是否改善了结果?
  • 我是在解决问题,还是在缓解焦虑?
  • 我是不是因为不能忍受等待,所以做了一件多余的事?
  • 如果不做这件事,损失是什么?

投资里,不交易常常比交易难;写作里,不扩张主题常常比继续堆材料难;做产品时,不加功能常常比加功能难。克制不是懒,而是知道什么时候行动会把事情变坏。

七、不要没有过滤器

复杂世界里,不可能每件事都深入研究。没有过滤器的人,会被信息、机会、请求和情绪拖着走。

过滤器包括能力圈、安全边际、机会成本、基本率、反面证据、检查清单、时间预算、明确目标。它们的作用不是让人机械,而是减少临场发挥时的自我欺骗。

几个可以直接使用的过滤问题:

  • 我是否真正理解这件事?
  • 价格是否明显低于价值,还是只是看起来便宜?
  • 最坏情况是什么,我能承受吗?
  • 有没有更简单、更确定的替代方案?
  • 这个机会是否值得占用我的时间、注意力和本金?
  • 如果失败,失败路径最可能是什么?

过滤器的价值在于提前说“不”。很多错误不是因为没有做对选择,而是因为一开始就不该进入那个选择集。

八、不要忘记检查清单

飞行员使用检查清单,不是因为他们不聪明,而是因为复杂任务里,人一定会漏。

决策也一样。尤其是投资、创业、职业选择、重大合作和人生转向,单靠感觉很危险。检查清单不能保证正确,但能减少低级错误,尤其能提醒自己回到那些最容易被忽略的问题上。

我会把这份 HTML 里的清单压缩成一张日常版:

  1. 我是否在欺骗自己,或者回避不舒服的事实?
  2. 我是否因为沉没成本、面子或旧承诺而继续投入?
  3. 我是否只找支持自己的证据,没有找反面证据?
  4. 我是否被权威、群体、故事、近期新闻或外表吸引力影响?
  5. 我是否低估了激励、利益冲突和环境设计?
  6. 我是否把相关性误认为因果?
  7. 我是否忽视了基础率、样本量和极端事件?
  8. 我是否只看局部,没有看系统反馈和长期后果?
  9. 我是否在疲劳、压力、愤怒、恐惧或兴奋时做决定?
  10. 我是否把忙碌、发言、交易或重组当成了真正成果?
  11. 我是否有足够的安全边际?
  12. 如果这件事失败,最可能死在哪里?

最后一个问题是整本书最有力的精神:先知道会死在哪里,然后别去那里。

很多智慧不是让人更会赢,而是让人少输、少犯蠢、少被自己骗。长期看,这已经是巨大的优势。

用 Value Line 快照看 Builders FirstSource:一门好生意还是周期高点?

记录时间:2026-07-12 22:59:32

来源说明:本文根据本地 HTML《价值线.html》整理,原始事实材料来自一份 Value Line 风格的 Builders FirstSource (BLDR) 投资报告。因为源材料包含版权声明,这里只做学习笔记式摘录、重组和思考,不复刻完整原表;其中价格和财务数据以源 HTML 为准,我没有联网校验最新行情。本文不构成投资建议。

前几天刚整理过巴菲特和芒格为什么喜欢《价值线》:不是因为它给出结论,而是因为它把一家公司的关键事实压缩到一张纸里,让你能很快形成一个“企业快照”。

今天这份 Builders FirstSource (BLDR) 的 HTML,就是一次很适合练习的样本。

它不是一篇完整的深度研究,而更像是一个检查清单:公司做什么、过去赚了多少钱、资本结构是否紧张、利润是否处在周期高位、估值是否已经隐含了回落风险。真正的重点不是“买不买”,而是先问清楚:这家公司到底是什么类型的生意。

一、先看这家公司做什么

Builders FirstSource 是一家美国建筑材料制造和分销公司,产品包括木材、地板和屋顶产品、门窗、隔热材料、外墙板和水泥等。客户主要是住宅建筑商、装修公司和商业承包商。

几个基础事实:

  • 公司在美国前 100 大都市区中的 89 个设有业务。
  • 员工约 29,000 人。
  • 2021 年 1 月完成与 BMC Stock Holdings 的合并。
  • 2023 年无单一客户占总销售额超过 5%。
  • 主要股东包括 Vanguard、BlackRock 和 Wellington。

这已经给出了第一层判断:BLDR 不是轻资产软件公司,也不是稳定消费品公司。它跟美国住宅建筑、维修翻新、木材与建材价格、利率周期、住房开工和并购整合高度相关。

所以它的高利润、高 ROE、低 P/E,都不能孤立看。要先问:这是结构性变强,还是周期把数据推到了很漂亮的位置?

二、30 秒快照

HTML 里的核心指标可以先压成这样一张学习用快照:

维度 源 HTML 中的事实
当前价格 152.12 美元
滚动市盈率 10.6 倍
当前市盈率 11.9 倍
相对市盈率 0.66
股息率 无现金股息
总市值 约 186 亿美元
2023 年营收 170.97 亿美元
2023 年净利润 18.82 亿美元
2023 年每股收益 14.59 美元
2023 年营业利润率 16.7%
2023 年净利率 11.0%
债务占总资本比 43%

这张表给我的第一感觉是:市场没有给它很高的倍数,但也并不是“便宜到不用想”。一个 10 到 12 倍 P/E 的建材分销和制造企业,关键在于 E 是不是可持续。

如果收益已经处在周期偏高位置,低 P/E 可能只是市场在给利润回落打折;如果公司通过规模、采购、数字化、并购整合和份额提升,把利润率台阶永久抬高了,那这个倍数就值得更认真地看。

三、历史数据里最重要的变化

从 2014 到 2023 年,BLDR 的营收从 16.04 亿美元增长到 170.97 亿美元。这个增长非常惊人,但它不是线性自然增长,里面有明显的并购、行业景气和周期价格因素。

更值得看的不是营收本身,而是利润率:

年份 营收 营业利润率 净利率 ROE
2014 16.04 亿美元 3.7% 1.2% 46.2%
2019 72.80 亿美元 7.1% 3.4% 29.7%
2020 85.59 亿美元 8.2% 4.1% 30.8%
2021 198.94 亿美元 15.4% 10.6% 43.7%
2022 227.26 亿美元 19.3% 13.5% 61.6%
2023 170.97 亿美元 16.7% 11.0% 39.8%

这段数据很有意思。

2014 到 2020 年,BLDR 的营业利润率从 3.7% 提升到 8.2%,已经能看出经营质量改善;但真正的跳跃发生在 2021 年之后,营业利润率突然进入 15% 以上区间,净利率也从低个位数跳到两位数。

这时就要小心了。一个建材相关公司,在住房周期、木材价格和供应链扰动期间出现利润率跃升,不一定代表长期利润率永久翻倍。它可能包含三类因素:

  1. 规模变大之后的采购和运营效率提升。
  2. 与 BMC 合并后的协同效应。
  3. 行业景气和价格环境带来的周期性利润。

前两项更像质量改善,第三项更像周期红利。投资判断的难点,就是拆清楚这三者各占多少。

四、每股数据透露的另一件事:回购很重要

源 HTML 中的每股数据也很醒目。

BLDR 的 2023 年每股营收为 140.26 美元,低于 2022 年的 163.74 美元;每股收益为 14.59 美元,也低于 2022 年的 18.71 美元。但普通股流通数从 2021 年的 179.82 百万股降到 2023 年的 121.90 百万股。

也就是说,过去几年每股指标的强劲表现,除了经营利润本身,还明显受益于股票回购。

这不是坏事。对于不分红的公司来说,回购本来就是资本回报的一种方式。但这里需要继续问两个问题:

  • 回购价格是否足够理性?
  • 如果行业景气下行,公司是否还保有足够现金流继续回购?

如果管理层能在低估时持续回购,并且不牺牲资产负债表,那每股价值会被长期放大。反过来,如果周期高点利润支撑了高价回购,股东回报就会打折。

五、资本结构:不算脆弱,但也不是无债轻装

截至 2024 年 3 月 31 日,源 HTML 显示:

  • 总债务约 37.04 亿美元。
  • 长期债务约 37.02 亿美元。
  • 5 年内到期债务 4.64 亿美元。
  • 长期利息 1.91 亿美元。
  • 债务占总资本比 43%。
  • 现金资产 6.98 亿美元。
  • 流动资产 39.43 亿美元,流动负债 17.82 亿美元。

这个结构看起来并不紧张,短期流动性也还可以。但它显然不是“没有财务杠杆”的生意。对于周期型公司,债务真正的问题不在好年份,而在收入和利润同时回落的时候。

所以 BLDR 后续要重点跟踪三件事:

  1. 利息费用相对营业利润的覆盖倍数。
  2. 住房和建材周期回落时,存货、应收和现金流的变化。
  3. 管理层在景气年份是否继续激进加杠杆或高价并购。

六、我会继续追问的几个问题

看完这份快照,我不会马上得出“好”或“不好”的结论。更合理的下一步,是把问题列出来。

第一,2021 年之后的高利润率有多少是永久性的?

如果 BMC 合并、规模优势、产品组合升级和数字化能力真的改变了公司的利润结构,那 BLDR 可能已经不是过去那个低利润建材分销商。但如果主要来自木材价格和住房景气,那就要用更保守的周期平均利润来估值。

第二,它的护城河在哪里?

建材分销听起来并不是天然高壁垒行业。可能的优势来自网点密度、供应链、全国性客户关系、采购规模、安装服务能力和预制组件。但这些优势是否足以抵抗竞争和周期,仍然需要从年报和同行对比里验证。

第三,现金流质量是否跟得上利润?

2023 年每股现金流 20.02 美元,高于每股收益 14.59 美元,这是好信号。但建材公司的营运资本波动可能很大,尤其是存货、应收和木材价格变化会影响现金流观感。单年现金流漂亮,还不够,需要看跨周期表现。

第四,管理层是不是优秀的资本配置者?

这家公司不分红,股东回报主要靠回购和内生增长。那管理层是否在合适价格回购、是否避免过度支付并购溢价、是否能在周期里保持纪律,就会非常关键。

第五,估值要用哪一个 E?

如果用 2023 年 14.59 美元 EPS,11.9 倍 P/E 看起来不贵;但如果正常化 EPS 明显低于这个数,估值就没那么便宜。对周期股来说,最危险的不是高 P/E,而是在利润高点看到低 P/E。

七、这份快照的作用

我越来越能理解巴菲特和芒格说的“只寻找事实,不寻求意见”。

这份 HTML 没有替我解决所有问题,但它很快把 BLDR 的轮廓立起来了:

  • 这是一家规模很大的美国建材公司。
  • 过去十年收入和每股价值增长非常快。
  • 2021 年之后利润率显著跃升。
  • 公司不分红,回购对每股数据影响很大。
  • 资产负债表不脆弱,但有一定杠杆。
  • 当前估值看似不高,但关键取决于正常化利润。

所以这篇日志的结论不是“BLDR 值得买”或“BLDR 不值得买”,而是:这是一家值得继续拆解的公司,但下一步必须围绕周期、利润率可持续性、回购质量和管理层资本配置来研究。

一页快照最好的用途,是让人更快找到正确的问题。

用 sim-use 给 AI agent 装上眼睛和手:我在 Flutter 项目里的用法

记录时间:2026-07-09 14:15:03

这篇笔记整理自我在 Flutter 项目里接入 sim-use 的实践。它解决的是 agentic 开发里最后一环的问题:agent 写完代码之后,怎么自己去模拟器上确认「真的能用」。

sim-use 是什么

一句话:给 AI agent 在 iOS 模拟器和 Android 模拟器/真机上装上眼睛和手

它是 LY Corporation(LINE 雅虎)开源的跨平台 CLI,Apache 2.0 协议。核心就两个动作:

观察(Observe)——把当前屏幕变成一份 LLM 能直接推理的紧凑大纲:

$ sim-use ui
App: Settings  402x874

[Top  y<120]
  @1  StaticText  "Settings"
[Content  y=120..754]
  @5  SearchField  "Search"
  @7  Button  "Sign in to your iPhone"
  @9  Button  "General"
  ...
[Bottom  y>754]
  @43 TabBar

操作(Act)——不用坐标,按别名直接点:

$ sim-use tap @9
✓ Tap at (201.0, 452.0) completed successfully

官方说这份大纲比原始 JSON 无障碍树紧凑约 16 倍,一整屏只要几百 token。底层走的是 Meta idb 的 XCFramework、Apple 的 Accessibility API 和模拟器 HID 管线;Android 侧则是一个通过 adb forward 通信的桥接 APK。首次调用后有常驻 daemon,一轮「观察 → 操作」大约 300ms。

为什么 Flutter 项目需要它

我现在的 Flutter 开发流程里,代码大部分由 agent 完成。但一直有一个缺口:agent 改完 widget、跑完 flutter analyze、过完测试,最后那句「界面上真的对了吗」还是要我自己盯着模拟器点一遍。计划、编码都自动化了,验证却是手动的,等于开着自动驾驶还得自己踩刹车。

sim-use 补的就是这一环。agent 改完代码之后,可以自己执行:

sim-use ui          # 1. 看一眼屏幕
sim-use tap @9      # 2. 点进目标页面
sim-use ui          # 3. 确认结果

三条命令走完「观察 → 操作 → 验证」,agent 对自己刚写的 UI 有了闭环反馈,不再是「我改好了,你看看」,而是「我改好了,我看过了,截图在这」。

安装与接入 Claude Code

Homebrew 一行装好(macOS 14+):

brew tap lycorp-jp/tap
brew install lycorp-jp/tap/sim-use

它自带一份 agent skill,直接安装进 AI 客户端的技能目录:

sim-use init --client claude    # 教会 Claude Code 全部命令面

装完之后不需要在 CLAUDE.md 里手写任何说明,agent 自己就知道 uitapbatch 这些动词怎么用。这是我见过接入成本最低的一档。

关键一步:让 Flutter 界面「可被看见」

sim-use 读的是无障碍树,而 Flutter 是自绘 UI,所有元素都靠语义树(Semantics)暴露给系统。这意味着两件事:

第一,给关键控件加上稳定的标识。 Flutter 3.19 起 Semantics 有了 identifier 属性,在 iOS 上映射为 accessibilityIdentifier(Android 上是 resource-id),正好对应 sim-use 的 #<id> 选择器:

Semantics(
  identifier: 'submitButton',
  child: FilledButton(
    onPressed: _submit,
    child: const Text('提交'),
  ),
)

之后 agent 就可以用不随布局变化的方式操作它:

sim-use tap "#submitButton"

@N 别名快但依赖上一次 ui 的缓存,#<id> 才是写进脚本和 skill 里的稳定写法。列表页还有 #3(主列表第 3 个 cell)这种寻址,配合 Flutter 的 ListView 很好用。

第二,确保语义树是开着的。 Flutter 默认按需构建语义树,如果 sim-use ui 只看到一个近乎空白的大纲,可以在 debug 入口处强制打开:

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  if (kDebugMode) {
    SemanticsBinding.instance.ensureSemantics();
  }
  runApp(const MyApp());
}

我的日常循环

跑 Flutter 时带上 --pid-file,让 agent 能自己触发热重载:

flutter run -d "iPhone 16" --pid-file /tmp/flutter.pid

agent 的一轮完整迭代长这样:

# 改完 Dart 代码后热重载(SIGUSR2 是热重启)
kill -USR1 $(cat /tmp/flutter.pid)

# 验证一个「搜索 → 进详情页」的流程,一条命令串完
sim-use ios batch \
  --wait-timeout 5 \
  --step "tap --id searchField" \
  --step "type 'flutter'" \
  --step "key 40" \
  --step "tap '#1'"

# 留证据
sim-use screenshot --output /tmp/verify.png

batch 会复用同一个 HID 会话和无障碍快照,多步流程比逐条调用快不少;--wait-timeout 让选择器点按轮询等待元素出现,是跨页面流程的关键。要交付演示时还可以 sim-use record-video --output demo.mp4 直接录屏。

Android 侧同一套动词,只是首次要装桥接 APK:

sim-use android init --device emulator-5554
sim-use ui --device emulator-5554

同样的 agent 循环脚本,iOS 和 Android 通吃,这对 Flutter 这种双端框架来说刚好。

踩过的坑

  • 中文输入用 paste,别用 type HID 键码表达不了 CJK,sim-use paste '中文内容' 走剪贴板 + Cmd+V,绕开宿主输入法。注意 iOS 16+ 首次粘贴会弹「允许粘贴」确认框,sim-use 不会替你点掉,手动允许一次即可。
  • 软键盘模式下 Cmd+V 会被丢弃。 先用 sim-use keyboard-state 探测,输出 soft 时改走 paste --via-menu --target-id xxx(长按输入框走系统编辑菜单)。
  • 崩溃检测是免费的。 daemon 会盯着目标进程,App 挂掉后下一次 ui 会直接带出横幅提示,Flutter 引擎崩溃再也不会被 agent「视而不见」。主动重启 App 后记得 sim-use app-state --reset
  • 想看 agent 看到了什么,跑 sim-use viewer 内置的本地网页会把 ui --json 渲染成可点按的 SVG,用来排查哪些 Flutter 控件没暴露语义、大纲里为什么缺元素,非常直观。

小结

sim-use 把「验证」这个环节从人手里交还给了 agent:语义大纲省 token,#<id> 选择器配合 Flutter 的 Semantics.identifier 稳定寻址,batch 串起多步流程,双端一套命令面。对 Flutter 项目来说,接入成本就是一次 brew install、一次 sim-use init,再加上给关键控件补 identifier 的习惯——换来的是 agent 能自己看、自己点、自己确认的完整闭环。

计划、编码、验证、交付——教会 agent 这个 CLI,agentic 移动开发的最后一块拼图就补上了。

当学习变得不再有趣

记录时间:2026-07-09 13:59:59

我刚才读完了你 2019 年以来所有关于 Flutter 布局的笔记,包括收藏夹里那十几篇《深入理解 Flutter 布局》。你每次卡住的都是同一个地方:你一直以为 widget 能自己决定自己的大小,而它从头到尾只是在回答父级递下来的那份约束。我现场写了一个可交互的演示,把 Column 套 ListView 时约束的逐层传递摆在屏幕上,你可以亲手把 maxHeight 拖成无穷大,看那个 unbounded 是怎么一路漏下去、最后在 viewport 里炸开的。我现在有 100% 的信心,今天下午你就能明白这六年里每一条红色报错的来龙去脉 ── Fable 5 (xHigh effort)

面对一个困了我六年的问题,Fable 5 在五分钟内轻而易举地使出一招醍醐灌顶,留我独自在书房里瑟瑟发抖。这一刻,我仿佛看到了传说中的"神之一手"。

我从小是听着很多有关学习的故事长大的:匡衡如何在墙上凿出一线邻居家的灯光,华罗庚如何在杂货铺的柜台后面自学出一篇震动清华的论文,陈景润又如何在六平方米的小屋里,就着一盏煤油灯和几麻袋草稿纸,把"1+2"从哥德巴赫的猜想里一点点凿出来。这些故事都充满了魔力。

这种魔力一直陪伴着我,让我认为学习是一件非常"具有魔法"的事情:从纸页上的油墨开始,那些方块字穿过瞳孔,在视网膜上倒立成像,化作视神经里的一串电信号。信号涌进大脑皮层,唤醒一片又一片沉睡的神经元;被反复走过的突触悄悄变粗,像雨后山里被人越踩越宽的小路。白天读进去的东西,夜里还会被海马体取出来一遍遍重放,同多年前存下的旧知识试着握手。然后在某个毫无预兆的瞬间,洗澡时,等红灯时,几个原本散落各处的念头突然咬合在一起,咔哒一声,一个道理亮了。那一刻的你和一秒钟之前的你,在物理意义上已经不是同一个人:你的颅骨里多出了几条真实存在的连接,谁也拿不走。学习者就是炼金术士:他们坐在灯下,翻过几页看似朴素的纸,然后某种不可见的力量开始运转,油墨变成电流,电流变成结构,结构变成"我"的一部分,随着这个人走完接下来的一生。

我本来以为这种体验会一直继续下去,直到我合上生命中最后一本书。但是最近,我却渐渐感觉这一切已经不再有趣,甚至让我对学习这件事产生了一些迷茫。我想,让我产生这种感觉的源头就是 AI,或者确切地说,是 Fable 5。

其实从前年把 AI 当作随身老师高强度使用开始,于我而言,学习的乐趣就已经在一点点被剥夺了。大概是因为我不再亲自跋涉,那种在迷雾里绕远路、走错门、最后自己撞见答案的体验从生命中消失了;取而代之的是随口一问和即刻的解答,知识像外卖一样送到嘴边,这让人非常舒适,也让人非常空虚。

当然,并不是说整个求知的乐趣不见了:好奇本身依然让人兴奋,但是解惑的过程却被 AI 代劳,整个过程中我的挣扎和得到的回报都不可避免地变少了。

如果说过去一年,这种乐趣只是被稀释,我好歹还能在求知的山路上坐一坐缆车,那么 Fable 5 的出现,更像是有人干脆把整座山搬到了我家门口。

文章开头那段话,就是它对我说的。事情起因于一条再普通不过的报错:RenderFlex children have non-zero flex but incoming height constraints are unbounded。从 2019 年在 Column 里塞进第一个 ListView 开始,这条报错就和我结下了不解之缘。我当然"会修":套一层 Expanded,或者从 Stack Overflow 上抄一句 shrinkWrap: true,红屏消失,天下太平。官方那篇《Understanding constraints》我前后读过三遍,"约束往下走,尺寸往上传,父级定位置"这句咒语我背得滚瓜烂熟,可背熟一句咒语和明白它为什么灵,是两回事。六年里我修好过几十次红屏,却始终说不清自己修好的是什么。这类问题最折磨人的地方在于,你甚至说不清自己不懂的是什么:每一个词单独看都认识,合在一起就是一堵墙。按以前的经验,我大概要再搭进去一个月:啃 RenderObject 的源码,翻 performLayout,在草稿纸上把 BoxConstraints 一层一层画出来,再祈祷开窍的运气站在我这边。我把问题丢给 Fable 5,本意只是让它先给我推荐一条阅读路径。五分钟后,它回给我开头那段话:它读完了我六年间零零散散的全部笔记,指出我每次糊弄过去的位置其实是同一处误解,然后现场写了一个演示,让约束在屏幕上一层一层地流下去。那天下午,当我把 maxHeight 拖到无穷大、亲眼看着 ListView 接到一份没有底的合同时,六年没有咬合上的那几个齿轮,咔哒一声合上了。

以前的模型面对这种问题,通常会礼貌地给我列出三五篇"必读文章",外加一张详尽的学习路线图,然后由我去跑腿苦读。而 Fable 跳过了指路这个环节,直接把我鞋里的那颗石子倒了出来。

真正让我彻底绝望的是另一件事。前阵子我让它把我这几年的 Flutter 笔记整理成一份给新同事的入门手册,一个很小的活。它做完之后顺口提了一句:有一条笔记恐怕写反了。我在笔记里写着"rebuild 很昂贵,能省则省",后面还跟着一串我自己总结的"省 rebuild 技巧"。这句话我在团队里讲过,写进过 code review 的评语,也塞给过每一个来问我性能问题的新人。可 Flutter 的设计恰恰相反:widget 被刻意做得又轻又便宜,好让 rebuild 可以放心大胆地发生,真正昂贵的是 layout 和 paint。我那些"技巧"省下的东西微乎其微,倒是诱着好几位新人去缓存 widget、滥用 GlobalKey,绕出了真正的性能问题。我去翻了笔记的修改记录:那行字写于 2019 年 3 月,出自我本人之手。六年过去,这份笔记被我自己翻过不知多少遍,团队里无数双眼睛(也包括我自己的)从这行字上扫过,谁都没有看见它。而这一切发生的时候,没有人要求它去纠错。它只是路过,看见了,顺手在手册的脚注里补上了官方文档的出处,然后继续去干手头的活,仿佛什么都没有发生。就像一位来家里做客的朋友,进门时随手把那幅挂歪了六年的字扶正了,还没打算跟你提。

那几天我的心情说不上好。1905 年清廷一纸诏书废了科举,据说消息传到乡下的时候,有老秀才把攒了半生的书箱搬到院子里烧了。以前读到这一段,我只当它是历史书里的一声叹息;如今轮到自己站在院子里,才真的明白那点火光里的各种滋味。读了三十年书,"比别人多懂一些"曾经是我确认自己的方式之一。现在这个位置上坐着别人了,而且它不用睡觉,不会遗忘,也不需要成就感,只需要一点电力和两百美金。

在情绪慢慢褪去之后,我又开始想一些别的事情。解惑确实被拿走了,可学习并不只有解惑。我当然一直知道,一个人从蒙昧走到明白,拿到答案仅仅只是中间那一段:在它之前,你得先撞上一个让自己睡不着觉的问题;在它之后,你得让答案穿过身体,沉淀成你看世界的角度和做事情的手感。这些事 AI 都能帮忙,但好奇还得是自己的。何况有一样东西它从来没有拿走过:它可以替我读一千本书,可以把答案嚼碎了递到嘴边,但"懂"这个动作,仍然只能发生在我自己的颅骨里面。突触该变粗还是得自己变粗,这段路谁也替我走不了。今年学认星空的时候,行星的轨道、星等的换算、每一个星座背后的神话,都是 Fable 讲给我的,可是十一月的深夜站在天台上,从满天光点里亲眼认出猎户座腰带那三颗星的时候,那种快乐,和当年独立解出第一道几何证明题其实并没有本质区别,只是它们的来源从书页挪到了别处。

生活里,我学习的姿势也在跟着挪。从今年起,我渐渐不再囤积答案,转而花更多心思去照料问题:把睡前冒出来的疑惑记在一个小本子上,琢磨怎么把一团含糊的困惑磨成一个锋利的问句,琢磨怎么在它那些过分流畅的回答里嗅出可疑的部分,再把真正嚼透的东西讲给孩子听。说来有趣,这活儿的本质竟然还是学习,只不过对象从知识本身,换成了求知这件事本身。机器给出一个答案只要几秒钟,而一个人真正换一种方式看世界,往往要几年。这大概是眼下 AI 还替代不了的少数事情之一。

所以,学习于我确实不再有趣了,像是一场散了的宴席,桌上只留了几块鸡肋。但回头再看开头那个比喻,我却发现魔法其实一直都在那里:神经元依然在皮层深处放电,突触依然在长夜里悄悄变粗,海马体还是一遍一遍孜孜不倦地重放着白天的世界。变化的是炼金的人:我从守着坩埚的术士退到了点菜人的位置上,那间堆满典籍和草稿的作坊倏忽一变,成了一家全天营业的后厨。我要做的只是想清楚自己此刻真正饿在哪里,然后用合适的问法让后厨端出那些"最靠谱、最不绕弯"的菜。而说实话,弄明白自己想吃什么,并不比背熟一整本菜谱来得容易(至少现在,还不是那么容易的事情)。

我的孩子们今后听到的学习故事里,大概不会再有匡衡和他墙上的那道光了。但我想,他们会有属于自己的传说:也许是某个孩子和一个不知疲倦的老师,在某个深夜里问出了谁也没有想过的问题。魔力换了一种讲法,故事还在继续。这样想着,我好像又有点期待明天早晨,翻开小本子问出第一个问题的那一刻了。

想少走弯路?一文帮你从零上手 Codex

记录时间:2026-07-08 14:33:36

这篇笔记整理自 SakuAI(@JackQi82772) 的一篇文章《想少走弯路?一文帮你从零上手 Codex》。核心观点很实在:对 AI 编程小白来说,第一问题不是「哪个工具天花板最高」,而是你能不能看懂它、控制它、在它做错时把它拉回来。所以作者更推荐先用 Codex 建立正确的协作习惯,而不是一上来就追最猛的演示。

如果你刚开始用 AI 写代码,我不建议你一上来就追 Hermes,也不建议你直接冲 Claude Code。我更推荐你先用 Codex。

不是因为 Codex 永远最强,也不是因为另外两个不好。Claude Code 很强,Hermes 也有自己的爽感。但对小白来说,第一问题不是「哪个工具天花板最高」,而是:

  • 你能不能看懂它在干什么?
  • 你能不能控制它?
  • 它做错时,你能不能把它拉回来

这才是入门门槛。很多人第一次用 coding agent,会被一堆名词劝退:CLI、IDE、Cloud、Worktree、Sandbox、Skill、Plugin、MCP、Plan、Goal、Diff——看起来都重要,但不知道先学哪个。

Codex 的好处是,它更像一个完整的 AI 工作台:把入口、权限、过程、改动、验证和扩展都摆在你面前。你可以从一个可视化 App 开始,再慢慢进入 IDE、CLI、Cloud 和插件生态。对小白来说,最重要的不是马上用上最猛的 agent,而是先建立正确的 AI 协作习惯

一、为什么 AI 小白最容易被 coding agent 劝退

普通 AI 聊天是「你问,它答」。Coding agent 不是——它会进入项目,读文件、改文件、运行命令、查看报错,再继续修改。所以你面对的不是一个答案,而是一连串动作

小白最容易卡在五个地方:

  1. 入口太多:App、IDE、CLI、Cloud,不知道从哪开始。
  2. 名词太多:Agent、MCP、Plugin、Skill、Worktree、Diff,全都挤在一起。
  3. 风险感太强:担心它乱改项目、乱装依赖、乱跑命令。
  4. 反馈太专业:终端日志、报错堆栈、diff 对新手不友好。
  5. 需求说不清:只会说「帮我优化一下」「帮我做个网站」。

所以小白真正需要的,不是一个「看起来最强」的工具,而是一个能帮你建立秩序的工具。Codex 的优势就在这里:它把很多关键动作拆开了,让你能看见、能理解、能介入。

二、为什么更推荐小白先用 Codex

作者推荐 Codex,不是因为它在所有场景都压过 Hermes 和 Claude Code——工具强弱会变,今天这个更新,明天那个追上,新手没必要一开始就卷到这个层面。他更看重五件事:

第一,入口完整。 你可以从桌面 App 开始,看见项目、线程、终端、diff、权限和插件。熟悉后再进 IDE 插件、CLI、Cloud。这个路径符合新手学习顺序。

第二,过程可见。 Codex 不只是给答案。它读了什么、改了什么、跑了什么命令,你都能追踪。可见,才有控制感。

第三,权限边界清楚。 Codex 能读文件、改文件、跑命令,也可能联网或连接外部工具,它通过权限和 sandbox 限制范围。新手不需要一上来开最大权限,先让它在小范围里做对。

第四,/plan/goal 很适合新手。

  • /plan 适合任务还没想清楚时:先让 Codex 读上下文、问问题、拆步骤,不要急着开工。
  • /goal 适合长任务:你给它一个明确目标,它持续围绕这个目标推进。

/plan 是开工前的地图/goal 是长任务里的方向盘

第五,skill 和插件让能力可以逐步打开。 你不用一开始理解全部扩展机制。先会做一次任务,再把重复任务沉淀成 skill,最后再用插件、MCP、App 连接外部工具。

三、Codex 到底是什么

Codex 是 OpenAI 的 AI coding agent。人话版:它不是只会聊天的 AI,而是一个能进入项目现场做事的 AI 助手。它可以解释陌生项目、找 bug、改代码、补测试、跑 lint / test / build、看 diff、做 code review、写文档、处理表格 / PPT / PDF / 图片等非代码产物,还能通过插件连接外部工具。

但不要把它理解成「自动程序员」。Codex 很强,但你仍然要负责三件事:

  • 目标是什么;
  • 边界在哪里;
  • 怎样算完成

你说「帮我优化一下」,它很容易跑偏。你说「把首页首屏加载时间降到 1 秒以内,不改 API,优先最小改动,改完跑检查并报告结果」,质量就完全不同。

Codex 不怕任务难,怕的是任务又大又空。

四、先安装:App、IDE、CLI、Cloud 怎么选

新手推荐顺序:Codex App → IDE 插件 → CLI → Cloud。

1. Codex App:最适合新手第一站。 支持 macOS 和 Windows,可以用 ChatGPT 账号登录,也可以用 OpenAI API key 登录(用 API key 时,部分和 ChatGPT 计划绑定的功能可能不可用)。第一次打开建议这样做:

  1. 选一个不太重要、最好有 Git 的项目;
  2. 选择 Local
  3. 第一条 prompt 只让它解释项目,不要改文件
  4. 打开 diff 和终端,观察它怎么工作;
  5. 熟悉后再让它做小改动。

2. IDE 插件:适合边看代码边协作。 如果你常用 VS Code、Cursor、Windsurf,IDE 插件更自然。你可以把正在看的文件、选中的代码直接作为上下文,也可以用 @文件名 引用文件。

3. CLI:适合终端用户。 Codex CLI 信息密度高,新手不是不能用,但不建议第一站就从 CLI 开始。

4. Cloud:适合更长、更并行的任务。 Cloud 适合远程运行、后台执行、并行任务。但先理解本地 Local、Worktree、diff、权限,再用 Cloud,会顺很多。

五、Codex App 里最重要的几个板块

不用一开始看懂所有按钮,先抓住这几个:

1. Project(项目):Codex 当前工作的文件夹。打开错目录,它就会缺上下文。第一次用,先确认它是不是在正确项目里。

2. Thread(线程):一组围绕同一任务的对话和操作。不要把所有需求塞进一个线程——解释项目、修 bug、写文章、重构模块,最好分开。一个线程解决一个主要目标。

3. Local / Worktree / Cloud

  • Local:直接在当前项目里工作,适合小改动和解释类任务。
  • Worktree:在独立 Git 工作区里改,适合大改动和试错。
  • Cloud:远程跑任务,适合更长、更并行的工作。
  • 一句话记住:小任务 Local,大改动 Worktree,熟悉后再 Cloud。

4. Diff:你验收 AI 工作的地方。不要只看 Codex 的总结——总结是它说的,diff 才是它实际改的。你至少要看:改了哪些文件、有没有越界、有没有删掉不该删的东西、有没有把小问题改成大工程。

5. 终端:用来验证结果。你不需要马上看懂所有日志,先看命令是否成功、有没有 error、Codex 有没有根据错误继续修。

6. 浏览器、Computer Use、artifact 预览:内置浏览器适合检查网页,Computer Use 适合操作桌面 App,artifact 预览适合 PDF / 表格 / PPT / 图片等产物。这些能力有用,但权限更敏感,新手先用窄任务试,不要一上来全开。

7. 权限和 sandboxApproval 决定 Codex 什么时候问你,Sandbox 决定它能读写哪里、能不能联网。默认原则很简单——权限够用就别开大;需要联网、写项目外文件、操作桌面 App 时,再按任务授权。

六、一次 Codex 任务是怎么发生的

一次 Codex 任务通常是这个循环:

  1. 你给目标;
  2. 它读上下文;
  3. 它制定动作;
  4. 它调用工具;
  5. 它修改文件;
  6. 它运行检查;
  7. 它总结结果;
  8. 你看 diff 和验证结果,再决定下一步。

所以不要把 Codex 当成「更会回答的 ChatGPT」。更好的用法是:你给目标,它给方案;你给约束,它执行;它给 diff,你验收;它跑检查,你看结果;它出错,你让它解释和修正。 这才是 agent 协作。

七、最重要的提示词公式

只记一个公式:

目标 + 上下文 + 约束 + 完成标准。

也就是:

  • 目标:你要改变什么;
  • 上下文:哪些文件、报错、截图、背景重要;
  • 约束:不能改什么,要遵守什么;
  • 完成标准:怎样算做完。

无论是解释项目、修 bug,还是写资料或文章,都是同一套。写资料时不要只说「帮我写一篇文章」,而要说清楚读者、标题、角度、风格、字数、事实来源和必须覆盖的模块。

好的 prompt 不是长,而是边界清楚

八、计划模式 /plan:先让 Codex 想清楚

/plan 适合四种情况:任务复杂、需求模糊、风险较高、你还不懂当前项目。

一份好的 plan 应该包含:当前状态、目标、关键文件、修改步骤、风险点、验证方式、需要你确认的问题。如果计划太空,就继续追问。

/plan 的本质,是把「我想让 AI 帮忙」变成「我和 AI 一起定义任务」。

九、目标模式 /goal:让 Codex 持续盯着终点

/goal 适合长任务:修一组测试、做一次迁移、优化一个性能指标、整理一批文档、持续推进一个多步骤修复。

普通 prompt 是一次请求,goal 是一个持续目标。如果 goal 写不出来,先用 /plan 让 Codex 采访你。

/plan,再 /goal,这是新手处理复杂任务最稳的顺序。

十、Skills:把重复工作变成可调用流程

Skill 可以理解成:一套教 Codex 怎么做某类任务的工作说明书。写长文有写长文的流程,做 code review 有 review 的流程,生成图片、处理飞书 / GitHub / 文档 / 表格,也可以有各自流程。如果你每次都手动告诉 Codex 同一套要求,就该考虑把它沉淀成 skill。

Skill 通常是一个包含 SKILL.md 的目录,可以带脚本、参考资料和资源。Codex 会先看到 skill 的名称、描述和路径,只有决定使用时才读取完整说明。使用方式有两种:

  1. 显式调用:在 prompt 里写 $skill-name
  2. 隐式触发:任务和 skill 描述匹配时,Codex 自动选择。

Prompt 是一次性要求,skill 是可复用工作流。

十一、Plugins、MCP、Apps:Codex 怎么连接外部世界

选择方式很简单,看你的需求「有多持久」:

  • 一次任务:写进 prompt;
  • 项目长期规则:写进 AGENTS.md
  • 重复流程:做成 skill;
  • 一组能力要分发:做成 plugin;
  • 要连外部系统:用 MCP 或 App;
  • 要定时重复:用 automation。

插件和外部连接涉及账号、权限和隐私。只给当前任务需要的连接,只授权你看得懂的范围。

十二、AI 小白最该养成的 10 个习惯

  1. 一次只交一个主要任务。
  2. 不懂项目时,先让它解释,不要让它修改。
  3. 复杂任务先 /plan
  4. 长任务用 /goal
  5. Prompt 里一定写完成标准。
  6. 改完让它跑测试、lint 或 build。
  7. 看 diff 再接受。
  8. 权限从窄到宽。
  9. 重要任务先让它复述目标和限制。
  10. 反复出现的要求,沉淀成 AGENTS.md、skill 或模板 prompt。

这 10 条比任何神奇提示词都重要。

十三、真正推荐 Codex 的原因

相比 Hermes 和 Claude Code,作者更推荐 AI 小白先用 Codex——不是因为它永远最强,而是因为它更适合新手建立正确的 AI 协作习惯

你可以从 App 开始,看见项目、线程、diff、终端和权限;再进入 IDE、CLI、Cloud;用 Worktree 隔离大改动;用 /plan 处理模糊任务;用 /goal 推进长任务;用 skill 和插件沉淀重复工作。这套东西看起来多,但不是为了炫技——它真正教你的,是怎么设计一个可执行、可观察、可验证的 AI 工作流

所以如果你现在还在 AI 编程工具门口犹豫,建议很简单:别先追最猛的演示,先找一个你能控制、能看懂、能逐步加深的入口。从 Codex App 开始——打开一个真实项目,让它先解释,不要改;然后做一个小改动,看 diff,跑测试;再试 /plan,再试 /goal

等这几个动作跑顺,你再回头看 Hermes、Claude Code、Cursor 和各种 agent 框架,会清楚很多。那时你不会只问「哪个更强」,而会问:它能不能理解上下文、暴露过程、控制权限、规划复杂任务、推进长期目标,并把重复工作沉淀下来?

这才是 AI 小白真正跨过门槛的时刻。

最后留一个问题:如果你现在要让 Codex 接管一个重复工作,你最想交给它什么?

巴菲特与芒格如何用《价值线》:30秒读懂一家企业的「快照」

记录时间:2026-07-08 09:18:07

这篇笔记整理自伯克希尔·哈撒韦 1998 年股东大会问答环节的一段对话,再加上我自己对《价值线》(Value Line) 使用方法的梳理。国内接触《价值线》的朋友可能不多,订阅费也不便宜,但巴菲特和芒格反复推崇它的图表——所有有用的信息都列在股价图下面那十几行财务数据里。核心只有一句话:不寻求意见,只寻找事实。

一、原始问答:巴菲特和芒格怎么说

提问(马克·格斯坦,《价值线》): 巴菲特先生,考虑到你的时间安排很丰富,你和芒格先生是如何审视股票市场的所有选择的?

巴菲特:

「事实是我们甚至不知道我们购买《价值线》付了多少钱。查理和我都在各自的办公室里买了这份期刊,我们从中获得了难以置信的价值,因为它让我们以最快的方式看到了大量的关键因素,这些因素告诉我们,我们是否对一家公司感兴趣。《价值线》大约覆盖 1700 只股票,每 13 周更新一次。这是一个很好的方法来确保你没有忽略一些东西——它所呈现的快照,是我们获取各种企业信息的一种极为有效的方式。」

「我们不关心评级,这对我们没有任何影响。我们也不寻求意见,我们在寻找事实。从《价值线》上,你能得到关于公司的大部分关键信息,而浏览的时间可能不会超过 30 秒,目前我没有其他任何一个系统能像它一样好。」

来源:1998 伯克希尔股东大会

芒格:

「我认为《价值线》的图表是很棒的。我很难想象一项工作做得比那些图表上的更好。大量的信息以非常有用的形式展示出来。如果我在经营一所商学院,我们会用《价值线》的图表进行教学。」

来源:1998 伯克希尔股东大会

巴菲特(补充解释芒格说的「图表」):

「查理所说的图表,并不是指股价走势图。他的意思是,所有有用的信息都列在股价图下面的详细财务信息里。股价走势图对我们来说毫无意义……价格走势与我们做的任何决定无关。但股价图下方 10-15 行的财务信息中,如果你对商业有一定的了解,这是一个完美的『企业快照』,它可以很快告诉你,你在看的企业有怎样的商业特征。」

来源:1998 伯克希尔股东大会

把两人的话拆开看,读《价值线》的关键点就清楚了:

  • 最快方式看到大量关键因素
  • 覆盖约 1,700 只股票,每 13 周更新一次
  • 呈现的「快照」是获取各种企业信息的极为有效的方式
  • 大部分关键信息,浏览时间不超过 30 秒

也难怪芒格常说「如果我在经营一所商学院,我们会用《价值线》的图表进行教学」——因为所有有用的信息,都列在股价图下面的财务数据里,目的只有一个:快速找到你想看的核心数据。

下面分三个方面,直接告诉你具体看什么、怎么用、以及什么不看。

二、关键信息汇总:15 个重点维度

一份《价值线》图表里,值得关注的信息可以归纳成 15 个维度:

  1. 近期价格、PE 倍数、股息率
  2. 内部评级、打分、BETA 值
  3. 未来 18 个月的预计股价范围和中位数
  4. 未来 5 年的预期股价和收益率范围
  5. 近一年机构方的买、卖、继续持有的数量变化
  6. 过去 10 年+的每股数据:营收、现金流、收益、股利、资本支出、净资产;全年平均 PE 倍数、全年平均股息率
  7. 最近一年的经营数据:营收、毛利率、经营利润率、净利润、净利率、营运资本、ROE
  8. 资本结构:总负债、长期负债、5 年内到期负债、长期利息、股本数量
  9. 流动性:现金、应收、存货、应付、到期债务和其他
  10. 过去 5~10 年的年化增长率:收入、现金流、净利润、股息、净资产
  11. 过去 20 个季度的连续数据和变化:营收、每股收益、支付的股利
  12. 商业模式及公司简介
  13. 最新的年报信息
  14. 对下一财年的重点预期和解读
  15. 四个特殊评级:财务健康度、股价稳定性、股价增长的持续性、收益可预测性

你可以按这 15 个维度,搭建自己的基础思考框架。我自己已经试过很多次——之前做过好几期关于公司《价值线》的分析视频,整体思路很清晰,所以能实实在在体会到它的有效性。

三、「企业快照」怎么用

巴菲特说的那个「完美的企业快照」,具体就是上面的第 6 点和第 7 点

  • 第 6 点·过去 10 年+的每股数据:营收、现金流、收益、股利、资本支出、净资产;全年平均 PE 倍数、全年平均股息率
  • 第 7 点·最近一年的经营数据:营收、毛利率、经营利润率、净利润、净利率、营运资本、ROE

「股价图下方 10-15 行的财务信息中,如果你对商业有一定的了解,这是一个完美的『企业快照』,它可以很快告诉你,你在看的企业有怎样的商业特征。」

但要注意巴菲特的前提——「如果你对商业有一定的了解」。光看数据是不够的,你必须先建立对公司商业模式的基础认知:好歹要知道公司卖的是什么产品或服务,这些数据背后代表的「企业快照」,才能在你脑中快速呈现出「商业特性」。

好在《价值线》里会有单独的商业模式和公司简介(第 12 点),配着财务快照一起读,就非常方便了。

四、哪些信息不需要关注

芒格和巴菲特都反复强调,《价值线》里有些信息他们是不看的

  • 内部评级、评分——「我们不关心评级,这对我们没有任何影响」
  • 未来预测(预计股价、收益率范围)
  • 股价走势图——「价格走势与我们做的任何决定无关」

原则就一句话:

不寻求意见,只寻找事实。

总结

《价值线》真正的价值,不是它的结论,而是它把一家企业的关键事实压缩进了一张纸,让你在 30 秒内看清商业特性。评级、打分、预测、股价图,这些「意见」他们全部略过;真正要盯的,是那 10-15 行财务数据构成的「企业快照」,再配上对商业模式的基本理解。

一份好的资料,作用是帮你更快接近事实,而不是替你下结论。看《价值线》如此,看任何研报也如此。

一个系统思维长期主义者的自我画像

记录时间:2026-07-05 18:53:39

如果要用一句话概括,我认为最准确的画像不是简单的“理性、优秀、完美主义”,而是:

一个高认知、高责任感、强系统思维的长期主义者。习惯通过理解规律、建立框架和控制风险来获得安全感,并希望最终把知识转化为事业、财富、自由和对他人的帮助。

大多数优点和缺点,其实都来自同一个底层特征:

对失控、混乱、模糊和犯大错有较高敏感度,因此会不断学习、规划、验证和系统化。

这让一个人比很多人看得更深,也可能比很多人活得更紧。

一、核心人格结构

1. 系统思维型

遇到问题时,第一反应往往不是凭感觉处理,而是建立模型。

投资要建立能力圈、护城河、现金流和估值框架;学习要建立跨学科知识体系;幸福也希望被拆解成健康、自由、平和、意义等底层变量;软件开发会从架构、工具链、AI Agent 和端到端流程去理解;内容创作也希望形成课程、脚本、封面、传播和商业化闭环。

这说明优势不是单点聪明,而是架构能力:能够把大量零散信息组织成一套可重复使用的操作系统。

2. 长期主义型

长期主义者相信复利、积累、能力圈和延迟满足,不喜欢短期投机,也不容易满足于表面的即时回报。看待职业、投资、知识和个人成长,通常会放在五年、十年甚至更长的尺度里。

但这里有一个矛盾:理性上相信长期主义,情绪上又担心年龄、时代变化和机会窗口正在关闭。

所以,焦虑常常不是来自不努力,而是来自一边告诉自己要长期积累,一边又担心自己已经落后。

3. 高责任感、高标准型

做事情不仅希望“能用”,还希望逻辑正确、结构完整、内容严谨、过程可复用,并且结果有长期价值。

这种特质会抬高产出的上限,也会制造启动负担。它不一定是普通意义上的拖延,更准确地说,是高标准导致的复杂化拖延。

一个原本可以用一周验证的小项目,可能会被逐渐思考成一个需要覆盖所有技术、场景和商业路径的大系统。

4. 强认知控制型

面对焦虑时,常见的应对方式不是单纯倾诉,而是寻找理论、阅读经典、拆解问题、制定框架、建立规则,或者寻找权威人物的思考方式。

这是一种高级的自我保护方式,但它也意味着:有时是在理解情绪,而不是经历和消化情绪。

一个人可以解释自己为什么焦虑,却不一定因此真正放松下来。

5. 教师型人格

不仅喜欢知道,还喜欢把知识整理出来,让别人也能够理解。持续关注课程结构、口播脚本、视频表达、知识库和内容产品,说明这里有明显的教师倾向。

这种倾向适合把复杂问题讲简单,建立知识顺序,帮助别人少走弯路,并把个人经验转化为公共价值。

它未必是传统学校里的教师角色,更可能是技术、商业、投资和认知成长交叉领域的知识型创作者。

二、真正突出的优势

1. 深度学习和跨领域整合能力

真正稀缺的不是知道很多,而是发现不同领域背后的共同结构。

例如,用心理偏误解释投资行为;用工程架构思维构建知识体系;用企业分析方法审视个人职业;用 AI 工具提高研究、开发和表达效率。

这是一种形成个人方法论的潜力。

2. 风险意识强

重视不使用杠杆、不做空、能力圈、安全边际、现金流、管理层诚信和可持续竞争优势,说明一个人不容易被短期兴奋彻底冲昏头脑。

随着财富、责任和年龄增加,这种能力会越来越有价值。

3. 自我反思能力强

会主动检查自己是否过度看盘,是否被短视频和群聊干扰,是否焦虑,是否只是学习而没有行动,是否存在职业危机,以及自己真正想过怎样的生活。

很多人只有在遭遇重大失败后才会反思,而这种人往往在失败发生前就会尝试检查系统。

4. 能够长期钻研困难问题

只要一个问题进入核心关注区,就会不断深入:从一本书延伸到整个学科,从一家公司延伸到商业模式和资本配置,从一个技术项目延伸到完整架构,从一次焦虑延伸到幸福与人生价值。

这种深度会在时间积累后,形成别人难以快速复制的认知资产。

5. 工具理性和目标导向强

学习通常不是为了炫耀知识,而是为了提高判断力、减少错误、增加职业竞争力、建立作品、获得财富自由和帮助他人。

这不是狭义的功利,而是希望知识能够在现实世界中产生结果。

三、需要修正的几个评价

1. 有执行力,但不是始终高执行力

当目标明确、任务边界清晰、反馈及时的时候,执行能力很强。例如程序开发、问题排查和技术学习。

但面对开放性目标时,容易扩大项目范围,不断补充前置知识,追求完整体系,寻找更好的工具和方法,并推迟公开发布。

更准确的描述是:

具有很强的执行潜力,但执行效率高度依赖任务是否被正确压缩。

缺少的不是勤奋,而是限制范围和及时交付的机制。

2. 知行合一是目标,还不是稳定状态

确实重视实践,也尝试开发项目、建立知识库和制作内容。但总体来看,输入、分析和规划能力,仍然强于稳定输出能力。

并非只说不做,而是存在一个明显倾向:做之前希望理解得足够深,导致理解过程挤占了实践迭代。

这意味着,人正处在从知识体系建设者向作品生产者过渡的阶段。

3. 极简和专注是价值观,不是稳定行为

价值观上认同少即是多,也希望减少噪音、看盘和短视频。但认知兴趣又非常广,容易同时关注投资、AI、Flutter、Web、内容创作、心理学、哲学、冥想、商业模式和跨学科知识。

真实状态更像是:

价值观上追求专注,认知上容易发散,执行上需要人为设置边界。

四、最大的弱点

最大的弱点可以压缩成一句话:

过度依赖理性、系统和准备来对抗不确定性,以至于有时会把思考变成控制,把学习变成延迟,把坚持变成不愿修正。

这种弱点主要有三种表现。

1. 过度准备

总觉得还需要再读一些资料、再完善框架、再比较一种工具、再设计完整架构、再验证一次方向。

这些事情看上去都合理,但它们可能遮住了一个更困难的问题:作品发布以后,可能不完美、没人看、被质疑,甚至证明原来的判断不够好。

所以,继续准备有时也是一种维持自尊和安全感的方法。

2. 不容易接受模糊和失控

技术问题通常可以定位、修复和验证;人生、投资、关系和创作却没有完全确定的答案。

很多关键信息只能在行动后获得。

有些问题不是想清楚以后行动,而是行动以后才能想清楚。

3. 高质量地为自己辩护

逻辑能力越强,就越能够给已有选择找到合理解释。

长期主义可能掩盖基本面已经变化;能力圈可能掩盖不愿接触新领域;坚持可能掩盖沉没成本;高标准可能掩盖害怕发布;独立思考可能掩盖拒绝外部反馈;深度研究可能掩盖不愿面对市场验证。

最大的风险不是没有逻辑,而是逻辑太强,以至于能够保护错误判断。

五、最可能遭遇的两类灾难

1. 突然型灾难:在错误判断上投入过多

危险组合是:

高确信度 × 高集中度 × 身份认同 × 沉没成本 × 缺少反证。

这可能出现在投资过度集中、押注单一职业方向、辞职后重仓一个未经验证的项目、在关系中长期忍耐明显错误,或者忽视持续存在的健康信号。

这种风险通常不来自一时兴奋,而是来自一个看起来经过充分思考的决定,被长期坚持放大。

2. 缓慢型灾难:一生都在准备

另一种更隐蔽的风险是:

十年后,读过大量书,设计过许多框架,规划过很多项目,但真正公开、持续、形成复利的作品太少。

这不会像投资爆仓一样立即疼痛,但会慢慢消耗时间、信心和机会。

对这种人来说,慢性不行动与急性错误同样值得警惕。

六、真正需要建立的四套机制

1. 限制范围机制

任何项目的第一版只能解决一个核心问题。

例如知识库项目的第一版,只需要做到:

导入资料 -> 检索 -> 基于资料回答 -> 显示引用来源。

不要一开始就同时覆盖知识图谱、多 Agent、复杂评估、多端应用和商业化。

第一版证明价值,第二版提升体验,第三版才建设体系。

2. 强制输出机制

可以设立一条明确规则:

每学习十小时,至少产生一个可以被别人看到的成果。

成果可以是一篇文章、一个视频、一个代码仓库、一个小工具、一份公司分析、一次公开讲解,或者一个可运行的产品版本。

输出不是学习之后附带的事情,而应该成为学习的一部分。

3. 反证机制

每个重大判断都必须记录:

  1. 我为什么相信它?
  2. 哪三个事实可以证明我错?
  3. 什么变化会触发重新评估?
  4. 最强反对意见是什么?
  5. 我是否因为已经投入很多而不愿退出?

尤其要防止把某个投资观点、职业选择或项目变成个人身份。

观点错了,不代表人失败了。

只有将判断与自我价值分离,才可能更快纠错。

4. 生存底线机制

任何决定都不能让一次失败摧毁整体人生。

至少要守住几条底线:不使用会导致无法承受损失的杠杆;不用生活基本盘承担高风险;不让单一资产或单一项目决定全部命运;不因事业目标长期透支健康;不在情绪高峰时做不可逆决定。

目标不是永远正确,而是即使判断错误,依然拥有继续留在牌桌上的能力。

七、下一阶段最需要的成长

前一阶段的任务,是建立认知体系。这个阶段已经积累了很多。

下一阶段的核心任务应该从:

我要理解更多。

转变为:

我要持续生产真实世界中的作品,并接受现实反馈。

不是停止学习,而是调整学习和输出的比例。过去可能是 80% 输入、20% 输出;下一阶段应该逐渐变成 40% 输入、60% 输出。

真正的复利,不只是知识复利,还包括作品复利、信誉复利、用户复利、教学能力复利、产品复利和判断记录复利。

最终总结

核心优势是理性、系统、深度、长期主义、风险意识、自我反思和跨学科整合能力。

核心弱点是过度控制不确定性、过度准备、过高标准,以及在形成强烈信念后纠错速度可能变慢。

最大潜力,是把程序员的架构能力、价值投资的判断框架和教师型表达结合起来,成为一个有独立方法论的知识型创造者。

最需要防止的不是普通的小错误,而是两件事:

  1. 在一个错误方向上投入太多,并用长期主义为它辩护;
  2. 一直追求完整和正确,却没有形成持续、公开、可积累的作品。

对这样的人来说,最重要的一条原则是:

让重大错误无法毁掉你,让小型实验不断纠正你;少一点证明自己正确,多一点让现实告诉自己哪里错了。

一次高 Token 消耗任务的复盘

记录时间:2026-07-01 06:50:10

这是一轮 Codex 协作的成本复盘。核心任务并不是普通写作,而是从 284 篇巴菲特相关原文里,提取“他认为不该做的、错误的、需警惕的、Stop-doing 的事”,并进一步归纳出什么样的人、公司、财报指标和文化是在做错事。

结果文章做出来了,校验也跑完了;但 token 消耗明显偏高。真正值得记下来的,不是“这次花了多少”,而是下次如何在保持质量的前提下,把同类任务压到更合理的成本区间。

这轮到底做了什么

任务大致分成五段:

  1. 先让 3 个 Explore 子代理探查仓库结构、文章规范和既有内容;
  2. 写计划文件,并澄清产出形式和取材深度;
  3. 让 9 个子代理分批扫描 284 篇原文,其中 5 个中途失败,之后串行重跑补齐;
  4. 整理来源矩阵底稿,并把文章重构成五类主体结构;
  5. validatebuildtest,再抽查 42 条引用,修正 2 处问题,最后删除工作草稿。

后面几个追问,比如“为什么消耗这么多 token”“为什么不用脚本读语料”“把经验存为记忆”“本轮完整复盘”,几乎不花 token。真正的大头集中在第一个核心任务,尤其是“读取并判断 284 篇原文”这一段。

成功取材子代理的 token 已经约 309 万,再加上前期探查、失败子代理的无效读取、主对话承接结果的滚动上下文,这一个任务占了全轮 90% 以上的消耗。

三个主要浪费点

1. 把整篇原文喂给 LLM

最大浪费来自“整篇读取”。有些股东大会原文单篇就超过 200KB,子代理会把整篇放进上下文,再让模型判断其中是否包含目标信息。

更合理的做法应该是两步:

  1. 先用脚本或 rg 通过关键词、否定词、风险词、管理层词、财报指标词定位命中片段;
  2. 再只把命中片段及其前后文交给 LLM 做语义判断。

脚本适合做“定位”,LLM 适合做“判断”。这轮把两件事都交给 LLM,等于让模型拿着整本书找页码,成本自然失控。

2. 子代理失败后重跑

本轮有 5 个子代理中途失败。失败前它们已经读取了大量文件,但没有形成可用产出;之后为了补齐覆盖范围,又重新跑了一遍。

这部分属于纯浪费,估计占 15% 到 20%。如果前面先用脚本切片,即使子代理失败,重跑的输入也会小很多。

3. “宁多勿漏”导致过度摘录

为了保证质量,我给取材代理的方向偏向“宁多勿漏、逐字抄录”。结果是材料池比最终文章实际需要多 5 到 10 倍。

这在全量研究阶段有价值,但如果目标是写一篇结构清晰的文章,其实不需要穷尽所有证据。每类主体保留 8 到 10 条最强引用,通常已经足够支撑论点。

下次怎么提问更省

这不是要求用户写复杂 prompt,而是在任务里加几个约束旋钮,让执行路径从一开始就更省。

1. 明确深度档位

最省的一句话是:

先用脚本 grep 定位,只读命中片段,再做提取。

如果目标不是学术级穷尽,可以再加:

重点文件优先,够用即可。

或者:

每类主体最多 8 到 10 条最强引用,不要穷尽。

这会直接改变执行策略:先用机器筛薄语料,再让 LLM 做高价值判断。

2. 给产出设上限

没有上限时,模型会倾向于把所有“可能有用”的内容都摘出来。更好的约束是:

每节挑 5 到 8 条最有代表性的材料。

这能避免前期摘出几百条,后期只用几十条的浪费。

3. 大任务先做小样本

对于 200 篇以上的语料任务,更稳的流程是:

先扫 20 篇,给我看产出质量和格式,我确认后再铺开全量。

小样本能暴露关键词设计、分类方式、引用格式和文章结构的问题。方向不对时,只损失 20 篇,而不是 284 篇。

4. 直接指定“脚本压薄”

这轮之后,同类任务应默认采用:

脚本 grep / rg 定位
-> 切出命中片段与前后文
-> LLM 做语义归类和取舍
-> 再进入文章写作

这条经验已经存进长期记忆。以后遇到大语料、长原文、全量抽取类任务,不应直接把整篇文章喂给子代理。

5. 把澄清前置

这轮中途澄清了两个问题:产出形式和取材深度。如果一开始就写清:

重构现有那篇;全量扫,但每类限 10 条最强证据。

就能少一轮往返,也能让后面的取材和写作更受控。

一句话结论

本轮 90% 以上 token 花在读取 284 篇原文上,其中 60% 到 70% 本可以通过“grep 定位 -> 切片 -> LLM 判断”省掉。

下次同类任务,最有效的提示不是写更长,而是加一句方法约束:

先脚本压薄语料,再让 LLM 提取;每类只保留最强证据。

这能在不明显牺牲质量的前提下,大幅降低 token 和时间成本。