<?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>远山 YuanShanVerse</title>
    <link>https://yuanshanverse.com</link>
    <description>记录我对 AI、科技、投资、职业与生活的思考。</description>
    <language>zh-cn</language>
    <lastBuildDate>Mon, 21 Sep 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://yuanshanverse.com/rss.xml" rel="self" type="application/rss+xml" />
    <generator>Next.js</generator>
    <item>
      <title>AI Agent 到底是什么？</title>
      <link>https://yuanshanverse.com/posts/ai-agent-explained</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/ai-agent-explained</guid>
      <pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate>
      <description>从「会聊天的模型」到「会干活的系统」，我理解的 Agent 关键差异，以及几个实践里踩过的坑。</description>
      <author>YuanShan</author>
      <category>AI</category>
      <category>AI</category>
      <category>Agent</category>
      <category>LLM</category>
      <content:encoded><![CDATA[<p>过去两年，我们和 AI 的交互方式基本是「你问我答」：把问题写清楚，模型给一段文字。它能帮你写邮件、改代码、解释概念，但主动权始终在你手上——你不动，它不动。</p>
<p>从去年开始，一个新词被反复提起：<strong>Agent</strong>。</p>
<h2 id="chatbot-和-agent-的区别">Chatbot 和 Agent 的区别<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#chatbot-和-agent-的区别"><span class="icon icon-link"></span></a></h2>
<p>如果只用一句话概括，我会说：</p>
<blockquote>
<p>Chatbot 的目标是「回答得对」，Agent 的目标是「把事情做完」。</p>
</blockquote>
<p>这里的差别不只是模型变聪明了，而是整个系统的形态变了。一个能称之为 Agent 的系统，通常至少具备三件事：</p>
<ol>
<li><strong>目标</strong>：给它一个任务，而不是一个问题。</li>
<li><strong>工具</strong>：它能调用搜索、代码执行、文件读写、API 等外部能力。</li>
<li><strong>循环</strong>：它能观察结果、判断是否达成目标，然后决定下一步。</li>
</ol>
<p>第三点最容易被人忽略，但它其实是核心。没有循环，就只是「模型 + 插件」；有了循环，系统才开始有自主性。</p>
<h2 id="一个最小可用的循环">一个最小可用的循环<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一个最小可用的循环"><span class="icon icon-link"></span></a></h2>
<p>抛开框架，Agent 的骨架其实非常朴素：</p>
<figure class="code-block" data-lang="python"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> run_agent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(task: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, tools: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">list</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, max_steps: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">int</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 10</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    """最小 Agent 循环：观察 → 决策 → 执行 → 再观察"""</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    history </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [{</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"role"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"user"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"content"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: task}]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> step </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">in</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> range</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(max_steps):</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">        # 1. 让模型决定下一步做什么（可能直接给答案，也可能调用工具）</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        action </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> llm(history, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">tools</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">tools)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">        if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> action.type </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> "final"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">            return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> action.content</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">        # 2. 执行工具，把结果写回上下文</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        result </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> call_tool(action.name, action.arguments)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        history.append({</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"role"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"assistant"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"content"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: action})</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        history.append({</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"role"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"tool"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"content"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: result})</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    raise</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> RuntimeError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"达到最大步数仍未完成，需要人工介入"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span></code></pre></figure>
<p>真正的工程复杂度，全在这个循环的边界条件里：怎么限制步数、工具报错怎么办、上下文的记忆谁来管、什么时候判定「做完了」。</p>
<h2 id="实践中的三个提醒">实践中的三个提醒<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#实践中的三个提醒"><span class="icon icon-link"></span></a></h2>
<h3 id="一任务的可验证性决定了上限">一、任务的可验证性决定了上限<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一任务的可验证性决定了上限"><span class="icon icon-link"></span></a></h3>
<p>Agent 最适合的场景，是<strong>结果可以被自动检查</strong>的任务。写代码能跑测试，字段抽取能比对答案，数据清洗能校验行数。反过来，让 Agent 做「帮我想个品牌名」这类主观判断，它只能给你一堆漂亮的废话——因为它无法判断自己做得对不对。</p>
<h3 id="二把不确定的部分关在笼子里">二、把不确定的部分关在笼子里<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#二把不确定的部分关在笼子里"><span class="icon icon-link"></span></a></h3>
<p>我倾向于这样设计：模型只负责<strong>决策</strong>，所有副作用（写数据库、发邮件、改文件）都走一层显式的工具接口，并且加白名单和确认环节。这样即使模型判断错了，损失也是可控的。</p>
<h3 id="三上下文不是越大越好">三、上下文不是越大越好<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三上下文不是越大越好"><span class="icon icon-link"></span></a></h3>
<p>把所有历史、所有文档都塞进上下文，效果往往更差：无关信息会稀释注意力，成本还高。真正有效的是<strong>按需检索</strong>：先让模型知道自己有哪些工具和资料可以使用，需要时再取。</p>
<h2 id="我会怎么用它">我会怎么用它<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我会怎么用它"><span class="icon icon-link"></span></a></h2>
<p>对我自己来说，Agent 的价值不在「自动帮我写完一篇文章」，而在于承担那些<strong>重复、可校验、有明确完成标准</strong>的杂活：整理笔记、生成摘要、把一堆杂乱文件归到该去的地方。</p>
<p>至于判断和表达，我还是想自己来。</p>
<p>相关阅读：[[我为什么开始建立自己的 AI 知识库]] 里记录了我是怎么把这套东西落到日常的。</p>]]></content:encoded>
    </item>
    <item>
      <title>我为什么开始建立自己的 AI 知识库</title>
      <link>https://yuanshanverse.com/posts/personal-knowledge-base</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/personal-knowledge-base</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <description>收藏夹里的文章从来不会再打开。所以我换了一种方式：让 AI 参与整理，但由我自己决定什么值得留下。</description>
      <author>YuanShan</author>
      <category>AI</category>
      <category>AI</category>
      <category>知识管理</category>
      <category>工具</category>
      <content:encoded><![CDATA[<p>我的浏览器里曾经躺着两千多个书签。某天我清理时发现，其中 90% 我再也没点开过第二次。</p>
<p>问题不在于收藏这个动作，而在于我从来没给「收藏」定义过出口。存下来的那一刻我就满足了，仿佛知识已经属于我。</p>
<h2 id="一个很朴素的转变">一个很朴素的转变<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一个很朴素的转变"><span class="icon icon-link"></span></a></h2>
<p>我现在只用三条规则对待新信息：</p>
<ol>
<li><strong>读完再存</strong>。没读完的东西不存——它只是噪音。</li>
<li><strong>用自己的话写一句总结</strong>。哪怕只有一行，也必须是「我理解了什么」，而不是复制原文。</li>
<li><strong>给它一个去处</strong>。要么合并进已有笔记，要么新建一条并说明它属于哪个问题。</li>
</ol>
<p>第三条是关键：知识库的价值不在于条目数量，而在于条目之间的连接。</p>
<h2 id="ai-在这里扮演什么角色">AI 在这里扮演什么角色<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#ai-在这里扮演什么角色"><span class="icon icon-link"></span></a></h2>
<p>我让 AI 做三件我不想做的事：</p>
<ul>
<li><strong>打标签和归类</strong>：把一段随手写的文字归到合适的分类，并推荐相关旧笔记</li>
<li><strong>生成反向问题</strong>：读我的笔记，问出「这里有哪些没想清楚的地方」</li>
<li><strong>定期汇总</strong>：每月把散落的片段整理成一份回顾</li>
</ul>
<p>它不负责判断这条信息值不值得留——那是我的事。<strong>AI 处理结构，我处理取舍。</strong></p>
<h2 id="一个具体做法">一个具体做法<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一个具体做法"><span class="icon icon-link"></span></a></h2>
<p>我给每条笔记都附了一个「提问区」，专门记录我还没想明白的部分：</p>
<figure class="code-block" data-lang="text"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>## 还没想清楚</span></span>
<span class="line"><span>- 这套方法在信息量再大 10 倍时还成立吗？</span></span>
<span class="line"><span>- 有没有更低的维护成本？</span></span>
<span class="line"><span>- 我是不是在用工具逃避真正的问题？</span></span></code></pre></figure>
<p>这部分 AI 永远不会帮我填，因为空白本身就是笔记的价值。</p>
<h2 id="三个月后的变化">三个月后的变化<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三个月后的变化"><span class="icon icon-link"></span></a></h2>
<ul>
<li>笔记总量从 1800 条降到 400 条，但每周实际打开的从 3 条变成 20 条</li>
<li>写东西时，我能想起「这件事我在哪儿想过」，而不是重新想一遍</li>
<li>收藏的冲动明显下降了，因为我知道存了之后要还债</li>
</ul>
<p>知识库不是仓库，更像花园——你需要经常除草，否则长不出东西。</p>]]></content:encoded>
    </item>
    <item>
      <title>我目前使用的 AI 工具</title>
      <link>https://yuanshanverse.com/posts/ai-tools-i-use</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/ai-tools-i-use</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>一份诚实的清单：哪些工具真的进入了我的日常工作流，哪些试用一周就被我删掉了。</description>
      <author>YuanShan</author>
      <category>AI</category>
      <category>AI</category>
      <category>工具</category>
      <category>工作流</category>
      <content:encoded><![CDATA[<p>工具清单这种东西很容易写成广告。所以我给自己定了个规矩：<strong>只用超过三个月、且每周至少打开三次的，才能进这份清单。</strong></p>
<h2 id="留在清单里的">留在清单里的<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#留在清单里的"><span class="icon icon-link"></span></a></h2>
<h3 id="对话与思考">对话与思考<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#对话与思考"><span class="icon icon-link"></span></a></h3>
<p>用来做三件事：解释看不懂的概念、帮我把模糊的想法问清楚、当我写完之后充当挑刺的人。</p>
<p>最后一项最有价值。我的用法是把自己的草稿丢进去，配一句固定指令：</p>
<blockquote>
<p>假设你不同意我的结论，指出三个最弱的论证，并说明它们为什么弱。</p>
</blockquote>
<h3 id="代码辅助">代码辅助<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#代码辅助"><span class="icon icon-link"></span></a></h3>
<p>写代码时的主要用途不是「帮我写」，而是：读陌生的库、把一次性脚本改得更规范、以及解释报错。至于核心逻辑，我还是自己写——出错时我才知道该往哪儿找。</p>
<h3 id="语音转文字">语音转文字<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#语音转文字"><span class="icon icon-link"></span></a></h3>
<p>这是我今年最满意的改变。走路和通勤时的想法直接口述，转成文字再整理。它解决的是「想得到但懒得写」这个最大的瓶颈。</p>
<h2 id="被我删掉的">被我删掉的<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#被我删掉的"><span class="icon icon-link"></span></a></h2>
<ul>
<li><strong>各种 All-in-one 工作台</strong>：功能太多，每次打开都要重新决定「现在该用哪个功能」，决策成本高于收益。</li>
<li><strong>自动抓取一切的工具</strong>：抓回来的信息我没时间读，只是把焦虑从浏览器搬到了另一个 App。</li>
<li><strong>需要我维护 Prompt 库的插件</strong>：维护成本很快就超过了它节省的时间。</li>
</ul>
<h2 id="一个配置文件">一个配置文件<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一个配置文件"><span class="icon icon-link"></span></a></h2>
<p>我把常用指令固化成了一个文件，避免每次重新描述：</p>
<figure class="code-block" data-lang="json"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "review"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"指出这篇草稿里最弱的三个论证，不要夸奖，不要总结"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "explain"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"用初中生能懂的语言解释，先给结论再给原因，必要时举例"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "summarize"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"压缩到三句话，保留具体数字和结论，去掉形容词"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "outline"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"先问我三个问题以澄清目标，再给大纲"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></figure>
<h2 id="我的判断标准">我的判断标准<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我的判断标准"><span class="icon icon-link"></span></a></h2>
<p>选工具时我只问一个问题：</p>
<blockquote>
<p>它会让我<strong>更多地思考</strong>，还是更少地思考？</p>
</blockquote>
<p>让我少思考的工具，无论多聪明，我都会尽快删掉。</p>]]></content:encoded>
    </item>
    <item>
      <title>Notion 和 Obsidian 怎么选</title>
      <link>https://yuanshanverse.com/posts/notion-vs-obsidian</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/notion-vs-obsidian</guid>
      <pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate>
      <description>不要从功能列表开始比较。先回答「知识最终要变成什么」，选择会自己浮出来。</description>
      <author>YuanShan</author>
      <category>科技</category>
      <category>工具</category>
      <category>笔记</category>
      <category>知识管理</category>
      <content:encoded><![CDATA[<p>这个问题我被问过很多次。我的回答往往让人不太满意：<strong>看你想拿它做什么，而不是看它有什么功能。</strong></p>
<h2 id="先分清两种目标">先分清两种目标<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#先分清两种目标"><span class="icon icon-link"></span></a></h2>
<div class="table-wrap"><table>
<thead>
<tr>
<th>你的目标</th>
<th>更合适的选择</th>
<th>原因</th>
</tr>
</thead>
<tbody>
<tr>
<td>团队协作、项目管理、对外分享</td>
<td>Notion</td>
<td>数据库、权限、分享体验是它的强项</td>
</tr>
<tr>
<td>长期个人笔记、写作、构建知识网络</td>
<td>Obsidian</td>
<td>本地文件、双向链接、纯文本可控</td>
</tr>
<tr>
<td>既要协作又要长期沉淀</td>
<td>两个都用，各管一段</td>
<td>但要有明确的搬运规则，否则会分裂</td>
</tr>
</tbody>
</table></div>
<p>选错的典型症状：用 Notion 记了三年，结果发现所有内容都被锁在一个自己无法掌控的数据库里；或者用 Obsidian 做项目管理，每周花两小时手动维护状态。</p>
<h2 id="三个真实差异">三个真实差异<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三个真实差异"><span class="icon icon-link"></span></a></h2>
<h3 id="一数据在哪里">一、数据在哪里<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一数据在哪里"><span class="icon icon-link"></span></a></h3>
<p>Obsidian 的底层是本地 Markdown 文件。这意味着二十年后我依然能打开它，甚至可以只用 grep 检索。</p>
<p>Notion 是云端服务，格式是它自己的。它导出的 Markdown 会丢失不少结构——这不是阴谋，而是这类产品的必然结果。</p>
<blockquote>
<p>如果你在意「这些笔记二十年后还属于我」，本地纯文本是唯一稳妥的答案。</p>
</blockquote>
<h3 id="二连接的密度">二、连接的密度<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#二连接的密度"><span class="icon icon-link"></span></a></h3>
<p>Obsidian 的双向链接只有在笔记数量超过几百条之后才显出价值：你开始看到某些概念反复出现，它们之间的连线就是你的思考结构。</p>
<p>Notion 的关系型数据库很强大，但它擅长的是<strong>结构化数据</strong>（任务、客户、内容排期），而不是<strong>模糊的想法</strong>。</p>
<h3 id="三维护成本">三、维护成本<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三维护成本"><span class="icon icon-link"></span></a></h3>
<p>本地文件意味着同步、备份、多设备都要自己解决。我目前的方案很土但很稳定：</p>
<figure class="code-block" data-lang="bash"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 每天自动提交一次，历史版本交给 git 管理</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ~/notes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> &#x26;&#x26; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -A</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> &#x26;&#x26; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> commit</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -m</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> "daily: $(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">date</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> +%F)"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> &#x26;&#x26; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> push</span></span></code></pre></figure>
<h2 id="我的选择">我的选择<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我的选择"><span class="icon icon-link"></span></a></h2>
<p><strong>Obsidian 存知识，其他工具管事情。</strong></p>
<p>具体来说：所有读过的书、想清楚的问题、写过的草稿都在 Obsidian；任务、日程、协作一律不放进去。这条边界一旦模糊，笔记库就会变成垃圾场。</p>
<p>如果你还在犹豫，可以试一个更简单的方法：<strong>接下来 30 天，把你最想留着的那 20 条笔记用两种工具各写一遍</strong>，月底看你更愿意打开哪一个。</p>]]></content:encoded>
    </item>
    <item>
      <title>如何建立自己的第二大脑</title>
      <link>https://yuanshanverse.com/posts/second-brain</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/second-brain</guid>
      <pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate>
      <description>不是买一个更好的软件，而是设计一条信息从「看到」到「能用上」的通路。这里是我用了一年多的四个环节。</description>
      <author>YuanShan</author>
      <category>科技</category>
      <category>知识管理</category>
      <category>工作流</category>
      <category>笔记</category>
      <content:encoded><![CDATA[<p>「第二大脑」这个词被讲得很玄。剥掉包装，它其实只需要解决一个问题：</p>
<blockquote>
<p>当我需要某个东西时，能不能在 30 秒内找到它？</p>
</blockquote>
<p>为了这个目标，我的系统只有四个环节：<strong>捕获 → 消化 → 连接 → 输出</strong>。</p>
<p><img src="/images/knowledge-flow.svg" alt="知识流示意：从捕获到输出的四个环节" loading="lazy" decoding="async" data-zoomable="true"></p>
<p><em>四个环节里，只有第二步必须由我亲自完成。</em></p>
<h2 id="一捕获入口必须只有一个">一、捕获：入口必须只有一个<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一捕获入口必须只有一个"><span class="icon icon-link"></span></a></h2>
<p>如果信息能从浏览器、微信、书、PDF、语音五个地方进来，你要维护的就是五套系统。</p>
<p>我现在的规则很简单：<strong>任何东西先落到一个固定的「收件箱」</strong>，格式不限，但必须是有时间戳的纯文本。之后每周固定处理一次。</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" checked disabled> 手机端：一个快捷键呼出的输入框</li>
<li class="task-list-item"><input type="checkbox" checked disabled> 电脑端：同一个文件 + 剪贴板追加脚本</li>
<li class="task-list-item"><input type="checkbox" disabled> 纸质材料：拍照后手动补一行摘要（做完比完美重要，这一项我一直拖着）</li>
</ul>
<h2 id="二消化用自己的话重写一遍">二、消化：用自己的话重写一遍<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#二消化用自己的话重写一遍"><span class="icon icon-link"></span></a></h2>
<p>这一步没有捷径。判断一条信息是否值得保留，就看你能不能在不看原文的情况下，用三句话说清它是什么、为什么重要、和什么有关。</p>
<p>写不出三句话的，直接删掉。删掉比留着更有价值。</p>
<h2 id="三连接给旧笔记一个被找到的机会">三、连接：给旧笔记一个被找到的机会<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三连接给旧笔记一个被找到的机会"><span class="icon icon-link"></span></a></h2>
<p>新笔记写完，我会花一分钟做一件事：<strong>在笔记里链接到两条已有的笔记</strong>。</p>
<p>这个动作看起来很小，但它是「一堆文件」和「一个网络」的分界线。一年后你会发现，那些被链接过很多次的笔记，恰好就是你真正关心的问题。</p>
<h2 id="四输出定期的强制回忆">四、输出：定期的强制回忆<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#四输出定期的强制回忆"><span class="icon icon-link"></span></a></h2>
<p>每个月底我会做一次回顾，回答三个问题：</p>
<ol>
<li>这个月新学的概念里，哪一个改变了我原有的判断？</li>
<li>有哪些笔记我一次都没打开过？为什么？</li>
<li>我是不是在用整理笔记逃避真正的产出？</li>
</ol>
<p>第三问通常是答案最不舒服的那个。</p>
<h2 id="别把工具当答案">别把工具当答案<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#别把工具当答案"><span class="icon icon-link"></span></a></h2>
<p>我见过太多人（包括过去的我）在工具上花的时间远超在思考上的时间。选一个足够简单的方案，然后<strong>忍受它的不完美</strong>，把精力放回内容本身。</p>
<p>系统可以慢慢长出来，但它必须从「今天就写一条」开始。</p>]]></content:encoded>
    </item>
    <item>
      <title>我的投资记录：从追热点到守纪律</title>
      <link>https://yuanshanverse.com/posts/my-investment-journal</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/my-investment-journal</guid>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <description>三年时间，我把投资从「猜涨跌」变成了「写规则」。这份记录里有我做对的少数几件事，和更多做错的事。</description>
      <author>YuanShan</author>
      <category>投资</category>
      <category>投资</category>
      <category>复盘</category>
      <category>纪律</category>
      <content:encoded><![CDATA[<p>开始记录投资决策已经三年。回头看，最值钱的不是收益曲线，而是那些白纸黑字写下的<strong>错误原因</strong>——它们比我读过的任何一本投资书都更有效。</p>
<h2 id="我做过最蠢的三件事">我做过最蠢的三件事<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我做过最蠢的三件事"><span class="icon icon-link"></span></a></h2>
<ol>
<li><strong>在听不懂的时候下重注</strong>。有一个标的我至今说不清它的商业模式，却因为社群热度买了 20% 仓位。半年后亏损 40%。</li>
<li><strong>把「长期持有」当成不止损的借口</strong>。区分「暂时下跌但逻辑没变」和「逻辑已经错了」需要能力，我当时只有情绪。</li>
<li><strong>频繁看账户</strong>。有段时间我每天看三次，结果是决策被噪音牵着走，换手率上升，收益下降。</li>
</ol>
<h2 id="现在执行的规则">现在执行的规则<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#现在执行的规则"><span class="icon icon-link"></span></a></h2>
<p>规则的价值在于<strong>在情绪到来之前就写好</strong>。我的清单只有五条：</p>
<ul>
<li>单一标的仓位上限 10%，单一资产类别上限 40%</li>
<li>买入前必须写一段不少于 200 字的理由，包含「什么情况下我会卖」</li>
<li>每笔交易后 24 小时内不追加同方向操作</li>
<li>每月只看一次账户明细，每季度做一次复盘</li>
<li>任何「熟人推荐」的信息，一律先当噪音处理</li>
</ul>
<h2 id="一个具体的复盘模板">一个具体的复盘模板<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一个具体的复盘模板"><span class="icon icon-link"></span></a></h2>
<p>我给自己定了一个固定格式，写起来有点机械，但正是这种机械避免了自欺：</p>
<figure class="code-block" data-lang="markdown"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## 2026-Q2 复盘</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 决策：加仓 A、清仓 B</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 当时的理由：</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 三个月后的结果：</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 理由里有多少是事实，多少是叙事：</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 下次遇到同类情况，我会：</span></span></code></pre></figure>
<p>最后两行是我最看重的。<strong>结果好坏和决策质量是两件事</strong>——运气好但逻辑错的决策，比亏损但逻辑对的决策危险得多。</p>
<h2 id="目前的体会">目前的体会<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#目前的体会"><span class="icon icon-link"></span></a></h2>
<ul>
<li>能长期坚持的策略，一定是<strong>简单到无聊</strong>的那种</li>
<li>大部分亏损来自「这次不一样」这五个字</li>
<li>收益率只是结果，我更应该关注的是：我的决策过程有没有变得更稳定</li>
</ul>
<p>我不是专业投资者，这份记录也不构成任何建议。它存在的意义只是：<strong>提醒我自己别重复犯错。</strong></p>]]></content:encoded>
    </item>
    <item>
      <title>定投笔记：把「判断」变成「流程」</title>
      <link>https://yuanshanverse.com/posts/index-fund-notes</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/index-fund-notes</guid>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
      <description>定投常被说成一种懒人策略。真正做下来才发现，它考验的是在下跌时还能照常执行的能力。</description>
      <author>YuanShan</author>
      <category>投资</category>
      <category>投资</category>
      <category>定投</category>
      <category>长期主义</category>
      <content:encoded><![CDATA[<p>定投的定义简单到不需要解释：在固定时间、投入固定金额、买入固定标的。真正难的是第三年、市场跌 30% 的时候，你还愿不愿意按下那个按钮。</p>
<h2 id="数学部分其实很短">数学部分其实很短<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#数学部分其实很短"><span class="icon icon-link"></span></a></h2>
<p>定投的收益来自两个来源：资产本身的长期回报，以及波动带来的成本摊薄。用最简单的复利公式就能看清时间的作用：</p>
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>A</mi><mo>=</mo><mi>P</mi><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><mfrac><mi>r</mi><mi>n</mi></mfrac><mo fence="true">)</mo></mrow><mrow><mi>n</mi><mi>t</mi></mrow></msup></mrow><annotation encoding="application/x-tex">A = P \left(1 + \frac{r}{n}\right)^{nt}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.0195em;vertical-align:-0.686em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size2">(</span></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.1076em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">n</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">r</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size2">)</span></span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.3335em;"><span style="top:-3.6029em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mord mathnormal mtight">t</span></span></span></span></span></span></span></span></span></span></span></span></span>
<p>其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span> 是本金，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span></span></span></span> 是年化收益率，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 是每年的复利次数，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span></span></span></span> 是年数。以 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mo>=</mo><mn>100,000</mn></mrow><annotation encoding="application/x-tex">P = 100{,}000</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.1944em;"></span><span class="mord">100</span><span class="mord"><span class="mpunct">,</span></span><span class="mord">000</span></span></span></span>、<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>=</mo><mn>8</mn><mi mathvariant="normal">%</mi></mrow><annotation encoding="application/x-tex">r = 8\%</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8056em;vertical-align:-0.0556em;"></span><span class="mord">8%</span></span></span></span>、<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>20</mn></mrow><annotation encoding="application/x-tex">t = 20</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">20</span></span></span></span> 为例：</p>
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>A</mi><mo>=</mo><mn>100000</mn><mo>×</mo><mo stretchy="false">(</mo><mn>1.08</mn><msup><mo stretchy="false">)</mo><mn>20</mn></msup><mo>≈</mo><mn>466,096</mn></mrow><annotation encoding="application/x-tex">A = 100000 \times (1.08)^{20} \approx 466{,}096</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">100000</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.1141em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">1.08</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8641em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">20</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.1944em;"></span><span class="mord">466</span><span class="mord"><span class="mpunct">,</span></span><span class="mord">096</span></span></span></span></span>
<p>这就是「时间比择时更重要」的算术版本。它同时也说明另一件事：<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span></span></span></span> 的微小差异经过 20 年被放大成巨大差距，所以<strong>成本</strong>（管理费、交易费、税）值得你花一整天去比较。</p>
<h2 id="我的执行参数">我的执行参数<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我的执行参数"><span class="icon icon-link"></span></a></h2>
<div class="table-wrap"><table>
<thead>
<tr>
<th>项目</th>
<th>设定</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>频率</td>
<td>每月一次</td>
<td>频率再高对结果几乎没影响，反而增加操作成本</td>
</tr>
<tr>
<td>金额</td>
<td>收入的固定比例</td>
<td>用比例而非固定数额，收入变化时自动适配</td>
</tr>
<tr>
<td>标的</td>
<td>宽基指数为主</td>
<td>不押单一行业，避免把定投变成赌赛道</td>
</tr>
<tr>
<td>再平衡</td>
<td>每年一次</td>
<td>频率低到不会变成频繁交易</td>
</tr>
<tr>
<td>停止条件</td>
<td>没有</td>
<td>只有「需要动用这笔钱」时才停</td>
</tr>
</tbody>
</table></div>
<p>最后一行是我反复强调的：<strong>定投的资金必须是五年内不需要动用的钱</strong>。否则你会在最糟糕的时刻被迫卖出。</p>
<h2 id="三个容易忽略的细节">三个容易忽略的细节<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三个容易忽略的细节"><span class="icon icon-link"></span></a></h2>
<h3 id="一要给下跌准备额外弹药">一、要给下跌准备「额外弹药」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一要给下跌准备额外弹药"><span class="icon icon-link"></span></a></h3>
<p>如果每个月都投满，遇到大跌时你只能干看着。我的做法是预留一份不超过总仓位 20% 的现金，只在市场跌幅超过预设阈值时投入。</p>
<h3 id="二记录执行而不是记录收益">二、记录执行，而不是记录收益<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#二记录执行而不是记录收益"><span class="icon icon-link"></span></a></h3>
<p>我的表格里记的是「这个月是否按时执行」，而不是「这个月赚了多少」。前者我可以控制，后者不能。</p>
<h3 id="三接受平庸">三、接受平庸<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三接受平庸"><span class="icon icon-link"></span></a></h3>
<p>定投的长期结果大概率是「接近市场平均」。如果你无法接受这个结果，那就不要用这套方法——但请先想清楚，你打算靠什么长期战胜它。</p>
<h2 id="一句总结">一句总结<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一句总结"><span class="icon icon-link"></span></a></h2>
<blockquote>
<p>定投不是一种投资技巧，而是一种<strong>降低自己在关键时刻犯错概率</strong>的制度安排。</p>
</blockquote>
<p>本文只是个人记录，不构成投资建议。</p>]]></content:encoded>
    </item>
    <item>
      <title>海外工作与职业选择：我后悔的和不后悔的</title>
      <link>https://yuanshanverse.com/posts/overseas-career-choices</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/overseas-career-choices</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate>
      <description>换国家生活的第六年，我试着回答一个更诚实的问题：当初的决定，到底改变了什么。</description>
      <author>YuanShan</author>
      <category>职业</category>
      <category>职业</category>
      <category>海外</category>
      <category>复盘</category>
      <content:encoded><![CDATA[<p>每年都会有朋友问我：要不要出去工作？这个问题我没法给建议，只能把我的账本摊开——哪些代价是真实的，哪些恐惧是我自己想象出来的。</p>
<h2 id="我不后悔的三件事">我不后悔的三件事<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我不后悔的三件事"><span class="icon icon-link"></span></a></h2>
<h3 id="一把能不能活下来当成第一优先级">一、把「能不能活下来」当成第一优先级<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一把能不能活下来当成第一优先级"><span class="icon icon-link"></span></a></h3>
<p>刚到的第一年，我做的所有决定都围绕一个标准：<strong>能不能独立完成一件事的闭环</strong>。租房子、报税、看病、和同事争论技术方案。这些琐事看起来不产生价值，但它们决定了我后面能不能在这里站稳。</p>
<h3 id="二在语言上不追求像本地人">二、在语言上不追求「像本地人」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#二在语言上不追求像本地人"><span class="icon icon-link"></span></a></h3>
<p>我花了很长时间才接受：带着口音的英语完全够用。真正影响沟通质量的是<strong>结构</strong>——先给结论，再给理由，最后给细节。我为此专门练了三个月，收益超过之前两年的单词量积累。</p>
<h3 id="三主动建立弱关系">三、主动建立「弱关系」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三主动建立弱关系"><span class="icon icon-link"></span></a></h3>
<p>第一份工作里给我最大帮助的，不是关系最近的同事，而是两个在不同部门、只在会议上见过几面的同行。后来的一次机会也来自他们中的一个。<strong>弱关系提供信息，强关系提供支持</strong>，两者用途不同。</p>
<h2 id="我后悔的两件事">我后悔的两件事<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我后悔的两件事"><span class="icon icon-link"></span></a></h2>
<ul>
<li><strong>过早把「留下」当成目标</strong>。有一年我做选择时，考虑的是「这个决定能不能让我留下来」，而不是「这个决定能不能让我变强」。后者才是长期安全的来源。</li>
<li><strong>低估了父母的衰老速度</strong>。这不是能力问题，是时间的问题。视频通话不能替代在场，这件事没有技术解决方案。</li>
</ul>
<h2 id="一个判断框架">一个判断框架<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一个判断框架"><span class="icon icon-link"></span></a></h2>
<p>现在我常用这套问题帮自己做决定：</p>
<ol>
<li>这个选择会让我<strong>获得什么能力</strong>？三年后它还在吗？</li>
<li>最坏情况下我能承受吗？能不能提前设计一个退路？</li>
<li>如果我留在这里，五年后的生活具体是什么样？我能接受吗？</li>
<li>我现在的犹豫，是因为<strong>信息不足</strong>，还是因为<strong>舍不得</strong>？</li>
</ol>
<p>第四问最重要。绝大多数拖延不决的时刻，答案都是后者。</p>
<h2 id="最后">最后<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#最后"><span class="icon icon-link"></span></a></h2>
<p>海外生活没有让我变成另一个人，它只是把同一套问题放到了更昂贵、更少依靠的环境里。</p>
<blockquote>
<p>环境不会替你解决问题，它只是让问题更难被忽略。</p>
</blockquote>]]></content:encoded>
    </item>
    <item>
      <title>2026 读书记录：几本改变我判断的书</title>
      <link>https://yuanshanverse.com/posts/reading-notes-2026</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/reading-notes-2026</guid>
      <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
      <description>不列书单，只写这半年里真正改变了我做事方式的书，以及它们具体改了什么。</description>
      <author>YuanShan</author>
      <category>阅读</category>
      <category>阅读</category>
      <category>笔记</category>
      <category>思考</category>
      <content:encoded><![CDATA[<p>我的读书笔记里有一条铁律：<strong>如果一本书没有让我改掉某个具体行为，它就不算读过。</strong></p>
<p>按这个标准，上半年大概只有四本算数。</p>
<h2 id="关于系统而不是目标">关于「系统」而不是「目标」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#关于系统而不是目标"><span class="icon icon-link"></span></a></h2>
<p>第一本让我彻底放弃了「设定目标」这个习惯。作者的观点是：目标和系统的区别在于，目标是你要到达的地方，系统是你每天要做的事。目标给你方向，系统给你结果。</p>
<p>我把它落成了一件很小的事：不再写「今年要读 30 本书」，改成「每天通勤时读 20 分钟」。前者在 12 月给我焦虑，后者在 6 月给我 18 本书。<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref aria-describedby="footnote-label">1</a></sup></p>
<h2 id="关于解释的深度">关于「解释的深度」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#关于解释的深度"><span class="icon icon-link"></span></a></h2>
<p>第二本讲的是如何追问「为什么」直到触及机制层面。书里有个练习我一直在用：对任何一个结论，连续追问五次「为什么会这样」。</p>
<p>大多数时候，问到第三次就会发现自己的理由开始重复——那说明我对这件事其实没有真正的理解。</p>
<h2 id="关于写作即思考">关于「写作即思考」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#关于写作即思考"><span class="icon icon-link"></span></a></h2>
<p>第三本是我读得最慢的一本，因为每读一章都要停下来写点什么。它让我接受了一个不太舒服的事实：</p>
<blockquote>
<p>我以为自己想清楚了的事情，写下来才发现只有一半是清楚的。</p>
</blockquote>
<p>从那以后，我给自己加了一条规矩：<strong>任何重要决定，先写一页纸再说。</strong></p>
<h2 id="关于无聊的价值">关于「无聊的价值」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#关于无聊的价值"><span class="icon icon-link"></span></a></h2>
<p>最后一本讲的是注意力。核心结论很朴素：持续的高刺激会让普通事物变得不可忍受，而真正有价值的深度工作恰好是「普通」的。</p>
<p>我做了两个调整：手机不带进卧室；工作时用一个只有纯文本编辑器的全屏模式。这两件事带来的效率提升，超过我过去三年试过的所有工具。</p>
<hr>
<h2 id="附我的读书笔记模板">附：我的读书笔记模板<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#附我的读书笔记模板"><span class="icon icon-link"></span></a></h2>
<figure class="code-block" data-lang="markdown"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## 《书名》</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 一句话：这本书在回答什么问题？</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 三点收获：</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 我改掉的具体行为：</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 我不同意的地方：</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 会推荐给谁：</span></span></code></pre></figure>
<p>最后两行是刻意加的。<strong>能说出自己不同意的地方，才算真的读进去了。</strong></p>
<section data-footnotes class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#footnote-label"><span class="icon icon-link"></span></a></h2>
<ol>
<li id="user-content-fn-1">
<p>顺便说，这个改动让我第一次在年底没有产生「今年又没完成」的挫败感。 <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref">↩</a></p>
</li>
</ol>
</section>]]></content:encoded>
    </item>
    <item>
      <title>一次慢下来的旅行</title>
      <link>https://yuanshanverse.com/posts/a-slow-trip</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/a-slow-trip</guid>
      <pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate>
      <description>十一天，只去了两个城市。这是我第一次不赶行程的旅行，也是第一次真正记住了一个地方。</description>
      <author>YuanShan</author>
      <category>旅行</category>
      <category>旅行</category>
      <category>生活</category>
      <category>随笔</category>
      <content:encoded><![CDATA[<p>过去的旅行方式是这样的：七天五个城市，每天走两万步，回来整理照片时发现，我记住的全是地名，没有一件事。</p>
<p>这次我换了个做法：<strong>十一天，两个城市。</strong></p>
<p><img src="/images/slow-trip.svg" alt="清晨的街道，没什么人" loading="lazy" decoding="async" data-zoomable="true"></p>
<p><em>早上六点半的街角。这是我在这座城市最喜欢的一个时刻。</em></p>
<h2 id="变化是怎么发生的">变化是怎么发生的<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#变化是怎么发生的"><span class="icon icon-link"></span></a></h2>
<p>前三天极其不适应。没有行程表，我早上醒来会陷入一种「我是不是浪费了机票钱」的焦虑。第四天开始，事情变得不一样了：</p>
<ul>
<li>我记住了住处楼下那家咖啡店老板的名字</li>
<li>我知道哪条巷子在下午四点会有阳光</li>
<li>我在同一个公园里坐了三个下午，看完了半本书</li>
</ul>
<p>这些都不是景点，但它们构成了我对这个地方最真实的记忆。</p>
<h2 id="一些具体的做法">一些具体的做法<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一些具体的做法"><span class="icon icon-link"></span></a></h2>
<ol>
<li><strong>每天只安排一件事</strong>。其余时间允许自己闲逛。</li>
<li><strong>住带厨房的地方</strong>。去当地市场买菜做饭，是了解一个地方最快的方式。</li>
<li><strong>不拍照打卡</strong>。想拍的时候再拍，不为记录而记录。</li>
<li><strong>留一天完全不安排</strong>。用来处理意外——意外往往是最好玩的部分。</li>
</ol>
<h2 id="我带走的东西">我带走的东西<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我带走的东西"><span class="icon icon-link"></span></a></h2>
<p>一个观察：<strong>我们习惯用「去过多少地方」来衡量旅行的价值，但这个指标和体验几乎无关。</strong></p>
<p>回来后我删掉了行程清单类 App，也不再看攻略。下次出门时，我只打算提前订好住的地方，然后——到了再说。</p>
<p>旅行大概也是一种练习：练习允许事情不按计划发生。</p>]]></content:encoded>
    </item>
    <item>
      <title>海外生活的日常秩序</title>
      <link>https://yuanshanverse.com/posts/living-abroad-daily</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/living-abroad-daily</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <description>搬家三次之后，我总结出维持日常运转的最小系统：五件固定的小事，比任何年度计划都管用。</description>
      <author>YuanShan</author>
      <category>生活</category>
      <category>生活</category>
      <category>习惯</category>
      <category>秩序</category>
      <content:encoded><![CDATA[<p>刚搬来的头两年，我的生活一直处于「待整理」状态：箱子没拆完、账单堆着、冰箱里永远只有鸡蛋和速冻食品。表面上我在处理工作，实际上每天都被这些小事消耗着注意力。</p>
<p>后来我给自己定了一条规则：<strong>只维护五件固定的小事。</strong></p>
<h2 id="一周日晚上-30-分钟">一、周日晚上 30 分钟<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#一周日晚上-30-分钟"><span class="icon icon-link"></span></a></h2>
<ul>
<li>看一遍下周日历，把冲突提前解决</li>
<li>下单下周的食材</li>
<li>把上周没处理完的纸（信、收据、说明书）一次性处理掉</li>
</ul>
<p>只有 30 分钟，超时也要停。这条时间限制是故意的——它逼我降低标准，而不是无限延长。</p>
<h2 id="二厨房里永远有三样东西">二、厨房里永远有三样东西<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#二厨房里永远有三样东西"><span class="icon icon-link"></span></a></h2>
<p>足够的蛋白质、一种可以生吃的蔬菜、主食。哪怕加班到十点回家，我也能在十五分钟内做出像样的饭。</p>
<p><strong>外卖解决的是饿，不解决生活。</strong> 做饭这件事最大的价值不是营养，而是它给了我一天中唯一一段完全属于自己的、不需要说话的时间。</p>
<h2 id="三睡前一小时不看屏幕">三、睡前一小时不看屏幕<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#三睡前一小时不看屏幕"><span class="icon icon-link"></span></a></h2>
<p>我试过很多版本，最后稳定在这个界限。做不到的时候我也不自责，只是记录一下：这个月有几天做到了。</p>
<p>记录本身比达成更重要。</p>
<h2 id="四每个季度处理一次事务清单">四、每个季度处理一次「事务清单」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#四每个季度处理一次事务清单"><span class="icon icon-link"></span></a></h2>
<p>护照、签证、保险、税务、年检——这些事有明确的截止日期，但没人提醒你。我建了一个表，每个季度花一小时检查一遍。</p>
<p>处理过两次之后我意识到，焦虑的来源通常不是事情本身，而是<strong>不知道它什么时候会到期</strong>。</p>
<h2 id="五保留一个和效率无关的爱好">五、保留一个和效率无关的爱好<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#五保留一个和效率无关的爱好"><span class="icon icon-link"></span></a></h2>
<p>我的是一台胶片相机。它没有任何生产力价值，一卷 36 张，冲扫要等一周。正因为它慢、麻烦、无法量产，它成了我唯一不追求优化的活动。</p>
<h2 id="关于秩序">关于「秩序」<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#关于秩序"><span class="icon icon-link"></span></a></h2>
<blockquote>
<p>秩序不是把生活安排得密不透风，而是把杂事压缩到固定的槽位里，把不被打断的时间留出来。</p>
</blockquote>
<p>这五件事加起来每周不到三小时。但它们让剩下的时间变得干净——这是我愿意付的价格。</p>]]></content:encoded>
    </item>
    <item>
      <title>我为什么开始写博客</title>
      <link>https://yuanshanverse.com/posts/why-i-write</link>
      <guid isPermaLink="true">https://yuanshanverse.com/posts/why-i-write</guid>
      <pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate>
      <description>不是因为有话说，而是因为想让自己想清楚。写下来的过程，比写出来的结果重要得多。</description>
      <author>YuanShan</author>
      <category>随笔</category>
      <category>写作</category>
      <category>随笔</category>
      <category>长期主义</category>
      <content:encoded><![CDATA[<p>我做这个博客的原因很自私：<strong>为了让自己想清楚事情。</strong></p>
<p>过去几年，我读了大量东西，也产生了不少自以为不错的想法。但每当我试图把它们讲给别人听，就会发现其中至少一半是模糊的、经不起追问的。这种感觉很难受。</p>
<h2 id="写下来会暴露什么">写下来会暴露什么<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#写下来会暴露什么"><span class="icon icon-link"></span></a></h2>
<p>写文章和「想一想」最大的区别在于，文字是<strong>可以被检验</strong>的：</p>
<ul>
<li>用词含糊的地方，通常是概念没想透的地方</li>
<li>一句话写不出来，往往是因为它本来就不成立</li>
<li>逻辑跳跃的地方，是自己在偷懒</li>
</ul>
<p>所以我把写作当成一种<strong>压力测试</strong>：能不能用平实的语言把一件事讲清楚，是对理解深度最直接的检验。</p>
<h2 id="为什么是公开的博客">为什么是「公开」的博客<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#为什么是公开的博客"><span class="icon icon-link"></span></a></h2>
<p>存在本地文档里也能达到同样的效果。但我选择公开，有三个原因：</p>
<ol>
<li><strong>有读者时会更诚实</strong>。你会不自觉地避免含糊其辞。</li>
<li><strong>公开的内容可以被反驳</strong>。反驳比赞同有价值得多。</li>
<li><strong>它是一种长期记录</strong>。三年后再看今天的判断，会看到自己在哪里变了。</li>
</ol>
<h2 id="我会写什么">我会写什么<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#我会写什么"><span class="icon icon-link"></span></a></h2>
<p>大致是这几类：AI 与工具、投资与决策、职业与选择、读书笔记，以及一些生活里的具体观察。</p>
<p>它们的共同点是：<strong>都是我自己真的花了时间想过的事情。</strong></p>
<p>不会写的东西也很明确：追热点的评论、别人的观点转述、为了更新而更新的内容。</p>
<h2 id="关于频率">关于频率<a class="heading-anchor" aria-hidden="true" tabindex="-1" href="#关于频率"><span class="icon icon-link"></span></a></h2>
<p>我给自己定的规矩是<strong>每月一到两篇</strong>，不追日更。</p>
<p>原因很实际：我不认为自己的生活密度足以支撑高频输出，而低质量的高频更新会迅速消耗掉写作的乐趣。</p>
<blockquote>
<p>慢一点没关系，重要的是三年后我还在写。</p>
</blockquote>
<p>如果你也想开始，我的建议只有一句：<strong>今天先写 300 字，不要给别人看，只给你自己。</strong></p>]]></content:encoded>
    </item>
  </channel>
</rss>
