<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Nathan Gao</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://www.zebin-yue.top/</id>
  <link href="https://www.zebin-yue.top/" rel="alternate"/>
  <link href="https://www.zebin-yue.top/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Nathan Gao</rights>
  <subtitle>心之所向，素履以往</subtitle>
  <title>与买桂花同载酒</title>
  <updated>2026-11-14T00:27:27.845Z</updated>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <id>https://www.zebin-yue.top/post/%E5%9F%BA%E7%9D%A3%E5%A4%8D%E6%B4%BB%E4%BA%86.html</id>
    <link href="https://www.zebin-yue.top/post/%E5%9F%BA%E7%9D%A3%E5%A4%8D%E6%B4%BB%E4%BA%86.html"/>
    <published>2026-11-14T00:27:27.845Z</published>
    <updated>2026-11-14T00:27:27.845Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="读书与思考" scheme="https://www.zebin-yue.top/categories/reading-reflection/"/>
    <category term="哲学" scheme="https://www.zebin-yue.top/tags/philosophy/"/>
    <category term="思考" scheme="https://www.zebin-yue.top/tags/%E6%80%9D%E8%80%83/"/>
    <category term="人生" scheme="https://www.zebin-yue.top/tags/%E4%BA%BA%E7%94%9F/"/>
    <content>
      <![CDATA[<p>昨晚和AI聊天，从一句话开始：人生没有对错，本身就是对错。它一路聊到维特根斯坦、庄子，中间甩出一对说法，钥匙型问题和发烧型问题。我当时没跟上，睡了一觉，把这个思路重新捋了一遍。</p><p>钥匙型问题，就是有一把真实的锁挂在那里，找到钥匙，一开，问题就关闭了。数学题、查故障、查病因，都是这一类。发烧型问题不一样，问题本身只是个症状，你直接处理它没用，底下那个状态变了，它自己就消失了。退烧药不治病，病好了，烧自然退。</p><p>它引了维特根斯坦《逻辑哲学论》里的一句话（6.521）：人生问题的解答，在于这个问题的消失。Die Lösung des Problems des Lebens merkt man am Verschwinden dieses Problems. 这句话后面还跟着一个括号，维特根斯坦自己举了个证据：那些怀疑了很多年、后来把人生想通了的人，偏偏说不出到底想通了什么。</p><p>我一开始没明白这句话，想了半天才反应过来：它说的不是什么玄妙体验，而是一件很平常的事。</p><p>去看看那些真被”人生有没有意义”折磨过、后来又平静下来的人，他们身上有两个奇怪的地方。一个是，没有谁是因为听到某句话好起来的，没有人给他讲了个道理，他听完一拍大腿，通了。另一个是，你问他到底想通了什么，他说不出来，顶多告诉你：说不清，反正现在不纠结了。</p><p>拿正常的难题一对比，就知道这两个地方有多怪。一道数学题不会自己消失，不会做的时候它一直摆在那里；等有人把解法讲给你，你能看懂，还能讲给别人听。正常的问题都守这个规矩：答案来之前，问题一直在；答案来了，就能说出口。人生问题正好反过来：它没有等到任何答案，就自己消失了；等它消失了，你说不出那份答案是什么。它根本不按正常问题的规矩来。</p><p>所以”解决”这个词到了这个问题上，只剩一种可能的意思：不是哪天答案来了，而是哪天你发现自己不问了。</p><p>我的第一反应是，这不就是中国人常说的那个字吗，熬。</p><p>熬字里没有任何”想通”的成分，它就是承认：硬挺着，等它走。这个字的本义也对，熬粥、熬药，小火慢炖，时间在干活，人替不了它。几千年来中国人对付人生的办法，跟6.521说的其实是同一句话：这件事不会被回答，只会过去。</p><p>但AI说这个字像一半。我想了一天，觉得它说得准。</p><p>先把像的那一半说清楚。熬压根不指望答案，只指望过去。就这一点来说，中国人等于没读过维特根斯坦，却拿几千年的生活验证了他那句话。</p><p>不像的那一半，是熬有一个没说出口的前提：熬的人心里其实还相信答案是有的，只是它一时半会儿来不了，所以只好先扛着。这个前提会让人多受一份罪。凌晨三点被”人生到底有什么意义”折磨的时候，人受的其实是两份罪：一份来自问题本身，另一份来自”明明应该有个答案，我却找不到”的自责。熬能陪人扛住第一份，对第二份一点办法都没有。而一个真正看清”锁孔根本不存在”的人，第二份罪当场就没了——问题可能还在，但”我在失败”这个感觉没有了。</p><p>熬还藏着第二个承诺，叫出头。熬出头、苦尽甘来，这些说法都默认终点放着一个好东西，只要扛过去就能领。维特根斯坦不给这个承诺。他把话说得很严：这个问题如果被解决，解决只能是它消失；至于它到底会不会消失，他一个字都没提。熬是安慰话，他说的不是安慰，是实情。</p><p>这个区别有多重，要看他本人的生平。</p><p>维特根斯坦家有九个孩子，父亲卡尔是奥匈帝国的钢铁大王，家族富有到在奥地利排第二，仅次于罗斯柴尔德。这个家族的犹太底子埋得很深：”维特根斯坦”这个姓，是一百多年前拿破仑强令犹太人登记姓氏时，曾祖父从雇主那里借来的；祖父赫尔曼在名字中间加了”克里斯蒂安”，就是为了冲淡犹太身份。到了下一代，这些掩饰统统帮不上忙了，这是后话。</p><p>九个孩子里，五个是儿子：汉斯、鲁迪、库尔特、保罗，路德维希最小。十六年里，前三个先后自杀。汉斯是音乐神童，四岁能从驶过的警笛声里分辨出多普勒效应造成的四分之一音下降，1902年在美国切萨皮克湾的一艘船上失踪，二十五岁。鲁迪1904年在柏林的一家酒吧，先请钢琴师弹了一首《被遗弃，被遗弃，我被遗弃了》，然后喝下掺了氰化钾的牛奶，二十三岁。他是同性恋，遗书里一个说法是对朋友的去世过于悲伤，另一个说法是”对自己不正当倾向的疑问”。他死后，父亲严禁家里人再提他的名字。库尔特是一战军官，1918年10月27日意大利战线总崩溃，他带的兵哗变，他开枪自尽。那几天路德维希自己的处境是：出版商刚拒绝了《逻辑哲学论》的出版，他又得知挚友品生特死于当年的空难，随后他在南线被俘，进了战俘营。五兄弟走到这里，两个自杀死了，保罗1914年失去右臂，后来用左手重新练琴，成了著名的独臂钢琴家，拉威尔的《左手钢琴协奏曲》就是为他写的。</p><p>而路德维希自己，从1904年前后起被自杀的念头缠了差不多十年。他跟罗素说过，在曼彻斯特研究航空的那几年一直在想这件事。1916到17年前线的笔记本里，”世界的意义是什么”那些条目和这样一条混在同一册：如果自杀是允许的，那么一切都是允许的；如果有什么事是不允许的，那么自杀就是不允许的。我们今天引用的6.521，就是这个人写下来的。开战时他主动报名，有疝气本可以免役，上了前线还主动申请最危险的岗位，当了四年兵，一直升到中尉，因为打仗不怕死，拿过佩剑军事功绩奖章和一级英勇奖章。他在波兰小镇的书摊上买到托尔斯泰的《福音书摘要》，从此随身携带，战友叫他”带着福音书的人”。姐姐赫尔米娜说库尔特身上”带有厌恶生命的细菌”，又说战争于路德维希反而是得救：战壕里不用再面对”该不该活下去”，只用面对”今天怎么把活干完”。</p><p>1919年出狱，他把继承的巨额遗产全部分掉，此前他已经匿名资助过一批艺术家，其中包括诗人特拉克尔，他赶到克拉科夫想见一面，晚到了三天。1920年，欧洲最富家族的继承人跑到一个几百人的山村特拉滕巴赫当小学教师，一教六年。他对教学投入得吓人，给跟得上的学生免费补课到深夜，姐姐去看课，看到学生们抢着举手。但对跟不上的学生，他是个暴君，每天前两节数学课，被一些学生后来回忆成噩梦：他抽过学生，拧男孩的耳朵，拽女孩的头发。那个年代体罚男孩算常事，但体罚女孩连村民都觉得过了。1926年，他因为体罚风波离开学校。十年后的1936年冬天，他在挪威挨个拜访朋友，专门做了一轮忏悔，坦白的事里包括：当年体罚被调查时，他撒了谎。同一轮忏悔里还有一条：他一直跟剑桥的朋友说自己只有一个祖父母是犹太人，其实是三个。这个人别的不说，对自己的账一根毛都不肯赖。</p><p>离开学校的空档，他还干了另一件事：和建筑师恩格尔曼一起，给姐姐格蕾特设计房子。房子盖了两年，从整体结构到每一扇门的合页、插销、暖气片，全部按他的图纸来。有一间厅的天花板完工之后，他觉得矮了三厘米，硬是拆掉重做。这栋房子今天还是维也纳的文物建筑。一个对三厘米都不肯将就的人，回头再看体罚、忏悔、分遗产，其实是同一种性格在不同地方发作。</p><p>然后是更大的背景。1938年3月德国吞并奥地利，正在爱尔兰路上的维特根斯坦，一夜之间变成了纳粹法律眼里的犹太人：四位祖父母里三个是犹太人，按纽伦堡法案，这就够格了。哥哥保罗跑得最快，也跑得最安静。他跟一位非犹太女子生了两个孩子，正背着”污染种族”的指控，他谁都没告诉就走了，以至于一开始家里人以为，他是这个家第四个自杀的孩子。路德维希这边，靠接替摩尔当上剑桥哲学教授，拿到了英国国籍。留在维也纳的两个姐姐怎么办？这个家族把熬明码标价了：他们给帝国当局递了个说法，老祖父其实是某位德国王族的私生子，照这么算，犹太祖辈就少了一位；同时让帝国银行拿走家族存在瑞士的全部外汇、股票和一千七百公斤黄金。作为交换，希特勒本人在入侵波兰前批准了他们的”混血儿”身份。1939年有两千一百份这样的申请，只批了十二份。两个姐姐靠这个身份在维也纳熬过了整场战争。保罗不能接受家里人拿钱和编出来的家谱跟纳粹做交易，从此和弟弟妹妹决裂，战后回维也纳演出，没有去姐姐赫尔米娜的墓，也再没联络过路德维希。</p><p>第二次世界大战打起来的时候，这位剑桥教授没有留在书房。1941年他跑到伦敦的盖伊医院当搬运工，在药房和病房之间推药车，顺便劝病人别吃医生开的药；后来又去纽卡斯尔的皇家维多利亚诊所当实验员，研究伤员的脉搏和体温。他后来是后悔这些事的——他这辈子几乎没有一段是不肯放过自己的。1947年他辞掉教授职位，去爱尔兰的海边独居，写他的第二本书。</p><p>1951年4月26日，他62岁生日那天，开始写最后一份手稿。医生告诉他只剩几天时，他说”很好”。28日晚失去意识前，对守在床边的贝文夫人说：告诉他们，我过了极好的一生。</p><p>他到死也没说出那个意义是什么。但问题确实不在了。</p><p>中国传统里其实有个比熬更准的说法，只是不在俗语里，在禅和庄子那里。《楞严经》里有个演若达多，照镜子喜欢上了镜中的脸，回头以为自己脑袋丢了，疯跑着满街找头。狂心停下来的那天，他并没有”找到”头，头从来没丢过，找头这件事本身才是全部的病。庄子那边叫悬解，倒挂着的人不是练出了耐力，是绳子解开了。所以消失有两种：熬是用时间磨，歇是心当场停下来。熬是发烧的人还认不出这是发烧，只能扛；歇是认出来之后的松手。</p><p>维特根斯坦两样都占了。逻辑上他给的是歇，就是”锁孔根本不存在”那句话；传记上他走的是熬，从十三岁看着大哥消失，到六十二岁说”极好”，中间隔着三个哥哥、两场世界大战和四十年。他一家子也都在熬，帝国、恶性通胀、纽伦堡法案，各有各的熬法：有人熬成了英国教授，有人熬成了美国钢琴家，也有人没熬过去。中国人把这种活法压缩成一个字，等于提前替他写好了总结。只是我现在再看这个字，多了一层感觉：它了不起，是因为它早就承认那件事不会被回答，只会过去。它也让人心疼，因为熬的人一直以为是自己命硬，其实那个锁孔，从一开始就不存在。</p>]]>
    </content>
    <id>https://www.zebin-yue.top/post/%E7%86%AC.html</id>
    <link href="https://www.zebin-yue.top/post/%E7%86%AC.html"/>
    <published>2026-11-12T14:10:00.000Z</published>
    <summary>
      <![CDATA[<p>昨晚和AI聊天，从一句话开始：人生没有对错，本身就是对错。它一路聊到维特根斯坦、庄子，中间甩出一对说法，钥匙型问题和发烧型问题。我当时没跟上，睡了一觉，把这个思路重新捋了一遍。</p>
<p>钥匙型问题，就是有一把真实的锁挂在那里，找到钥匙，一开，问题就关闭了。数学题、查故]]>
    </summary>
    <title>熬</title>
    <updated>2026-11-12T14:10:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="情感与心理" scheme="https://www.zebin-yue.top/categories/emotions-psychology/"/>
    <category term="自我成长" scheme="https://www.zebin-yue.top/tags/%E8%87%AA%E6%88%91%E6%88%90%E9%95%BF/"/>
    <category term="家" scheme="https://www.zebin-yue.top/tags/%E5%AE%B6/"/>
    <category term="亲情" scheme="https://www.zebin-yue.top/tags/%E4%BA%B2%E6%83%85/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码错误，请重试。"     data-whm="密码错误，请重试。"     data-salt="33d98abd7ecc32be2ecaa981aced742f081ecf40fc4a65ea57a346e4e10179c1"     data-nonce="713197e0e6ea2b722f25bc8f"     data-kdf-iterations="600000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    f3f6ab7b4a1038fb68b5c7f0323cc9ab4824805338f91eed08e51b2e4803cdb6897bc05a77d1b3b133886299f6728ca8d21f46cd576d9d45562fce7ad7db110242a2452aa8acb1aef0bc451149f3db267347aa8bf6a83e2c2a3bddaf3edf9c5e7447c0b7bf6cb0e89da6feeae91b84ee7a2738bd98de4a3ed3fc930e6075aa06f0cae33ef46e04c5c0203c31b5c0f296ee0954ae3f29a61733aa7f1d847e8df76634545d15fec2292ad19586f81bb3f5258032ca429042f1bc96505545a54ef423e374fde0fa39bc65ae069308bd65c65d6e2d335f29e02bfcba4727c65730ea697e5ccbe524a1c910aec2d4af7c9108a232c0ff9a1b29df91c9020ab358d7df84b371b683cf25e91fbbcb764cd4a17c4359f18b5f7152096f852d0c9ee4a6276ae4382ba5f35737b6402c4b9352a0889ecd8095ce950b994f086fa37ad6bcf85f479e04ffba6aed20c511b685d9190c287c68a527f4b2c749b2b6b59c46adeaaa0791351b17e4855218550e9a5ea35b8a58b8f5b93c527c95eeac9fc3ffc4685474ccb83fb981101c93672e4bad4f0b6e4c9ca94903bb9f2f60caa7bf81bf1250f9b74fa9a8bbe6a9f8d7648be043b7269e56da9c4ced5d106fc93b739dc595217d45ed62bdf68f4ed1f30ed9198ed49c1c1be8ec7c34779ce2e5a2848165eceef70743e5b800097c764b6b1ca0406cbb77addfcdd12962a8210b0bff0c205bb9a3cfa9179f1caa7c59f714e3993d79631cde633ca33d414574b902d677169aafa8577b6e3a7413daa1f58e7c96bbf0d5ded9b57e29074bc30d970d01528e8b85ff3a6850ea0784b664dc4cf2eee8ef8dbe50a1d84742d6a1d80f69b29baaeffe0c5f8c6168a2bc7d84ddc531eddab75e5850eb2ef13326c3794bc506c6fef3994ed7d64b49b7526ce7a12b15cec759dc1571e769b7b72094fa97450368331a6b234a3d4d6b1b06a81ca3d0bbf2ac88c91dbe55bcc91113add2d9d014901e611f755fe17a986cf9477b9c37a652000efa27a912d86b4ec2aa3e0f9a2ee1647f1f574b088a02536e82cbd4bc90ad5df5c21023630587cb4a154fb670a159867b6ef2dbc6c8bde352143365b51b94f459e5be075fd75bc361e48060b7db7862f715ba1812e3775ec05c1f96c306066d4d2fa1f5e2d4d4262ecd9557905923002372caca6eadf4b5905ff3bc3d2f3b5372a346ef34a7d91557158563ed521a83aa7394586bbfda371dcdde3340126f188dc11807a1f69173a12292140000d04b7504a41cd9f1add6229b4a01c5f7525243222e0f3729a0f16da5531ff0b94fa69537971927570cd2f6f4dbf4b95a98349a96933c196653df6b069568a7e943ba97092b068c71fcc7c5fab8c3d4149115b19af8f3d2956ec819ae0232215143530bf5c59b9b308679bd769dd871eb9f3f2a08825498044c9af73c3cf9ee16c3db6061084413c1c8ca87b6212401d461c1ec8c29148ce084b840d78bbfd03a119dc0e0f764cf57062857de8c81ae6cc68922b86c42bfb2d6b6f6f2a8c8f1a27177b935d3b6635d6c1aca3df9de5d09158ef17c27fb3d1a59add9c61e0ac808f01c48d0b1aaaff457870b9cc33e102c19e90a82e08d417b97c34f6883e6f2bdaab762119d3dd48ab690a57da50a68f1f280f617a30fb228c29fb11803c40be7bfa092577fb600757e1f4fd88795a47673beb61944cd8ac6b7856801aa954d82fd02b0632ccdf9f9ff57bc7c76597a058708ba6db6d82c1b5e5f35393dffe817b286ecfb4ed76fcd788c067990a40d8878503d9e8cb7ba773e4b420fc6c0ea99830d85c07a51aaabe806cc97f7c2531326d9f4afc0e2e86cc04688bb83771595ef648350ab075415771813bea01588541e624d54ab969fa3161ce0112330a3a80e1dfa9bb8eb7c642c4ded2d857fbeb8ffe8a6cbf11f94c76b60cf30c9ed87bc28e525cb1db8498590961c7f579d0622031596c0066590cdfc4abd99aefb1094a5a81b86a5f2d6581d98fc87b1ac7da3cae9ddc3548da6d355bc0c4259d21606b8ff30204dc469b681be7797da4485b30eece881548dae2dc46e343118450996993bbd09dc68076480cf268efe09af270cce3c915d76ff50524cd70f935da2f0b184887c6d92a5e12e9eff7549badb40902376b39896a148ebae17ca84a6a1f4d9b77d2cadf852b389c15d208ee03f95dfa865cba60cf7f46fdb43acbdc88f0438d1fcd5572284a1a9a7e2384f0f9a53a470f2ed35c6c4081618ba5d873071d506e523ecaa39919418fe023bccbeb3e830775e94f76881c3f1d090f8c15e1ffa7933d3c41b612619c301c55f5eb29bcb1d5aaa4c2b976590a963285726496c054908beda46f9c808bfb074b056a8c13c9526a508c4c0b19a51e0ae222179c966d3d9c25fa13a18d9918c34960ff4f37d9608f9bed168288ac6190884a30c634584867d4bd91f66b08304d080bb8ac280fbabc7fe92e1d416bfa4b48f8ee26a647380841a64627e19285c1e07d1bc8b4fd5844beb5ba7ffd2980e83832d218770f926c54b54d5dc98ebeb7ede0af8b18ce6b15dfe96c88bb7df050c57c279f2a53428e8683748e71dc37023fe7b576d3db9d18e21ef63e85644847402a7fc09ef99a1b1ea633678f3c9eea81d4993fb7fe20e94ffbd69d4a56b30fd45fea3c360d247a1f2d872df6ed59b20b667f38c036207294bf54b186f4aececd31e4e022b4f020c797ffcf4e07f49c827e042b7c1434c0e73bff8f18ce49d367f6208239946aec7341fa2adaf846886563e5368199174da2f78523d30fa79ddad598fc0029ea33521eb4226ca3799d5441808ef2875d9920aeddea42d2a3c24cf1c13bfd7becb579ab91361d8aa41053f25d9c021548845b2b2fdc0be2dbfd087766c04b6e9245996d2b2779bfcbe5d216cd83fcc9c2c4b029c9cd0764b607751ba85c2f6bde01642d3245bd6c88047001baa0b660d9f21dc  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">本文已加密，请输入密码查看。</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9a88ff0505.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://www.zebin-yue.top/post/%E4%BD%95%E4%BB%A5%E4%B8%BA%E5%AE%B6.html</id>
    <link href="https://www.zebin-yue.top/post/%E4%BD%95%E4%BB%A5%E4%B8%BA%E5%AE%B6.html"/>
    <published>2026-11-09T13:00:00.000Z</published>
    <summary>Here's something encrypted, password is required to continue reading.</summary>
    <title>何以为家</title>
    <updated>2026-11-09T13:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="转载" scheme="https://www.zebin-yue.top/categories/reposts/"/>
    <category term="徐泽伟案" scheme="https://www.zebin-yue.top/tags/%E5%BE%90%E6%B3%BD%E4%BC%9F%E6%A1%88/"/>
    <category term="相思" scheme="https://www.zebin-yue.top/tags/%E7%9B%B8%E6%80%9D/"/>
    <category term="痛" scheme="https://www.zebin-yue.top/tags/%E7%97%9B/"/>
    <content>
      <![CDATA[<ul><li>世上深情莫过于如此</li></ul><p><strong>2025年11月8日，米兰马尔彭萨机场一个人的道别</strong></p><p>一年前的今天，我坐在米兰机场登机口旁的椅子上，呆愣愣地看身边人来人来。</p><p>刚刚升起的日光将窗外飞机的影子拉得很长，飞速掠过眼前的人、事、物，如同蒙太奇一般，切换着、拼接着世界在那个时刻、那个地点的随机组成。</p><p>于我，没有任何含义。</p><p>我的脑海里，只有前一天去监狱探视泽伟的画面。他从前很少哭的一个人，却在我滞留米兰四个多月、探视他的28个小时里，流光了既往33年的眼泪。</p><p>那眼泪，混杂着对事业的担忧，对家人的牵挂，对自身处境的悲伤，以及对未来命运的迷茫。</p><p>我们都知道，原先由最小单元的喜怒构成的平凡生活，就这样戛然而止。</p><p>许多事情，都变了。</p><p>探视结束时，他将我抱得更紧，那是他一个人在囹囫中，不会再感知到的温度。</p><p>我们不知道这一别，到底什么时候才能相见。虽然当时的我笃信，一定不会太久。</p><p>而这一别，已是一年——我已经整整一年，没有见到过我深爱的丈夫，无法再凝视他漆黑的眼眸，摩挲他逐渐老去的脸庞，给他一个不顾一切的拥抱。</p><p>在他去了美国之后，就连线上视频的机会都不复存在。我见不到他，不知道他现在是什么样的肤色，新添了几道皱纹，头发又被里面的“理发师”随机剪成了什么模样。</p><p>只有书信和电话，零星地让我徒劳地想象——</p><p>睡觉的垫子是从“垃圾堆”里捡来的，躺着身体会痛吗？</p><p>放的饭基本都是工业制品，身体的营养跟得上吗？</p><p>终于买到了衣服和鞋子，就要过冬了，够暖和吗？</p><p>我的忧心，隔着一万两千公里，从13个小时的时差，变成了14个小时。</p><p>还会有几个春夏秋冬？</p><p>一年前，转身离开的时候，我很清楚，泽伟不想我离开，那是他当时唯一的能量来源，在令人窒息的环境中，唯一的一根救命稻草。</p><p>可生活不是电影，我们没有主角光环，更没有特异功能，有经济账本要算，有幼女在家中等待，有摇摇欲坠的生活，要稳。</p><p>我无法抛下一切留在他身边，即便我想，可也不能。</p><p>或许这也是老天教我们成长的一种方式，在许许多多的“本非我愿”和“情非得已”之中，一点一点地看清这个世界真实的运转方式，跟自己的心有不甘慢慢和解。</p><p>这一年，我做了许多事，跑了许多地方，结实了许多人。</p><p>给泽伟的书信，三百六十五天，几乎从未间断，粗略估算，大概已有一百万余字。</p><p>对女儿的养育，在老人们的帮衬下，算是勉强提供着一个有爱和安全的环境。</p><p>对生活的思考，借助阅读、写作和视频制作，捕捉到了许多从前不曾注意的点，能发现越来越多的细微的美好，也一次一次地被它们朴实无华地打动。</p><p>而互联网也将许多素昧平生却三观相仿的人，带到了我们的身边。那是我这一生都会珍视的礼物——藏匿于苦难背后的礼物。</p><p>这一年，我被鼓励了很多，也被骂了很多。</p><p>被骂不是一件让人好受的事，哪怕心量再大，偶尔也会难受。但比起鲜花和掌声，批评的声音，有时反而会带给人更多的成长。</p><p>我从一开始很想辩个一清二白，慢慢发展成了一笑了之，不去解释。</p><p>懂你的人，自然懂；不懂你的人，说再多，也是徒劳。</p><p>我无法被每个人喜欢，也不需要被每个人喜欢，事实上，我本来就有那么多的缺点，也不值得每个人喜欢。</p><p>这一年，我做了一些事业上的尝试，也在继续做一些尝试。</p><p>如果选择直播带货，或许经济上的压力能缓解一些，但我运营这个账号的初衷，从来只是为了等徐泽伟回家。</p><p>一件事情，如果沦为赚钱的工具，或多或少，就会有变形。</p><p>我也一直记得泽伟跟我说的，要选一条更少人走的路。</p><p>探索的每一步，是曲折的、缓慢的、不明朗的，但在这个过程中的每一次匍匐，都会帮助我更好地理解自己想要做什么样的事，成为什么样的人，为社会带来什么样的价值。</p><p>我会用我自己的方式，扛起这个家，即便困难很大。但再大的困难，也一定只是暂时的。</p><p>切莫用眼下的困顿，去局限自己未来的人生。</p><p>我跟泽伟有时会聊起，如果当时在米兰时，获批了居家监禁，我跟他一起在当地租下的小房子里，相濡以沫地过一天、算一天，比起现在的生活，当如何？</p><p>我俩的结果也毫不意外地一致：短期来看，是好的；长期来看，还是像这样，两个人痛苦地被迫分开，却又努力地各自生长，为好。</p><p>人生总有那么一个阶段，需要一个人独自面对，独自扛过漆黑的夜，穿过无人可依的沼泽，在迷茫甚至绝望的处境中，一边一边地叩问自己的内心。</p><p>将自己打碎了、重揉，在肉体凡身上，一点一点长出坚硬的铠甲。</p><p>Growing pains，在痛，是因为在成长；而成长，本就带着痛。</p><p>所以，即便我怀念过去单纯美好的小幸福，但我已经认清：现实中，成人的世界背后，总有残缺。</p><p>认清这种残缺，不执着，但依然饱含深情地活着，是我过去一年的痛与成长、成长与痛。</p><p><strong>此去经年，山长水阔，归期未定，相思无寄</strong></p>]]>
    </content>
    <id>https://www.zebin-yue.top/post/%E4%B8%80%E5%88%AB%E4%B8%80%E5%B9%B4.html</id>
    <link href="https://www.zebin-yue.top/post/%E4%B8%80%E5%88%AB%E4%B8%80%E5%B9%B4.html"/>
    <published>2026-11-08T09:10:00.000Z</published>
    <summary>
      <![CDATA[<ul>
<li>世上深情莫过于如此</li>
</ul>
<p><strong>2025年11月8日，米兰马尔彭萨机场一个人的道别</strong></p>
<p>一年前的今天，我坐在米兰机场登机口旁的椅子上，呆愣愣地看身边人来人来。</p>
<p>刚刚升起的日光将窗外飞机的影]]>
    </summary>
    <title>一别一年</title>
    <updated>2026-11-08T09:10:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="技术笔记" scheme="https://www.zebin-yue.top/categories/tech-notes/"/>
    <category term="AI" scheme="https://www.zebin-yue.top/tags/AI/"/>
    <category term="Claude Code" scheme="https://www.zebin-yue.top/tags/Claude-Code/"/>
    <category term="工具" scheme="https://www.zebin-yue.top/tags/%E5%B7%A5%E5%85%B7/"/>
    <content>
      <![CDATA[<h2 id="先分清三个概念"><a href="#先分清三个概念" class="headerlink" title="先分清三个概念"></a>先分清三个概念</h2><p>先说一件我自己遇到的事：在输入框敲 <code>/webfetch www.baidu.com</code>，回车，系统提示没有这个命令。WebFetch 明明存在，但它不是命令，是工具——命令是敲给 Claude Code 这个程序看的，由程序在本地处理；工具是模型在干活过程中自己调用的。两份清单互不相通。这件小事正好暴露了几个容易混淆的概念：提示词（prompt）、工具（tool）、技能（skill），以及和它们形似却不同的命令（command）。</p><p>用 <code>/context</code> 的实际输出给它们划清边界（本会话数据，glm-5.3[1m]，1M 窗口）：</p><div class="table-container"><table><thead><tr><th>概念</th><th>是什么</th><th>谁发起</th><th>占用</th></tr></thead><tbody><tr><td>系统提示词</td><td>固定的行为规范：角色、纪律、环境</td><td>框架拼装，会话全程不变</td><td>2.1k</td></tr><tr><td>工具</td><td>用 JSON Schema 定义的函数</td><td>模型调用，先过权限</td><td>常驻 15 个共 7.2k；延迟 14 个只挂名字，不占</td></tr><tr><td>技能</td><td>某类任务的完整指令包</td><td>用户敲 <code>/</code> 或模型自行判断</td><td>13 个共 2k，只挂名字和一行触发条件</td></tr><tr><td>（命令）</td><td>框架本地处理的用户指令</td><td>用户敲 <code>/</code></td><td>不经过模型，不占上下文</td></tr></tbody></table></div><p><strong>提示词</strong>从会话一开始就固定加载，内容不变：模型是什么（编程代理）、遵守什么（安全规则、汇报纪律）、环境如何（工作目录、操作系统）。它不增加能力，只约束行为。</p><p><strong>工具</strong>是模型可以调用的函数，每个都有名字、参数和类型约束，另外配一篇很长的说明。这篇说明是写给模型看的——普通软件的 API 文档写给人看，这里的 API 文档写给模型看，同时承担三件事：说明用法、规定使用时机、提醒已知的坑，一份动辄上千 token。工具分两档：Bash、Read、Edit 这类高频工具的 Schema 一直加载着；Monitor、WebFetch 这类低频工具只挂一个名字，模型需要时先用 ToolSearch 把 Schema 拉进来才能调用。这笔账在 <code>/context</code> 里能看到：延迟工具的 4.9k 列在表里，但不计入已用的 12.4k——因为还没加载；拉取之后才变成实际占用。开销跟着使用频率走。</p><p><strong>技能</strong>解决”怎么做”的问题。<code>/code-review</code>、<code>/dataviz</code> 这些，平时只保留名字和一行触发描述，调用时才把完整指令注入对话。技能不给模型新能力——能用的工具还是那些——只提供做某类任务的方法和步骤。</p><p><strong>命令</strong>在用户这一侧，框架自己处理，比如 <code>/clear</code>、<code>/context</code>，完全不经过模型。技能是两边之间的桥梁：用户敲 <code>/code-review</code>，框架把技能的指令注入对话，再由模型照着执行。所以”没有 /webfetch”很正常：WebFetch 登记在模型的工具表里，从来没有登记在用户的命令表里。</p><p>概念清楚了，下面逐个分析五个工具：AskUserQuestion 用来向用户提问，Bash 用来执行命令，Grep 用来搜索，Monitor 用来监视后台任务，WebFetch 用来抓网页。引文全部逐字来自导出的工具说明原文。</p><h2 id="AskUserQuestion：把提问变成选择题"><a href="#AskUserQuestion：把提问变成选择题" class="headerlink" title="AskUserQuestion：把提问变成选择题"></a>AskUserQuestion：把提问变成选择题</h2><p>模型遇到拿不准的岔路可以问用户，但直接问是开放式问题，用户要打一段字回答。AskUserQuestion 把提问变成选择题：一次最多 4 个问题，每题 2-4 个选项，系统自动附赠一个 “Other” 自由输入，支持多选，支持预览。</p><p>它的说明第一句就划了门槛：”Use this tool only when you are blocked on a decision that is genuinely the user’s to make”——只在卡住、而且这个决定必须由用户来做的时候才用。什么算必须由用户做？后面给了标准：答案会改变下一步行动的才问；有惯例默认值的、或者模型自己能在代码里查到的事实，选一个合理的、说一声、继续做。打断用户是有成本的，要划算——这条思路来自 1999 年 Horvitz 关于混合主动权界面的研究。</p><p>三个细节值得注意：</p><ul><li><strong>问题要能独立读懂</strong>。”The user may see only the question dialog”——弹窗打开时，本轮更早的输出可能已经不在屏幕上。所以问题本身要带上下文：依赖什么就简述什么，问哪个文件就写明文件名。这是一条界面约束，但写在了给模型看的行为规范里。</li><li><strong>预览（preview）</strong>。比较界面草图、代码片段、配置写法时，每个选项可以带一块等宽显示的内容，界面变成左右对照——用户直接看到差别，而不是听模型描述差别。只有单选题支持。</li><li><strong>工具之间有分工</strong>。计划模式下想问”这个计划行不行”？说明里明确禁止——这件事归 ExitPlanMode 管。工具之间的边界像函数签名一样不重叠。</li></ul><p>还有一条惯例：模型倾向哪个选项，就把它排在第一位并标注 “(Recommended)”——弹窗里的第一个选项常常就是模型的倾向。</p><h2 id="Bash：规矩最多的工具"><a href="#Bash：规矩最多的工具" class="headerlink" title="Bash：规矩最多的工具"></a>Bash：规矩最多的工具</h2><p>Bash 能执行任意命令，是能力最强、也最危险的工具，所以它的说明最长、限制最密。整篇说明大致五个部分：</p><p><strong>环境声明。</strong> 它跑的是 Git Bash（POSIX sh），不是 PowerShell，所以先规定语法：<code>/dev/null</code> 不是 <code>NUL</code>，<code>$VAR</code> 不是 <code>%VAR%</code>。跨平台的通用性需要用条款来换。</p><p><strong>劝退清单。</strong> 说明明确要求不要用 Bash 跑 find、grep、cat、head、tail、sed、awk、echo——不是这些命令不好，而是存在只读的专用工具（Grep、Glob、Read）。专用工具是只读的，可以安全地设置成免询问；Bash 什么都能干，每次都得过权限。结果是最通用的工具反而被自己的说明劝退——权限制度反过来影响了工具的使用方式。</p><p><strong>输出归属。</strong> “Command output is displayed to you, not reliably to the user”——命令输出给模型看，用户不一定看得见。所以结论要转述，不能默认用户已经看到。</p><p><strong>后台任务。</strong> 后台任务退出时会收到通知，说明特意加了句”不要轮询输出文件”；前台 sleep 被禁止，等待条件应该用 Monitor。整个体系都在坚持同一个原则：等通知，不要反复查看。</p><p><strong>Git 部分的事故记录。</strong> PR 里的 @名字 会触发真实通知，所以示例里的占位符（<code>@reviewer</code>、<code>@types/node</code>）一律加反引号或去掉 @，防止从项目文件里抄来的写法误伤真人。这类条款没有理论出处，只有事故出处。</p><p>最值得注意的是它的必填参数 <code>description</code>：一句给用户看的、主动语态的命令说明，还禁用 “complex”、”risk” 这类词。命令为什么还需要一段描述？因为权限弹窗里用户看到的就是它。这不是给模型的备注，是给用户做决定用的说明——用户看懂了才知道该不该批准；看不懂的话，要么一律拒绝，要么一律放行，两种结果都偏离了权限制度本来的目的。安全设计里有个原则叫”心理可接受性”：安全机制必须好理解，否则用户会想办法绕过它，落点就在这个字段上。</p><p>参数里还有一个不加掩饰的名字：<code>dangerouslyDisableSandbox</code>——危险操作连修饰都不做，直接把 dangerous 写在名字里。</p><h2 id="Grep：重点是控制拿回多少"><a href="#Grep：重点是控制拿回多少" class="headerlink" title="Grep：重点是控制拿回多少"></a>Grep：重点是控制拿回多少</h2><p>Grep 表面上是 ripgrep 的包装，但看参数表会发现，它的设计重心不在搜索本身，而在控制输出——每个参数都在防止搜索结果把上下文撑爆：</p><div class="table-container"><table><thead><tr><th>设计</th><th>参数</th><th>意图</th></tr></thead><tbody><tr><td>三档输出</td><td><code>output_mode</code>：content / files_with_matches / count，默认只列文件名</td><td>最常见的问题是”哪些文件里有”，不是”每行内容是什么”</td></tr><tr><td>默认限额</td><td><code>head_limit</code> 默认 250 条</td><td>一次搜索返回上万行等于把上下文撑爆；原文写明 “0 = 不限，慎用——大结果集浪费上下文”</td></tr><tr><td>分页</td><td><code>offset</code> 跳过前 N 条</td><td>结果太多就分批取</td></tr><tr><td>只取命中部分</td><td><code>-o</code> 只输出匹配到的文本</td><td>行里其余部分多半不需要</td></tr></tbody></table></div><p>一个搜索工具，四个参数全在省 token。背景是 Lost in the Middle（Liu et al., 2023）的发现：长上下文里位于中间部分的内容，模型的检索表现明显差于首尾，呈 U 型曲线。既然窗口里的注意力是稀缺的，每次取回就应该尽量少。这也解释了 Bash 里那条”别跑 grep 命令，用 Grep 工具”的劝退：专用工具只读、输出可控、可以免询问，值得单独做一个。</p><p>还有一个细节：说明特意提醒这是 ripgrep 的语法、不是 grep 的——字面量的花括号要转义（<code>interface\&#123;\&#125;</code>）。同一个名字，两套工具，语法有差别，得先纠正过来。</p><h2 id="Monitor：后台监视和它的三条教训"><a href="#Monitor：后台监视和它的三条教训" class="headerlink" title="Monitor：后台监视和它的三条教训"></a>Monitor：后台监视和它的三条教训</h2><p>Monitor 的说明是全部工具里最长的一份，内容密度也最高，读下来接近一份运维值班手册。它是延迟工具，要用时才加载——说明书太重，常驻不划算。</p><p>基本机制：脚本在后台运行，stdout 每一行是一个事件、对应一条通知；脚本退出，监视结束；每个监视器都有时限（默认 5 分钟，最长 30 分钟），到期可以重新布置。200 毫秒内的多行输出合并成一条通知。</p><p>使用前先做选择，说明给了一个三分法：</p><ul><li>只要<strong>一次</strong>通知（”构建完成时告诉我”）→ 不用 Monitor，用 Bash 后台任务加 until 循环，条件满足自动退出；</li><li><strong>每次发生</strong>都要通知、直到监视过期（”每出现一行 ERROR 就叫我”）→ Monitor 配不会退出的命令；</li><li>每次都要、<strong>到某个终点为止</strong>（”逐个报告 CI 步骤，跑完结束”）→ Monitor 配会退出的命令。</li></ul><p>选错的后果也写了：拿 tail -f 配”只要一次通知”，事件发生之后监视器不会停，会一直挂到超时。</p><p>真正有价值的是三条事故教训：</p><p><strong>第一，SIGPIPE 陷阱。</strong> <code>tail -f log | grep -m 1 &quot;Ready&quot;</code> 看起来命中一条就会停，实际上如果日志随后安静下来，tail 永远收不到 SIGPIPE 信号，整条管道就挂在那里——看似可用的命令，实际是死的。</p><p><strong>第二，行缓冲。</strong> 管道的每一级都要逐行刷新：grep 要加 <code>--line-buffered</code>，awk 要调 <code>fflush()</code>，head 根本不支持刷新。过滤器不刷新，事件就一直憋在缓冲区里——监视器什么都没报，不是没出事，是没看见。</p><p><strong>第三，沉默不等于成功。</strong> “silence is not success”——过滤器必须覆盖所有可能的结束状态，不能只盯着成功路径。只匹配成功标记的监视器，在崩溃循环、进程挂死、意外退出时全程安静，而安静和正常运行看起来一模一样。原文给了对照：</p><figure class="highlight gherkin"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs gherkin"><span class="hljs-comment"># 错——崩溃、挂死、任何非成功退出时都不会有输出</span><br>tail -f run.log |<span class="hljs-string"> grep --line-buffered &quot;elapsed_steps=&quot;</span><br><span class="hljs-string"># 对——同时覆盖进度和所有失败特征</span><br><span class="hljs-string">tail -f run.log </span>|<span class="hljs-string"> grep -E --line-buffered &quot;elapsed_steps=</span>|<span class="hljs-string">Traceback</span>|<span class="hljs-string">Error</span>|<span class="hljs-string">FAILED</span>|<span class="hljs-string">assert</span>|<span class="hljs-string">Killed</span>|<span class="hljs-string">OOM&quot;</span><br></code></pre></td></tr></table></figure><p>布置前的自检只有一句话：”if this process crashed right now, would my filter emit anything?”——如果进程现在崩了，过滤器会有输出吗？不会，就把条件放宽。</p><p>另外还有一笔经济账：stdout 每行都是一条会话消息，事件本身也消耗 token，所以过滤器要挑”你会据它行动的行”——挑得准指的是把该行动的挑出来，不是只报好消息。事件太频繁的监视器会被自动停掉。</p><h2 id="WebFetch：让小模型代读网页"><a href="#WebFetch：让小模型代读网页" class="headerlink" title="WebFetch：让小模型代读网页"></a>WebFetch：让小模型代读网页</h2><p>WebFetch 的说明最短，机制却最值得拆开看。流程：抓取 URL → 转成 Markdown → 一个小而快的模型根据你的 prompt 阅读内容并作答 → 主模型只看到答案，看不到原文。</p><p>这是”按任务难度分配模型”的一个缩影：网页动辄几万 token，整页放进主模型的上下文非常浪费；让便宜的小模型读页面、只返回答案，主模型的窗口基本不受影响。代价有两个：答案质量取决于 prompt 写得是否具体；小模型可能漏掉你没有问到的内容。</p><p>边界条件都是明确的工程判断，每条都有原因：</p><ul><li>需要登录的页面直接失败——不要让工具碰运气，改用带凭证的 MCP 工具；</li><li>localhost 和不带点号的主机名失败——本地服务器用 Bash 里的 curl；</li><li>HTTP 自动升级成 HTTPS；</li><li><strong>跨主机重定向不自动跟随</strong>，而是把重定向地址返回给模型、要求再调一次——防止一条重定向链把请求带到意想不到的地方，每次跳转都要确认；</li><li>同一个 URL 的结果缓存 15 分钟。</li></ul><p>WebFetch 和 WebSearch 各管一头：WebFetch 抓一个页面，WebSearch 搜一批结果（支持域名黑白名单，要求答案附来源清单）。WebFetch 常见的失败场景也很实际：靠 JavaScript 渲染的页面、登录墙、反爬。这些时候的替代路线是 Bash 里的 curl，或者专门的抓取 MCP。</p><h2 id="收尾"><a href="#收尾" class="headerlink" title="收尾"></a>收尾</h2><p>五个工具，五种典型设计：AskUserQuestion 管提问——把打断收敛成选择题，只在真正的岔路口用；Bash 管执行——能力最强所以限制最多，连给用户看的说明都是必填项；Grep 管搜索——难点不在找到，而在少拿；Monitor 管等待——通知系统最危险的故障是毫无声音；WebFetch 管外部世界——用小模型挡在主模型和网页之间。</p><p>它们共同应对三个前提：模型会犯错（所以要权限、要审查）；上下文有限（所以要按需加载、要限额分页）；外部环境不可全信（所以要确认重定向、要防路径劫持）。所谓 agent 框架，不只是换一个更聪明的模型，而是围绕这三个前提搭起来的一整套工程。提示词、工具、技能的分层，本质是把行为规范、能力和方法分开管理——《Claude 之用法》里那些指令的奇怪设计，到这里就都能对上了。</p>]]>
    </content>
    <id>https://www.zebin-yue.top/post/Claude%E4%B9%8B%E5%B7%A5%E5%85%B7.html</id>
    <link href="https://www.zebin-yue.top/post/Claude%E4%B9%8B%E5%B7%A5%E5%85%B7.html"/>
    <published>2026-11-06T15:00:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="先分清三个概念"><a href="#先分清三个概念" class="headerlink" title="先分清三个概念"></a>先分清三个概念</h2><p>先说一件我自己遇到的事：在输入框敲 <code>/webfetch www.baidu.com</c]]>
    </summary>
    <title>Claude 之工具</title>
    <updated>2026-11-06T15:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="技术笔记" scheme="https://www.zebin-yue.top/categories/tech-notes/"/>
    <category term="AI" scheme="https://www.zebin-yue.top/tags/AI/"/>
    <category term="Claude Code" scheme="https://www.zebin-yue.top/tags/Claude-Code/"/>
    <category term="工具" scheme="https://www.zebin-yue.top/tags/%E5%B7%A5%E5%85%B7/"/>
    <content>
      <![CDATA[<h2 id="它是什么"><a href="#它是什么" class="headerlink" title="它是什么"></a>它是什么</h2><p>Claude Code 是一个编程代理：不只是回答问题，它还会读文件、改代码、执行命令，每个有风险的动作都先经过你的批准才会执行。它可以运行在终端（名字里的 Code 就来自命令行工具）、VS Code 扩展、桌面应用和网页版里，指令基本通用——少数只在终端可用的操作，在指令清单一节单独列出。上一篇《Claude 之思考》讲的是内部原理——ReAct 循环、三层提示词、KV 缓存；这一篇讲怎么使用：怎么输入、权限怎么设置、有哪些指令、上下文怎么管理。指令清单对照过官方文档（2026 年 11 月）；这个工具迭代很快，某条指令还在不在，以 <code>/help</code> 的输出为准——<code>/vim</code> 就是这期间刚被移除的。</p><h2 id="三种输入"><a href="#三种输入" class="headerlink" title="三种输入"></a>三种输入</h2><ul><li><strong>自然语言</strong>。默认方式：直接描述任务，剩下的它自己决定——先读哪个文件、执行哪条命令，都是它的动作。</li><li><strong><code>!</code> 前缀</strong>（仅终端）。进入 shell 模式：<code>!git status</code> 直接执行命令，输出进入上下文，它看到结果后接着处理。适合自己想执行一条命令、同时希望 AI 看到结果的场景——VS Code 扩展的聊天框里 <code>!</code> 不生效，会被当作普通消息发送出去。</li><li><strong><code>@</code> 引用</strong>。输入 @ 会弹出文件路径补全，选中后文件内容进入对话，省得再描述”就是那个改过的配置文件”。</li></ul><p>它干活的时候你不必等着：随时可以输入并回车，消息会显示为灰色、排进队列，它做完手头的事会自动接上。</p><h2 id="权限：先确认，再执行"><a href="#权限：先确认，再执行" class="headerlink" title="权限：先确认，再执行"></a>权限：先确认，再执行</h2><p>它的动作分两类：只读操作（读文件、搜索）直接执行；写操作（修改文件、执行命令）先经过权限确认。确认的频率用 <strong>Shift+Tab</strong> 轮换：</p><div class="table-container"><table><thead><tr><th>模式</th><th>行为</th></tr></thead><tbody><tr><td>默认</td><td>编辑和命令逐条询问</td></tr><tr><td>自动接受编辑</td><td>文件改动放行，命令仍询问</td></tr><tr><td>计划模式</td><td>只读调查，先出完整计划，批准后才动手</td></tr></tbody></table></div><p>计划模式适合大改动：先看它打算怎么改，比改完再撤销便宜得多。还有一档完全放行（bypass permissions），一般只在沙箱或容器环境里才考虑使用。逐条的规则用 <code>/permissions</code> 配置——把安全命令（<code>git status</code> 这类）设为不再询问，把危险命令设为必须确认或直接拒绝；配置好之后，日常几乎不会被弹窗打断。<code>/plan</code> 可以不按 Shift+Tab、直接进入计划模式。</p><h2 id="指令清单"><a href="#指令清单" class="headerlink" title="指令清单"></a>指令清单</h2><p>输入框敲 / 会弹出补全。按用途分组：</p><h3 id="会话与上下文"><a href="#会话与上下文" class="headerlink" title="会话与上下文"></a>会话与上下文</h3><div class="table-container"><table><thead><tr><th>指令</th><th>作用</th></tr></thead><tbody><tr><td><code>/clear</code></td><td>清空上下文、开始新会话，可以给旧会话命名存档</td></tr><tr><td><code>/compact</code></td><td>把历史压缩成摘要、延长会话，可以附带指示（”保留方案对比，丢弃调试输出”）</td></tr><tr><td><code>/context</code></td><td>列出上下文占用明细：系统提示词、工具、记忆、对话各占多少 token，还剩多少空闲</td></tr><tr><td><code>/resume</code></td><td>恢复历史会话</td></tr><tr><td><code>/rewind</code></td><td>回滚到检查点，对话和文件一起恢复（按两次 Esc 呼出菜单）</td></tr><tr><td><code>/export</code></td><td>导出对话为文本</td></tr></tbody></table></div><h3 id="模型与设置"><a href="#模型与设置" class="headerlink" title="模型与设置"></a>模型与设置</h3><div class="table-container"><table><thead><tr><th>指令</th><th>作用</th></tr></thead><tbody><tr><td><code>/model</code></td><td>切换模型，方向键同时调整思考力度</td></tr><tr><td><code>/effort</code></td><td>单独调整思考力度，low 到 max 五档</td></tr><tr><td><code>/fast</code></td><td>快速模式：加快输出速度，不换成小模型</td></tr><tr><td><code>/config</code></td><td>设置面板，也可以直接设置一项（如 <code>/config theme=dark</code>）</td></tr><tr><td><code>/output-style</code></td><td>切换输出风格：<code>/output-style 风格名</code>（concise、proactive 等；不带参数只列出可选风格，恢复默认用 default）</td></tr><tr><td><code>/terminal-setup</code></td><td>给终端设置 Shift+Enter 换行快捷键</td></tr></tbody></table></div><h3 id="项目与集成"><a href="#项目与集成" class="headerlink" title="项目与集成"></a>项目与集成</h3><div class="table-container"><table><thead><tr><th>指令</th><th>作用</th></tr></thead><tbody><tr><td><code>/init</code></td><td>通读项目，生成 CLAUDE.md 初稿</td></tr><tr><td><code>/memory</code></td><td>编辑各层级的记忆文件</td></tr><tr><td><code>/add-dir</code></td><td>给会话添加一个工作目录</td></tr><tr><td><code>/mcp</code></td><td>管理 MCP 服务器（接入外部工具）</td></tr><tr><td><code>/hooks</code></td><td>配置钩子：在指定事件发生时自动执行脚本</td></tr><tr><td><code>/ide</code></td><td>连接 IDE，共享选中内容和诊断信息</td></tr></tbody></table></div><h3 id="信息与审查"><a href="#信息与审查" class="headerlink" title="信息与审查"></a>信息与审查</h3><div class="table-container"><table><thead><tr><th>指令</th><th>作用</th></tr></thead><tbody><tr><td><code>/status</code></td><td>版本、账号、连接状态</td></tr><tr><td><code>/usage</code></td><td>用量与花费（<code>/cost</code> 是它的旧别名）</td></tr><tr><td><code>/doctor</code></td><td>检查安装是否有问题</td></tr><tr><td><code>/release-notes</code></td><td>查看更新日志</td></tr><tr><td><code>/code-review</code></td><td>审查当前改动、找 bug（别名 <code>/review</code>）</td></tr><tr><td><code>/security-review</code></td><td>检查当前分支相对默认分支的改动有没有安全漏洞</td></tr></tbody></table></div><h3 id="终端和插件（VS-Code-扩展）的差异"><a href="#终端和插件（VS-Code-扩展）的差异" class="headerlink" title="终端和插件（VS Code 扩展）的差异"></a>终端和插件（VS Code 扩展）的差异</h3><p>绝大多数斜杠指令两边通用，例外是这些：</p><div class="table-container"><table><thead><tr><th>指令 / 操作</th><th>终端</th><th>VS Code 插件</th></tr></thead><tbody><tr><td>上表其余指令</td><td>可用</td><td>可用</td></tr><tr><td><code>!</code> shell 模式</td><td>可用</td><td>不可用，会作为普通消息发出</td></tr><tr><td><code>?</code> 帮助面板、Ctrl+O/R/T/B 快捷键</td><td>可用</td><td>不可用</td></tr><tr><td><code>/terminal-setup</code></td><td>可用，设置 Shift+Enter 绑定</td><td>不适用</td></tr><tr><td><code>/ide</code></td><td>可用，连接 VS Code（共享选中、诊断、diff）</td><td>不可用——扩展里连接已经内置，不需要再连</td></tr><tr><td><code>/bug</code></td><td>文本报告</td><td>打开扩展自己的反馈对话框</td></tr></tbody></table></div><p>各版本之间指令变动不小，完整清单在官方文档（code.claude.com/docs）。</p><h2 id="上下文怎么管理"><a href="#上下文怎么管理" class="headerlink" title="上下文怎么管理"></a>上下文怎么管理</h2><p>上下文窗口是稀缺资源，而且不是全部留给对话——系统提示词、工具定义、记忆文件会先占掉一部分。<code>/context</code> 列出这份明细（下面是一次实际输出，做了合并和删减）：</p><div class="table-container"><table><thead><tr><th>类别</th><th>token</th><th>占比</th></tr></thead><tbody><tr><td>系统提示词 + 工具定义</td><td>14.1k</td><td>1.4%</td></tr><tr><td>记忆与技能</td><td>3.3k</td><td>0.3%</td></tr><tr><td>对话消息</td><td>25.3k</td><td>2.5%</td></tr><tr><td>自动压缩缓冲</td><td>33k</td><td>3.3%</td></tr><tr><td>空闲</td><td>929.2k</td><td>92.9%</td></tr></tbody></table></div><p>这张表正好对应上一篇的三层提示词：第一行是第一层的固定内核，第二行是第二层的注入前缀，第三行是第三层的交互记录——也就是 ReAct 循环本体，是唯一随会话变长的一行；前两行是每次开场的固定开销（本例约 17k）。空闲空间和压缩缓冲不属于任何一层。这个分层同时也是缓存分层：第一、二层是稳定的前缀，KV 缓存最容易命中；第三层只在末尾追加——「稳定的放前，易变的放后」，说的就是这张表的排法。</p><p>表末尾那项”自动压缩缓冲”是预留的余量：历史接近上限时，框架会自动把旧对话压缩成摘要，会话不会因为窗口用满而突然中断。</p><p>什么时候用哪个：<strong>换任务就用 <code>/clear</code></strong>——旧的历史会残留下来，把新任务的方向带偏，还白白消耗 token；<strong>同一个长任务、窗口快满了才用 <code>/compact</code></strong>。压缩的代价是前缀被重写、KV 缓存全部失效，下一个请求要按全价重新计算，原理见上一篇的缓存一节。<code>/rewind</code> 解决另一类问题：回滚到之前的检查点，对话和文件一起恢复——配合计划模式使用，批准计划之前和之后的状态都留着，随时可以回去。</p><h2 id="收尾"><a href="#收尾" class="headerlink" title="收尾"></a>收尾</h2><p>清单看着杂，设计逻辑只有两条：让模型自主行动（agent 循环），同时用框架的硬约束兜底（权限确认、检查点、沙箱、压缩缓冲）。用得熟练的标志不是背下全部指令，而是知道每项约束该放到多松或多紧——权限放开多少、上下文什么时候压缩、哪些命令放进沙箱执行。</p>]]>
    </content>
    <id>https://www.zebin-yue.top/post/Claude%E4%B9%8B%E7%94%A8%E6%B3%95.html</id>
    <link href="https://www.zebin-yue.top/post/Claude%E4%B9%8B%E7%94%A8%E6%B3%95.html"/>
    <published>2026-11-06T12:00:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="它是什么"><a href="#它是什么" class="headerlink" title="它是什么"></a>它是什么</h2><p>Claude Code 是一个编程代理：不只是回答问题，它还会读文件、改代码、执行命令，每个有风险的动作都先经过你的批准才会]]>
    </summary>
    <title>Claude 之用法</title>
    <updated>2026-11-06T12:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="读书与思考" scheme="https://www.zebin-yue.top/categories/reading-reflection/"/>
    <category term="历史" scheme="https://www.zebin-yue.top/tags/%E5%8E%86%E5%8F%B2/"/>
    <category term="教育" scheme="https://www.zebin-yue.top/tags/%E6%95%99%E8%82%B2/"/>
    <category term="教会大学" scheme="https://www.zebin-yue.top/tags/%E6%95%99%E4%BC%9A%E5%A4%A7%E5%AD%A6/"/>
    <content>
      <![CDATA[<h2 id="先从几片校园说起"><a href="#先从几片校园说起" class="headerlink" title="先从几片校园说起"></a>先从几片校园说起</h2><p>未名湖与博雅塔，今天写在北京大学名下；南京的随园被称作”东方最美丽的校园”，住着南京师范大学；上海苏州河畔的华东政法大学长宁校区，2019年入选全国重点文物保护单位；广州珠江南岸的康乐园，是中山大学的主校区。这几片中国最漂亮的校园，七十多年前属于同一类学校——教会大学。</p><p>1952年秋起的高等学校院系调整中，这类学校在中国大陆整体消失，一所不剩。这篇文章把它们记录下来：十六所学校，从哪来，强在哪，去了哪。</p><h2 id="教会大学：十三加三"><a href="#教会大学：十三加三" class="headerlink" title="教会大学：十三加三"></a>教会大学：十三加三</h2><p>19世纪后半叶起，西方教会在中国办学，从小学中学一路办到大学，到1920年代格局定型：新教十三所——燕京（Yenching）、齐鲁（Cheeloo）、金陵（University of Nanking）、金陵女子（Ginling College）、圣约翰（St. John’s）、沪江（University of Shanghai）、东吴（Soochow）、之江（Hangchow）、岭南（Lingnan）、华西协合（West China Union）、福建协和（Fukien Christian）、华南女子（Hwa Nan）、华中（Central China）；天主教三所——北京的辅仁（Catholic University of Peking）、上海的震旦（Aurora）、天津的津沽（Tsin Ku）。其中之江大学可溯源到1845年宁波的崇信义塾，是传承最久的一所。</p><p>它们的共同画像是：英文授课、书院制、博雅教育，规模都不大（金陵大学六十四年共毕业四千余人，金女大更少，三十二年九百九十九人毕业，人称”999朵玫瑰”），但强项密集：医学（圣约翰、齐鲁、华西、震旦）、法学（东吴）、农学（金陵、岭南）、新闻与社会学（燕京、圣约翰）。民间说四大名医校”北协和、南湘雅、东齐鲁、西华西”，除了洛克菲勒基金会办的协和（严格说不算教会大学），齐鲁、华西由差会直接开办，湘雅则是湖南育群学会与美国雅礼协会合办——雅礼协会是耶鲁毕业生1901年发起的传教组织，”湘雅”的”雅”就是 Yale 的音译。（雅礼协会自己办过的雅礼大学，1926年停办，1929年并入了武昌的华中大学。）</p><p>体量和分量严重错位。论人头，它们从没到过半壁江山：鼎盛期（1920年代初）在校生合计约占全国大学生的五分之一上下，1930年代降到一成，1947年只剩约8%。但换两个口径，”半壁”又不夸张——按学科算，西医医生的主要摇篮、女子高等教育的起点，牙科（华西）、英美法（东吴）、农学（金陵）、新闻（燕京）的全国头牌；按城市算，福州、成都、苏州、杭州、长沙、济南，教会大学就是当地最好的大学（北京有北大清华在前，上海的圣约翰资历反比交大、复旦都老，谈不上被压）。</p><p>压垮它们地位的第一击不是1952年，而是1920年代的非基督教运动。火药早就埋好：教禁是1844年起写进不平等条约的，传教受领事裁判权保护；到1920年代，教会最大的事业已经是办学，而学校不向中国政府立案、不归教育部管、圣经是必修课——等于国境之内另办了一套系统。1922年，世界基督教学生同盟在清华开年会，上海学生先发《非基督教学生同盟宣言》，北京跟进成立非宗教大同盟，蔡元培、陈独秀、李大钊悉数下场，火力里混着科学主义、阶级论和民族主义；也有反方——周作人、钱玄同等五教授发《主张信教自由宣言》，反对以群众压力压迫信仰，这在当时被围攻，今天看是运动里最经得起时间的一条。1924年起运动转向教会学校本身，口号升级为”收回教育权”：立案、校长华人化、宗教课改选修。</p><p>高潮在五卅之后。1925年，圣约翰学生为死难者降半旗，校长卜舫济把旗收了，17名教员、553名学生愤然退校，另办光华大学。北伐军兴，1927年金陵大学副校长文怀恩死于南京事件，传教士大规模撤离。国民政府定都南京后限期立案，教会大学从此换了一副中国化外壳：金陵1928年第一个立案，燕京1929，之江1931；圣约翰最硬，1931年申请被驳回后顶到1947年。华人校长上任——金陵的陈裕光、燕京的吴雷川、金女大的吴贻芳、岭南的钟荣光——宗教课改选修，教会色彩淡了，学校还是那些学校。</p><p>抗战中它们还展现了韧性：金大、金女大、齐鲁、燕京内迁成都华西坝，与华西协合联合办学，史称”华西坝五大学”。</p><p>然后就是1952年。</p><h2 id="1952：怎么拆的"><a href="#1952：怎么拆的" class="headerlink" title="1952：怎么拆的"></a>1952：怎么拆的</h2><p>分三步。第一步断粮：1950年朝鲜战争爆发，美国冻结中国在美资产，教会经费断绝，政务院随即决定接管一切接受外国津贴的学校。第二步收编：1951年起各校与教会断绝关系、收归公办——燕京改为国立，震旦的传教士退出，福建协和与华南女子直接合并。第三步拆解：1952年起的院系调整全面学苏联，把欧美的综合性大学拆散，改办面向行业的单科专门学院。全国高校从211所减到183所，综合性大学只剩14所。</p><p>教会大学被定性为”文化侵略”的载体——这个词二十多年前的非基督教运动就用过——拆得最彻底：别的大学换个名字还能存续，教会大学是连校名一起注销。拆法是”专业对口”——学生教师按系科并入专业相同的公立院校，校园移交，建制取消。唯一的例外是医科：国家缺医生，医学院几乎整建制存活，只是换了东家。</p><h2 id="十六所学校去了哪里"><a href="#十六所学校去了哪里" class="headerlink" title="十六所学校去了哪里"></a>十六所学校去了哪里</h2><div class="table-container"><table><thead><tr><th>学校</th><th>所在地 · 创办</th><th>当年的强项</th><th>去向</th></tr></thead><tbody><tr><td>燕京大学</td><td>北京 · 1919</td><td>新闻、社会学</td><td>“一分为八”：机械/土木/化工入清华，教育入北师大，民族入中央民院，其余各系入北大；燕园从此是北大校园</td></tr><tr><td>辅仁大学</td><td>北京 · 1925</td><td>国文、史学</td><td>主体并入北京师范大学；1961年在台北复校</td></tr><tr><td>金陵大学</td><td>南京 · 1888</td><td>农学、中国文化研究</td><td>文理学院与南京大学合组新的南大（鼓楼校址）；农科牵头组建南京农学院</td></tr><tr><td>金陵女子文理学院</td><td>南京 · 1915</td><td>女子博雅教育</td><td>1951年先并入金陵大学；随园归南京师范学院（今南师大），建校初150名教职工中金女大占三分之一</td></tr><tr><td>圣约翰大学</td><td>上海 · 1879</td><td>英语、医学、土木</td><td>新闻/外文入复旦，理科入华东师大，土木建筑入同济，机械入交大；医学院与震旦、同德合建上海第二医学院；校址归华东政法</td></tr><tr><td>震旦大学</td><td>上海 · 1903</td><td>法语、医学</td><td>与圣约翰、同德合建上海第二医学院（就在原址），其余入复旦、华东师大等</td></tr><tr><td>沪江大学</td><td>上海 · 1906</td><td>文理、商科</td><td>并入复旦、华东师大等；军工路校址归上海机械学院（今上海理工大学）</td></tr><tr><td>东吴大学</td><td>苏州/上海 · 1900</td><td>法学（比较法）</td><td>文理学院在原址组建江苏师范学院（今苏州大学）；上海法学院法律系入华东政法</td></tr><tr><td>之江大学</td><td>杭州 · 1845溯源</td><td>土木、建筑</td><td>工科入浙大，航空系入北航，建筑散入南京工学院、同济；校址1961年归浙大（之江校区）</td></tr><tr><td>岭南大学</td><td>广州 · 1888</td><td>商科、农学、医学</td><td>并入中山大学，中大迁入康乐园</td></tr><tr><td>华西协合大学</td><td>成都 · 1910</td><td>医科、牙科</td><td>1953年改建为四川医学院（今川大华西医学中心）</td></tr><tr><td>齐鲁大学</td><td>济南 · 1904</td><td>医科</td><td>医科合组山东医学院（今山大齐鲁医学院）；天算系入南京大学，理科入山东师范学院</td></tr><tr><td>福建协和大学</td><td>福州 · 1916</td><td>农科、生物</td><td>1951年与华南女子合并为”福州大学”，演变为今福建师范大学</td></tr><tr><td>华南女子文理学院</td><td>福州 · 1908</td><td>女子教育</td><td>同上</td></tr><tr><td>华中大学</td><td>武汉 · 1924</td><td>中文、教育</td><td>与其他高校合组华中师范学院（今华中师范大学）；其前身文华书院创办于1871年</td></tr><tr><td>津沽大学</td><td>天津 · 1921</td><td>建筑、工科</td><td>工学院并入天津大学，财经并入南开大学</td></tr></tbody></table></div><p>两个细节值得停一下。陈寅恪1949年南下，任教于岭南大学；1952年岭南并入中山大学，他随之转入中大，在那里度过晚年——他晚年执教的学校，正是吞并了他学校的那一所。另一个方向相反：沪江大学1952年撤销时，档案移交”停办高等学校联合办事处”，如今完整躺在上海市档案馆——一所大学最后剩下的是一柜卷宗。</p><h2 id="人和学科的余脉"><a href="#人和学科的余脉" class="headerlink" title="人和学科的余脉"></a>人和学科的余脉</h2><p>从培养的人才看，三个领域三个答案。政治是国立大学的天下——革命家的生产线在北大、清华和黄埔，教会大学插不进手，它们的校友是旧阵营的职业精英：外交家顾维钧、财政部长宋子文都出自圣约翰，后来做到台湾”总统”的严家淦也是；辅仁出了王光美，中国第一位原子物理女硕士。例外只有一个：1935年一二九运动，燕京是策源地之一，产出了后来的外交部长黄华和外交部新闻司首任司长龚澎。经济上教会大学与国立分庭抗礼，主场在上海——圣约翰几乎是英语商业阶层的制造机，银行、外贸、实业圈整层是它的校友；留在大陆的代表是圣约翰1937届的荣毅仁，1956年公私合营的标杆，1979年复出创办中信。</p><p>文化则是教会大学浓度最高的领域：邹韬奋（生活周刊）、林语堂、冰心、萧乾（燕京新闻系）、杨绛（东吴政治系）、陶行知（金陵）——现代中国的新闻、出版、文学圈里，教会大学出身的密度远超它的在校生占比。职业学术同样：张孝骞与汤飞凡是湘雅首届同班同学，一个内科泰斗，一个分离出沙眼衣原体；费孝通出自燕京社会学。只有基础文理的顶尖学术（1948年首届中研院院士那批）主力仍在国立大学——它们的强项始终是职业学科，不是纯学问。所以”半壁江山”真正成立的位置，是旧中国的职业精英层：医生、律师、报人、银行家这个英文阶层。1949年把这半壁劈成了三份——荣毅仁留在大陆，后来做到国家副主席；严家淦去了台湾，做到”总统”；圣约翰的校友们则在海峡两岸各办了学校。更持久的遗产在学科里。</p><p>东京审判（1946-1948）的中国检察方，大半是东吴法学院出身：首席顾问倪征燠（后来成为国际法院法官）、检察官顾问鄂森，以及向哲浚检察官的秘书兼翻译高文彬——“百人斩”的关键证据，就是他在旧报纸堆里翻出来的。英美法训练在这个法庭上直接派上了用场。</p><p>圣约翰大学1942年创办建筑系，系主任黄作燊是格罗皮乌斯在哈佛设计学院的弟子，把包豪斯教学法带进了中国。1952年这个系整体并入同济——今天同济建筑系的血统里，有一脉来自这所消失的教会大学。同样的故事发生在医科：上海第二医学院（今上海交大医学院）由圣约翰、震旦、同德三个医学院合成；”东齐鲁、西华西”则分别活在山东大学齐鲁医学院和四川大学华西医学中心里。</p><h2 id="名字的下落"><a href="#名字的下落" class="headerlink" title="名字的下落"></a>名字的下落</h2><p>校名消得比校舍快，但也没有全灭。</p><p>1951年，十三所基督教大学的联合董事会与圣约翰校董会主席欧伟国、岭南校长李应林等在香港创办崇基学院，明确要承继大陆十三校；1963年崇基成为香港中文大学的创始书院之一。今天崇基学院教堂的圣坛两旁，还挂着这十三所大学的校徽木刻。</p><p>台湾这边，东吴1951年从补习学校起步，1954年以法学院复校，1969年恢复大学建制；辅仁1961年复校。金女大和沪江的校友无处复校，各自办了中学。大陆也有一次回流：1988年，中山大学在岭南原校址设立”岭南（大学）学院”；苏州大学的英文校名至今仍是 Soochow University——Soochow 是”苏州”的邮政式拼音，与 Peking、Tsingtao 同一代的旧拼法，而台北东吴大学的英文名也是 Soochow University。两所 Soochow，各承一脉。</p><h2 id="尾声"><a href="#尾声" class="headerlink" title="尾声"></a>尾声</h2><p>司徒雷登，燕京大学的创办校长，1946年出任美国驻华大使，1949年8月毛泽东为他写了《别了，司徒雷登》。他1962年病逝华盛顿，遗嘱想葬回燕园、与早逝的妻子为邻，未能如愿；2008年，骨灰归葬杭州——他出生和父母长眠的地方。</p><p>把教会大学史重新捡起来研究的是章开沅，金陵大学历史系出身，后来担任华中师范大学校长——正是当年合组时”吞并”了华中大学的学校之一。历史绕了一个圈。</p><p>教会大学其实不是这场戏的第一幕。半个世纪前，同样的剧本上演过一次：1901年清末新政上谕，全国数千所书院一律改制为学堂——省城改大学堂，府州改中学堂，州县改小学堂（州县书院本是大头，教的也是童生备考的入门功课，层级大体相称）；1905年废科举，剩下的考课式书院连备考的对象都没有了。所谓改制，是机构不死、身份整体换掉：四书五经换成外国语和格致，山长换成校长，学田换成官款。变化最大的是教学形态——书院是考课式，平时自学，每月来考一次课，山长不定期讲学，不分年级（书院收的是过了私塾启蒙的童生，未成年的孩子在私塾，那边才天天有人盯）；学堂是班级授课制，按年级分班，有学期学年、升留级和毕业文凭，就是今天学校的模样。书院的去向也和教会大学神似：岳麓书院1903年改湖南高等学堂，几经演变成为湖南大学，书院至今坐在湖大校园里；白鹿洞、嵩阳、应天没走通这条路，成了文物和景点；钱穆1949年在香港办新亚书院接续讲学传统，1963年与崇基同为新成立的香港中文大学的创始书院——二十世纪被消灭的两大教育传统，在同一所大学里会师。</p><p>院系调整的本意是把通识教育当作浪费砍掉，让大学直接生产工程师。半个多世纪后，中国的大学又开始办书院、讲通识、修博雅——“书院”这个词也回来了。转了一大圈：从1952年的拆分，回到教会大学的博雅，再回到朱熹定学规的白鹿洞。记录它们，大概就是这个意思。</p>]]>
    </content>
    <id>https://www.zebin-yue.top/post/%E6%B6%88%E5%A4%B1%E7%9A%84%E6%95%99%E4%BC%9A%E5%A4%A7%E5%AD%A6.html</id>
    <link href="https://www.zebin-yue.top/post/%E6%B6%88%E5%A4%B1%E7%9A%84%E6%95%99%E4%BC%9A%E5%A4%A7%E5%AD%A6.html"/>
    <published>2026-11-05T10:00:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="先从几片校园说起"><a href="#先从几片校园说起" class="headerlink" title="先从几片校园说起"></a>先从几片校园说起</h2><p>未名湖与博雅塔，今天写在北京大学名下；南京的随园被称作”东方最美丽的校园”，住着南京师范大学]]>
    </summary>
    <title>消失的教会大学</title>
    <updated>2026-11-05T10:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="技术笔记" scheme="https://www.zebin-yue.top/categories/tech-notes/"/>
    <category term="AI" scheme="https://www.zebin-yue.top/tags/AI/"/>
    <category term="工具" scheme="https://www.zebin-yue.top/tags/%E5%B7%A5%E5%85%B7/"/>
    <category term="大模型" scheme="https://www.zebin-yue.top/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/"/>
    <content>
      <![CDATA[<h2 id="提示词"><a href="#提示词" class="headerlink" title="提示词"></a>提示词</h2><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><code class="hljs json"><span class="hljs-punctuation">&#123;</span><br>  <span class="hljs-attr">&quot;system&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;【第一层：Agent 底层内核】固定 ReAct 范式、Tool-Use JSON Schema 与安全规则&quot;</span><span class="hljs-punctuation">,</span><br>  <span class="hljs-attr">&quot;tools&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br>    <span class="hljs-punctuation">&#123;</span> <span class="hljs-attr">&quot;name&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;bash&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;description&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;在终端执行 shell 命令，如 git status、npm test&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;input_schema&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>        <span class="hljs-attr">&quot;type&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;object&quot;</span><span class="hljs-punctuation">,</span><br>        <span class="hljs-attr">&quot;properties&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span> <span class="hljs-attr">&quot;command&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span> <span class="hljs-attr">&quot;type&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;string&quot;</span> <span class="hljs-punctuation">&#125;</span> <span class="hljs-punctuation">&#125;</span><span class="hljs-punctuation">,</span><br>        <span class="hljs-attr">&quot;required&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><span class="hljs-string">&quot;command&quot;</span><span class="hljs-punctuation">]</span> <span class="hljs-punctuation">&#125;</span> <span class="hljs-punctuation">&#125;</span><br>  <span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span><br>  <span class="hljs-attr">&quot;messages&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br>    <span class="hljs-comment">// 【第二层：框架自动注入的静态项目前缀】（实际以 system-reminder 块夹带，非普通用户消息）</span><br>    <span class="hljs-punctuation">&#123;</span><span class="hljs-attr">&quot;role&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;user&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;content&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;【来自 CLAUDE.md + MEMORY.md 的项目架构、硬性规约与历史经验】&quot;</span><span class="hljs-punctuation">&#125;</span><span class="hljs-punctuation">,</span><br><br>    <span class="hljs-comment">// 【第三层：动态交互链】</span><br>    <span class="hljs-punctuation">&#123;</span><span class="hljs-attr">&quot;role&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;user&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;content&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;帮我运行单元测试并修复报错&quot;</span><span class="hljs-punctuation">&#125;</span><span class="hljs-punctuation">,</span><br>    <span class="hljs-punctuation">&#123;</span><span class="hljs-attr">&quot;role&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;assistant&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;content&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span> ... tool_use<span class="hljs-punctuation">:</span> bash ... <span class="hljs-punctuation">]</span><span class="hljs-punctuation">&#125;</span><span class="hljs-punctuation">,</span>   <span class="hljs-comment">// 执行前先过 harness 权限门</span><br>    <span class="hljs-punctuation">&#123;</span><span class="hljs-attr">&quot;role&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;user&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;content&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span> ... tool_result<span class="hljs-punctuation">:</span> Traceback ... <span class="hljs-punctuation">]</span><span class="hljs-punctuation">&#125;</span><br>  <span class="hljs-punctuation">]</span><br><span class="hljs-punctuation">&#125;</span><br></code></pre></td></tr></table></figure><ul><li>CLAUDE.md：团队手写的静态项目规约（构建命令、代码规范、禁止写法），属于人注入的硬性约束。</li><li>MEMORY.md：Agent 在过往工作中用 Write 工具自动沉淀的经验库（踩过的坑、纠正过的错误、技术决策），是模型自己积累下来的记忆。而且记忆不会全部进入上下文：每次会话只载入这份索引，具体的记忆文件用到哪个才读哪个。</li></ul><p>第三层里 assistant 和 user 消息的一来一回，展开看正是 ReAct 循环，只是论文里的三个环节成了 API 协议里的三种消息块：</p><div class="table-container"><table><thead><tr><th>论文（2022）</th><th>今天 Claude API</th></tr></thead><tbody><tr><td>Thought（思考）</td><td>thinking block</td></tr><tr><td>Action（行动）</td><td>tool_use block</td></tr><tr><td>Observation（观察）</td><td>tool_result block</td></tr></tbody></table></div><p>还有一点 JSON 里看不出来：模型并不能真的执行命令。它只是输出一段 tool_use <strong>请求</strong>，真正执行的是框架，而且执行前要先经过权限确认——哪类命令免询问、哪类必须用户确认，都在这一层拦截。安全因此是双保险：system prompt 里的安全规则是软约束（靠模型自觉遵守），权限确认是硬约束（不批准就执行不了）。</p><p>三层结构也不是一成不变的：第三层随交互一直变长，逼近上下文上限（约 200k token）时需要压缩——把历史总结成摘要、丢弃原文重启会话（Claude Code 的 /compact）。代价是前缀改变、KV 缓存整体失效，下一请求从头重算，详见后文缓存一节。</p><p>顺带一提，记忆的”索引常在、用到才读”本身就是一次 ReAct 循环——判断需要哪条记忆（思考）→ 读文件（行动）→ 内容进入上下文（观察）。这套机制自己也在按 ReAct 循环运转。</p><h2 id="姚顺宇"><a href="#姚顺宇" class="headerlink" title="姚顺宇"></a>姚顺宇</h2><p>在 ReAct 出现之前，思考与行动是两条平行线：纯思考一派是 CoT（思维链，Wei et al.，2022.01），只靠模型内部知识推理，容易幻觉；行动一派是 WebGPT（2021.12）、SayCan（2022.04），只预测下一步动作，不做高层规划。两者衔接不起来。弥合两者的核心论文：《ReAct: Synergizing Reasoning and Acting in Language Models》（2022.10，ICLR 2023）。作者姚顺宇，论文发表时是普林斯顿大学博士生，在 Google Brain 实习。</p><p>该论文首次系统实证（而非数学证明——全文没有一个定理，靠的是少样本示例引导 PaLM-540B 加消融实验）：让大模型交替进行”思考（Thought）- 行动（Action）- 观察（Observation）”的循环，可以大幅减少幻觉，并使模型具备自主解决复杂多步骤任务的能力。论文对 100 条轨迹的人工误差分析给出了明确的数字：幻觉导致的失败，CoT 占 56%，ReAct 占 0%；成功案例中的假阳性 6% vs 14%。但接入外部知识有代价：推理错误率从 16% 升到 47%——外部知识增强了事实性，却束缚了推理灵活性。论文的最优解是两者互补：ReAct 失败时回退到 CoT 多数投票，反之亦然，3-5 个样本就能达到 CoT-SC 21 个样本的准确率。</p><p>这正是今天所有 Agent（包括 Claude Code）底层工作循环的理论鼻祖。后续谱系也基本是姚顺宇一条线串下来的：ReAct（2022.10）→ Reflexion（自我反思，2023.03）→ Tree of Thoughts（2023.05）→ SWE-agent（2024.05）。</p><p>顺带一提：论文当年靠 few-shot 示例固定行为范式，今天的 Agent 框架则把这些示例固化成了 system prompt 指令（即本文第一节三层提示词里的”固定 ReAct 范式”）——同一个东西的两种形态。</p><h2 id="DeepSeek-R1：教出来还是激励出来"><a href="#DeepSeek-R1：教出来还是激励出来" class="headerlink" title="DeepSeek R1：教出来还是激励出来"></a>DeepSeek R1：教出来还是激励出来</h2><p>DeepSeek 的走红（2025 年 1 月的 R1）常被归因于思维链，但 CoT 是 2022 年的技术，o1（2024.09）也早是推理模型——真正的引爆点是可见性：o1 把思维链藏起来只给摘要，R1 完整展示，普通用户第一次实时”看见”AI 自我怀疑、推翻重来。叠加”560 万美元训练成本”叙事与 MIT 开源免费（1 月 27 日 NVIDIA 单日蒸发约 5890 亿美元市值），思维链截图本身成了传播素材。</p><div class="table-container"><table><thead><tr><th>阶段</th><th>代表</th><th>思维链状态</th></tr></thead><tbody><tr><td>2022</td><td>CoT / ReAct</td><td>显式写在输出里（prompt 出来的）</td></tr><tr><td>2024.09</td><td>o1</td><td>存在但隐藏，只给摘要</td></tr><tr><td>2025.01</td><td>R1</td><td>完整展示，引爆点</td></tr><tr><td>2025 至今</td><td>Claude</td><td>extended thinking + 思考与工具调用交替——又回到了 ReAct</td></tr></tbody></table></div><p>学界震动则在另一件事：R1-Zero 证明了推理能力可以被<strong>激励</strong>出来，而不是被<strong>手把手教</strong>出来的。教（SFT）是用几十万条高质量思维链样本逐 token 模仿，模型学到的是好的思维形式，上限就是样本的质量；激励（RL）则零示范，奖励只有两条程序判定规则——答案对加分、过程写进 <code>&lt;think&gt;</code> 标签加分。训练推进后，模型自发涌现出回溯与自我修正：写到一半”等等，这不对”，推倒重来，即论文表 2 的 “aha moment”。没人教过”回头检查”，这类行为本来以极低概率存在于基座分布里，RL 只是放大统计上与高分相关的行为——检查不是被教出来的，是被选择出来的，和自然选择留下有利性状是同一个过程：没有谁去设计它，筛选把它留了下来。（训练算法 GRPO 则是去掉 PPO 的 value model，改为同一道题采样一组输出互相当作 baseline，成本大幅下降。）</p><p>两点补充：”涌现”并非无中生有——强化学习只能放大模型里已有的行为，不能创造模型里没有的能力；R1-Zero 本身可读性差、中英混杂，最终产品 R1 还是加了少量冷启动 SFT——“零数据”是真的，产品里加了一点起步用的示范数据。</p><p>回到主线：ReAct 时代思维链是 prompt 出来的，R1 时代是 RL 激励出来的——同一个东西，获取方式发生了范式转移，Claude 的 extended thinking 正是合流后的形态。</p><h2 id="自发建立多agent任务"><a href="#自发建立多agent任务" class="headerlink" title="自发建立多agent任务"></a>自发建立多agent任务</h2><p>在多 Agent 系统中，顶层的”主 Agent”（Orchestrator）在初始化时，会被赋予一套极其详尽的元提示词（Meta-prompt）。这套指令明确告诉它：</p><ul><li>角色定位：你是一个项目管理者/架构师，而不是单纯的问答助手。</li><li>能力边界：你有权调用某些特定的工具（Tools），或者在内部模拟不同的专家角色（如代码编写员、测试员、代码审查员）。</li><li>工作流协议：面对复杂任务时，必须先规划（Plan），再分解（Decompose），最后分发和聚合。</li></ul><p>“自发”体现在派生时机：不需要用户指定，主 Agent 判断任务适合并行或隔离时，自己决定派生子 Agent——派生本身就是它的一个 Action，子 Agent 内部再跑完整的 ReAct 循环，循环里面套循环。</p><p>多 Agent 真正的动机是上下文隔离：子任务（比如通读几十个文件）在子 Agent 自己的上下文窗口里消耗掉，主 Agent 只收回一份摘要报告，自己的 200k 窗口不会被占满——这正是第一节说的上下文压力的解决办法。但代价是信息双向流失：子 Agent 只知道主 Agent 写给它的提示词，主 Agent 只拿回它的总结，细节两头丢。所以派生并不免费，滥用会得到一堆自信但缺细节的结论。</p><h2 id="关于使用命令工具"><a href="#关于使用命令工具" class="headerlink" title="关于使用命令工具"></a>关于使用命令工具</h2><p>工具的定义（JSON Schema）第一节已经见过，这里看一次完整的循环怎么走。以”帮我运行单元测试并修复报错”为例：</p><ol><li>用户消息进上下文，模型决定跑测试，发出 tool_use：bash(npm test)；</li><li>框架过权限确认、执行命令，把 Traceback 原文包成 tool_result 回填——这是 Observation；</li><li>模型读 Traceback，定位到出错的那一行——这是 Thought；</li><li>发出 tool_use 改文件，再跑一次测试验证——又是 Action；</li><li>测试通过，输出总结答复，循环结束。</li></ol><p>命令工具的价值就在这个循环里：模型的每个行动都被真实环境校正，而不是靠猜。这也是第一节 JSON 里那三条消息的展开。</p><h3 id="缓存命中率"><a href="#缓存命中率" class="headerlink" title="缓存命中率"></a>缓存命中率</h3><p>Claude 的缓存机制：<strong>把输入上下文里靠前、稳定不变的 token 段（system prompt、工具定义、固定的角色指令、长文档前置部分），在第一次传入后，在 Anthropic 侧的服务器上缓存这个 KV Cache（键值缓存，Transformer 注意力的 KV）</strong>。</p><ul><li>重点：它不是普通 HTTP 缓存（缓存完整响应文本），是 <strong>Transformer 内部的 KV 缓存</strong>。</li><li>Transformer 推理时，每一个 token 都会计算 Key、Value，用来做注意力计算；KV 就是这个注意力状态。</li><li>当你下一次请求，<strong>开头一段 token 序列和上一次完全一样</strong> → 这一段不用重新跑前向计算，直接复用已经算好的 KV。</li></ul><p>失效规则和命中同样重要，三条：</p><ul><li><strong>断点是 token 级的</strong>：不是全有全无——从第一个不同的 token 起，之后全部重算。所以内容排布要精确：稳定的放前，易变的放后，一处不同，后面整段就要重算。</li><li><strong>/compact 的影响最大</strong>：压缩用摘要重写了历史，前缀全变，缓存全部失效——第一节说的代价就是这件事。</li><li><strong>价差是动力</strong>：缓存写入约 1.25 倍、命中读取约 0.1 倍于普通输入的价格。三层结构把规约放最前、交互放最后，本质上是由这个价格差决定的排法。</li></ul>]]>
    </content>
    <id>https://www.zebin-yue.top/post/Claude%E4%B9%8B%E6%80%9D%E8%80%83.html</id>
    <link href="https://www.zebin-yue.top/post/Claude%E4%B9%8B%E6%80%9D%E8%80%83.html"/>
    <published>2026-11-05T04:00:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="提示词"><a href="#提示词" class="headerlink" title="提示词"></a>提示词</h2><figure class="highlight json"><table><tr><td class="gutter"><pre><sp]]>
    </summary>
    <title>Claude 之思考</title>
    <updated>2026-11-05T04:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="社会观察" scheme="https://www.zebin-yue.top/categories/social-observations/"/>
    <category term="制度" scheme="https://www.zebin-yue.top/tags/%E5%88%B6%E5%BA%A6/"/>
    <category term="RSS" scheme="https://www.zebin-yue.top/tags/RSS/"/>
    <category term="媒体" scheme="https://www.zebin-yue.top/tags/%E5%AA%92%E4%BD%93/"/>
    <content>
      <![CDATA[<p>热点页撤掉新浪那三个死频道之后，我让 AI 找了一圈替补：把 20 家中央主要新闻单位的官网挨个扫了一遍，一家都没有 RSS。这不是技术做不到——新华早年有 rss.xinhuanet.com，光明网、央视网在 Web 2.0 时代都上过 RSS，后来全下线了。真正的问题是死因。</p><p>市场淘汰长什么样：各家公司各自算账，有的关有的留，结果参差不齐。欧美就是活样本：BBC、卫报养着 RSS，美国地方报纸砍了它，同一片市场死活不一。市场决策的特点是必有差异。而这 20 家，预算从几十亿到几千亿不等，技术能力从自建 CMS 到全部外包都有，读者群体完全不同，却整齐划一，一家不剩。二十个独立决策产生零差异，概率上说不通。唯一能解释整齐划一的，是大家服从的不是各自的账本，而是同一套规则。</p><p>名单本身就是证据。那 20 家是官方划定的”中央主要新闻单位”——时政新闻的合法稿源、重点管理的对象。把实测结果往名单上一叠：名单内，零 RSS；名单外的市场化媒体（澎湃、界面），也没有，但那是跟风平台化的市场逻辑；名单外且内容不涉时政的（IT之家、少数派、Solidot），RSS 活得好好的。现象的边界和监管的边界严丝合缝——管到哪，死到哪；管不到，就活着。边界吻合就是因果的证据，这比任何文件都硬。</p><p>当然，大概率没有一份红头文件写着”禁止 RSS”。拆除靠的是规则组合拳：传播力考核看自有阵地的关注量阅读量，RSS 对指标零贡献；宣传内容跟着口径走，要随时能撤稿、改标题、降权，feed 推出去就收不回；想转载？走白名单授权，不开放机器接口。每家在规则下自己算账，算出来的答案都一样——不用下令，规则替你拆。行业侧还有替代品等着：公众号、头条号、各家客户端，全是圈读者的封闭广场，读者必须进来留下数据；RSS 是开放管道，内容流出去就跟你没关系了。生态上再补一刀死亡螺旋：抓虾 2009 年关，Google Reader 2013 年关，鲜果随后完蛋——没人用阅读器，媒体更没动力维护 feed，人民网那个吐到 2025 年 6 月的僵尸是最后余烬。</p><p>对照组是欧美，先看钱从哪来。BBC 靠电视执照费（不交违法），ARD 靠德国每户每月 18.36 欧的广播费，DW 走联邦预算，France 24 是国家拨款，NPR 靠成员台和捐款，卫报归信托持有——我拉的这八家里，六家根本不是资本家。它们留 RSS 也不全是心善：公共媒体的分发使命写在章程里（BBC 皇家宪章的 universality，DW 的预算说明书就是”让境外看到”），管道开得越大 KPI 越好看；真·商业的 SPIEGEL 和 FAZ 留 RSS 是划算的买卖——feed 只放标题摘要，读者想看全文就得点击回站，撞上付费墙恰好是订阅漏斗，等于免费的获客渠道。再硬一层是承重墙：全球播客分发整个架在 RSS 上，Apple、Spotify 都靠它，这个格式连 Google 都杀不死；西方也没出现赢者通吃的超级 App，分发格局始终碎片，开放管道永远有生态位。归纳成一句话，分野不在资本家心善与否，在”内容出门之后，钱还回得来吗”这个闭环在不在——欧美用公共拨款加订阅漏斗把闭环接住了；国内闭环只剩圈进广场卖注意力一条路，内容白给的管道自然第一个被砍。</p><p>再戳一层：钱也不是分野。央媒的补贴比 BBC 还纯——新华社、总台是国务院直属事业单位，人民日报社、光明日报社是中央直属事业单位，人财物全走财政，2014 年”媒体融合”上升为国家战略后，中央厨房、自有客户端的专项投入源源不断。分野在钱买的使命是什么。DW 的任务书明文写着向境外受众提供信息，开放管道直接服务 KPI；央媒的任务是占领阵地、引导舆论，开放 RSS 对这两项全是为负。最硬的证据是对称性：同一家新华社，两副面孔——对外是商业通讯社，向全球媒体卖 feed，CGTN 在 YouTube 上推内容比谁都勤，外宣的分发逻辑和 DW 一模一样，恨不得倒贴求转载；对内立刻变墙。补贴一分没少，只是买了墙，没买管子。</p><p>这些判断有个现成的检验：播客。都说中国播客架在 RSS 上，那就实测能不能从里面捞出时事新闻。Apple 的播客目录查询接口不要 key，正好当索引用，结果：</p><div class="table-container"><table><thead><tr><th>源</th><th>能否抓到</th><th>状态</th></tr></thead><tbody><tr><td>feed.xyzfm.space（小宇宙托管）</td><td>能</td><td>机制活着；东方财富《财经早咖啡》挂在这，标题确实是新闻体，但 2025-12 停更</td></tr><tr><td>feeds.fireside.fm（声动早咖啡）</td><td>能</td><td>停在 2023-10，搬家遗留的镜像</td></tr><tr><td>feed.cri.cn（国际台官方 RSS）</td><td>能</td><td>全是 2015 年 7 月的存货</td></tr><tr><td>cnrdl.cnr.cn（央广音频库）</td><td>连上但空回包</td><td>僵尸</td></tr><tr><td>ximalaya.com 的 .xml（羊城晚报新闻早报、东方网新闻早餐）</td><td>不能</td><td>TLS 握手就断，换代理也断</td></tr></tbody></table></div><p>两个发现。一是开放 feed 的地基大多在境外：声动活泼托管在美国的 fireside.fm，小宇宙自己也办了托管服务。这些 feed 活着，是因为 Apple Podcasts 要吃——想进苹果目录，就得按苹果的规矩交出开放 feed。这扇门不是为听众开的，是为苹果开的。二是新闻不走这扇门：开放 RSS 上活着的是文化、商业、生活方式类播客；真正的新闻节目——央广的《新闻和报纸摘要》、《新闻联播》音频、各家报纸的每日新闻早报——一个都不在这套体系里。央广自己搭过两代播客系统，全部停更多年；羊城晚报、东方网的日更新闻播客锁在喜马拉雅，喜马拉雅给苹果目录挂了 .xml 地址，实际根本抓不到。</p><p>规律就此闭环：门开在哪，新闻就不走哪。播客这扇门是给苹果开的，新闻分发照旧锁在自有 App 里。反面例子是热点页新加的英文、德语频道，为什么稳？BBC、DW 的 RSS 不是副产品，是产品本身，人家拿它当对外广播的延续在做——我在德国交的广播费，就是 Tagesschau 那条 RSS 的服务器账单。真为爱发电的，从来只有个人博客。</p>]]>
    </content>
    <id>https://www.zebin-yue.top/post/RSS%E4%B9%8B%E6%AD%BB.html</id>
    <link href="https://www.zebin-yue.top/post/RSS%E4%B9%8B%E6%AD%BB.html"/>
    <published>2026-11-02T13:00:00.000Z</published>
    <summary>
      <![CDATA[<p>热点页撤掉新浪那三个死频道之后，我让 AI 找了一圈替补：把 20 家中央主要新闻单位的官网挨个扫了一遍，一家都没有 RSS。这不是技术做不到——新华早年有 rss.xinhuanet.com，光明网、央视网在 Web 2.0 时代都上过 RSS，后来全下线了。真正的问题是]]>
    </summary>
    <title>RSS之死</title>
    <updated>2026-11-02T13:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Nathan Gao</name>
    </author>
    <category term="转载" scheme="https://www.zebin-yue.top/categories/reposts/"/>
    <category term="徐泽伟案" scheme="https://www.zebin-yue.top/tags/%E5%BE%90%E6%B3%BD%E4%BC%9F%E6%A1%88/"/>
    <category term="能力" scheme="https://www.zebin-yue.top/tags/%E8%83%BD%E5%8A%9B/"/>
    <category term="方向" scheme="https://www.zebin-yue.top/tags/%E6%96%B9%E5%90%91/"/>
    <content>
      <![CDATA[<ul><li>想起老婆升职后，一个夜晚突然对我说失望。我开玩笑说，这是贤者时间。努力没有回报，这种事对我来说太熟悉了，也正是因为熟悉，我已经习惯了应对方式，在艺术中寻找归宿。电影和美食从来不在我的可选项中。传统的家庭和孩子，也在慢慢看淡，尤其知道我舅舅偷偷翻外婆的存折并拍照后。</li></ul><p>孩子每生一次病，大人就跟着脱一层皮。啵啵好了，奶奶却因为身体和心理的焦虑、担忧和难安又一次发烧了。</p><p>上一次发烧，她一烧就是一个多月，知道持续低烧对身体损伤的威力，这一次，我不敢怠慢，不停地劝她回去嵊州休息。</p><p>可她哪放得下。直到一位好友刚好提出想来家里看看，并由她来暂时顶替奶奶驻场帮忙，奶奶才放下顾虑，安安心心地回家了。</p><p>那是一位很特殊的朋友，不仅富有幼儿养育经验，并且上善若水，身上透着一股平和宁静的磁场，她经常无声地感染着我们，也带给我们许多能量。</p><h2 id="感恩生命中遇见的每一线光亮"><a href="#感恩生命中遇见的每一线光亮" class="headerlink" title="感恩生命中遇见的每一线光亮"></a>感恩生命中遇见的每一线光亮</h2><p>这也是我很久以来，第一次跟家人以外的人，从早到晚长时间地生活在一起。</p><p>她叫我们不用考虑她，也不要去费心准备什么，但对我来说，基本的待客之道一定是要有的，那是朋友之间的相互尊重，也是表达真诚和善意的方式。</p><p>于是，这些天，我很认真地考虑每顿饭吃什么，并认真地买菜，也认真地坐在餐桌旁，跟她一起聊天、吃饭。</p><p>我的一反常态显然连小啵都不习惯了，她见我吃完饭还坐在餐桌前不动，小手指一点阳台：“妈妈去工作，啵啵吃饭。”</p><p>回想起来，我好像很少陪她从头到尾吃完一餐饭。我似乎总是在赶，不是在赶这个，就是在赶那个，三口两口把饭扒拉完，跟啵啵打声招呼，就起身离开。</p><p>我也不知道自己在急什么，那些省出来的时间，其实也做不了什么太多的事，但我就是着急，就是坐不住，就是心事重重，更不知道自己在吃什么，好像吃饭只是维持生命体征的任务而已。</p><p>甚至吃完饭，跟朋友坐在餐桌前继续谈天时，我的思绪会时不时地飘走：现在几点了？等下来我得及把手上的事情做完吗？</p><p>不过，很神奇地，事情最后都赶在需要的时间内做完了；又或者说，因为时间不够，我反而更加清醒地去分析手头的种种，被迫（或自动）舍弃了一些不那么重要的部分。</p><p>其实，退一万步讲，生活中的好多事，即便今天没完成，又有什么关系呢？</p><h2 id="但每天的落日都是独一无二的啊"><a href="#但每天的落日都是独一无二的啊" class="headerlink" title="但每天的落日都是独一无二的啊"></a>但每天的落日都是独一无二的啊</h2><p>当我静下心来，仔细去想，我还找到了一条更深层次的缘由：在因朋友的来到而认真生活的日子里，在与她的相处获得的能量里，表面看是分出了时间，但它们对于内心的滋养，悄然地回流到了工作和生活之中，让我得以用一种更好的状态去面对周遭的事物。</p><p>我问朋友，从一个躬身入局的近距离观察者的角色来看，我的生活是怎样的？</p><p>问这个问题的本意，是我想通过做些什么，来把生活调整得更好，把节奏踏得更稳一点。</p><p>她想了想说：“充实，你的生活太充实了。”</p><p>她看我每天忙得一刻不停，不是在电脑前，就是在带娃或者做家务：“你做事的能力真的很强。”</p><p>可不是吗？曾经我以为，只要我不断地打磨我的能力、提升我做事的效率，我就可以把事情做得更快、更好，就可以帮到自己，帮到家庭。</p><p>但眼看着自己像个陀螺一样越转越快、发条越拧越紧，事情做了许许多多，但却并没有因此感到轻松或自在。</p><p>我跟她说，充实毋庸置疑可以把日子过得快一些，只是，能力和效率能解决”事”，却安顿不了”心”。</p><p>反倒是跟她的相处，经由她的磁场，让我跟着慢下来的过程，让我感受、接纳、吸收了许多，也让我知道了，我努力的方向，不是去做更多的事，而是去回到生活本身。</p><p>将那些原本因效率和日程挤到角落的东西，譬如一顿不赶时间的饭、一段没有目的的闲谈、一些不必急着回答的问题，重新找回位置。</p><p>世上没有白走的路，也不存在所谓的“浪费”的时间，因为一切并不会真正流失，只是换了一种方式回到身边。</p><p>而在日复一日的消磨中，在忙碌中守住从容，在琐碎中找到余力的支点，一定是心力，而非能力。</p>]]>
    </content>
    <id>https://www.zebin-yue.top/post/%E5%BF%AB%E6%98%AF%E8%83%BD%E5%8A%9B-%E6%85%A2%E6%98%AF%E6%96%B9%E5%90%91.html</id>
    <link href="https://www.zebin-yue.top/post/%E5%BF%AB%E6%98%AF%E8%83%BD%E5%8A%9B-%E6%85%A2%E6%98%AF%E6%96%B9%E5%90%91.html"/>
    <published>2026-11-01T09:10:00.000Z</published>
    <summary>
      <![CDATA[<ul>
<li>想起老婆升职后，一个夜晚突然对我说失望。我开玩笑说，这是贤者时间。努力没有回报，这种事对我来说太熟悉了，也正是因为熟悉，我已经习惯了应对方式，在艺术中寻找归宿。电影和美食从来不在我的可选项中。传统的家庭和孩子，也在慢慢看淡，尤其知道我舅舅偷偷翻外婆的存折并拍照后]]>
    </summary>
    <title>快是能力，慢是方向</title>
    <updated>2026-11-01T09:10:00.000Z</updated>
  </entry>
</feed>
