<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Elmagnifico's Blog</title>
    <description>全栈、后端、嵌入式、maya与游戏 | elmagnifico， Full Stack Engineer &amp; Back-end Engineer &amp; Embedded System Lover | 这里是elmagnifico的个人博客，君子之交淡如水。</description>
    <link>https://elmagnifico.tech/</link>
    <atom:link href="https://elmagnifico.tech/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Sun, 13 Sep 2026 00:27:04 +0800</pubDate>
    <lastBuildDate>Sun, 13 Sep 2026 00:27:04 +0800</lastBuildDate>
    <generator>Jekyll v4.3.2</generator>
    <follow_challenge>
      <feedId>55855418052542483</feedId>
      <userId>101522814280570880</userId>
    </follow_challenge>
    
      <item>
        <title>有点无语</title>
        <description>&lt;h2 id=&quot;dream&quot;&gt;Dream&lt;/h2&gt;

&lt;p&gt;有点无语&lt;/p&gt;

&lt;p&gt;想起来是突然的&lt;/p&gt;

&lt;p&gt;既不是过年，也不是什么特殊日子。就是普通的一天，忽然想起小时候的一个梦想，再看看现在：我已经站在那里了&lt;/p&gt;

&lt;p&gt;当时觉得挺远的&lt;/p&gt;

&lt;p&gt;远到可以先放着，先做眼前的事，以后再说&lt;/p&gt;

&lt;p&gt;以后有的是时间&lt;/p&gt;

&lt;p&gt;那会甚至没有认真问过自己，到了会是什么感觉，只是觉得，到了就好&lt;/p&gt;

&lt;p&gt;后来毕业了&lt;/p&gt;

&lt;p&gt;一年一年过，方向没换过&lt;/p&gt;

&lt;p&gt;只是很少抬头&lt;/p&gt;

&lt;p&gt;同龄人的消息一直都有，谁怎样了，谁又怎样了&lt;/p&gt;

&lt;p&gt;以前会看。看完心里发紧，觉得自己慢。慢在哪儿，又说不清。就是有点焦虑，有点慌&lt;/p&gt;

&lt;p&gt;后来就不看了&lt;/p&gt;

&lt;p&gt;30岁那年，回头看过一次&lt;/p&gt;

&lt;p&gt;还早&lt;/p&gt;

&lt;p&gt;那个地方还在前面，心里那点焦虑又冒了头，冒了一下，又按了回去&lt;/p&gt;

&lt;p&gt;反正也比不明白，不如埋头&lt;/p&gt;

&lt;p&gt;十年就这么走过来，一路上也失去了一些，逃避了一些&lt;/p&gt;

&lt;p&gt;本来想列一列，又停了。列出来也回不来&lt;/p&gt;

&lt;p&gt;33岁，再抬一次头，人已经站在那里了&lt;/p&gt;

&lt;p&gt;没有谁通知我&lt;/p&gt;

&lt;p&gt;也没有想象过，到了时的激动&lt;/p&gt;

&lt;p&gt;日子还是日子，我还是我&lt;/p&gt;

&lt;p&gt;甚至要过一会儿才反应过来：这不就是以前觉得很远的那个点吗&lt;/p&gt;

&lt;p&gt;所以无语&lt;/p&gt;

&lt;p&gt;以前觉得，到了就好了&lt;/p&gt;

&lt;p&gt;现在到了，然后呢？&lt;/p&gt;

</description>
        <pubDate>Sun, 13 Sep 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/09/13/DreamComeTrue/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/09/13/DreamComeTrue/</guid>
        
        <category>杂谈</category>
        
        
      </item>
    
      <item>
        <title>PeakDesign Everyday Backpack换新</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;19年买的PeakDesign Everyday Backpack，去年就已经出现涂层脱落了，只是没想起来这个是终身保修的。最近刷到一个质保的视频，才想起来这个可以换。&lt;/p&gt;

&lt;h2 id=&quot;everyday-backpack-30l-v1&quot;&gt;Everyday Backpack 30L v1&lt;/h2&gt;

&lt;p&gt;v1是19年买的，PD的包是摄影定位，我看上的是分层、分割，设计得很有意思。后来不管是出差、还是旅游，都是只背一个包，所有东西都刚好能装下，装不下说明我不需要。&lt;/p&gt;

&lt;h4 id=&quot;问题&quot;&gt;问题&lt;/h4&gt;

&lt;p&gt;不过可惜，包口这个地方的防水布，在来回折叠下，涂层脱落了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122035014.png&quot; alt=&quot;image-20260912203527830&quot; /&gt;&lt;/p&gt;

&lt;p&gt;涂层，落得一包都是，衣服沾上了都是黑色块块，很是麻烦。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122035100.png&quot; alt=&quot;image-20260912203545027&quot; /&gt;&lt;/p&gt;

&lt;p&gt;除了包的涂层脱落了，其实包内部和侧面的纸板也有些受潮变形了，磁吸口反复使用也被蹭到掉漆了，还有包盖上也有一些脱线了，包拉链的涂层也有一些快要脱落了&lt;/p&gt;

&lt;h4 id=&quot;售后&quot;&gt;售后&lt;/h4&gt;

&lt;p&gt;PD的包号称是终身保修，只要你不是人为损坏的，产品自然出现的问题就可以售后换新，当年买的时候就听说了，所以才买的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122044857.png&quot; alt=&quot;image-20260912204418825&quot; /&gt;&lt;/p&gt;

&lt;p&gt;还好当你在PD官网上注册了包，直接在官方申请售后，后续PD说，国内买的包都统一有一个亚洲的售后中心负责处理，其他地方是官方直接确认发货。&lt;/p&gt;

&lt;p&gt;当年是在官方旗舰店买的，过了七年，这个店竟然还在，也没倒闭，说是让店家联系我，实际上过了很久都没消息，于是我主动问了一下。他们说给他们寄过去检查一下，查了半个月，回复我可以换新，看起来有点不愿意。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122047655.png&quot; alt=&quot;image-20260912204726628&quot; /&gt;&lt;/p&gt;

&lt;p&gt;但是还是换了，由于一代已经停产停售了，直接换新二代产品给我，哇，美滋滋，还能再用七年。&lt;/p&gt;

&lt;h2 id=&quot;everyday-backpack-30l-v2&quot;&gt;Everyday Backpack 30L v2&lt;/h2&gt;

&lt;h4 id=&quot;开箱测评&quot;&gt;开箱测评&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122050942.png&quot; alt=&quot;image-20260912205007583&quot; /&gt;&lt;/p&gt;

&lt;p&gt;售后发过来的，感觉包装比以前糙了一些，以前是个类似牛皮纸袋装的，很高级，现在只是个塑料袋了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122053532.png&quot; alt=&quot;image-20260912205306214&quot; /&gt;&lt;/p&gt;

&lt;p&gt;新包确实比较整，包形状更方一些，感觉我之前的v1后面已经是松松垮垮的状态了。&lt;/p&gt;

&lt;p&gt;新包的背带自带磁吸，可以随时吸在背包上，平常很简洁。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;但是二代的把手还是没有磁吸，把手提多了后面都会弯着凸出来，这里其实可以优化一下&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122056148.png&quot; alt=&quot;image-20260912205610344&quot; /&gt;&lt;/p&gt;

&lt;p&gt;新款的隔板，可以变形了，比之前也厚了很多，变形以后这个尺寸是刚好可以放镜头&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122056471.png&quot; alt=&quot;image-20260912205642158&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122100334.png&quot; alt=&quot;image-20260912210045041&quot; /&gt;&lt;/p&gt;

&lt;p&gt;电脑夹层这里也多了几个口袋，也是磁吸的，电脑存放口袋的14吋和16吋也比之前明显了，之前感觉都差不多大小&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122058110.png&quot; alt=&quot;image-20260912205815885&quot; /&gt;&lt;/p&gt;

&lt;p&gt;侧栏水瓶位置，总算多了一个漏水口，以前没有，这里插伞很容易积水，不过这个开口有点随意了，都分层了&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122101115.png&quot; alt=&quot;image-20260912210133896&quot; /&gt;&lt;/p&gt;

&lt;p&gt;以前这个绳扣都是松松散散的，这次所有绳扣都带了个皮筋捆住，不过钥匙扣好像没了？我看别人开箱有，但是我的没有，白嫖一个新的，就不纠结了，平常也没啥用。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122104169.png&quot; alt=&quot;image-20260912210449998&quot; /&gt;&lt;/p&gt;

&lt;p&gt;可能也是发现了受潮变形的问题，包里塞了不少防潮袋&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122103720.png&quot; alt=&quot;image-20260912210318611&quot; /&gt;&lt;/p&gt;

&lt;p&gt;所有PD的包都是越南产的，裸重都1.76kg了，2代是不含氟的防水涂层。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122104282.png&quot; alt=&quot;image-20260912210417108&quot; /&gt;&lt;/p&gt;

&lt;p&gt;不过PD的包，经常被吐槽的就是背负系统很烂，我背了这么久，还行吧，也不怎么讲究这个。再怎么省力，这几公斤还能接受，就当锻炼了。30L确实是偏大，日常当电脑包，进比较拥挤的地方确实很大一坨，很多随身放包的地方可能塞不进去，不过新的v2感觉比较小，至少视觉上小一些。&lt;/p&gt;

&lt;h4 id=&quot;注册&quot;&gt;注册&lt;/h4&gt;

&lt;p&gt;新包继续注册，编码藏得好严实，在左侧口袋的内侧里&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122049851.png&quot; alt=&quot;image-20260912204912734&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122031803.png&quot; alt=&quot;image-20260912203116770&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202609122031832.png&quot; alt=&quot;image-20260912203150788&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;下次买包，还会考虑PD，这个售后确实可以&lt;/p&gt;
</description>
        <pubDate>Sat, 12 Sep 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/09/12/PeakDesign/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/09/12/PeakDesign/</guid>
        
        <category>Equip</category>
        
        <category>Goods</category>
        
        
      </item>
    
      <item>
        <title>CodeBind Docs插件-JetBrains版本</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;/2026/07/20/CBD-VSC-Plugin/&quot;&gt;CodeBind Docs&lt;/a&gt; 那篇写完时说过：真混排、跨IDE，以后再说。VS Code / Cursor这边用了一阵，绑定格式也稳了，但实际还是有部分代码工程绑在 IntelliJ IDEA、Android Studio 里，既然如此不如把 IntelliJ Platform 这一侧也补上&lt;/p&gt;

&lt;p&gt;于是把同一套旁路绑定迁到了 IntelliJ Platform。由于两边代码差的比较多，没办法通用，仓库只能分开&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://github.com/elmagnificogi/CodeBindDocs-IntelliJ&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;绑定头和 VS Code 版完全兼容，同一个仓库两边都能开。 &lt;a href=&quot;https://plugins.jetbrains.com/plugin/33981-codebind-docs&quot;&gt;Codebind &lt;/a&gt;已经过审，市场可直接找到&lt;/p&gt;

&lt;h2 id=&quot;为什么要做&quot;&gt;为什么要做&lt;/h2&gt;

&lt;p&gt;CBD 的核心不是编辑器插件，是那份 YAML 头：文档跟代码走，源码零侵入。编辑器只是读这份头、把文档甩到旁边。&lt;/p&gt;

&lt;p&gt;现实却是：TypeScript / 前端在 Cursor，Kotlin / Android / 后端在 IntelliJ IDEA。两边各写一套文档，Agent 更懵。VS Code 扩展已经能生成 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AGENTS.md&lt;/code&gt;，但 Junie、JetBrains IDE 里的 Agent 读不到侧栏分栏，人也得来回切。&lt;/p&gt;

&lt;p&gt;所以目标很明确：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;同一套 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cbd:&lt;/code&gt; 头，VS Code 和 JetBrains 这边都能认&lt;/li&gt;
  &lt;li&gt;打开源文件，右侧同样跟文档&lt;/li&gt;
  &lt;li&gt;Initialize 除了 Cursor rules，再写一份 Junie guidelines&lt;/li&gt;
  &lt;li&gt;能力对齐，不在 JetBrains 这边另发明一套绑定&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;产品形态和 VS Code 版一样：左侧 Bindings 树，右侧文档工具窗，状态栏、Inlay、漂移检测都有。命令名前缀仍是 &lt;strong&gt;CBD&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260901205623291.png&quot; alt=&quot;image-20260901205623228&quot; /&gt;&lt;/p&gt;

&lt;p&gt;JetBrains家的IDE比较好的是他们有侧边栏，VSC系列都没有，这个侧边栏就能取代VSC里自动打开文档和有时候不需要自动打开的矛盾点&lt;/p&gt;

&lt;h2 id=&quot;迁移&quot;&gt;迁移&lt;/h2&gt;

&lt;p&gt;原来VSC插件是 TypeScript ，JB家的不支持， Kotlin 重写。IntelliJ Platform 插件跑在 IDE 进程里，API、线程模型、UI 和 VS Code 是完全两套东西。&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;src/main/kotlin/com/codebinddocs/core      纯逻辑，不碰 IDE API，可单测
src/main/kotlin/com/codebinddocs/intellij  工具窗、Action、分栏、Inlay、JCEF
src/main/resources/webview                 Vditor + pane.html/js，跟 VS Code 共用前端
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;core&lt;/code&gt; 里是 YAML 解析、行范围、哈希、脚手架文本、路径规划。这些在 VS Code 仓库已经打磨过，迁过来只换语言，行为要对齐。IDE 相关的全扔 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;intellij&lt;/code&gt; 包：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;plugin.xml&lt;/code&gt; 注册工具窗、Settings、状态栏、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ProjectActivity&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;脚手架是 IntelliJ Platform Gradle Plugin 2.x：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;构建目标 &lt;strong&gt;JDK 21&lt;/strong&gt;（本机若只有 11，Gradle 插件直接起不来）&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sinceBuild=241&lt;/code&gt;，覆盖 2024.1+（IntelliJ IDEA / Android Studio / PyCharm / WebStorm / GoLand / CLion）&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradlew runIde&lt;/code&gt; 起一个带本插件的 Community 沙箱，改完重载&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;文档面板没走 Swing Markdown，直接把 VS Code 那套 Vditor 塞进 JCEF。即时渲染、源码模式、粘贴图片、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cbd-include&lt;/code&gt;，前端逻辑能复用就复用，少维护两套编辑器。&lt;/p&gt;

&lt;p&gt;JB版本的仓库也在用 CBD：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;src/main/kotlin/**&lt;/code&gt; 基本都挂了旁路文档。改插件前先读对应 Markdown，和 &lt;a href=&quot;/2026/06/24/Agent-Workflow/&quot;&gt;Agent工作流&lt;/a&gt; 是同一套。&lt;/p&gt;

&lt;h2 id=&quot;市场发布&quot;&gt;市场发布&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;用 JetBrains 账号登录 &lt;a href=&quot;https://plugins.jetbrains.com/&quot;&gt;plugins.jetbrains.com&lt;/a&gt;。&lt;/li&gt;
  &lt;li&gt;账号菜单 Upload plugin。若是第一次发插件，要同意 &lt;a href=&quot;https://plugins.jetbrains.com/legal/developer-agreement&quot;&gt;Developer Agreement&lt;/a&gt; 并创建 Vendor（例如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebinddocs&lt;/code&gt;）。&lt;/li&gt;
  &lt;li&gt;上传 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CodeBindDocs-IntelliJ-0.1.12.zip&lt;/code&gt;（单个 zip 不超过 400MB）。&lt;/li&gt;
  &lt;li&gt;填表：
    &lt;ul&gt;
      &lt;li&gt;License：MIT，链接到仓库 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LICENSE&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Tags：Documentation、Markdown 等（影响搜索）&lt;/li&gt;
      &lt;li&gt;Source code：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://github.com/elmagnificogi/CodeBindDocs-IntelliJ&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;渠道选默认（公开），不要勾 Hidden&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;提交后进入人工审核，通常几天。过审后页面类似：
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://plugins.jetbrains.com/plugin/xxxxx-codebind-docs&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260901210308423.png&quot; alt=&quot;image-20260901210308399&quot; /&gt;&lt;/p&gt;

&lt;p&gt;总体来说JB发布插件还是比较简单的，申请也容易，不像Cursor那边那么麻烦&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260901210049013.png&quot; alt=&quot;image-20260901210048989&quot; /&gt;&lt;/p&gt;

&lt;p&gt;上架前自动校验先打回来一圈，和 &lt;a href=&quot;/2026/07/21/CBD-Publisher-OpenVSX/&quot;&gt;Open VSX 那次&lt;/a&gt; 一个问题：身份和命名比代码先卡死。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;插件 ID 不能含 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;intellij&lt;/code&gt;。仓库包名是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;com.codebinddocs.intellij&lt;/code&gt;，ID 必须改成 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;com.codebinddocs.plugin&lt;/code&gt;。ID 上架后基本改不了，幸好还没发出去&lt;/li&gt;
  &lt;li&gt;简介必须以英文开头，中文可以跟在后面。市场审核按英文描述走&lt;/li&gt;
  &lt;li&gt;名字里也不能出现 Plugin / IntelliJ / JetBrains 产品名。显示名继续叫 CodeBind Docs，没问题&lt;/li&gt;
  &lt;li&gt;JCEF 做成 optional 时，必须带 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config-file&lt;/code&gt;，空依赖校验不过&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;目前仍是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradlew buildPlugin&lt;/code&gt; 出 zip，Settings → Plugins → 齿轮 → Install Plugin from Disk。&lt;/p&gt;

&lt;p&gt;审核比较久，大概要2天，市场页上线以后再补。&lt;/p&gt;

&lt;h2 id=&quot;审核&quot;&gt;审核&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260901211017586.png&quot; alt=&quot;image-20260901211017557&quot; /&gt;&lt;/p&gt;

&lt;p&gt;审核以后还是能看到很多有问题的点，我只在26版本测了，之前的版本确实没验证。&lt;/p&gt;

&lt;p&gt;官方有这样的自动化的验证倒是挺好的，比VSC完善多了&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260902151416773.png&quot; alt=&quot;image-20260902151416728&quot; /&gt;&lt;/p&gt;

&lt;p&gt;修了几个版本，兼容性拉满&lt;/p&gt;

&lt;h2 id=&quot;和-vs-code-版差在哪&quot;&gt;和 VS Code 版差在哪&lt;/h2&gt;

&lt;p&gt;绑定数据基本一模一样，只是实现不一样&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt; &lt;/th&gt;
      &lt;th&gt;VS Code / Cursor&lt;/th&gt;
      &lt;th&gt;IntelliJ Platform&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;语言&lt;/td&gt;
      &lt;td&gt;TypeScript&lt;/td&gt;
      &lt;td&gt;Kotlin&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;文档面板&lt;/td&gt;
      &lt;td&gt;Webview + Vditor&lt;/td&gt;
      &lt;td&gt;JCEF + 同一套 Vditor&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;侧栏&lt;/td&gt;
      &lt;td&gt;Activity Bar&lt;/td&gt;
      &lt;td&gt;左侧工具窗 &lt;strong&gt;CBD Bindings&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;行内入口&lt;/td&gt;
      &lt;td&gt;CodeLens&lt;/td&gt;
      &lt;td&gt;Editor Inlay&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;分栏&lt;/td&gt;
      &lt;td&gt;编辑器组&lt;/td&gt;
      &lt;td&gt;右侧工具窗，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Alt+Shift+D&lt;/code&gt; 开关&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;打开文档&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Alt+D&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;同样 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Alt+D&lt;/code&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Agent 脚手架&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AGENTS.md&lt;/code&gt; / Cursor rules&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.junie/guidelines.md&lt;/code&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;安装&lt;/td&gt;
      &lt;td&gt;Marketplace / Open VSX&lt;/td&gt;
      &lt;td&gt;Marketplace&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;目录绑定（&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kind: directory&lt;/code&gt;）、漂移、路径迁移、模板、资源目录，两边都有。打开已绑定仓库，换 IDE 不用改文档。&lt;/p&gt;

&lt;p&gt;VSC可以直接打开JB的工程，反过来也可以。&lt;/p&gt;

&lt;h2 id=&quot;五分钟上手&quot;&gt;五分钟上手&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260907151713361.png&quot; alt=&quot;image-20260907151706310&quot; /&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;市场搜索 &lt;a href=&quot;https://plugins.jetbrains.com/plugin/33981-codebind-docs&quot;&gt;Codebind &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;打开一个&lt;strong&gt;项目文件夹&lt;/strong&gt;（单文件模式扫不了绑定）&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Tools → CodeBind Docs → CBD: Initialize&lt;/strong&gt;，创建 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docs/cbd/&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AGENTS.md&lt;/code&gt;、Cursor rules、Junie guidelines&lt;/li&gt;
  &lt;li&gt;打开源文件，跑 &lt;strong&gt;CBD: Bind Doc to Current File&lt;/strong&gt;（整文件或代码块）；或在项目树对文件夹 &lt;strong&gt;CBD: Bind Doc to Folder&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;自动分栏开着时，切源文件右侧就跟；随时 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Alt+D&lt;/code&gt; 打开对应文档&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;常用入口：&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;入口&lt;/th&gt;
      &lt;th&gt;作用&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CBD: Open Docs Index&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;文档主页（树、覆盖率、漂移）&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Alt+D&lt;/code&gt; / Inlay / 状态栏&lt;/td&gt;
      &lt;td&gt;打开当前源文件的旁路文档&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Alt+Shift+D&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;开关自动分栏&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;侧栏 &lt;strong&gt;已绑定 / 待绑定&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;浏览与补绑&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;代码块&lt;/td&gt;
      &lt;td&gt;编辑器里拖选，点顶部横幅 &lt;strong&gt;确认选区&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;2026.2 若右侧面板空白，先启用 &lt;strong&gt;Web Browser (JCEF)&lt;/strong&gt;。没启用时仍可以从左侧 Bindings 用 IDE 自带 Markdown 打开文档，只是没有即时渲染。&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;先这样有问题再改改。&lt;/p&gt;
</description>
        <pubDate>Tue, 01 Sep 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/09/01/CBD-JetBrain-Plugin/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/09/01/CBD-JetBrain-Plugin/</guid>
        
        <category>AI</category>
        
        <category>Agent</category>
        
        <category>JetBrains</category>
        
        
      </item>
    
      <item>
        <title>人类高质量思政课</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;我记得很久以前，有一个政治老师说：你不关注政治，但政治始终在关注你。&lt;/p&gt;

&lt;p&gt;以前不理解，这东西有啥好学的，其实还是当年的课程有点脱离生活了。讲的东西过于模糊，没有明确说明这个政治或者政策是什么意思，它的结果是什么，它对或者不对。&lt;/p&gt;

&lt;p&gt;以前的政治课讲的都是正面的，都是这个东西的作用，但是一旦问到你这个东西有啥负面的作用？起到了啥作用，怎么落到基层，怎么指导实际政府工作的？都不知道，感觉就是个假大空的东西。
没想到这个课竟然意外点透了以前听的迷迷糊糊的东西，感觉有点意思，就追完了。&lt;/p&gt;

&lt;p&gt;沈辛成在交大东上院上的博士公共课《中国马克思主义与当代》，2025 年秋季现场课，他自己剪了传到 B 站，合集叫《历史的进程》。这是博士阶段最后一门思政课，一共十讲。没想到是博士生的课，不过感觉有点晚了，其实这应该早点讲。&lt;/p&gt;

&lt;p&gt;B 站没有官方字幕。这次是把各集音频拉下来，用本地语音识别转成文稿再整理的。&lt;/p&gt;

&lt;h2 id=&quot;人类高质量思政课&quot;&gt;人类高质量思政课&lt;/h2&gt;

&lt;p&gt;讲课的人是沈辛成，B 站叫沈枯燥在搞教育，在交大做技术史。合集 51 集，PV 加十讲加番外。&lt;/p&gt;

&lt;iframe src=&quot;//player.bilibili.com/player.html?isOutside=true&amp;amp;aid=117182881144103&amp;amp;bvid=BV1Cf4X6oE4r&amp;amp;cid=41420393382&amp;amp;p=1&amp;amp;autoplay=false&quot; scrolling=&quot;no&quot; border=&quot;0&quot; frameborder=&quot;no&quot; framespacing=&quot;0&quot; allowfullscreen=&quot;true&quot; width=&quot;640&quot; height=&quot;480&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;教材是马工程的《中国马克思主义与当代》。他没有按章宣读。十讲按这个顺序走：先用当代案例把方法讲清楚，再按世界经济、世界政治、资本主义、社会主义、社会问题、文化、生态、科技讲下去，最后讲到货币这一章。&lt;/p&gt;

&lt;p&gt;整理时按四段来写：&lt;strong&gt;案例&lt;/strong&gt;（发生了什么、机制是什么）、&lt;strong&gt;宏观&lt;/strong&gt;（放进更大的结构里看）、&lt;strong&gt;结论&lt;/strong&gt;（这个案例要证明什么）、&lt;strong&gt;应对&lt;/strong&gt;（政策或个人后来怎么做）。课上一直用的方法是：不要把问题停在道德和情绪上，沿着货币和利益周转把账算清楚。存量时代，个人必须在冒险与避险之间选择；课上的立场是认知成本高、资金成本低，所以更应该冒险。&lt;/p&gt;

&lt;h2 id=&quot;第一讲方法论&quot;&gt;第一讲：方法论&lt;/h2&gt;

&lt;p&gt;这一讲还没进世界经济，先解决「怎么看」。后面会反复用到四种读法：战略看结构，创新顺着钱走，底线按最坏结果准备，历史要把说话的人和话分开。彩票、国债、国足、中概股练的是同一件事：把利益怎么流转分析清楚。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.1 彩票与皮凯蒂&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 商圈彩票点的客人从中老年换成了年轻人，标语是「挣一千万比中一千万难太多」。皮凯蒂在《21 世纪资本论》里写：第二次世界大战结束后大约三四十年，资本回报赶不上经济增长，靠劳动就能致富，1970 年代出生的那一代赶上了这波；进入新世纪后这条路关上，财富跟着年龄走，他称为世袭资本主义。美国 70 岁以上家庭占有的财富，从不足 20% 升到接近 30%。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 公平问题出在增长已经变慢、蛋糕不再明显变大的时候。机会少了，致富的路也窄了。国家财政和家庭财政不是一回事：现代货币理论认为，国家越欠债越需要往外花钱，用国债和过量货币把利率压下去。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 年轻人买彩票，是致富的路关上之后的直接感受，不是道德滑坡。只喊再分配，解决不了公平。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 先承认那条劳动致富的路已经关上，再讨论货币怎样假装增长还在。个人必须在冒险和避险之间选；课上的立场是：看懂规则的成本高、借钱的成本低，更应该去冒险。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.2 量化宽松&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 30 年期国债的主要买家不是居民，而是银行与保险公司，用来对冲短期高风险资产。央行在二级市场买入长期国债，供不应求，价格上升、实际利率下降。政府信用最高，全社会借贷成本跟随国债利率下行。日本 2001 年首次实践量化宽松，安倍时期投放约 60–70 万亿日元仍未出现持续通胀；美国 2008 年连同不良资产一并吸收；新冠疫情把钱直接打入账户，解封后通胀，再以加息回收。恩格斯 1892 年写德国贵族领取国债赎金、农民分期偿还，用来对照今天「什么都没做、钱包却变紧」的那种感觉。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 量化宽松的设计是：现金躺在银行里会贬值，逼你拿出来借贷、消费，宏观上经济活动就会起来。微观上多数人做不到。多数人没有冒险的底气和情报——不是不想投，是投出去生活会废。少数真借得到低成本资金的人，借贷成本从百分之四五掉到百分之一以下之后，反而不再做高回报的实体生意，那种生意本身带着风险；他们改买最稳的资产。于是被鼓励去冒险的钱，变成了避险的钱，拥到本不缺钱的人手里。只要靠压低借贷成本来驱动增长，这个分配格局不会因为税收而改变。&lt;/p&gt;

&lt;p&gt;中国 2023 年中央金融工作会议提出「金融工作的政治性与人民性」。课上的解码是：操作上可以买入国债、把利率压下来，但不能把量化宽松做到底。2024 年 4 月财政部和央行宣布逐步增加公开市场国债购买，手法与量化宽松同类。同年夏天债市过热——不少机构没有别的投资选项，只能堆国债；长期利率过低，会向外传递「未来十年只能低增长」的信号，并把汇率和后续降息空间吃掉。当时已经可以预期 2025 年中美贸易冲突，利率工具不能先用尽。于是 9 月底抽债市流动性，并在 9 月 24 日推出一揽子政策把资金赶到股市，即 924 行情。股市一起来，债市的拥挤就会停。这就是「搞了，但没完全搞」。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 「量化宽松是存量时代对增量时代增长态势的一种模拟。」战后那种基建、产业、科技同时爆发无法复刻，只能模拟增长数字。钱被逼出来之后，并不会均匀地变成实体投资。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 看到「公开市场买入国债」，按量化宽松来读。看到「政治性与人民性」，按两道刹车来读：不许钱继续流向不缺钱的人，也不许长期利率自我实现成低增长预期。个人这边，利率被压低之后，持有现金本身就是在贬值；但没有情报和缓冲，也不要假装自己是那个「被鼓励去冒险」的人。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.3 国足&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 舆论问「14 亿人为何选不出 11 个会踢球的人」。80 年代中国足球并不差；90 年代建立联赛与俱乐部；2002 年世界杯、2004 年亚洲杯一度向上；2010 年代迅速下滑。常见归咎是资本、足协或教练。若把球员视为商品：培养从体校偶然发现，变成足校量产，注册球员仍供不应求；U23 政策派不出人；2021 年国家队平均年龄 29.48 岁，2015 年还是 24.44 岁，同一批人从小踢到大，后备供给断裂。高校发明专利真正变成产品的比例，2022 年仍只有 3.9%。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 这一节用国足练三种思维。战略思维是看见结构，而不是看见一场比赛、一个教练。国家队难看，是因为它被放进全球联赛里当场验货；用短期指标和资本博弈来办一件事，在文艺、科研里同样存在，只是那些领域不必当场对决，所以不显得狼狈。恒大用天价外援可以赢一时，自身培养机制没有建立起来，外援一撤就结束，这是买办而不是战略。真正的全局是：决策单位是家庭而不是「14 亿人」；没有自下而上的热爱进入市场轨道，只靠从上而下布置目标，后备就会断。创新思维，课上说的是向前看：把货币当作中介而不是目的，顺着资金去向看利益如何周转、决策如何做出、谁受益谁受损——不是号召去发财。底线思维是规则没有看透时，按最坏结果准备。入世前后市面普遍乐观，板报写「房价将会下跌」，后来的房价说明那种预期可以完全落空。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 国家队踢不好，首先是后面没有人。换教练、骂资本，解决不了注册球员不够；高校发明专利真正变成产品的比例只有 3.9%，是同一类通道没有打通。国足不是拿来平衡国运的，它只是把别处藏着的同一套逻辑摊开了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 培养要能批量出人，并让基层热爱进入市场，而不是只换教练、只买外援。看问题跟着钱走，不要停在情绪上。政策按最坏情况准备，不要把乐观宣传当成已经发生的事实。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.4 入世、产能与中概股&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 加入世界贸易组织之后，中国吃到一波制造业红利，成了世界工厂。中美关系里真正压得住场的，是美国沿海大城市离不开中国货，以及皮尔巴拉、西芒杜这类铁矿把两边绑在一起的生意。入世后中国制造业在全球的份额明显上升；但历史上所有制造业大国，这一份额到了顶都会往下走。受扶持的行业会自己卷自己：2023 年文件还只是把「内卷式竞争」写出来，2025 年变成真的去整治内卷。中概股这边：瑞幸做假账之后，美国监管机构要调审计底稿；中国证券法不许境外机构到境内取证；美国《外国公司问责法》规定，连续三年交不出底稿就退市。三大运营商先撤；滴滴事件之后，原来那种说不清能不能上的路被堵死。没法在美股融资，企业就改为向用户收费。拜登时期双方改在香港查账，才重新接上。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 一个国家成为制造业大国之后，制造业在本国经济和全球工业里的份额到了顶就会往下走，英国、美国都走过这一段。中概股冲突不是闭关锁国，是两套上市规则互相卡死，原来能混过去的空间没了。历史思维要分开说话的人和那句话：谭嗣同说过卖掉新疆、西藏换工业化，鲁迅说过「汉字不灭，中国必亡」。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 入世吃到的红利、后来的产能过剩、中概股退市，都是规则改了，利益跟着重新分配。不是闭关锁国，是两套上市规则互相卡死。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 内卷从口头说说变成真的去产能。中概股交不出底稿就撤回，再在香港接受查账，维持有限合作。看这类新闻时，把「谁说的」和「那句话对不对」分开，不要让立场代替真假。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.5 为何还要上这门课&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;前面四节分别练了战略、创新、底线和历史。这一节对应马克思主义方法论里另外四个特征：科学、人民、实践、开放。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;教材里的「当代」，指进入 21 世纪之后的中国。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;互联网上吵架，常常是立场压过真假。急的时候，正派人物也会说出今天看起来很歪的话，所以引一句名人的话，先要分开说话的人和那句话。对社会怎么运转的观察，当时看起来像跟自己无关，十几年后某个具体场合才会用上。
读到 985 博士这一步，缺的不是立场。缺的是把彩票、国债、国足、中概股翻译成「钱和利益怎么转」的方法。对世界的认知还不完整时，对自己的认知也不可能完整；不要用现在的状态，抹掉以后很多可能性。
后面九讲沿用这套读法：看一件事，先看它背后的结构，不要停在一场比赛或一条新闻；顺着钱看谁受益、谁买单；规则没看透，就按最坏结果准备；碰到一句很冲的话，先问是谁说的、在什么时候说的。&lt;/p&gt;

&lt;h2 id=&quot;第二讲世界经济&quot;&gt;第二讲：世界经济&lt;/h2&gt;

&lt;p&gt;教材对应经济全球化。历史上的大宗商品从香料、白银换成金融资本，再换成数据，共同点是：不容易坏、便于运输、单位价值高。中国要从出口创汇，转向把外汇花出去，把产能和物流卡住的地方打通。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.1 亚洲金融危机与做空&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 20 世纪 80–90 年代，亚洲四小龙、四小虎跟随日本这列「火车」，普遍采用联系汇率，方便出口结算。美元从 1981 年历史高点持续降息，热钱流入这些经济体。日本股市、房市泡沫破裂后火车头停转，泰国率先出现裂缝。做空：从券商借入股票，先高价卖出、再低价买回归还，收益有上限、亏损理论上无上限。对冲基金借入泰铢，在外汇市场抛成美元，汇率自我崩溃。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 做空被允许，是因为有人盯着漏洞，行政监管成本可以省下来；瑞幸被做空也是同一逻辑。联系汇率在增长阶段降低交易成本，增长停止后变成被攻击的靶子。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 问题不在做空是否缺德，而在热钱流入时借的是谁的钱、汇率制度在何种条件下会失效。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 不是禁止做空，而是识别热钱与联系汇率的组合风险；监管可以把部分功能交给有利可图的市场监督。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.2 香料、白银与金融资本&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 葡萄牙、西班牙出海，不是为了探索，而是因为经销商层层加价，香料太贵，要绕过意大利直连亚洲供应商。哥伦布算错地球周长才敢于西航。美洲发现金银后生意回本；波托西一度供应全球近一半白银。明代以后白银涌入中国，因为当时中国制造的商品为世界所需。香料成为海运大宗，因为干燥、单位价值高、便于装运；长颈鹿无法成为大宗。金融资本是 20 世纪末的新香料：本身不腐坏，SWIFT 建立后便于跨境流动，并且能够生息。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 中国在为全世界生产的时候，外汇储备会流进来；一旦不再占据这个位置，储备终将流出去。中国接住的是组装，附加值低，农村社会结构被撕裂，环境受损。制造业大国最后都要往两端走：一边是品牌，一边是知识产权。美国走过的路是制造业变少、金融变多；中国 1990 年代曾经把它当成趋势，后来意识到风险，不再提倡。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 香料能成为大宗，是因为干、贵、好运；长颈鹿运不了，就成不了大宗。金融资本取代香料，是因为它满足同样的条件：不腐坏、能跨境、还能生息。贸易通道先通，后面被当成「文化」的瓷器、茶叶、丝绸才出得去。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 中国接住的是组装，接下来要走向品牌和设计。不要再把「关掉工厂、改做服务业」当成无条件的正确方向。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.3 外汇储备、CFIUS 与汇改&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 外汇储备过高会推升通胀，并与美欧及巴西、印度、墨西哥等国产生摩擦。历史上英国在殖民地建设基础设施、美国实施马歇尔计划、日本全球买矿，都是把盈余花出去。美国外国投资委员会审查「以控制为目的」的外资，持股超过 10% 即可能被认定为控制。2018 年《外国投资风险审查现代化法案》之后审查显著加强，已完成的并购也常被要求剥离。2015 年汇改人民币贬值，企业家出海配置非人民币资产；2016 年升值后又加仓，并购数量达到高峰，随后迎来审查高潮。华为在北美受阻后，国内 5G 收入上升，北美几乎没有增长。亚吉铁路投入运营仅 6 年，运营权即移交埃塞俄比亚，岗位本地化，中方只保留远程技术支持。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 要建设的是开放型、包容型世界经济，而且是用制度钉死的开放，不是想收就收。美国的开放是可以收回的。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 外汇储备不是越高越好。海外并购受阻，直接原因是被投资的那一国把控制权当成安全问题；2015–2016 年人民币先贬后升，放大了企业出海避险。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 外汇不是攒着越多越好，要花出去，而且花成对方接得住的发展能力，不要只买俱乐部、影院来避险。亚吉铁路六年就把运营权交给埃塞俄比亚，岗位本地化，用来说明「包容型」开放该怎么落地。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.4 对非洲资金与供给侧改革&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 中国的官方定位是发动机（增长看中国）、定盘星（投资风向看中国）、压舱石（危机时安全看中国）。角色从「中国制造」转向「为中国制造」，中国成为化工、汽车、机械、快消品的主要买家。需求侧是投资、出口、消费。2008 年出口受冲击，推出约四万亿投资，高铁是标志性成果，随后煤炭、钢铁、水泥、有色这「老四样」产能过剩，十几年都没有真正消化掉。供给侧能调动的是劳动力、土地、资本、制度与创新。中非峰会三年 3600 亿元额度：政府援助 800 亿（政府购买中国企业产品再交付非洲），信贷 2100 亿，企业对非投资 700 亿。亚洲基础设施投资银行成立后，国际钢价从赔本的水平回升。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 不是关起门的国内循环，而是国内自己转起来为主、同时接通国际循环。海外项目给过剩产能找出路。改革开放初期主要靠劳动力，2008 年靠土地与资本，现在必须动用制度和创新。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 「给非洲送钱」拆开看，主要是贷款和采购，不是无偿赠与。四万亿把增长拉起来了，也留下产能过剩。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 投资、出口、消费里有一个转不动，就换另一个来拉。供给侧做的是去产能、去库存、去杠杆、降成本、补短板。用海外修路、建港的需求，把国内过剩的钢铁水泥消化掉。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.5 TikTok&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 2020 年 8 月，特朗普竞选集会被年轻用户用 TikTok 占座，真正到场的人很少，随后出台行政令要求剥离。中国商务部将「基于数据分析的个性化信息推送」列入限制出口技术目录，字节跳动无法直接出售算法。此后字节跳动做了德州本地存储、三叶草计划切割数据、设立美国数据安全公司并由外国投资委员会审核董事会，仍未结束。众议院推动立法，约 1.7 亿用户联系议员。特朗普再次当选后态度变化，与 Oracle 谈判运营权。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 当代大宗商品换成数据：不腐坏、易传输、达到规模即产生价值。中国数据立法在 2016–2017 年以安全、防外流为主，后来转向推动流通与开发利用。移民问题对中国不是主要矛盾，对西方国家则是选举政治的核心议题，贸易保护主义会再次抬头。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; TikTok 冲突的实质是数据作为新香料的控制权，不是单一的内容审查或青少年保护。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 中方卡住算法出口；字节跳动用数据放在美国本地、另设治理结构，换取继续运营；立法上从只防外流、死守数据，转向在安全前提下让数据能流通、能用。&lt;/p&gt;

&lt;h2 id=&quot;第三讲世界政治&quot;&gt;第三讲：世界政治&lt;/h2&gt;

&lt;p&gt;教材对应当代世界政治。地缘冲突对出口国来说，就是物流成本和价格竞争力。中国曾在两极夹缝中求生存。地区不稳定的根源是发展不足。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.1 克里米亚战争与俄乌冲突&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 19 世纪克里米亚战争：陆上强国争夺黑海，西诺普海战后力量失衡，英法不能接受黑海与地中海落入同一国家之手。恩格斯称之为「克里木战争」，并写成一场代价巨大的误会喜剧。2022 年俄乌冲突仍是同一套地缘结构，开战时外界估计数小时至两周结束，实际持续三年以上。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 冷战两极各自认为自己弱、对方强，中国处于夹缝。出口国最害怕航路绕行：物流成本上升，价格竞争力下降。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 对中国这种出口国来说，航路一绕，货就变贵。劝和促谈不是外交表演，是物流账。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 不按阵营站队。停火对出口有利，就按贸易和航路去推停火。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.2 冷战夹缝与尼日利亚绑架&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 1949 年「一边倒」之后，中苏有过蜜月期，朝鲜战争换来 156 项工程。赫鲁晓夫转而对美缓和后关系恶化，直至珍宝岛冲突；苏联核打击意向经美国小报泄露，中国只能转向另一极，随后有尼克松访华。越南战争结束后越南坐大，对越自卫反击战是为避免腹背受敌。尼日利亚博科圣地绑架女学生，国际舆论抬高赎金，绑架从补充兵员变成生意。特朗普邀请两名获救者访问白宫，约 200 名被绑者中只接见了两人。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 两极格局下，与一极决裂之后，生存选项只剩靠近另一极。人道主义干预会改变犯罪的激励结构。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 中国在冷战中不是始终与苏联结盟：跟一极决裂之后，生存选项只剩靠近另一极。尼日利亚这边，国际舆论把赎金抬高，绑架就从补充兵员变成生意。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 外交跟着主要威胁换依托对象。看待人道主义干预，先看它有没有把犯罪变成更赚钱的生意。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.3 红海危机、联合国与国产替代&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 胡塞武装攻击红海商船后，亚洲至欧洲航线改绕好望角，航程拉长、船舶不足。2008 年后中国长期不批准新船厂，近年重新放开；液化天然气运输船与韩国形成竞争。这是俄乌冲突后欧洲需要海运天然气带来的订单。联合国大会决议没有强制力，有强制力的是安理会。斯诺登披露「棱镜」后，中国推进国产替代，并对美光按网络安全法审查。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 地区冲突越来越频繁，一打往往以三年起算。非传统安全要求关键零部件能在国内找到替代。动荡的根仍是发展不足。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 红海一乱，意外赚钱的是造船和航运，因为船不够、气要海运。联合国大会发言没有强制力，真正有约束力的是安理会。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 把船造够。安全不能停在口号上，得有替代清单和审查。经济上仍然要把发展搞上去，动荡的根还是穷。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.4 中非贸易&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 非洲出口以矿产品与原油为主。1996 年非洲进口仍主要来自原宗主国；2010 年后中国成为非洲整体最大贸易伙伴。中国进口原料，出口机械与半成品，在当地完成组装，并建设厂房与交通。有媒体称中国维和是为石油；苏丹、南苏丹在进口结构中并不重要，主渠道是沙特、安哥拉，后来是俄罗斯。中国自 2016 年起是全球最大能源进口国，这一点不必否认。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 中非是互相依存的分工，不是殖民收租。接受讽刺报道的前提，往往已经接受了「中国特别依赖苏丹石油」这一不成立的事实。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 中非账目是矿油换机械半成品，不是殖民收租。苏丹石油在进口结构里并不重要，所以「维和为石油」站不住。只谈公道、不算账，公道也谈不清。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 用进口结构数据回应指控。在买矿买油之外，把装备、中间品和基础设施送出去。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.5 南北差距&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 1980 年代北方 GDP 占比约 45%，2019 年降至约 34%。煤、钢、焦炭产量占比上升，但利润薄，而且产能过剩；高增长的是计算机与手机。中关村从电脑集散地变成餐饮区，华强北还是电子集散地。长三角平原运输成本低，人口既是劳动力也是市场；北方资源型城市随矿枯萎。珠三角非户籍人口比例极高，社保出现「干活的地方补贴养老的地方」。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 不全是政策亏待北方。地理条件、资源依赖与官场向上负责叠在一起，企业被过度索取，年轻人流出。国家经济表现不取决于历史地位，取决于把收入做实的能力。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 南北差距有地理和产业结构上的必然。计算机产业从北京转到深圳，是因为名校牌子不再管用，工厂和市场必须待在一起。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 资源型地区很难复制一线城市那种靠户口吸人。课上的例子是把东部的资源和干部送到西部基层。&lt;/p&gt;

&lt;h2 id=&quot;第四讲当代资本主义&quot;&gt;第四讲：当代资本主义&lt;/h2&gt;

&lt;p&gt;教材对应当代资本主义。恩格斯预言的美国革命没有发生，不等于矛盾消失。当前是金融垄断资本说了算，虚拟经济压过实体。信用把贷款拆碎、转卖，最后谁也看不清风险在谁身上。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.1 美国未发生社会革命与香蕉垄断&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 1911 年克里夫兰海报把资本主义画成金字塔，顶端却有王室和东正教教堂——原版是给俄国人看的。恩格斯 1882 年看见欧洲贫民涌入美国，判断资本一边积聚、群众一边变穷，社会革命早晚会来。世界产业工人组织用扑克花色把「组织起来」藏进海报，革命仍未发生。当代资本主义改用香蕉讲垄断：香蕉极易腐烂，要让远处的人吃到新鲜的，就得把种植、船运和销售捏在同一家手里。联合果品公司因此控制了中美洲的种植园和政权，吉祥物沿用至今；直到 1980 年代末，东亚仍把香蕉当奢侈品。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 恩格斯的公式在当时说得通，美国却一次次靠历史机遇跨过了照理该爆的节点。寻常美国人几乎没有「阶级」这套意识，近年谈社会矛盾，更愿意说成文化战争。所以这一讲不再围着「为什么美国没革命」打转，要向前看资本后来长成了什么样。课本把今天的形态写成垄断资本主义：八九十年代新自由主义帮西方渡过滞胀之后，垄断不再限于一国、一个行业。香蕉公司是实体垄断的标本；课上真正要进入的，是更往后的形态——金融垄断资本，虚拟经济可能压过种香蕉、造房子这种实体，入口是信用。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 恩格斯预言落空，不等于矛盾消失。美国人把矛盾说成文化战争，也解释不了联合果品为什么能左右一个总统。谁控制了易坏商品的全链条，谁就有垄断。下一节用住房信贷把这件事接到 2008 年。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 看中国的金融和平台，先问它是不是把生产、流通、定价捏在同一手里，不要先用道德语言定性。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.2 住房信贷与 2008 年危机&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 课上用小明举例。他手头只有 5000，信用卡再给他 2000，能花的就变成 7000。那 2000 不是银行印的，是他单方面认定：未来的自己一定会还。所以信用是时间机器——把还没挣到的钱提前花掉。大学生没收入，校园贷照样肯借，是因为要通讯录：还不了就找家长，信用抵押的是社会关系，不只是工资。
买房也是同一台机器。首付给开发商，剩下的银行当场垫上，换走房契；你之后几十年慢慢还，还清之前房子不算你的，断供就被收回。银行的麻烦是：现金变成一张张卖不掉的房契，收多了就不敢再贷。1938 年罗斯福成立联邦国民抵押贷款协会（房利美），1970 年再加房地美，就是来买走这些房契、把现金还银行，让银行能继续放贷。两房的钱从哪来？把房贷打包成债券卖给市场。背后有国家信用，借钱便宜，投资人当成跟国债差不多的安全资产。华尔街靠买卖这些债券，把未来购房人还没还上的利息提前赚走，于是催两房多发、催银行多找人买房——包括本来买不起的人。银行觉得不要紧：他还不上，房子落我手里，房价还在涨。等房价不涨了，链条从中间断。2008 年先垮的是这些债券，随后透支买房的人还不上。国会卡住约 7000 亿美元救市，当年是大选年。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 教材对那场危机的概括，正好对上这条链：爆在虚拟经济（债券先垮），工具是衍生品（把房贷切碎转卖），原因是超前透支（把买不起的人也拉进来），并从发达国家蔓延。泡沫破了之后传到欧洲主权债务，就是下一节的希腊。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 买不起的房子，不建议硬买。硬买不是「先住上再慢慢还」，是把自己锁进这条已经把风险转卖掉的债务里——银行和两房的现金回来了，还钱的人还是你。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 个人不要拿未来收入，去赌一条自己看不清、别人已经转卖过的链条。政策上，救市要过国会和选举，速度会慢于危机本身。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.3 欧债危机与政治筹资&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 2008 年之后，热钱先避险、往回撤。靠借债过日子的国家，资金链最先断。国家借钱发的叫主权债。个人欠债可以找警察，公司欠债可以变卖资产；国家欠债不能派军队去讨——上一次这么干是一战后的德国，后面是纳粹。所以人们仍觉得主权债安全：中央政府可以印钞还债，通胀由本国老百姓扛。欧元区把这个前提拿掉了。欧元由欧洲央行发，希腊自己没有印钞权。希腊靠旅游，外面一紧，人先砍掉的就是出去玩。对美国，2008 年主要是金融危机；对希腊，直接变成实体经济危机，GDP 用了十几年才转正。欧洲有钱的政府和银行通过欧洲金融稳定基金借钱给它，同时要求砍教育、医保——借你应急，你就按应急过。2015 年民调 61% 不要布鲁塞尔的钱。民粹说夺回印钞权、用回本国货币，可那套货币外面没人认，连叫什么很多人都不知道。年轻人上街，体面人排队领面包。
同一节后半场讲美国政治怎么筹钱。希拉里卸任国务卿后给纽约大银行做演讲，一场约 22.5 万美元——银行买的不是课讲得好，是人。竞选募款晚宴：入场约 2800 美元，合影 5 万，同桌再加闭门会 10 万。特朗普被定罪后卖周边，一晚上筹几百万，像饭圈。看起来儿戏，图的是总统能任命终身制最高法院大法官。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 2008 年从华尔街传到欧元区，弱国没有印钞权，金融危机就变成实体经济危机，不是暂时风险，是结构问题。美国这边，流程上三权分立、看起来制衡；钱从晚宴和大法官任命里走，归根结底是金钱政治。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 不能印钞的「主权」债，并不主权。借来的纾困会要求你过苦日子；夺回本国货币，外面不认也没用。美国政治平等写在程序上，实际上还是靠诸多规避办法在运转。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 欧元区弱国救不了自己，只能接受紧缩或长期停滞。看美国政治，要看谁在晚宴上、谁能把法官送上终身席，不要只看集会和定罪周边。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.4 数字竞选与越有钱税率越低&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 社交媒体刚出现时，第一个吃到红利的政客是奥巴马。他在 Facebook 开主页，用群组功能：你和邻居都点了赞，就能看见彼此，再约到家里烧烤、聊政治。选举当天，竞选团队的邮件催不动人，熟人说「吃了这么多烧烤，今天不能让哥哥伤心」，就真会去排队。Facebook 联合创始人之一 Chris Hughes 辞职，全职进奥巴马的数字竞选团队。这套班底后来传给希拉里。2016 年希拉里翻车，课上说是过分相信数字团队对选情的抽象判断。2020 年反特朗普游行里，民众真正要说的是：请不要只把我们当作一个数字。2008 年金融危机把人标成信用分；疫情初期政策几乎没有反应，因为有些人死了比活着更划算。人在竞选里被标成可动员的粉丝，在信贷里被标成信用分，在平台里被标成可买卖的数据，连科研人员也会把自己活成论文数和 KPI。
 手机普及后，募款不必再办 2800 美元一场的晚宴。出不起 2800，可以捐 20 块。2016 年民主党初选：桑德斯这边大量是 200 美元以下的小额捐；希拉里这边大量一上来就打到 2700 美元——联邦法规定，个人每个选举周期给一位候选人的政治现金上限是 2700，初选一轮、两党对决再一轮，一个人最多 5400。上一节晚宴标价 2800，是 100 块场租加 2700 进竞选账户。钱主要花在买广告。OECD 国家里，美国参众两院议员平均年龄都是最大的。照理收入越高税率越高，美国实际税率在最有钱的那一段反而往下掉，低于社会平均水平。桑德斯主张对最富者征到 97.5%，只留 2.5% 给人花。大学生喜欢他，所以捐款额度小。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; Facebook 让奥巴马用烧烤把邻居叫出门投票，手机让桑德斯收得起二十块的捐款。募款的门路变了，大头仍然来自把 2700 美元上限用完的人。收入越高税率本该越高，最富的那一端税率反而更低，这就不合理。公司也可以搞员工持股，课本把这些写成资本主义的新变化；变化是有的，不等于它变成了另一种社会。不要用「已经有国企、有计划」来证明资本主义变质了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.5 马云外滩演讲与蚂蚁金服&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 2020 年 10 月 24 日外滩金融峰会，是马云比较高调、公开露面的最后一场。他说中国不需要巴塞尔协议那套风控，因为那套是给已经很发达的金融体系用的；银行放贷「对大不对小」，浙江满街高利贷广告，就是小企业借不到钱的土壤；P2P 没有数据和算法，不是互联网金融；监管的任务是管住风险，不是追求零风险。
 但当时蚂蚁金服马上要做可能是历史上规模最大的 A 股上市。挣钱方式是：小明要借 2000 块，花呗、借呗用支付宝上的消费和还款记录决定借不借；蚂蚁再把这些贷款打包成资产支持证券卖给市场，靠阿里的名头融资成本很低。钱进来再借给更多小明。上一节讲买房、发抵押债券，银行和评级是分开的；蚂蚁自己同时当银行、当评级，整条链路在监管之外，路径跟 2008 年那套高度相似。
 资本主义会自我调整，中国的战略表述也在变。2015 年提出「中国制造 2025」，2017 年中美交恶后不怎么提——喊出来等于告诉对方你要攻哪一块。千人计划，给回国的人戴帽子，等于把人勾出来。后来改口「国家治理体系和治理能力现代化」，不上这门课不一定知道在讲什么。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 演讲里正确的句子，不能覆盖监管套利的结构。别国在变，国内口号也从高调改成闷声。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 蚂蚁的问题不是「创新」两个字，是它把 2008 年那条链装进一家公司里，还隔离监管。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 监管按实质看：同时干了银行、证券化和评级的事，就按这三件事管。&lt;/p&gt;

&lt;h2 id=&quot;第五讲当代社会主义&quot;&gt;第五讲：当代社会主义&lt;/h2&gt;

&lt;p&gt;教材对应当代社会主义。东欧弯道超车依赖自我剥削。中国后来走出「有计划的市场经济」，不是一份无懈可击的答卷，而是高情商的历史博弈。城投结构中得益最大的，是从未直接露面的地方政府。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.1 自我剥削&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 大学生嘴里的「社会」多半是贬义：社会青年、社会新闻，塞不进财经、时政、体育、娱乐的，才丢进这一栏。恩格斯 1845 年写过一切人反对一切人的战争。圣西门那一套被称为空想社会主义，因为没有说出钱从哪来、工厂怎么转。
东欧要弯道超车，资本积累不在资本家手里，而在国家手里。资本主义原始积累可以对外殖民；没有殖民地，就只能从本国农民身上抽——农业集体化压低粮价，工业品卖得贵，工农业价格差把农村的剩余价值抽去喂重工业。这叫自我剥削。资本主义那一套循环是历史上慢慢长成的；这一套靠制度硬转过来，维护成本高，起点还低于马克思、恩格斯当年设想的「在最发达的资本主义之上再搞社会主义」。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 弯道超车不是一声令下就能完成。抽得越狠，工业起来得越快，农民和消费品会欠得越多。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 东欧没有殖民地可抽，只能从农民身上抽。评价成绩之前，先承认这笔成本。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 不要用道德优越感跳过机制：先问剩余价值从谁身上来、重工业吃掉了什么。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.2 厨房辩论与荷兰病&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 列宁的新经济政策相对温和：农业税改收现金、不直接收粮，允许一定市场自由经济。1928 年斯大林转向五年计划、农业集体化、重工业优先。这一套把资源集中到钢、煤、电、兵工厂，对第二次世界大战动员极为有效；战后民生方面却反应迟钝，价格不反映缺什么、剩什么，老百姓买生活用品排长队。太空竞赛前半段苏联领先，卫星先上天。1959 年尼克松访苏，在展览的美式厨房里辩论：尼克松展示洗碗机，意思是普通家庭日子更好；赫鲁晓夫只能回「你们资产阶级剥削妇女」——卫星有了，厨房没有。
俄国油气另说。资源太多不一定是福：出口石油天然气把汇率和工资顶高，制造业被挤掉，这叫荷兰病。谁掌握权力谁掌握资源，官僚主义跟着就来。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 战争动员能赢下战场，但赢不了厨房。消费品供给和政治合法性绑在一起：好日子进不了普通家庭，有卫星也没用。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 哪一套制度能把好日子送进普通家庭，哪一套就获得日常合法性。资源丰裕不等于治理能力也达标。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 不能用卫星、重工业和战争动员的成绩，替代对厨房、住房与价格信号的检验。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.3 第一个五年计划&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 芝加哥大学电线杆上同时贴着「你为什么应当成为社会主义者」和华人家庭招家教。今天的社会主义国家，共同记忆是曾经被殖民，并且跟宗主国做过更彻底的决裂。
中国第一个五年计划，苏联援助 156 项工程，成绩朴实：电站、钢铁、机床铺了底；比例同样失调：重工业过重，轻工业和农业跟不上。大炼钢铁本来说「抓中间带两头」——炼钢带动采矿和机械。结果人人炼「中间」，铁门铁锅回炉，主机没人做配套，因为配套写不成汇报、显不出政绩。文革结束后，有人要改快，有人认为计划只是执行得不好。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 神化一五，或一笔抹掉，都会把后面的改革说成突然变心，而不是从承认计划过错开始。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 一五不是神话也不是笑话。大炼钢铁说明：只抓能写进材料的指标，配套会被搞垮。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 改革从承认计划过错开始，而不是从全盘否定或全盘辩护开始。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.4 有计划的市场经济&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 1979 年陈云已经指出：苏联和中国的计划只有计划调节一条路；工厂没有利润概念，是「大少爷办经济」。调研队伍下去，批评停不下来，文件出不来——两边都要签字，谁也不愿先承认错误。邓小平晚上说，可以披头散发和大家见面：要的是改革态度先出去，不是无懈可击的文本。
家庭联产承包：土地仍是集体的，经营放到家庭，这个名字两边都能认。工厂完成计划任务之后可以自销、留利润发奖金，所有厂涌向生产自行车，钢材、橡胶先涨价，货币并未超发也会通胀——计划价和市场价两套同时存在。价格闯关，就是把这两套价格并成一套，让短缺和过剩自己显示出来，让市场自动调节。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 「有计划的市场经济」不是一次性最优解，是高情商的历史博弈：先确定方向，再边实践边改。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.5 城投与莘庄效应&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 一座被河分开的城市要修桥。政府不能直接发债——预算法卡住了。1994 年分税制以后，地方财权上交、事权留下，要搞建设就成立地方融资平台（城投），用政府信用向银行借，并开出更高利息才能拿到钱。表面三方都高兴：桥造起来了，银行收息，地方有 GDP、税收、地价上涨。
问谁获利最多。不是银行——银行还担着坏账。真正获利的是从未直接露面的地方政府，桥和地价的好处进了它的政绩，风险不记在它自己的账上。地铁一号线修到莘庄，沿线房价先涨，叫莘庄效应；第二座桥、第二条线带来的好处远低于第一座，因为能涨的已经涨过了。玩不下去时，城投债被打包装进理财产品，风险甩到商业银行和买理财的人身上。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 地方债乱局要让地方政府去改，因为动力在它这一侧。爱因斯坦 1949 年讨论过为何需要社会主义。内卷在相当程度上是资本主义教育制度训练出来的竞争方式。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 谁在赚钱可以争论，谁在买单通常很清楚。基础设施第一次修，带动最大；同样的项目再复制，效果会迅速变差。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 管住地方政府那些账外的债，而不是只盯银行账上的数字。个人买房要分清「第一条地铁」和「第二座桥」。&lt;/p&gt;

&lt;h2 id=&quot;第六讲当代社会问题&quot;&gt;第六讲：当代社会问题&lt;/h2&gt;

&lt;p&gt;教材对应当代社会问题。民生这块突出的困难，一般就说养老、医保、房价、教育和就业。只追孤立的经济增长，解决不了民生。人太多和太少可以同时成立。养老撑不住，先查金融制度怎么设计，别先归结成「人少了」。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.1 人太多还是太少&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 课上用体质指数作比喻。体重除以身高的平方，落在正常区间，就算身体大致健康。要是不管身体，只要求这个数字往下掉，最快的办法是截一条腿：身高不变，体重下降，指数立刻好看。再截一条，身高也变了，指数又会回升。身体已经坏了，表格上的数字却可以更漂亮。GDP 的算法也是这样。1820 年清朝的 GDP 还高于英国，人多、交易也多，鸦片战争照样打起来——这个指标不记录蒸汽机和海军在谁手里。按购买力平价去掉汇率因素，中国 2016 年已经是世界第一；课上问日常生活是更宽裕还是更紧，多数人说更紧。数字可以世界第一，居民日子不一定宽裕。
GDP 覆盖不到的，是养老、医保、住房、教育和就业。房地产业曾经被拿来推高这个数字。1998 年国务院还把住房叫「住宅业」，要求它成为新的经济增长点，那时候住房开始让居民自己买；2003 年定为国民经济支柱产业，因为它能带动上下游；2008 年文件改称「健康发展」，说明当时已经不健康，对策仍是减税、放松信贷，让居民入市。人口结构同样被指标牵着走。计划生育不是形成现在这个年龄结构的唯一原因，但压低了本该在八十年代出现的第二轮生育高峰，老龄化加快了。2000 年 65 岁以上人口占 7%，2050 年预计到 27.9%。十几年前小区抵制养老机构，觉得会压房价；现在同类设施反而能撑房价。同一类设施，过去量的是房价，现在量的是谁来照料老人。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 人太多和太少可以同时成立，因为问的不是同一件事。总量、年龄结构、地区分布和技能结构可以同时恶化。当年为了增长提出的说法，事后看有不少并不合适。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; GDP 和购买力平价都可以显示为世界第一，居民日子不一定宽裕。住房被当成增长工具来推，养老机构曾被当成房价的对立面来排斥，都是数字在支配决策。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 评估政策先看居民日子过得怎样，别只盯 GDP、入市规模和房价。措辞比内容更响亮时，方向往往已经偏了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.2 二胎政策、高考与欧洲难民&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 2016 年全面二孩，官方估计总和生育率会升到 1.8。五年后只有 1.3，低于 1.5 的低生育率界限。2016 年、2017 年出生人口一度增加，是此前被政策卡住、推迟生育的家庭集中补偿。限制取消之后才看得清楚：生育率低不只是因为禁令，而是住房、教育和就业叠在一起。三孩政策主要对已经有两个孩子的家庭有意义——第一个孩子成本最高，衣服可以接着用，后面的边际成本下降，所以全国能多出来的人有限。收入越高，生育率往往越低，上海已经低于韩国；相对越往西部，生育率越高。东北是例外，年轻人持续往外走。2022 年人口首次负增长，2023 年继续往下，2024 年因农历龙年略有回升，课上预期 2025 年还会再降。发几万元补贴改变不了这个趋势。年轻人要是觉得现在生活已经太重，就不会选择生育。
一项政策单独扳不动的，不止是生育。叙利亚内战之后，难民进入欧洲。德国长期缺年轻劳动力，装一台空调室外机贵得离谱，默克尔开放边境，既有人道主义考量，也有补劳动力的需要。冲击首先落到英国：英国留着本国签证制度和英镑，在欧盟内部自我意识最强。卡梅伦 2016 年举行公投，预期留欧一方会赢，结果是脱欧。高考不搞全国统一录取，同样不是命题机构随便定的。1994 年分税制以后，教育投入主要来自地方，大约占 GDP 的 4%。教育部直属高校的经费来自教育部，市属高校的经费来自市政府。上海把更多钱投进本市所属高校，因为部属高校并不靠地方政府拨款。地方用纳税人的钱办大学，招生自然偏向本地生源。除非中央财政承担全国高校的经费，地区差异不会消失。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 生育、难民和高考看起来不是一类问题。共同点是：结构已经卡住，却把政策当成可以单独扳动的开关；开关打开之后，下面仍是住房、就业、财政和社会信任。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 放开二孩不会自动把生育率拉上去。高考分区录取也不是一句公平就能抹平。欧洲开放边境是为了补劳动力，同时首先冲击了最在意边界的社会。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 不要用一次性现金补贴代替住房、教育和就业方面的改革。承认高考分区录取是财政和户籍结构，别先说成道德问题。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.3 美国商业医保与惠民保&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 课上讲一个朋友的账单。他家里人在阿拉巴马州食物中毒，叫救护车、住一晚、打点滴，没买保险，账单大约 5 万美元。写信给联邦众议员之后，医院把金额随便减到大约 1 万美元——有些患者根本不付款，医院转而向能付款的人收高价。美国药品价格按企业能负担的水平定，因为企业是药品的主要买家；个人如果不通过雇主买保险，就按这个价格自己看病。失业就失去雇主提供的保险，生病也不敢看。大学毕业生面对的一边是大企业提供的优厚保险，一边是初创企业现金收入差不多、前三年不提供保险，多数人选前者。奥巴马医改规定雇员超过 30 人的企业必须提供保险，对创新企业是一笔很重的固定成本。这一讲的内容早于电视剧《斩杀线》。
商业医疗保险按病史定价，资金用得比较有效率，但会划出可承保和不可承保的人群，穷人可能因为没有保险而得不到救治。政府设立公共资金池覆盖全体居民，实现了公平，钱却消耗极快——参保者觉得交过费了，就倾向于能用尽用，轻症也进医院。各国都在这两极之间折中，美国几乎把任务全部交给保险公司。中国的基本医疗保险属于公共资金池。城乡居民补充医疗保险（惠民保）保费大约 115 元，最高赔付大约 230 万元，公交车广告一度铺得很密，说明基本医疗保险的钱已经紧了。家庭医生、社区卫生中心和中医药不是取代社会保险，而是另开一条支出渠道，让一部分费用由社区承担，减少对医院资金池的支取。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 谁付钱，决定了谁敢看病、人才往哪流、医院的钱消耗有多快。全部交给市场会造成人道灾难，也会把劳动者赶进大公司；全部交给公共体系，效率会下降。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 医保要看的不是费用高低，是谁被划出可承保范围，以及医院的钱有没有被社区分走。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 在社会保险之上增加社会服务，用社区支出替代一部分住院支出。个人选工作时，把医疗保险当成薪酬的一部分。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.4 养老的金融堵点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 问题不在「人少了所以养不起」。传统社会里，养老是家庭的责任；进入工业时代，企业为缓和劳资矛盾，承担一部分养老；大萧条之后，这笔责任才转给国家。中国建立相关制度比较晚。1984 年国有企业实行自负盈亏，原先没有利润核算的工厂迅速倒闭，职工被推向社会，国家才被迫建立职工养老保险；1997 年才设立个人账户。制度建立过晚，上一轮劳动力创造的财富，可能撑不住他们退休后的生活。养老金待遇随经济增长上调，领取人数不断增加，资金消耗加快。最直接的办法是推迟领取年龄：日本已延至 70 岁，德国自 2012 年起每 12 年将领取年龄延长一岁，法国稍一推动就引发大规模抗议。
中国养老保险分三层。第一层是基本养老保险，也就是社会保险里的养老保险，全国企业都得缴。第二层是企业年金或职业年金。第三层是个人养老金：每年 1.2 万元可以税前扣除，限额就卡在这里，再高就变成避税工具；投资收益暂不征税，领取时税率 3%，到了规定年龄才能取。年轻的低收入者不会把相当于一个月工资的钱锁到退休。真正从中获益的，是临近退休、恰好可以降低一档税率、家里本来就有余钱的人。
同一套金融逻辑延伸到住房市场。养老保险资金紧张的时候，地方政府仍依赖土地出让收入。针对房企的负债约束（「三道红线」）实施后，房价回落，但跌得太快。2022 年前 8 个月，全国土地出让收入同比下降 28.5%，地方财政立刻紧张。随后出台金融支持、取消限购，并要求银行对非国有房企的贷款增速不低于本行房地产贷款整体增速，而市场上能贷的非国有房企已经所剩无几。5 月 17 日的政策是目前最大规模的取消限购再配上金融刺激，仍然没能挡住下跌——新一代宁可买电子游戏里的虚拟物品。指望靠青年买房给地方政府补财政收入，对这一代已经不好使了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 人口减少是基础。首先出现缺口的是制度：账户设立过晚、税收优惠对不上年轻人、领取年龄与房价绑在同一套地方财政之上。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 养老难以为继，卡住的是账户如何设立、税收如何优惠、何时可以领取，而不是一句「人少了」。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 推迟领取、把三层制度做实，不要再指望新一轮取消限购能够促使青年重新购房。个人不要把个人养老金理解为年轻人的普遍福利，它更接近临近退休、收入较高的人用来降低税负的工具。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.5 租房、组屋与职业教育&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 就算不买房，也得住。一线城市租赁住房供不应求，美国主要大城市正好相反。承租人觉得租金贵，出租人觉得租金低，因为比较的基数不同：前者用工资衡量租金，后者用房价衡量租金。双方都觉得价格合理时，房价才回到收入能撑住的区间。中国住房自有率大约 80%，资金被锁在住房里。缺乏安全感的社会更愿意持有大型资产，发达国家的住房自有率普遍更低。新加坡是例外：自有率极高，靠公共组屋。土地征收价格锁定在 1973 年《土地征用法》通过时的水平，此后不再上调；建屋发展局负责规划、建设和分配，不营利，靠发行债券融资；每年公布可供认购的地块，认购充分才开工。房价中位数大约是家庭年收入的 4.7 倍，相当于五年收入能买下来，跟用三十年收入负担住房不是一个量级。
中国市场化购房大约占 72%，保障性租赁住房大约占 3%。1994 年分税制以后，地方财政紧张，长期推商品房，因为回款更快，保障性住房被忽视。5 月 17 日的政策提出，把商品房去库存和保障性租赁住房结合起来，由政府收购后转为保障房，央行向地方提供专项资金。用意是减少库存稳住房价，同时让居民不必只能靠买商品房解决居住问题。
资金被锁在住房里，人的出路又被学历身份卡住。曹德旺创办福耀科技大学，科研和工程训练双轨，目标是毕业生能被企业雇用，可雇佣性比现有高校更贴近社会需求。职业教育能不能振兴，取决于身份筛选还在不在：通道打开之后，人们也不一定走这条路。人口减少之后，学校可能变成学生选学校，而不是学校选学生。社会信任的危机不能靠盲目相信来解决，得把社会怎么转讲清楚。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 住房问题还会持续很久，需要稳住的是居住，别继续把社会资金锁在商品房里。公平要求把保障性住房补回来。教育同样如此，改校名解决不了身份筛选。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 承租人和出租人争的不是同一个数字。住房问题的核心是保障性供给不足，不是再去刺激商品房。职业教育该改的是身份，不是招牌。&lt;/p&gt;

&lt;h2 id=&quot;第七讲当代文化&quot;&gt;第七讲：当代文化&lt;/h2&gt;

&lt;p&gt;教材对应当代世界文化。文化受物质生产方式制约。中国文化常被自我压缩为农耕时代的符号。内核从古至今是「中国制造」背后的劳动与制造业。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.1 工业与军事也是文化&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 维瓦尔第在世时并不流行，穷到想晋见哈布斯堡皇帝、进宫廷当乐师，也没能如愿。20 世纪英国迪卡唱片公司有留声机却缺曲目，把《四季》灌成唱片来卖，才让它成为古典音乐里的明星。马克思在 1859 年《政治经济学批判》中指出：物质生活的生产方式制约着整个社会生活、政治生活和精神生活的过程。被问到「中国文化」时，人们想到节庆、饮食、戏曲、山水、汉字，几乎全是 19 世纪以前的符号。舞龙舞狮出现在纽约唐人街，李小龙演的咏春成为对外名片，是因为广东籍移民出国较早，区域习俗被外界当成全国文化，国内的自我认知也随着大众传媒延续这一印象。
劳斯莱斯的宣传片前三分之一展示燃气轮机，工艺复杂到能产生美感；后三分之一说的是，这些产品只供应美国、日本、韩国、意大利海军。英国人把舰船视为文化的一部分，西方国家真正互相约束的是军事工业，而不是口号里的价值观。我们想到中国文化时往往只剩田园题材的短视频，课上称之为「自我阉割」——历史太久，还没把工业和军事算进文化，就已经把它们排除在外了。足球被算作文化，是因为它能带动经济，成为结构调整的一部分。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 「文化」常被用作灵魂与号角，使用时却脱离实质，只指向农耕时代的道德与美感。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 英国人把舰船、燃气轮机算进文化；我们一问中国文化，往往只剩节庆、山水和田园短视频。工艺、媒介和生产水平都应算进文化，工业和军事同样如此。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 停止只用农耕符号回答「什么是中国文化」。能够被生产、被出口、被海军使用的器物，也应写入文化清单。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.2 神话题材与韩国流行文化&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 迪士尼早期的成功作品同样大量借用已有故事。韩国流行文化本身也不是凭空产生：音乐吸收美国嘻哈，造型借鉴日本视觉系，再叠加香港流行文化。朝鲜战争时期，美国人在当地组成三人女子组合为士兵演唱民谣，战后带回拉斯维加斯加以包装；二十世纪八九十年代韩国才形成自己的产业。
2014 年萨德事件：美国要在韩国部署导弹防御系统，中方认为威胁地缘安全，于是有了「限韩令」的文件，市场一收缩，韩国就转而全力开拓美国。此前几轮没能成功，2017 年前后防弹少年团、Blackpink 进入美国主流市场。防弹少年团七人组合可占韩国 GDP 约 0.3%，大韩航空约占 0.7%。朴槿惠时期中韩关系尚可，2014 年以后裂痕扩大，西方政要会见韩国同僚往往要先听几首韩国流行歌曲。文化产品是商品，背后是工艺和产业；传播平台被占据之后，再对抗文化霸权会非常困难。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 对抗文化霸权只有一种办法：把自己的作品做好。多样化才能催生具有穿透力的产品。不要用「是否足够原创」衡量产业。要看作品能不能进入他人的市场，以及政治冲突会不会反过来束缚文化产业。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.3 劳动与制造业&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 20 世纪与 21 世纪之交，全球五大唱片公司掌握实体唱片的分销。台湾流行音乐长期依靠信息传递的时差：购买海外已经验证成功的歌曲，填入中文歌词，F4 与早期蔡依林都走这条路，周杰伦是例外。数字下载瓦解实体发行网络之后，五大公司覆盖不到的空隙中生长出本土市场：许嵩面向大学生，凤凰传奇面向城乡长途客运中的听众，TFBOYS 采取日韩偶像培养模式。近 8 亿数字音乐用户使翻唱从最便捷的做法变为缺乏原创的标志，原创作品才成为主流。这些从非主流市场兴起的歌手要进主流视野，最有效的途径是登上春节联欢晚会；粉丝群体的区隔也很严重，三人的组合可以形成数学意义上的多种排列。
郑和下西洋的船只与欧洲商船无法比较大小，因为目的不同：前者带有外交与朝贡通商的属性，后者是商业经销。15、16 世纪中国能够出口的是瓷器、茶叶和丝绸。西式盘面上描绘的是窑厂的烧造过程，出售的是遥远的意象——距离日常生活越远，越能卖出高价。当时丝绸只产于长江三角洲，《御制耕织图》记载二十余道工序，往往需要全村协作，课上称之为「十六世纪的光刻机」。当出口利润过于丰厚时，没有人愿意远航探险。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 当出口利润过于丰厚时，没有人愿意远航。瓷器、茶叶、丝绸能够卖出他人无法企及的价格，外界才把中国看成另一种文明。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 15、16 世纪能够出口的是瓷器、茶叶和丝绸，出售的是他人无法复制的制造技术。文化内核自古至今是同一件事：「中国制造」背后的劳动和制造业，符号是事后贴上去的。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 先保住能够被定价的制造能力，再谈论符号输出。流行音乐也说明这一点：市场足够大时，原创才会成为主流，不是先有情怀再有市场。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.4 「没文化」与中国风的技术条件&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 青花瓷最初并不是卖给中国人的。中国传统审美是单色釉：越窑青瓷、钧窑紫釉、磁州窑黑白、哥窑开片。伊斯兰世界不能使用金银器又需要炫耀财富，向景德镇下订单，先要求书写阿拉伯文，工匠不识阿拉伯文、屡次写错，后来改成几何纹样。景德镇有高岭土，龙窑两次烧成，成品率低到可以与芯片类比，因而昂贵。华盛顿在战争期间仍要从中国订购青白瓷茶具，以维持下午茶的礼仪；欧洲人看到伊斯兰世界使用这类器物，也跟随订购同一套亭台楼阁图案。唐三彩马从殉葬品变成电视机顶上的摆设——符号更换了场景，劳动过程却被遗忘。
所谓中国传统音乐，技术上就是宫、商、角、徵、羽，对应今天七声音阶中减去 si 与 fa。《茉莉花》二者皆无，听起来才像「中国」；《樱花》大量使用 C，且 C 是根音，风格立刻变成另一套。加入大量 C 与 F，创造性转化就变成另一套调式。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 「没文化」常常是只看文物，不看劳动过程。只消费符号、不追究技艺，眼界会很浅。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 中国风首先是技术约束，其次才是审美标签。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 创造性转化的前提是先理解技艺，再谈论传承。不要把外销订单、殉葬品和日用器皿，直接当成「自古以来的民族审美」。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.5 《神女劈观》与教育意义&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 2010 年前后是电视媒介的分界。《亮剑》《士兵突击》仍能找到大多数人愿意收看的故事，媒介仍是覆盖全民的电视，拍摄的是最大公约数。移动电话普及后，电视剧转向服务职业女性，情节趋于轻快，沉重的现实主义难以被接受；中国电影票房约七成由女性贡献，男性观众连电影也不常看，战争片的男女比例才接近平衡。后来电视剧成为老年人休闲时的背景声音，电视剧质量无人检验，才出现情节荒诞的抗战题材剧——观众缺席时，任何荒诞都可以播出。
1990 年代有关部门扶持动画，经费自上而下拨付，总要求作品具有教育意义。主讲人读研究生时在电视上看到《喜羊羊与灰太狼》，判断它能够走远，正因为它完全没有教育意义，只提供娱乐。资金随后进入这一行业，先有《西游记之大圣归来》《哪吒之魔童降世》，再到米哈游在那个冬天推出的作品。《神女劈观》的成功在于把故事做成可以反复传唱的内容，中国风只是辅助元素。二次元游戏已经与日本动画、韩国电视剧并称为东亚流行文化的三个门类。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 社会主义先进文化也必须找到为之付费的人，如果创作时先想着教育别人、不允许任何负面呈现，立体的故事就做不完整。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 《喜羊羊与灰太狼》能够走远，正因为没有教育意义；《神女劈观》做对的是可以反复传唱，中国风格只是辅助。具有教育意义，并不是作品走远的必要条件。&lt;/p&gt;

&lt;h2 id=&quot;第八讲当代生态&quot;&gt;第八讲：当代生态&lt;/h2&gt;

&lt;p&gt;教材对应当代世界生态。把地球当作母亲来拯救，解决不了问题。环保能推得动，往往是因为政府、企业与居民三方同时获益。耕地、塑料与电力，全是中央与地方的博弈以及定价问题。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.1 红帽子与生产方式&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 哥伦布 1492 年「发现」美洲之前，亚洲人已经走过白令陆桥。冰盖在大约 25000 到 15000 年前融化出一条通道，克洛维斯矛头沿途分布；南美洲有些矛头比北美洲更早，说明还有人走海路。新旧大陆的动物圈相互隔绝：欧亚有牛、马、骡、鸡、狗、猪，美洲最接近的是羊驼，难以驯化，没有可以当作运输工具的畜力。美洲有玉米、土豆、花生、甘薯，能量密度高、对降水要求不高，足以供养大量人口，阿兹特克、玛雅、印加才能堆起那些石砌建筑。1492 年打破这种互相隔绝，交换的不仅有物种，也有病原体。
蕾切尔·卡森《寂静的春天》批评DDT。这种杀虫剂首先是太平洋战场上的军方产物：美军登岛前必须灭蚊，否则疟疾、黄热病会比日军更早造成减员。卡森指出其效力过强，鸟类也跟着死，春天不再有声音。在美国，攻击左翼知识分子最恶毒的办法，是指责对方为共产主义者。早期环保运动把地球当作母亲、拥抱树木，错过了真正的焦点：资本主义生产方式。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 唤醒意识不够，必须更换技术。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 环境问题首先是工业如何生产的问题，不是把地球称作母亲就能解决。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 把争论拉回技术、成本与责任分配，不要让政治帽子替代政策辩论。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.2 臭氧成功与碳减排困难&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 臭氧层空洞能够治理成功，依靠的是停止使用氟利昂、改用无氟冰箱。政府需要姿态，企业需要加速产品换代——原来冰箱可以使用五到八年，舆论称地球母亲濒临危险、问题出在家中的冰箱，新款价格并未高出许多，居民的道德负担不重，三方同时获益。京都议定书给予发展中国家大约 15 年窗口，发达国家在 2008 年至 2012 年要在 1990 年基础上平均减少 5.2%排放；按国家计算，中国排放总量第一、人均不高；历史排放主要在美国和英国。入世之后，基础设施与世界工厂把中国的排放曲线陡然拉高，不等于这两百年的历史责任可以不计。
《联合国气候变化框架公约》写明共有但有区别的责任：发达国家要在全经济领域减排，发展中国家在 2030 年之前首先管理发电与二氧化碳，另有每年 1000 亿美元气候基金。碳边境调节机制于 2023 年在欧盟落地；环境保护问题就是贸易问题，贸易问题就是发展权归属问题。疫情之后，第二十八次气候大会把「逐步淘汰化石燃料」改成「逐步减少未经减排处理的化石燃料」，目标从 2030 年推迟到 2050 年。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 可持续发展真正关键的仍是发展。不发展、只谈环保，无法走通。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 臭氧问题能够解决，是因为三方同时获益；碳减排难以推进，是因为减碳直接限制发展权，并被做成贸易壁垒。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 承担力所能及的责任，同时要求发达国家承担更多。把碳边境税按贸易措施来应对，而不是按道德课来接受。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.3 洋垃圾与永久基本农田&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 2017 年全球塑料产量 3.48 亿吨，有效回收不到 10%。塑料最大的用途是包装，是 20 世纪才出现的人造物。2018 年中国停止进口所谓洋垃圾；此前每年进口约 730 万吨，占世界塑料垃圾的 51%。原因不是道德上的自我贬损：国内塑料原料不足，得把垃圾再生成原料，撑住大约 200 亿美元的塑料出口。美国 2016 年至 2017 年回收的垃圾中，大约三分之一出口，其中一半运往中国。塑料得先按材质人工分拣，机器无法完成，只有劳动力价格较低的地方才承担得起；洗净、熔融重塑、拉丝切粒，再卖给本地工厂。纪录片《塑料王国》拍摄山东整村分拣，影片上映的第二年政策就出台。中国停止进口之后，欧美港口堆积，找不到去处。
永久基本农田的划定用了九年。中央要求种植水稻、小麦、玉米，地方希望耕地转为建设用地，农民愿意种植阳光玫瑰而不是口粮——国家按保护价收购粮食，不足以构成工资。1981 年就提出耕地保护，因为刚完成家庭联产承包，有人把土地用于盖房。中国户均耕地约 7.46 亩，加拿大约 4500 亩，美国约 2550 亩，日本约 48 亩、韩国约 23 亩。人口进城后土地荒废，供销社改为土地托管，把土地集中起来代为耕种，收益按年分配给仍持有地权的人。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 生态安全的任何一项都是艰巨而持久的工程。画出一张红线，不等于事情已经完成。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 进口洋垃圾是原料与劳动力价格决定的产业，不是道德失败。耕地保护是中央、地方、农民三方目标不一致。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 用制度约束三方博弈：禁止进口洋垃圾得同时解决原料替代；保护耕地得解决由谁耕种、种什么才能长久。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.4 电力的不可能三角&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 电力无法同时做到安全、廉价与清洁。火力发电经济且相对稳定，但不清洁；风光发电成本已经降低，但不稳定，对电网冲击大；第四代核能相对清洁安全，但不经济。减排得抓住工厂和数据中心这一端，居民用电永远难以穷尽。数据中心 2020 年用电已经同比增加 28%，当时还没有大规模生成式人工智能。「东数西算」的安排是：西部宁夏、甘肃、内蒙古、贵州用可再生能源处理可以等待的计算；金融、远程医疗对延迟极为敏感，必须留在东部京津冀、长三角、粤港澳、成渝。特斯拉致信四川省政府要求供电，电力不经过市场交易就不透明。2022 年浙江工商业收到的偏差电费上涨数十倍：上半年出口赶订单把电价抬高，账单事后才到达，省政府希望配电企业承担，企业向上级投诉，最终没有下文。
2021 年东北停电：全球经济复苏叠加澳大利亚煤炭风波，煤价高，火力发电设有价格上限，电厂亏损就停止发电。解法类似价格闯关：扩大火电价格浮动区间，工业用电取消上限；山东、江苏、浙江、广东的工厂自行安装光伏。可再生能源兴起之后又陷入恶性竞争，企业无法退出——背后是地方国有资本和地方政府融资平台，退出就被当成国有资产流失，即使亏损也不允许离开。光伏必须配置稳定电源，方便、不挑地点、输出灵活的仍是火电。2022 年政策改变表述，比较委婉的说法是「支撑性电源」，广东当年核准六个火电站。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 电力是否可靠，取决于电网和电价，而不是口号。一个解决方案会带出下一个问题。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 清洁电力无法单独成立。价格上限造成停电，打开上限造成光伏过热，过热之后又必须为火电保留位置。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 像价格闯关一样让真实供需显现出来，让用户自己寻找替代；同时切实为火电保留位置，不要用清洁口号把它抹掉。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.5 世博会与科技议程&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 世博会本应设置科技议程。1893 年芝加哥要证明中西部也有文化，法国人为博览会建造埃菲尔铁塔，美国人请费里斯做一个比它更高、更好玩的装置，就是摩天轮，当时一节车厢可以乘坐 20 人。1900 年巴黎的核心展项是电；1958 年布鲁塞尔是原子塔。非西方国家长期带去的是手工艺。茅台摔瓶获奖的故事，除了茅台自己陈述，没有其他史料。2010 年上海世博会，英国馆是种子圣殿，排队四五小时进去观看一排玻璃种子；中国馆强调文化自信，没有科技议程。直到 2010 年，中方还没意识到这种展会是设置话语权的机会。&lt;/p&gt;

&lt;h2 id=&quot;第九讲当代科技&quot;&gt;第九讲：当代科技&lt;/h2&gt;

&lt;p&gt;教材对应当代科学技术。科学技术有两重性。「卡脖子」看着是技术，底下其实是风险谁来担、失败怎么追责。国家角色该有进有退，主动权要交回企业。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9.1 从歼 5 到 C919&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 苏联解体后，俄罗斯仍能出口石油与军火。美国购买超音速反舰导弹拆开研究：苏联在海战中处于下风，用岸上导弹使对方难以靠近，美国人发现自己拦截不住。朝鲜买不起装备就雇工程师，把导弹这一长项做强。中国九十年代边境贸易购入 T-80U，参照制成 90 式主战坦克。歼 5 对应米格 15、歼 7 对应米格 21，不能说毫无关系，只能说一模一样。
民用航空这边，2020 年美国商务部产业与安全局把「军事最终用户」从与军方直接相关，扩大到可转军用的物项一律不得出口。供应商反复询问之后，对方公布实体清单：58 家中国实体中约一半属于航空航天。中国商用飞机有限责任公司整体不在清单上，上海飞机制造有限公司在列——即便在最窄的环节里，仍有可以继续交易的余地，航空发动机仍是制造业中最难攻克的部分。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 仿制、引进、自主并不是一级一级升上去。现在不能所有问题都靠咬紧牙关硬撑，民用航空的账也必须核算。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 真正被卡住的，往往是既能民用又能转军用的那一段。清单针对的是供应链上的位置，而不只是军工招牌。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9.2 淮南、星际之门与芯片逆差&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 淮南是煤炭城市，产业结构过于单一，当地投入 100 亿元并划出 3200 亩土地建设动漫产业园区，资金耗尽而园区未能建成。顾桥矿 2003 年立项、2007 年投产，为亚洲最大煤矿之一，工作面配备无人设备；地面塌陷，农田变为湖泊，科学技术用上了，有些代价事先就知道、也必须付出，岗位被无人设备取代。安徽理工大学设有机械、土木、地质等专业，本科读较高层次高校的毕业生几乎不回乡，回去的多是教师、医生、公务员——没有高技术产业落地。
「星际之门」把算力、能源、资本叠在一个热门词汇上。热门词汇可以没有电厂，电厂不能没有燃料和电网。贸易图上中国对美国是顺差，对日本、韩国和中国台湾是逆差，主要是芯片。2020 年中国大陆集成电路销售收入 8848 亿元，进口额是原油的两倍。把第三次科技革命只称为电力革命并不准确，信息革命的标志是计算机加上数控机床，老师傅靠手艺拉开的差距从此被机器抹平。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 科学技术是第一生产力，负面作用也越来越明显。新一轮产业必须抓住创新，但创新不能脱离电厂和制度。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 资源型城市用文化旅游热词代替产业升级会失败。芯片进口比原油还多，说明信息革命之后，贸易账已经反过来了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 淮南那种用动漫园区代替产业升级的路走不通。规划算力必须同时规划电厂、燃料和电网。科研体制和社会制度要一起改，不能只改口号。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9.3 弘芯与放权到省&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 武汉临空港引进弘芯，承诺 14 纳米、7 纳米和先进封装。2019 年原台积电首席技术官蒋尚义出任首席执行官，同年 12 月阿斯麦光刻机以 5.8 亿元进场，后来抵押在银行蒙尘。承诺投资 1280 亿元，到位仅二三十亿元；持股九成的北京公司，董事长不持股，经理和监事对分股权，打算用少量资金撬动国有资本。交货则是到广东另一家公司购买后更换包装。大楼造起来后农民工讨薪，国有资本下场收购残局，2021 年春节后全部停工。
863 计划「稳住一头、放开一片」，集成电路每年只给四五亿元，不够。当时可能认为半导体可以交给市场，因为美国也是 IBM、英特尔先做起来的。2012 年把项目审批权下放到省，各地迎合政绩，烂尾不止武汉一处。新能源汽车能够兴起，是顶层设计、市场、产业链、地方竞争和企业试错共同作用的结果。黄仁勋最初服务的是游戏显卡，实时渲染要求高，当时不会被政策写成基础研究；提法从「核心技术卡脖子」改成「高水平科技自立自强」，从被动挨打变成自己决定节奏。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 科技创新若没有制度创新，两个轮子转不起来。放权不等于把风险交给懂行的人，也可能是交给要政绩的人。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 半导体失败首先是制度失败：谁承担风险、失败如何追责没有讲清楚，主动权没有在企业手里。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 风险与追责先写进制度，主动权交回企业，国家负责整体效能和人才培养。不要用「美国也是市场做起来的」来论证地方政府可以充当半导体创业者。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9.4 合资车与股比放开&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 上汽大众把德方持股比例压在 39%，德国政要长期要求放松。2014 年高铁要出海，加上 2015、2016 年中资收购库卡，2018 年股比限制分三阶段取消：新能源汽车、商用车、乘用车。合资的黄金年代却一同过去。上汽通用在上海生产凯迪拉克、别克、雪佛兰，对应高、中、低端。早期中方无法参与研发，1997 年成立泛亚汽车技术中心，双方各占 50%；上汽拿成果反哺自主品牌，通用并不乐意——等于用自己的钱培养竞争对手。最大分歧是雪佛兰：通用要它成为《速度与激情》里的主角，上汽坚持让它担任配角，中国卖不出那种高端跑车。
特斯拉能够进入，也是因为股比放开。2016 年它仍在亏损，赛博皮卡几乎无人购买；2020 年上海工厂刚开始量产时，特斯拉一年 20 万辆产出，通用近 300 万辆、福特 230 万辆，特斯拉市值却超过通用与福特之和，投资人买的是 Model 3 所代表的中低端未来。&lt;/p&gt;

&lt;p&gt;电动车出海带动滚装船：车辆更重、电池位置不同，停靠欧洲港口还得符合环保标准，船舶要重新设计。欧洲要征收反补贴税，法国、荷兰最积极——本国品牌已经竞争失败；德国第一轮赞成、第二轮反对，因为国内仍有中国供应链的利润反哺。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 合资模式最好的那段日子，与股比限制一起结束了。双方所看的市场已经不是同一个。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 限制外资持股，换来的是产量和品牌定位的妥协，不是技术主权。资本市场给出的是对未来的定价，不是当前卖了多少辆。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;应对：&lt;/strong&gt; 外资可以独资进入，电动车向外出口。观察欧洲关税时，要看对方国内是否还绑着中国供应链的利益，而不是只看保护主义口号。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9.5 电池与锂三角&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 宁德时代与比亚迪。2020 年宁德时代在国内电动车装机量超过一半，全球第一；2023 年国内份额更高，全球第二变成了比亚迪。早期给日本做锂电池代工，环境代价高，产线转到中国，新能源科技有限公司由此诞生。2005 年被日本东电化收购；四年后电动车补贴出台。2011 年再办宁德时代新能源科技股份有限公司，英文字母 C 代表中国，这次不再出售。2018 年在上海证券交易所上市，市值超过 8500 亿元。三元材料续航一度胜过磷酸铁锂，低温下磷酸铁锂更差；顾客口头强调安全，实际选择的是价格和续航。钴约 60% 在刚果，价格不确定。补贴一撤，三元立刻失去竞争力。
电池薄弱环节在锂：中段制造已经掌握，矿藏在玻利维亚、阿根廷北部、智利北部构成的锂三角。宁德时代只剩下冒险一途：从事基础科研、抑制锂价波动、到海外取得矿权，再避险就难以为继。&lt;/p&gt;

&lt;p&gt;美国《通胀削减法案》名义上减轻通胀，内容是本土电池产业政策。芯片方面，先进封装成了被卡住之后仍可选择的路径；设计、封装测试、制造这几年都在增长，但图形处理器当初服务的是电子游戏，不以企业为主体就会看错市场。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 所谓新三样里最能盈利的电池，上游仍然受制于人。下游已经进入世界市场，上游矿藏还在他人手里。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 电池竞争已经从补贴和材料路线，转到锂矿与海外规则。&lt;/p&gt;

&lt;h2 id=&quot;第十讲人民币&quot;&gt;第十讲：人民币&lt;/h2&gt;

&lt;p&gt;人民币还不是国际货币，因为它被世界信任的时间太短。想要国际化的好处，就要承担相应风险。存量时代的精神面貌，主讲人定义为浪漫。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10.1 银本位到第一套人民币&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 马克思指出，世界市场上通行的是金银双重价值尺度。明代以来实行银本位，1493 年至 1932 年全球所产白银约 30% 在中国作为货币使用。1910 年清朝还印过统一银元，第二年政权覆灭，货币制度却比政权更有韧性。1948 年 12 月 1 日发行第一套人民币，因为通货膨胀已经蔓延到解放区，第一套面额极大，最大到 5 万元，说明解放区也在经历通货膨胀。
上海只认「黄白绿」：黄金、白银、美元。坊间说共产党军事满分、政治八十分、经济恐怕零分，解放军进得了上海，人民币进不了。军事管制委员会 5 月规定人民币兑换金圆券，银元反而更紧俏；先从北方运输银元扩大供给，投机并未停止。6 月 10 日查封汉口路 422 号证券大楼，拘捕 250 人，信心才立住。1955 年按一万比一收兑旧币，第二套面额才回到日常能够辨认的数量级。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 货币首先是信用。信用要靠能够兑付、能够稳住预期，而不是靠宣布。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 人民币取代银元，靠的是把投机按住，而不是先宣布它是法定货币。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10.2 金本位与不可能三角&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 美元绿钞诞生于南北战争，北方要统一币制。华尔街的黄金交易室里，北军打了败仗就抛售美元换黄金，打了胜仗再换回来；加利福尼亚自己产金，绿钞一进入就贬值。1879 年美国实行金本位：按国库黄金定量发行钞票。大工业需要货币稳定，固定资产投资数额巨大，第二天暴涨就没法经营；农业与小债权人需要货币灵活，歉收时能够多借。1896 年布莱恩竞选把金银铜画进海报，金本位曾经是阶级问题。
阿根廷贝隆主义留下高福利，资金来自印钞，1989 年通货膨胀达到百分之三千。米莱削减政府部门、改用美元，是在不可能三角里牺牲独立货币政策，换取汇率相对稳定、资本仍能流动。中国牺牲的是资本自由流动：每年兑换外汇设有额度，目标是求稳——外部规则发达国家已经极为熟练，后进者突然开放冲击太大。一味避险会变成新的风险：储备里全是美元，资产价格受制于别国的货币政策；跨境使用美元也容易被看见，所以既要有防御，也要有进取。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 汇率稳定、独立货币政策、资本自由流动，三者只能保住两个。中国选择了资本不能自由流动，兑换外汇设有额度。要算清这个代价：更为稳定，但资金进出不自由。阿根廷选择了美元，代价是没有自己的货币政策。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10.3 谁讨厌中国&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 皮尤研究中心 2014 年调查：亚洲、非洲、拉丁美洲好感过半，巴基斯坦几乎没有负面评价；日本最差。欧洲越往西评价越差，意大利、德国最不喜欢，英国是例外。2018 年再做，格局没有变化。问谁是经济超级大国，亚洲、非洲、拉丁美洲喜欢中国，但仍认为美国最强；德国不喜欢，却把中国标得很靠前。好感度不取决于买得多少，而取决于买到的是不是对方赖以生存的核心产业。2015 年汇率改革后人民币先贬值，国内资本把人民币资产换成非人民币资产，购买院线、购买足球俱乐部；2016 年下半年升值，既然已经出去就再继续收购。美的收购库卡，投资进入机械和汽车，欧盟委员会第二年收紧审查。
1994 年到 2005 年汇率是一条横线，紧盯美元以保障对美贸易；2008 年危机后再盯一次。2015 年 8 月 11 日汇率改革：浮动区间变大，改为盯住中国外汇交易中心的一堆货币。贸易战中人民币下跌，美国加征的关税等于被汇率吃掉——投资人抛售人民币，出口用工成本下降，货物仍然卖得出去。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 好感度不取决于买得多少，而取决于买到的是不是对方赖以生存的核心产业。汇率政策是为贸易冲突留下弹性。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 工业并购会制造政治厌恶；房地产并购会制造欢迎。人民币贬值可以部分对冲关税。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;没有10.4，他强迫症为了凑整&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;10.5 大结局：三道坎与浪漫&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;案例：&lt;/strong&gt; 人民币为什么还不是全球货币：信用不是一天建立的。把 2015 年以前那条几乎钉死的汇率曲线给人看，没有人敢于把人民币当国际货币来投；像样的自由浮动，是汇率改革之后才开始。三道门槛：全球支付中美元超过 80%，人民币约 2%，已是第三——课上说，目标是使跨境支付达到美元目前的便利程度；各国中央银行储备里美元约 60%，人民币约 2%；借钱投资这一项，欧元能到四成，人民币不到 1%，得先在境外形成人民币资金池才能借得出去。五大银行出海；人民币跨境支付系统对标 SWIFT，2020 年已有四千多家机构。与 32 个国家和地区签署本币互换，规模约 4.5 万亿元——以哈萨克斯坦为例：先授权中国工商银行在阿拉木图设立清算行，当地商人手中的人民币才能兑换为坚戈。2016 年进入特别提款权货币篮子，2022 年权重升至第三——没有 2015 年汇率改革就没有这件事。
马克思说人被货币中介掏空：不是没有钱，是不懂规则。改革开放前比谁更革命，之后比谁更有钱；存量时代借贷成本低、认知成本高，看见别人看不见的未来，做别人不敢做的事，是为浪漫。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;宏观：&lt;/strong&gt; 支付、储蓄、投资，是三条不同的信任路径。人民币在支付上已经看得见，在借钱投资上几乎还没有开始。想要国际化的好处，就要承担相应风险。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 人民币成不了全球货币，是因为它被信任的时间太短，不是口号不够响。&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;十讲合在一起，大概是这些，沈老师不给讲义、不给PPT，剩下靠你自己拍照，有点难顶，直接拿讲义贴在这里其实更好一些，有些案例是要配图来看的，不然也有点莫名其妙。&lt;/p&gt;

&lt;p&gt;这门课最有用的不是立场，是翻译。彩票译成致富的路被截断了，国债译成全社会利率，国足译成人才供求，香蕉译成垄断，红海译成造船订单，城投译成谁买单，医保译成可保与不可保，文化译成制造业，电译成不可能三角，金本位译成阶级，德国讨厌中国译成买走了库卡。译完以后，很多宏观政策或者指示算是看的明白了。有些东西他影响到了谁，谁自然会跳出来反对或者吐槽，这时候你自然就能理解了。&lt;/p&gt;

&lt;p&gt;政策这东西就属于事不关己高高挂起，但是一旦和你有关系，你就开始关注了，其实每一个政策都与你有关，只是有的你没看透背后的关系而已&lt;/p&gt;

&lt;h2 id=&quot;quote&quot;&gt;Quote&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://www.bilibili.com/video/BV1Gh411i7Tt&lt;/p&gt;

  &lt;p&gt;https://space.bilibili.com/457158475&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Tue, 01 Sep 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/09/01/Political-Courses/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/09/01/Political-Courses/</guid>
        
        <category>思政</category>
        
        <category>杂谈</category>
        
        
      </item>
    
      <item>
        <title>玩车日志</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;五一以后就只下场跑了两次赛道。前一次是懂车帝 6.14 珠海站 L2-车手启航计划-进阶特训，这次是 8.22 车手启航计划-超级赛道日-珠海站。中间还去了对话灿哥，以及小米 CTCC 的珠海观赛。&lt;/p&gt;

&lt;p&gt;两次都在跟天气预报对赌，两次都输了。&lt;/p&gt;

&lt;h2 id=&quot;懂车帝-l2-进阶特训&quot;&gt;懂车帝 L2 进阶特训&lt;/h2&gt;

&lt;p&gt;天气预报要下雨，准备用长续航偷鸡，没想到直接没下，圈速可怜。气象台放鸽子，我在干地上开街胎，这波偷鸡不成蚀把米。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827183641860.png&quot; alt=&quot;image-20260827183641733&quot; /&gt;&lt;/p&gt;

&lt;p&gt;但是这一个月在GT7狂练，基本把GT7打通了，控车水平应该是上升了，所以这次直接用240耐力赛开，实际上确实感觉到了车尾的摆动，油门输入也不再是大开大合，同时甩尾也能救回来。用耐力赛就跑出来了我之前排位赛的成绩，甚至更快，确实有信心多了。&lt;/p&gt;

&lt;h2 id=&quot;对话灿哥&quot;&gt;对话灿哥&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827184057480.png&quot; alt=&quot;image-20260827184057306&quot; /&gt;&lt;/p&gt;

&lt;p&gt;7 月 11 日去了深圳南山的【对话灿哥｜赛道玩家分享会】，和任周灿交流，也体验了模拟器。一只手的情况下开出了1分33，拿到了全场第三，还拿到了灿哥的签名帽子。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827184009851.png&quot; alt=&quot;image-20260827184009747&quot; /&gt;&lt;/p&gt;

&lt;p&gt;灿哥主要是分享一下纽北的破纪录的经过和纽北开车的经验，看今年有没有机会去一次纽北玩。&lt;/p&gt;

&lt;h2 id=&quot;小米-ctcc-珠海观赛&quot;&gt;小米 CTCC 珠海观赛&lt;/h2&gt;

&lt;p&gt;中间还参加了一次小米 CTCC 的珠海站活动。Ultra Club 会员能报专属看台票，1分钱，CTCC 是 7 月 25、26 日，现场还能领一顶闪电黄的 Xiaomi Life 棒球帽。1分钱买票，剩下全付给太阳。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827192202254.png&quot; alt=&quot;image-20260827192202164&quot; /&gt;&lt;/p&gt;

&lt;p&gt;只能说王一博粉丝无敌。全场全是绿色粉丝，有他可能出现的场合人就坐满，没他的比赛基本接近空。比赛倒成配菜了。
之前开过我车的叶政扬一直领跑，直接就第一了&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827192235388.png&quot; alt=&quot;image-20260827192235191&quot; /&gt;&lt;/p&gt;

&lt;p&gt;但是珠海观赛体验确实很差，晒得要死，没有遮阳。当天下午还挂台风，粉丝都硬坐着等。我旁边粉丝各种喊老公、加油、王一博，完全是自发的，没有那种有组织有预谋的粉丝头头。不知道是什么力量能把人迷得这么神魂颠倒，入邪了似的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827192312662.png&quot; alt=&quot;image-20260827192312583&quot; /&gt;&lt;/p&gt;

&lt;p&gt;我比较识时务，中午就离开了。当天下午下暴雨，粉丝为了看偶像，大暴雨在等，而王早就走了，等了个寂寞。&lt;/p&gt;

&lt;h2 id=&quot;懂车帝超级赛道日&quot;&gt;懂车帝超级赛道日&lt;/h2&gt;

&lt;p&gt;8.22还是预报下雨，这次学乖了，换了半热熔，只是实际没想到真下了。6.14赌下雨没下，这次赌它不下结果下了，我跟气象台八字不合。&lt;/p&gt;

&lt;p&gt;一共买了 3 节，第一节前刚好下了一会儿，用的耐力赛，稳稳地跑。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827192639705.png&quot; alt=&quot;image-20260827192639588&quot; /&gt;&lt;/p&gt;

&lt;p&gt;最快也就1.54，不过余量还非常大，刹车点都是随意给的，感觉跑1.50应该也可以。&lt;/p&gt;

&lt;p&gt;没想到第二节，没下雨，赛道上还干了一些，我反而冲出去了，熟悉的T9，这个地方是我第三次冲出去了，早早退场。T9跟我有仇，熟门熟路进波波池。&lt;/p&gt;

&lt;p&gt;第二节虽然冲出去了，这次是用240开排位，珠海第一次，确实速度快了很多，对比以前相同的刹车点快了20-30公里，那肯定刹不住了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827192913164.png&quot; alt=&quot;image-20260827192912844&quot; /&gt;&lt;/p&gt;

&lt;p&gt;打横停在波波池里，可惜没摄像，不然超帅的。帅归帅，相机不在，等于没发生。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827193032221.png&quot; alt=&quot;image-20260827193032067&quot; /&gt;&lt;/p&gt;

&lt;p&gt;还好没啥车损，然后火急火燎地去清砂，清完以后立马参加最后一节。&lt;/p&gt;

&lt;p&gt;最后一节下大雨，赛道基本全湿了，我保守开的250，但是过弯的地方，给油一样打滑，还好救了几次，最后没想到开耐力拿了个第三，还捧杯了。
湿地最后圈速是1.58，实际上我感觉56应该也可以，只是没把握住。
&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827193101286.png&quot; alt=&quot;image-20260827193101189&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;车子问题&quot;&gt;车子问题&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827193250952.jpg&quot; alt=&quot;2042c5851231bde366007be938a07856&quot; /&gt;&lt;/p&gt;

&lt;p&gt;不知道啥时候，谁把我后衬板的盖子弄开了，还搞丢了。谁这么闲。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827193446476.png&quot; alt=&quot;image-20260827193446422&quot; /&gt;&lt;/p&gt;

&lt;p&gt;方向盘的接缝爆开了，但是售后不给换，这次只能修。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260827193323132.png&quot; alt=&quot;image-20260827193323029&quot; /&gt;&lt;/p&gt;

&lt;p&gt;没想到赛道日回来以后过了三天，提醒我胎压太低了，扎钉了，第一次扎钉。赛道没扎着，回家躺了三天自己扎了。可惜了我325的较新的后胎，没下几次赛道就废了，下场次数还没我冲出T9的次数多。&lt;/p&gt;

&lt;p&gt;刚好收了别人的一套轮毂和胎，对方也有一个325扎了的，刚好能配一对。&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;控车能力确实比以前更强了，看后续还有没有机会突破一下圈速。&lt;/p&gt;

&lt;h2 id=&quot;quote&quot;&gt;Quote&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://live.photoplus.cn/live/pc/50614127/#/live&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Thu, 27 Aug 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/08/27/Car-Record/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/08/27/Car-Record/</guid>
        
        <category>Car</category>
        
        <category>Su7 Ultra</category>
        
        
      </item>
    
      <item>
        <title>AI未来</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;最近看了几篇东西，一篇Bob大叔的对谈，一篇李飞飞访谈，还有Linus用AI修内核的commit。有点意思，记录一下。&lt;/p&gt;

&lt;p&gt;关键点还是写在前面：AI会的东西，不是你会的。AI成长了，不代表你成长了。你把活丢给它，它越来越强，你的见识和能力并没有跟着涨。&lt;/p&gt;

&lt;p&gt;一年前写&lt;a href=&quot;https://elmagnifico.tech/2025/05/13/Cursor2/&quot;&gt;Cursor&lt;/a&gt;的时候就说过，新手用Cursor可以快速拉到熟手水平，再往上走还是得自己深入代码和设计。现在更明显了，很多人已经把“会用AI”当成自己会了。&lt;/p&gt;

&lt;h2 id=&quot;ai未来&quot;&gt;AI未来&lt;/h2&gt;

&lt;h4 id=&quot;who&quot;&gt;Who&lt;/h4&gt;

&lt;p&gt;Bob大叔就是写《代码整洁之道》那个Robert C. Martin，敏捷宣言签字人之一。12岁开始写程序，干到现在60多年了，还在写。最近跟Agent结对，放了句很冲的话：Agent写的代码他完全不看。&lt;/p&gt;

&lt;p&gt;Matt Pocock是TypeScript圈子里挺有名的教育者，这场对谈是他请来的。&lt;/p&gt;

&lt;p&gt;李飞飞不用多介绍，ImageNet就是她搞出来的，现在大家叫她AI教母。斯坦福教授，前两年去办World Labs，押空间智能，不跟着卷大语言模型。访谈里翻来覆去就一件事：AI是工具，主动权得拿在人手里。&lt;/p&gt;

&lt;p&gt;一个在代码里，一个在智能本身上，说的完全不是一件事，但最后收尾挺像。&lt;/p&gt;

&lt;h4 id=&quot;语言只是第一层&quot;&gt;语言只是第一层&lt;/h4&gt;

&lt;p&gt;李飞飞觉得现在大家说的AI，基本就是语言智能。写代码、写文案、做推理，标准化执行这块已经挺能打了。但人可不只是语言，空间、身体、情感、创造力，这些它都还没补完。你没法靠读文字学会开车，也学不会投篮。&lt;/p&gt;

&lt;p&gt;所以她很反感“智能成本趋近于零”这种说法。听着很爽，信了以后人就懒得主动了。她觉得最大的风险不是AI失控，而是把人的主动思考拿走，学习成长的能力也一起废了。&lt;/p&gt;

&lt;p&gt;下一站她押空间智能：理解、推理、生成、交互。语言模型只是1.0，三维世界才是缺的那块。这个对不对以后再说。对普通人更实际的是另一半：职场会往两头走，一头是真顶尖的专家，一头是主动性很强、什么都能上手的通才，中间那种还凑合、只会机械执行的，空间会越来越薄。&lt;/p&gt;

&lt;h4 id=&quot;agent很能打&quot;&gt;Agent很能打&lt;/h4&gt;

&lt;p&gt;Bob大叔更极端，Agent写的代码他完全不看。这句话很容易被当成Vibe Coding的背书，其实正好相反。&lt;/p&gt;

&lt;p&gt;他不看，是因为前面套了一层又一层硬约束：单元测试、Gherkin、QA、变异测试、覆盖率、复杂度分数。Prompt对模型来说跟《加勒比海盗》里的海盗法典差不多，听着是规则，执行起来是建议。真能卡住Agent的是测试和工具，不是你在agents.md里写的第80条。&lt;/p&gt;

&lt;p&gt;还有个很现实的点：Agent留下的烂代码不清理，它自己也会越写越慢。改A坏B，修B坏C，原地打转，最后直接跟你说处理不了了。烂代码拖的不只是人，Agent一样撞墙。&lt;/p&gt;

&lt;p&gt;Linus上周修Intel Xe显卡驱动，就是这个现场。Battlemage上GDM反复崩、黑屏，他加了24个调试补丁，内核重启了18次，最后只改了一行，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;round_up()&lt;/code&gt;改成&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;round_down()&lt;/code&gt;。AI帮了不少忙，加调试、看结果，Commit说明都是它写的。但它好几次直接说这不可能、无解了、写个报告得了。Linus不让停，还吐槽：训练这玩意儿的人，大概没我这么倔。&lt;/p&gt;

&lt;p&gt;AI想放弃，人硬推着查，才找到那一行。要是信了它说的做不到，这问题就停在报告里了。你能看出来它在瞎忙、知道该往哪推，靠的不是AI变强了，是你自己见过这种调试，你坚信这是能解决，可以查的问题，你的信念比他坚定才行。你之所以比他坚定，肯定得是建立在你的认知上的，否则只会被带着跑。&lt;/p&gt;

&lt;p&gt;所以Bob的分工变了：Agent干战术，人管战略。模块怎么切、依赖能不能乱指、最后对不对，还是人说了算。前期规划写得越完美，越容易掉进70年代瀑布流那个坑。Agent特别爱写计划，计划写得越华丽，执行时崩得越干脆。他还是敏捷那套：先做一点，看看架构歪没歪，歪了人上手掰回来，再继续。&lt;/p&gt;

&lt;h4 id=&quot;基础没有过时&quot;&gt;基础没有过时&lt;/h4&gt;

&lt;p&gt;两个人最后踩在同一个点上。&lt;/p&gt;

&lt;p&gt;Bob说：现在有些人觉得软件基础已经不重要了，他们会吃苦头，而且不会等太久。软件是人做过最复杂的东西，基础就是把这种复杂性组织起来，让人能懂，让模型也能懂。你今天扔掉的规则，一年后大概率还得从地上捡起来，掸掉灰，重新想起来当初为啥需要它们。&lt;/p&gt;

&lt;p&gt;李飞飞那边是：提问才是核心技能，成长和思辨才是竞争力。AI是工具不是替代品。被甩下去还是被托起来，不取决于技术本身，取决于你有没有主动去用、去理解、去驾驭。&lt;/p&gt;

&lt;h2 id=&quot;你该怎么做&quot;&gt;你该怎么做&lt;/h2&gt;

&lt;h4 id=&quot;先分清谁在成长&quot;&gt;先分清谁在成长&lt;/h4&gt;

&lt;p&gt;用AI最容易产生的幻觉就是：产出变多了，就以为自己变强了。&lt;/p&gt;

&lt;p&gt;Agent十分钟给你一个能跑的模块，你复制、提交、上线。活是交出去了，但你并不懂。过两周再看这段代码，还是看不懂它为啥这么写，出了问题也看不出它在挣扎。Bob能看出来Agent什么时候开始瞎忙，是因为他自己经历过同样的挣扎。刚入行的人，可能根本识别不出来。&lt;/p&gt;

&lt;p&gt;这才是最危险的地方。AI会的，不是你会的。它下次还是会，你下次还是不会。模型三个月迭代一次，你的脑子可没有跟着迭代。时间一长，你就变成一个会喊AI的人，而不是会做东西的人。&lt;/p&gt;

&lt;p&gt;所以别光想着多用AI。每次让它干活之后，问自己一句：这件事我能不能讲清楚？讲不清楚，就自己做一遍，至少把关键路径走通。产出可以给它，判断必须留在自己身上。&lt;/p&gt;

&lt;h4 id=&quot;新手怎么提高&quot;&gt;新手怎么提高&lt;/h4&gt;

&lt;p&gt;新手现在最大的问题不是不会用AI，而是太会用了。代码手感还没建立起来，就已经习惯了描述需求、生成、能跑就行。短期看起来进步飞快，实际上该摔的跤全跳过了。&lt;/p&gt;

&lt;p&gt;Bob给新生代的路径很土，但我觉得是对的：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;先自己写代码，写到你知道Agent在处理什么。大学也好，自学也好，这一步不能省。他甚至把老话又拿出来：没写过汇编，就花一个周末写写，否则你活在幻觉里，底层全是魔法。&lt;/li&gt;
  &lt;li&gt;入职之后，先被当成一个Agent来用。给你和Agent一样的任务，套一样的测试和工具约束。产出会很低，但能学到非常多。过了这关，才谈得上自己去跑Agent。&lt;/li&gt;
  &lt;li&gt;战术会被AI吞掉一大块，所以你要尽快碰到战略：模块怎么切、接口为什么这样、需求哪里是错的。这些东西反馈周期本来很长，现在Agent把执行加速了，你反而能更早看到自己设计错了。别拿这个加速去逃避思考，拿它来试错。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;落到习惯上大概就这几条：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;先问这个问题到底是什么，再问怎么让AI写。提问的质量就是你的水平&lt;/li&gt;
  &lt;li&gt;生成的代码至少把关键路径读一遍，跑测试，改到你能解释。解释不了就当自己不会&lt;/li&gt;
  &lt;li&gt;基础还是得补：数据结构、网络、操作系统、编译链接、测试、设计。不是为了面试，是为了你能看懂Agent什么时候在胡说&lt;/li&gt;
  &lt;li&gt;读点老书。《代码整洁之道》《程序员修炼之道》，以及更早的DeMarco、Yourdon。过时的工具滤掉，留下组织复杂性的那部分，今天反而更值钱&lt;/li&gt;
  &lt;li&gt;找一个真实问题做完，别停在Demo。能跑，和能维护、能在烂需求里活下来，是两件事&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;李飞飞把主动性几乎等同于创业精神，不是让你去注册公司，而是你得自己拿起工具。中间那层还凑合的会被压缩掉，专家和通才都还在，前提是你真有手艺，或者真能跨领域做判断。只会按步骤把活做完的人，已经比不过AI。比不过就没人雇，没人雇就攒不到经验，后面更难追上。现在的新人、找不到工作的人，卡的也是这件事。现在的新人，找不到工作的都会面临这样的难题，至少在我这里这个问题有点无解，需要新一代的人去探索他们的路，找到自己的人生价值&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;程序员之外，逻辑是一样的。&lt;/p&gt;

&lt;p&gt;别把AI讨论做成神或者魔鬼。它就是一把很锋利的刀，你得学会用，也得知道它切到哪里会出事。&lt;/p&gt;

&lt;p&gt;李飞飞给普通人的起步挺土：找个已经在用的年轻人，让他带着你做一次。可怕的不是不会，是逃避。逃避的人，差距会越拉越大。&lt;/p&gt;

&lt;p&gt;用起来之后，把主动权拿回来。跟它对话、让它写、让它查，都可以。最后做决定的是你，最后能讲清楚的也应该是你。&lt;/p&gt;

&lt;h2 id=&quot;quote&quot;&gt;Quote&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href=&quot;https://mp.weixin.qq.com/s/VGLla6Oj2vwX_FEEIFFqjw&quot;&gt;https://mp.weixin.qq.com/s/VGLla6Oj2vwX_FEEIFFqjw&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://www.bilibili.com/video/BV1m1bQ6eEre/?t=8&quot;&gt;https://www.bilibili.com/video/BV1m1bQ6eEre/?t=8&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://mp.weixin.qq.com/s/h_fcfqID93pLaymlQuht8g&quot;&gt;https://mp.weixin.qq.com/s/h_fcfqID93pLaymlQuht8g&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
        <pubDate>Wed, 26 Aug 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/08/26/AI-Future/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/08/26/AI-Future/</guid>
        
        <category>AI</category>
        
        <category>Agent</category>
        
        <category>杂谈</category>
        
        
      </item>
    
      <item>
        <title>Cursor、Claude、CodeX深度体验、对比</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;最近把几个比较强的AI工具都试用了一下，对比一下&lt;/p&gt;

&lt;h2 id=&quot;cursor&quot;&gt;Cursor&lt;/h2&gt;

&lt;p&gt;我用的最多，也是相对比较传统的代码工具，理解和使用门槛都是以程序为基准的&lt;/p&gt;

&lt;p&gt;Cursor默认套餐的上下文大小实在是太小了才260多K，别人都1M+，大需求很容易就跑过了，还好内置了压缩上下文和长期记忆等，上下文比较大的时候会自动衔接处理，不需要特别注意。&lt;/p&gt;

&lt;p&gt;Cursor相对没有Claude和CodeX那么激进，更偏向为已有工程和程序员协作方向服务，针对已有的工作流改动量比较小，适合循序渐进的切换到Agent工作流。&lt;/p&gt;

&lt;h4 id=&quot;agent模式&quot;&gt;Agent模式&lt;/h4&gt;

&lt;p&gt;Cursor虽然想主推Agent模式，每次启动默认就是Agent对话窗口，但是这东西还是有点难用，对于现有工程还是用IDE模式更好一些。&lt;/p&gt;

&lt;h4 id=&quot;用量&quot;&gt;用量&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260727150119694.png&quot; alt=&quot;image-20260727150119662&quot; /&gt;&lt;/p&gt;

&lt;p&gt;由于Claude被5小时限制，大部分需求是Cursor做的，也只是轻度使用&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260727150218114.png&quot; alt=&quot;image-20260727150218082&quot; /&gt;&lt;/p&gt;

&lt;p&gt;满打满算也就700M token就耗尽了plan，如果全力用，估计一周就耗尽了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260728161440619.png&quot; alt=&quot;image-20260728161440574&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Cursor发现我用尽了，还送了20刀，可以的&lt;/p&gt;

&lt;h2 id=&quot;claude&quot;&gt;Claude&lt;/h2&gt;

&lt;p&gt;Claude本身不是一个像Cursor那样的独立编辑器，它的核心是agent对话式工作方式，但并不是只有纯终端聊天，主要有几种带图形界面的用法：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;桌面应用（Mac/Windows），独立的Claude Code桌面应用，以会话为中心，可以并行跑多个任务，改动以diff视图呈现供你审查。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;IDE插件，Claude Code有VS Code和JetBrains（IntelliJ、PyCharm等）的官方插件。你在自己熟悉的编辑器里写代码，Claude Code以侧边栏面板的形式运行，它提出的修改会以inline diff的形式直接显示在编辑器里，你可以逐个审查、接受或拒绝改动。这和Cursor的Agent/Composer模式体验很像，区别在于你用的是原生VS Code/JetBrains，而不是一个魔改的编辑器。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;网页版，claude.ai/code，在云端环境跑任务，同样是对话 + diff审查的模式。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;终端CLI，最原始的形态，纯命令行对话。&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;桌面端&quot;&gt;桌面端&lt;/h3&gt;

&lt;p&gt;Cursor是“编辑器为主、AI为辅”，Claude Code是“agent为主、你负责审查”。如果你想要“自己写代码 + AI帮忙”的体验，用VS Code + Claude Code插件最合适。如果任务可以整个描述清楚丢给AI，对话式反而效率更高。&lt;/p&gt;

&lt;p&gt;简单说，不能在Claude里直接手动编辑代码（它不是编辑器），但通过IDE插件，它可以嵌进你的编辑器，diff审查体验和Cursor的agent模式基本一致。&lt;/p&gt;

&lt;p&gt;对比Cursor，Claude确实在输入的模态上选择是更多的，语音、图片都给出了很明显的提示，Agent可以处理，虽然现在Cursor也在抄他们的无代码化的Agent，但还是差一些。Claude的体验上感觉确实更慢一些，而且很多小问题都需要你来回答，确认，确认清楚以后给出plan，才开始下达指令，开始做。&lt;/p&gt;

&lt;p&gt;他确实符合一般认知或者普通的方法论，但是对比其他AI工具的一句话（他就去猜你意思，直接做完给你看结果），万一做对了，那种惊喜感就没了。&lt;/p&gt;

&lt;p&gt;Claude更倾向于和输入的用户进行对话，多次交互以后摸清用户的需求，然后总结给用户，再进行施工。对话的内容或者交互选项也基本都是围绕着Plan-AI工作流来走的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260706204057497.png&quot; alt=&quot;image-20260706204050425&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Claude的内部plan工作流，基本和我的一致，只是我的可以灵活修改，而Claude是用harness写死的&lt;/p&gt;

&lt;p&gt;Claude的上下文比Cursor默认要大很多，对应实际使用时跑偏的概率就小一些，由于Claude上限高，所以也看到了一个小需求，虽然中间走偏了一些，但是上下文就已经380k了，超过Cursor默认大小了&lt;/p&gt;

&lt;h4 id=&quot;缺点&quot;&gt;缺点&lt;/h4&gt;

&lt;p&gt;Claude Code没有Tab自动补全那种“边打字边补全”的功能，它的定位是把整个任务交给agent去完成（读代码、改多个文件、跑测试），而不是辅助你逐行手写。&lt;/p&gt;

&lt;p&gt;Claude不太好的地方就是如果你想要看代码或者文档Claude把这部分UI隐藏得有点深，而且显示效果也比较差，给程序员用还是有点别扭，给纯小白或者是非编码类工作人员用是可以的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260720174950814.png&quot; alt=&quot;image-20260720174943729&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Claude的plan是按照周期性恢复token用量的，这就有点问题，工作时间的token不够用，需要开更大的plan，但是闲置时间这个就闲置了，直接浪费了。这个周期性的token量还是比较小的，卡在完成一个小需求的边缘。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;我的感觉是当你上下文特别大的时候，似乎消耗得特别快，上下文小的时候没有后期这么明显&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claude有一点不好，安装skill或者mcp等等内容以后需要重启客户端，新对话大概率还是显示没安装，而Cursor这种安装以后都是实时更新上来的&lt;/p&gt;

&lt;p&gt;Claude的联网搜索的意向似乎偏弱一些，有些功能或者能力网络上有最新的，但是模型偏向使用记忆内的能力，从而直接给了结论，需要给出搜索提示或者具体的链接，他才会拿最新的内容来进行工作，这个问题Cursor也有，只是Claude更明显一些&lt;/p&gt;

&lt;h3 id=&quot;claude-code&quot;&gt;Claude Code&lt;/h3&gt;

&lt;p&gt;Claude Code在VSCode或者Cursor插件中，就感觉比桌面APP响应快多了，而且反馈也比较好一些，不像APP端思考超久，感觉没干活的样子。&lt;/p&gt;

&lt;p&gt;Claude Code在干活过程中还能直接插话进去，也没有排队这种机制，不知道内部是怎么实现的，可以纠正中间跑偏的地方，这个还挺好的，最后反馈结果是两个事情同时解决&lt;/p&gt;

&lt;p&gt;Claude Code和VSC的结合感觉总有一种不兼容的既视感，体验上能明显感觉他是额外的一块，融合的不是很好。&lt;/p&gt;

&lt;p&gt;Claude Code也少了很多插件或者交互的支持，明显不如Cursor原生的Agent好用&lt;/p&gt;

&lt;h4 id=&quot;用量-1&quot;&gt;用量&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260727150108046.png&quot; alt=&quot;image-20260727150107972&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Claude，一个月只用了50%多，主要还是这个时限太恶心了，Fable5还送了100刀，三个改动直接耗尽，太不经用了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260727150858243.png&quot; alt=&quot;image-20260727150858211&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Claude主要是在两个机器上使用的，总用量差不多100M Tokens，可以看到实际和Cursor比，价格差不多，但是用量小太多了，就算全用完，估计也不到300M Tokens&lt;/p&gt;

&lt;h2 id=&quot;codex&quot;&gt;CodeX&lt;/h2&gt;

&lt;h4 id=&quot;注册&quot;&gt;注册&lt;/h4&gt;

&lt;p&gt;自从上次被封了1000刀以后，再没弄过新的了，现在再弄一个还真麻烦。账号注册还是随便注册，但是需要短信激活验证&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260728164803672.png&quot; alt=&quot;image-20260728164803628&quot; /&gt;&lt;/p&gt;

&lt;p&gt;我的GiffGaff目前有点问题，收不到验证码，虽然号还是活着的&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;最新消息：GiffGaff也开始回收国内的账号了，很多人被强制回收了，我还没收到邮件&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;OpenAI目前看是安哥拉的短信是最容易过的，随便试了一个，确实可以过&lt;/p&gt;

&lt;p&gt;目前用的接码平台，短信收到失败，可以退款，最低充值3刀，刚好够用了&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://hero-sms.com/cn/purchases/numbers&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260728165241838.png&quot; alt=&quot;image-20260728165241805&quot; /&gt;&lt;/p&gt;

&lt;p&gt;一些其他路径，利用美区苹果ID，然后使用ApplePay绕过OpenAI的支付，实际上不行，试过了，虽然可以跳过短信验证的步骤，但是无法成功支付，国内的信用卡会被拒绝。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;同理、谷歌pay、paypal也都不行了，最后是让国外朋友直接信用卡帮我付了&lt;/li&gt;
  &lt;li&gt;还有一个办法，买礼品卡，然后用礼品卡支付就能绕过&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;使用&quot;&gt;使用&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260728180719242.png&quot; alt=&quot;image-20260728180719202&quot; /&gt;&lt;/p&gt;

&lt;p&gt;CodeX还是有点无耻的，直接拿其他Agent工具的内容过来使用。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260728194040565.png&quot; alt=&quot;image-20260728194040531&quot; /&gt;&lt;/p&gt;

&lt;p&gt;CodeX一上来就提示你安装插件，基本就是MCP，但是有很多软件都整合到里面了，对于小白用户来说不要太简单了&lt;/p&gt;

&lt;p&gt;总体感觉CodeX确实反馈更快，比Cursor都快很多（基于&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;5.6 Sol 中&lt;/code&gt;的模型强度），不过中性的情况下，感觉模型还是思考少一些，很容易思考不足或者写的代码是有问题的。拿来工作还是要偏向更智能一些，轻度的情况下，基本判断都有问题，就好像是个傻子，只看你给的东西，多一点点都不会思考。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260728193136685.png&quot; alt=&quot;image-20260728193129604&quot; /&gt;&lt;/p&gt;

&lt;p&gt;比如让他检查我的文章，我给了路径，竟然告诉我没有文章，我服了。切换到极高以后，就具备自主性了，自己找文章，想尽一切办法完成目标。&lt;/p&gt;

&lt;p&gt;CodeX的整体UI，你能感觉出来更流畅，绘制得也更精细，对比Claude，那就是个傻大黑，只抄了个皮毛。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260807130511119.png&quot; alt=&quot;image-20260807130511095&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Codex知道自己显示代码能力不够好，所以直接允许你打开对应的IDE去查看，但是总体设计逻辑上还是不鼓励你用IDE或者查看代码细节的，希望你用对话的方式进行设计。&lt;/p&gt;

&lt;p&gt;&lt;del&gt;Codex也不能像Cursor那种指定或者随手把某个内容作为修改主体给到对话框中，这个还是差点意思&lt;/del&gt;，实际可以，Codex可以打开文件，然后和Cursor的用法差不多，只是没Cursor那种看起来好&lt;/p&gt;

&lt;p&gt;Codex内置浏览器可以让你直接登录对应的网站，然后他直接用你的session来操作网站，对于小白来说不要太友好，但是这个操作行为本身也有风险。&lt;/p&gt;

&lt;h4 id=&quot;site&quot;&gt;Site&lt;/h4&gt;

&lt;p&gt;CodeX的原型能力有点强，纯属意外，我只是提了一下我的想法，半小时内就能搭好前后端的小应用，直接就能公网发布使用。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;数据库都是serveless的，部署同理&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;原型风格、图片审美都还可以，结合需求，再打磨打磨，就能拿去演示了，总体下来估计一小时内就做完，很不错，有些小需求或者试错性质的东西拿这个来实验很好。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260805205233468.png&quot; alt=&quot;image-20260805205233285&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260806191357008.png&quot; alt=&quot;image-20260806191356944&quot; /&gt;&lt;/p&gt;

&lt;p&gt;在已经做的任务中间插入一个提示或者改动，流程也很丝滑，也有对应的反馈，对比Claude，插入内容完全没反馈。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260807130248657.png&quot; alt=&quot;image-20260807130241600&quot; /&gt;&lt;/p&gt;

&lt;p&gt;不过用量还是有点捉急，一个原型从site转向自建部署，就耗尽了，我一直开的是5.6 Sol 最智能的级别。同等情况下Cursor用量大概消耗了33%，但是Cursor不能恢复。&lt;/p&gt;

&lt;h4 id=&quot;缺点-1&quot;&gt;缺点&lt;/h4&gt;

&lt;p&gt;CodeX是基于windows商店的，安装贼慢，然后内置的浏览器还容易崩溃、出问题以后必须重装才行，这么明显的bug竟然没修有点不可思议。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260729193543993.png&quot; alt=&quot;image-20260729193543943&quot; /&gt;&lt;/p&gt;

&lt;p&gt;CodeX恢复5小时用量以后，太不经用了，一个小需求，直接就把5小时用量干完了，完全不够用。&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;Cursor和Claude基本是一起测试使用的，大概是3周左右，消耗了10亿Tokens。&lt;/p&gt;

&lt;p&gt;CodeX是最后用的，刚好是取消了5小时限制，只有周限制了，感觉也有点不耐用，但是每周能恢复，这一点很好&lt;/p&gt;

&lt;p&gt;CodeX交互业内领先确实没问题，其他人只够追在后面吃尘。&lt;/p&gt;

&lt;h2 id=&quot;quote&quot;&gt;Quote&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;Cursor、Claude、CodeX&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Thu, 30 Jul 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/07/30/Agent-IDE-Compare/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/07/30/Agent-IDE-Compare/</guid>
        
        <category>AI</category>
        
        <category>Agent</category>
        
        
      </item>
    
      <item>
        <title>VSC/Cursor插件上架</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;/2026/07/20/CBD-VSC-Plugin/&quot;&gt;CodeBind Docs&lt;/a&gt; 写完、VS Marketplace也挂上去了，本以为Cursor那边搜一下就能装。结果发现：Cursor扩展市场不跟Microsoft那套走，得另发一份到Open VSX。下面把VS Code怎么发、Open VSX怎么发、以及这趟踩的坑一起记下来，免得下次又忘。&lt;/p&gt;

&lt;h2 id=&quot;两套市场&quot;&gt;两套市场&lt;/h2&gt;

&lt;p&gt;Cursor和VS Code的插件市场原本是一套，但是后来微软收紧策略，导致分开了，变成了2个市场。&lt;/p&gt;

&lt;p&gt;Cursor里有两套完全不同的“市场”，名字都带marketplace&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;名字&lt;/th&gt;
      &lt;th&gt;实际装啥&lt;/th&gt;
      &lt;th&gt;怎么上架&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Extensions&lt;/strong&gt;（扩展面板）&lt;/td&gt;
      &lt;td&gt;VS Code 那类插件，CBD 就是这个&lt;/td&gt;
      &lt;td&gt;发到 &lt;strong&gt;Open VSX&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Plugins&lt;/strong&gt;（Customize / cursor.com/marketplace）&lt;/td&gt;
      &lt;td&gt;rules、skills、MCP、hooks&lt;/td&gt;
      &lt;td&gt;另搞一套 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.cursor-plugin/&lt;/code&gt;，走人工审核&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;CBD是正经VS Code扩展，跟Cursor Plugin那套无关。想让人在Cursor里 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ctrl+Shift+X&lt;/code&gt; 搜到，只发Microsoft Marketplace不够，必须再发Open VSX。&lt;/p&gt;

&lt;p&gt;官方也写明了：Cursor第三方扩展走Open VSX，中间再套一层他们自己的安全扫描代理。&lt;/p&gt;

&lt;h2 id=&quot;vs-code插件&quot;&gt;VS Code插件&lt;/h2&gt;

&lt;p&gt;官方文档：&lt;a href=&quot;https://code.visualstudio.com/api/working-with-extensions/publishing-extension&quot;&gt;Publishing Extensions&lt;/a&gt;。下面按我实际走过的顺序记。&lt;/p&gt;

&lt;h3 id=&quot;0-扩展本身先能装&quot;&gt;0. 扩展本身先能装&lt;/h3&gt;

&lt;p&gt;本地 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;npm run compile&lt;/code&gt; 过，扩展开发宿主里跑得起来，上架前最好再过一遍测试。打包工具用官方的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;@vscode/vsce&lt;/code&gt;（老包名 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;vsce&lt;/code&gt; 别再用）。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;package.json&lt;/code&gt; 至少这些要齐，缺了会拒：&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;字段&lt;/th&gt;
      &lt;th&gt;说明&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;name&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;扩展名，小写、短横线，进 ID 的那截&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;publisher&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;发布者 ID，跟市场里建的一模一样&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;version&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;semver，每次改内容再发必须升&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;engines.vscode&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;最低 VS Code 版本&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;displayName&lt;/code&gt; / &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;description&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;市场展示用&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;icon&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;建议 128×128 PNG&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;repository&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;仓库地址，市场页会挂链接&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;另外README、CHANGELOG、LICENSE建议都有，市场页长什么样，基本看README。CBD还补了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;keywords&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;categories&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;galleryBanner&lt;/code&gt;，好看一点而已。&lt;/p&gt;

&lt;p&gt;扩展完整ID = &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;publisher.name&lt;/code&gt;，例如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebind.codebind-docs&lt;/code&gt;。&lt;strong&gt;这个ID以后基本改不了&lt;/strong&gt;，起名字时想清楚。&lt;/p&gt;

&lt;h3 id=&quot;1-azure-devops搞一个pat&quot;&gt;1. Azure DevOps搞一个PAT&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Marketplace 认证挂在 Azure DevOps 上，所以要先搞 Personal Access Token：&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;打开 &lt;a href=&quot;https://dev.azure.com/&quot;&gt;Azure DevOps&lt;/a&gt;，用微软账号登录（跟后面建 Publisher 用&lt;strong&gt;同一个&lt;/strong&gt;）&lt;/li&gt;
    &lt;li&gt;用户设置 → Personal access tokens → New Token&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Organizations&lt;/strong&gt; 选 &lt;strong&gt;All accessible organizations&lt;/strong&gt;（选成某个具体 org 很容易发不出去）&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Scopes&lt;/strong&gt; 勾 &lt;strong&gt;Marketplace → Manage&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;创建后&lt;strong&gt;立刻复制&lt;/strong&gt;，关掉就再也看不见了&lt;/li&gt;
  &lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;这完全是Agent的说法，实际个人作者根本不需要，直接走下步即可&lt;/p&gt;

&lt;h3 id=&quot;2-创建publisher&quot;&gt;2. 创建Publisher&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260721171135182.png&quot; alt=&quot;image-20260721171135115&quot; /&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;打开 &lt;a href=&quot;https://marketplace.visualstudio.com/manage&quot;&gt;https://marketplace.visualstudio.com/manage&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Create publisher&lt;/li&gt;
  &lt;li&gt;ID：唯一标识，进URL，&lt;strong&gt;创建后不能改&lt;/strong&gt;（CBD用的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebind&lt;/code&gt;）&lt;/li&gt;
  &lt;li&gt;Name：市场上显示的名字，品牌文案，这个还能动&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;ID别跟显示名搞混：ID是机器认的，Name是给人看的。&lt;/p&gt;

&lt;h3 id=&quot;3-打包--发布&quot;&gt;3. 打包 / 发布&lt;/h3&gt;

&lt;p&gt;命令行一把梭：&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;npm run compile
npx @vscode/vsce publish &lt;span class=&quot;nt&quot;&gt;--no-dependencies&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# CBD 仓库里等价于：npm run publish:vsce&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;publish&lt;/code&gt; 内部会跑 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;vscode:prepublish&lt;/code&gt;（一般就是compile），再上传。&lt;/p&gt;

&lt;p&gt;先打 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.vsix&lt;/code&gt; 再网页传（更稳，出问题好排查）：&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;npm run package
&lt;span class=&quot;c&quot;&gt;# → codebind-docs-x.y.z.vsix&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;然后到manage页，进入你的publisher，选择New Extension或更新已有扩展，再上传 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.vsix&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260721171331515.png&quot; alt=&quot;image-20260721171234190&quot; /&gt;&lt;/p&gt;

&lt;p&gt;本地试装：&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;code &lt;span class=&quot;nt&quot;&gt;--install-extension&lt;/span&gt; codebind-docs-x.y.z.vsix
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;或命令面板：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Extensions: Install from VSIX...&lt;/code&gt;。&lt;/p&gt;

&lt;h3 id=&quot;4-更新版本时注意&quot;&gt;4. 更新版本时注意&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;改了README截图、描述、代码，都要bump &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;version&lt;/code&gt;，同一版本号覆盖不了&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unpublish&lt;/code&gt; 和“彻底删除”不是一回事，删除后名字可能被永久占用，慎用&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.vscodeignore&lt;/code&gt; 写清楚，别把 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node_modules&lt;/code&gt;、测试产物、开发脚本打进包，反过来媒体、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;out/&lt;/code&gt;、README别误忽略&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CBD这边VS市场页：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://marketplace.visualstudio.com/items?itemName=codebind.codebind-docs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;token&quot;&gt;Token&lt;/h3&gt;

&lt;p&gt;拿token，需要先新建一个组织，新建一个项目，然后就能拿到个人token了&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://go.microsoft.com/fwlink/?LinkId=307137&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260721191135499.png&quot; alt=&quot;image-20260721191135472&quot; /&gt;&lt;/p&gt;

&lt;p&gt;默认只能一年，而且由于政策变动，目前只支持到26年12月1号，后续看情况吧&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260721191259363.png&quot; alt=&quot;image-20260721191259338&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;open-vsx&quot;&gt;Open VSX&lt;/h2&gt;

&lt;p&gt;Cursor扩展面板吃的是Open VSX，步骤和VS平行、账号体系完全两套。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260721171455437.png&quot; alt=&quot;image-20260721171455409&quot; /&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://open-vsx.org/&quot;&gt;open-vsx.org&lt;/a&gt; 用GitHub登录&lt;/li&gt;
  &lt;li&gt;注册Eclipse Foundation账号，GitHub Username填成同一个GitHub&lt;/li&gt;
  &lt;li&gt;个人设置里Log in with Eclipse，签Open VSX Publisher Agreement（没签完一律发不出去）&lt;/li&gt;
  &lt;li&gt;生成Access Token&lt;/li&gt;
  &lt;li&gt;创建namespace（对应 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;package.json&lt;/code&gt; 的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;publisher&lt;/code&gt;）&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ovsx publish&lt;/code&gt; 或网页拖 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.vsix&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;npx ovsx create-namespace codebinddocs &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; &amp;lt;token&amp;gt;
npx ovsx publish codebind-docs-x.y.z.vsix &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; &amp;lt;token&amp;gt;
&lt;span class=&quot;c&quot;&gt;# 或：npm run publish:ovsx&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;仓库里 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;publish:vsce&lt;/code&gt; / &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;publish:ovsx&lt;/code&gt; 两边各发一遍就行。注意：Open VSX的namespace可以和VS的publisher不同（我就是因为撞名被迫拆开的）。&lt;/p&gt;

&lt;h3 id=&quot;token-1&quot;&gt;Token&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260721190113512.png&quot; alt=&quot;image-20260721190113470&quot; /&gt;&lt;/p&gt;

&lt;p&gt;拿token比较简单，直接生成即可，后续给到CI流程进行自动化&lt;/p&gt;

&lt;h3 id=&quot;认领namespace&quot;&gt;认领namespace&lt;/h3&gt;

&lt;p&gt;发完以后页面上很可能还有一条警告，大意是：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;This version of the “CodeBind Docs” extension was published by elmagnificogi. That user account is not a verified publisher of the namespace “codebinddocs” of this extension.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;意思是：扩展已经发上去了，但 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebinddocs&lt;/code&gt; 这个命名空间还没被官方认定归你所有。&lt;/p&gt;

&lt;p&gt;Open VSX和VS Marketplace不一样：&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt; &lt;/th&gt;
      &lt;th&gt;VS Marketplace&lt;/th&gt;
      &lt;th&gt;Open VSX&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;建 publisher / namespace&lt;/td&gt;
      &lt;td&gt;你就是所有者&lt;/td&gt;
      &lt;td&gt;你只是 &lt;strong&gt;contributor&lt;/strong&gt;，能发版&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;验证勾&lt;/td&gt;
      &lt;td&gt;建好就有&lt;/td&gt;
      &lt;td&gt;还要再 &lt;strong&gt;claim ownership&lt;/strong&gt; 一次&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;所以：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;elmagnificogi&lt;/code&gt; 能发版，但还不是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebinddocs&lt;/code&gt; 的verified owner。扩展能用、Cursor也能搜到，只是详情页带 ⚠️。&lt;/p&gt;

&lt;p&gt;消掉警告的办法：去 &lt;a href=&quot;https://github.com/EclipseFdn/open-vsx.org/issues&quot;&gt;EclipseFdn/open-vsx.org&lt;/a&gt; 开一个Issue，申请命名空间所有权，大致写：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Open VSX / GitHub用户名：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;elmagnificogi&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;要认领的namespace：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebinddocs&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;证明你是维护者，例如仓库、VS市场页链接&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;标题可以写成：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Namespace Ownership Request: codebinddocs&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;管理员通过后，namespace变成verified，你就是owner，警告会消失（有时再发一个新版本才完全干净）。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260721172645643.png&quot; alt=&quot;image-20260721172645599&quot; /&gt;&lt;/p&gt;

&lt;p&gt;实际我已经获得授权了，但是依然未认证，这个需要github上继续联系对方，他应该只是设置了publisher，但是没把你设置为owner，导致这个命名空间一直没有被切换过来。&lt;/p&gt;

&lt;h2 id=&quot;踩坑&quot;&gt;踩坑&lt;/h2&gt;

&lt;h4 id=&quot;以为发了vs就能在cursor搜到&quot;&gt;以为发了VS就能在Cursor搜到&lt;/h4&gt;

&lt;p&gt;社区里一堆人踩过：VS Marketplace有货，Cursor扩展面板搜不到。原因就是上面那条，Cursor默认吃Open VSX，不自动镜像Microsoft市场。&lt;/p&gt;

&lt;p&gt;临时办法：本机装 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.vsix&lt;/code&gt;（&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Extensions: Install from VSIX...&lt;/code&gt;）。长期还是得发Open VSX。&lt;/p&gt;

&lt;h4 id=&quot;没签eclipse协议&quot;&gt;没签Eclipse协议&lt;/h4&gt;

&lt;p&gt;报错大意：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;You need to sign the Eclipse Foundation Open VSX Publisher Agreement…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Open VSX是Eclipse基金会管的，发布者协议必须签。注意：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;“Eclipse Contributor Agreement”和这个不是一回事&lt;/li&gt;
  &lt;li&gt;登录Eclipse时用的GitHub，得和open-vsx.org登录的是同一个&lt;/li&gt;
  &lt;li&gt;签完回到Profile，能看到协议相关入口才算过&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;namespace太像不让建&quot;&gt;namespace太像，不让建&lt;/h4&gt;

&lt;p&gt;想建 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebind&lt;/code&gt;，直接被拒：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Namespace name ‘codebind’ is too similar to existing namespace(s): CodeMind.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Open VSX有typosquatting / 相似度检查，名字撞得太近就不给你。跟CodeMind差几个字母，系统觉得用户会搞混，讲道理偏严，但也没地方跟机器人扯皮。&lt;/p&gt;

&lt;p&gt;最后改成 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebinddocs&lt;/code&gt;，扩展ID变成：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebinddocs.codebind-docs&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;显示名照样可以叫CodeBind Docs，变的是URL / ID那截，不是产品名。&lt;/p&gt;

&lt;h4 id=&quot;vs那边改不了publisher&quot;&gt;VS那边改不了publisher&lt;/h4&gt;

&lt;p&gt;第一反应：那我把VS Marketplace也改成 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebinddocs&lt;/code&gt;，两边统一？&lt;/p&gt;

&lt;p&gt;不行。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;publisher.name&lt;/code&gt; 是扩展唯一身份：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Publisher ID创建后改不了&lt;/li&gt;
  &lt;li&gt;你自己改 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;package.json&lt;/code&gt; 再发，市场会当成另一个新扩展&lt;/li&gt;
  &lt;li&gt;老用户不会自动迁，下载量也不合并&lt;/li&gt;
  &lt;li&gt;真要迁移得找Marketplace Support申请transfer，现在很少批，还一堆副作用&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;所以现实方案是：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;VS Marketplace：继续 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebind.codebind-docs&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Open VSX / Cursor：用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebinddocs.codebind-docs&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;两边ID不一致，难看一点，但比下架重来强。下架还可能把名字永久占死，更亏。&lt;/p&gt;

&lt;h4 id=&quot;删除改名&quot;&gt;删除改名&lt;/h4&gt;

&lt;p&gt;后续VS这边重新建publish，名字改成了一样的，就是删了之前的，但是上传就一直提示插件已经存在了&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/20260721172036041.png&quot; alt=&quot;image-20260721172036019&quot; /&gt;&lt;/p&gt;

&lt;p&gt;VS Marketplace自大约2025年中起的政策是：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;扩展一旦被 Remove（删除），&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;name&lt;/code&gt;（ID 里第二段，例如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;codebind-docs&lt;/code&gt;）会永久占用，原作者也不能再用。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;干，所以现在要换个name上传，真的离谱了&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;上架扩展本身不难，难的是两个市场两套规矩，还都叫marketplace。Publisher核心就三件事：身份（账号 / 协议）、命名空间（撞名真的会卡死）、版本与打包（升版本、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.vsix&lt;/code&gt;、两边各发）。&lt;/p&gt;

&lt;p&gt;CBD现在：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;VS：&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=codebinddocs.codebinddocs&quot;&gt;codebinddocs.codebinddocs&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Cursor：&lt;a href=&quot;https://open-vsx.org/extension/codebinddocs/codebinddocs&quot;&gt;codebinddocs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;quote&quot;&gt;Quote&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://github.com/eclipse-openvsx/openvsx/wiki/Namespace-Access&lt;/p&gt;

  &lt;p&gt;https://github.com/EclipseFdn/open-vsx.org/wiki/Guidelines-on-Namespace-Requests&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Tue, 21 Jul 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/07/21/CBD-Publisher-OpenVSX/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/07/21/CBD-Publisher-OpenVSX/</guid>
        
        <category>AI</category>
        
        <category>Agent</category>
        
        <category>VSCode</category>
        
        
      </item>
    
      <item>
        <title>CodeBind Docs插件</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;之前学VS Code插件，算是半途而废。最近结合Agent，把当时没做完的想法做完了，刚好这东西能塞进目前这套AI工作流里。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/2026/06/24/Agent-Workflow/&quot;&gt;Agent工作流&lt;/a&gt;里反复强调一件事：先文档、后代码，文档得是Agent能读、人能审的单一事实来源。wolai管产品需求没问题，但落到具体模块、具体函数时，设计上下文往往还是散的，注释里有一点、README里有一点、脑子里有一点。于是就有了CodeBind Docs。&lt;/p&gt;

&lt;h2 id=&quot;为什么要做&quot;&gt;为什么要做&lt;/h2&gt;

&lt;p&gt;下一代编辑器怎么吹都行，现实里无论哪种IDE，核心还是代码，文档怎么改，都和代码是两套东西。文档不同步、散落各处，要维护就异常痛苦。&lt;/p&gt;

&lt;p&gt;常见几种情况：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;往源码里塞大段注释，污染代码，review时噪音一大堆&lt;/li&gt;
  &lt;li&gt;文档丢到云端wiki，和仓库版本对不上，Agent也摸不着&lt;/li&gt;
  &lt;li&gt;靠人记得“这个函数的设计在某某页”，人会忘，Agent更不会自己猜&lt;/li&gt;
  &lt;li&gt;与Agent共同工作，某些时候框架设计都是堆在一起的，某一个文档，但是当你看代码的时候不一定会意识到对应的文档&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;既然如此，为什么不把代码和文档绑紧一点？理想态当然是混在同一个文件里：上面文档（图、视频都行），下面代码，按顺序拼接，编译时再拆回去。Jupyter、Colab某种程度上就是这条路。&lt;/p&gt;

&lt;p&gt;但真混排对现有工程改造太狠了，语言服务器、diff、CI、同事的习惯全要跟着改。所以我先做了一版能立刻用的插件：源码零侵入，文档旁路挂在仓库Markdown里，打开代码时左右分栏同步看、同步改。这就是CodeBind Docs（简称CBD）。&lt;/p&gt;

&lt;h2 id=&quot;codebind-docs&quot;&gt;CodeBind Docs&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202607192328855.png&quot; alt=&quot;image-20260719232659382&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.elmagnifico.tech/static/upload/elmagnifico/202607192343632.png&quot; alt=&quot;image-20260719233917717&quot; /&gt;&lt;/p&gt;

&lt;p&gt;CodeBind Docs：代码文档绑定，VS Code / Cursor都能用。&lt;/p&gt;

&lt;p&gt;插件页面&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://marketplace.visualstudio.com/items?itemName=codebinddocs.codebinddocs&lt;/p&gt;

  &lt;p&gt;https://open-vsx.org/extension/codebinddocs/codebinddocs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;仓库&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://github.com/elmagnificogi/CodeBindDocs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;功能：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;文档落在仓库的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docs/&lt;/code&gt;（可改路径），跟代码一起进Git&lt;/li&gt;
  &lt;li&gt;绑定写在Markdown的YAML头里，不改被绑定的源码&lt;/li&gt;
  &lt;li&gt;支持整文件绑定，也支持某个函数/类的行范围绑定&lt;/li&gt;
  &lt;li&gt;打开已绑定的源文件后，右侧自动打开对应文档，光标进到某个代码块，文档跟着切&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;绑定后仅仅是在文档头增加了下面的内容，一般不影响显示：&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nn&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;cbd&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;src/foo.ts&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;file&lt;/span&gt;          &lt;span class=&quot;c1&quot;&gt;# 或 range&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;startLine&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;15&lt;/span&gt;       &lt;span class=&quot;c1&quot;&gt;# range 时&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;endLine&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;44&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;symbol&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;activate&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# range 强烈建议填&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;contentHash&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;abc&lt;/span&gt;
&lt;span class=&quot;nn&quot;&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;没有 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cbd:&lt;/code&gt; 头的Markdown不算绑定，普通说明文档该咋放还咋放。CodeBind Docs插件仓库自己也在用：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;src/**&lt;/code&gt; 基本都挂了旁路文档，有需要看效果直接打开这个仓库即可&lt;/p&gt;

&lt;h2 id=&quot;优势&quot;&gt;优势&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;痛点&lt;/th&gt;
      &lt;th&gt;CBD 怎么搞&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;文档散、和代码对不上&lt;/td&gt;
      &lt;td&gt;绑定写在文档头，跟文件 / 行范围走&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;注释污染源码&lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;不改源码&lt;/strong&gt;，旁路 Markdown&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;云端文档难版本控制&lt;/td&gt;
      &lt;td&gt;纯本地、可 Git，无强制云端&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Agent 不知道读哪&lt;/td&gt;
      &lt;td&gt;Initialize 生成 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AGENTS.md&lt;/code&gt; / Cursor rules，文档就在仓库里&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;日常用下来，比较实在的几条：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;分栏同步：写代码时右侧就是设计说明，少来回切窗口、少漏逻辑&lt;/li&gt;
  &lt;li&gt;漂移治理：文件/目录改名尽量自动改 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;target&lt;/code&gt;，行号乱了可以按symbol一键重算，内容哈希变了只软提醒，不逼你，本质上是告诉你文档和代码可能不同步了&lt;/li&gt;
  &lt;li&gt;人与Agent共用同一套上下文：改代码前先读旁路文档，代码变更尽量同一提交更新文档，这和&lt;a href=&quot;/2026/06/24/Agent-Workflow/&quot;&gt;工作流&lt;/a&gt;里“缺陷回流文档”是同样规范，只是粒度从需求页下沉到了模块/函数&lt;/li&gt;
  &lt;li&gt;开源、独立：不依赖远程服务器，能看到代码就能看到文档，这二者永远同步&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;对Agent工作流来说，CBD补的是wolai够不着的那一层：产品需求可以仍在wolai，落到“这个文件为啥这么写”时，旁路文档 + &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AGENTS.md&lt;/code&gt; 对照表，开新会话也能直接喂进去。&lt;/p&gt;

&lt;h2 id=&quot;五分钟上手&quot;&gt;五分钟上手&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;装扩展（&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=codebind.codebind-docs&quot;&gt;插件市场&lt;/a&gt;搜CodeBind Docs，或装VSIX / 源码目录），打开文件夹工作区（单文件模式扫不了绑定）&lt;/li&gt;
  &lt;li&gt;命令面板跑 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CBD: Initialize&lt;/code&gt;，创建 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docs/&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assets/&lt;/code&gt;、模板、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AGENTS.md&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.cursor/rules/cbd.mdc&lt;/code&gt; 等&lt;/li&gt;
  &lt;li&gt;打开一个源文件，跑 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CBD: Bind Doc to Current File&lt;/code&gt;，选整文件或代码块（代码块尽量填symbol）&lt;/li&gt;
  &lt;li&gt;之后切源文件就会左右分栏，左侧Activity Bar有CodeBind Docs图标，已绑定 / 待绑定一目了然&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;常用入口：&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;入口&lt;/th&gt;
      &lt;th&gt;作用&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CBD: Open Docs Index&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;文档主页（树、覆盖率、漂移提醒）&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;源码顶部 CodeLens / 状态栏&lt;/td&gt;
      &lt;td&gt;打开旁路文档&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;侧栏 &lt;strong&gt;已绑定 / 待绑定&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;浏览与补绑&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;文档面板支持类Typora的即时渲染，也能切纯文本，粘贴图片会进 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docs/assets/&lt;/code&gt;，同仓库其它文档可以用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cbd-include&lt;/code&gt; 只读嵌入。&lt;/p&gt;

&lt;h2 id=&quot;竞品&quot;&gt;竞品&lt;/h2&gt;

&lt;p&gt;思路并不新鲜。&lt;/p&gt;

&lt;p&gt;Swimm有点类似，但偏云端，还叠了AI、扫描、审查一类能力：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://swimm.io/&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;古人也试过“文档和代码绑在一起”：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;http://www.mark-to-win.com/tutorial/176050.html&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Jupyter把代码和Markdown写在一起，代码还能跑：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://zhuanlan.zhihu.com/p/478098675&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Colab更进一步，环境和运行都云上给你备好了：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;https://colab.research.google.com/&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;CBD和它们的差别很明确：强调本地、源码零侵入、旁路Markdown + 分栏，不做强制云端，也不做真混排笔记本。工程仓库里的TypeScript / 嵌入式 / 多端业务，往往更吃这套，你不需要把整个项目改成notebook，也能让文档跟着代码走。&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;长远看，我仍然觉得为什么代码不可以和文档写在一起，甚至多种代码混在一起？通过文件标识区分语言，顺序唯一确定，查看时又能把各块独立挪动，页面属性决定编译类型，中间过程再生成“普通”代码文件和“普通”文档文件，相当于在编译链路里多做一次编译，让工程不再只是代码堆。CBD的下一步可能会改整个富文本文本前端，实现我的这个想法&lt;/p&gt;

&lt;p&gt;现在的CBD是先把“绑得住、找得到、Agent读得到”做到位。真混排、音视频显示、block合并、跨IDE、代码块重组，以后再说。&lt;/p&gt;

&lt;h2 id=&quot;quote&quot;&gt;Quote&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;文档和代码要是老对不上，Agent 再聪明也只能猜；旁路绑住一层，至少猜的时候有据可查。&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Mon, 20 Jul 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/07/20/CBD-VSC-Plugin/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/07/20/CBD-VSC-Plugin/</guid>
        
        <category>AI</category>
        
        <category>Agent</category>
        
        
      </item>
    
      <item>
        <title>理想的AI工作流</title>
        <description>&lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;/2026/06/24/Agent-Workflow/&quot;&gt;上一篇&lt;/a&gt;那套Agent工作流其实并不完善，它只是当下妥协出来的一套流程，文档先行、人卡在几个关口审一审、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;task.md&lt;/code&gt; 记着进度。说白了，是拿“流程纪律”硬填Agent接不进现有工程链路的坑。&lt;/p&gt;

&lt;p&gt;那理想的工作流长啥样？光有纪律不够，还得往下再走一层：把调试、测试、联调都改造成Agent能直接上手的样子，人退到只管设计和审核。&lt;/p&gt;

&lt;h2 id=&quot;一个够复杂的例子&quot;&gt;一个够复杂的例子&lt;/h2&gt;

&lt;p&gt;先摆个够复杂的项目当靶子，能把它捋顺，剩下大部分工程场景也就差不多了：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;嵌入式软件 A  基于 硬件 B
算法 C        服务于 PC 软件 D 和 PC 软件 E
PC 软件 D     基于通信协议 与嵌入式软件 A 交互
PC 软件 E     基于特定协议文件 与软件 D 交互
Web 软件 F    基于网络协议 与软件 D、E 交互
安卓端 G      基于网络协议 与软件 D 交互
iOS 端 H      基于网络协议 与软件 D 交互
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;这里先不考虑额外的自动化测试工程（就是那种独立于业务架构、单独起一套的测试工程）。我的想法是：测试能力最好长在每个组件自己身上，而不是另起一座测试孤岛。&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;flowchart LR
  B[&quot;硬件 B&quot;] --&amp;gt; A[&quot;嵌入式 A&quot;]
  A &amp;lt;--&amp;gt;|通信协议| D[&quot;PC 软件 D&quot;]
  C[&quot;算法 C&quot;] --&amp;gt; D
  C --&amp;gt; E[&quot;PC 软件 E&quot;]
  D &amp;lt;--&amp;gt;|协议文件| E
  D &amp;lt;--&amp;gt;|网络协议| F[&quot;Web F&quot;]
  D &amp;lt;--&amp;gt;|网络协议| G[&quot;安卓 G&quot;]
  D &amp;lt;--&amp;gt;|网络协议| H[&quot;iOS H&quot;]
  E &amp;lt;--&amp;gt;|网络协议| F

  classDef hw fill:#f8cecc,stroke:#b85450
  classDef emb fill:#dae8fc,stroke:#6c8ebf
  classDef pc fill:#d5e8d4,stroke:#82b366
  classDef net fill:#fff2cc,stroke:#d6b656
  class B hw
  class A emb
  class D,E,C pc
  class F,G,H net
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;这张图里，每条箭头都是Agent联调时要跨的边界。理想情况下，边界两头都该露出“机器能读、机器能调”的接口，可现实里呢，很多边界就只有个GUI、一台示波器、或者一段得靠人眼看的波形，Agent走到这儿就断了，再往前一步都迈不动。&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;边界&lt;/th&gt;
      &lt;th&gt;理想态里 Agent 能用的接口&lt;/th&gt;
      &lt;th&gt;现实里常见的断点&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;A ↔ B&lt;/td&gt;
      &lt;td&gt;仿真器 / 真机 MCP、寄存器 dump、固件烧录 CLI&lt;/td&gt;
      &lt;td&gt;只有 JTAG 调试器，外加人眼看灯&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;D ↔ A&lt;/td&gt;
      &lt;td&gt;协议帧日志、回放脚本、mock 设备&lt;/td&gt;
      &lt;td&gt;只有串口助手，肉眼对十六进制&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;D ↔ E&lt;/td&gt;
      &lt;td&gt;协议文件 + 结构化 diff&lt;/td&gt;
      &lt;td&gt;二进制专有格式，连 schema 都没有&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;D ↔ F/G/H&lt;/td&gt;
      &lt;td&gt;HTTP/gRPC 契约 + 集成测试 API&lt;/td&gt;
      &lt;td&gt;一堆 UI 点击流，没有 headless 入口&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;算法 C&lt;/td&gt;
      &lt;td&gt;固定输入输出向量、基准测试 CLI&lt;/td&gt;
      &lt;td&gt;只有 MATLAB 图，没法量化断言&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;一句话：上篇解决的是“文档和代码怎么对上”，这篇要解决的是“Agent到底摸不摸得到这些边”。&lt;/p&gt;

&lt;h2 id=&quot;人把路铺好agent才能跑闭环&quot;&gt;人把路铺好，Agent才能跑闭环&lt;/h2&gt;

&lt;p&gt;理想的Agent工作流，我觉得能一句话概括：&lt;/p&gt;

&lt;p&gt;该人干的人干好，定方向、划边界、把物理和权限上的路打通，编码、联调、测试丢给Agent，最后审核还是人来拍板。&lt;/p&gt;

&lt;p&gt;这么一来，工程师的身份其实变了：从“自己埋头写代码”变成“设计系统 + 管Agent”。不是说细节就不管了，而是把细节约束提前写进一个Agent能读、能跑、还能自己判断对错的环境里。&lt;/p&gt;

&lt;h2 id=&quot;假如上下文真的无限&quot;&gt;假如上下文真的无限&lt;/h2&gt;

&lt;p&gt;先做个假设：要是Agent上下文接近无限，不会“聊着聊着就忘了S8之前不能写代码”，那工作流就能尽量照着人类团队那套来搭，产品提需求、开发写实现、测试验结果、负责人拍板，只不过每个岗位都能换成Agent，人只挑几步插手。&lt;/p&gt;

&lt;p&gt;但有个坑特别容易忽略：上下文无限也不等于Agent就可靠了。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;会话一长，早期定的规矩照样会被慢慢带跑偏，外部事实源（&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;task.md&lt;/code&gt;、wolai定稿）还是省不掉&lt;/li&gt;
  &lt;li&gt;跨会话没有“责任连续性”，得靠文档和关口一棒一棒接&lt;/li&gt;
  &lt;li&gt;“记得住”不等于“判断对”，复核、追溯表该做还得做&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;所以哪怕上下文不再是瓶颈，流程纪律和那些能被观测的边界，依旧是硬需求，区别只是你能腾出更多精力，去搞“链路打通”这件正事。&lt;/p&gt;

&lt;h2 id=&quot;人该干啥&quot;&gt;人该干啥&lt;/h2&gt;

&lt;p&gt;理想态里，人确实不用一行行去写实现了。但下面这几件事，短期内真不好甩给Agent：&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;人留着的活&lt;/th&gt;
      &lt;th&gt;为啥甩不掉&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;定方向、划范围&lt;/td&gt;
      &lt;td&gt;「要做啥」得人说了算，不然 Agent 分分钟给你 scope creep&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;划协议和模块边界&lt;/td&gt;
      &lt;td&gt;A~H 之间谁跟谁说话、合同是啥，这得架构师定&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;打通物理世界&lt;/td&gt;
      &lt;td&gt;真机、夹具、烧录器、各种权限——Agent 没有手，够不着&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;审核拍板&lt;/td&gt;
      &lt;td&gt;安全、业务意图、能不能交给客户，这些 AI 不背锅&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;把工程改造成 Agent 友好&lt;/td&gt;
      &lt;td&gt;加 CLI、加结构化日志、加可回放测试——这是落到人头上的新「搬砖」&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;最后一条最关键：理想工作流不是干等Agent变强就行，而是人得主动把环境收拾成一个Agent能上岗干活的车间。&lt;/p&gt;

&lt;h2 id=&quot;agent的壁垒&quot;&gt;Agent的壁垒&lt;/h2&gt;

&lt;p&gt;要是真打算一切围着Agent转，那软件之间的交互、调试、测试都得为它服务。可现在的工具链基本是给人、给业务用的，Agent在不少环节根本插不进手。&lt;/p&gt;

&lt;h4 id=&quot;没有cli也没有能下断言的输出&quot;&gt;没有CLI，也没有能下断言的输出&lt;/h4&gt;

&lt;p&gt;测试这一环，特别多是靠人眼判断的，要么软件压根没有命令行式的输入输出。这种工具Agent用不了，测试就又被踢回给人。上篇说过那句话：能编译通过不等于能自测。&lt;/p&gt;

&lt;h4 id=&quot;图和文之间那道墙原生ui尤其惨&quot;&gt;图和文之间那道墙（原生UI尤其惨）&lt;/h4&gt;

&lt;p&gt;UI的设计和实现之间，在非Web的场景下，几乎没有一门Agent能操作的“中间语言”，你想用代码或文字精确描述“这个控件偏了2px”“这个动效不对劲”，太难了。Web好歹还有DOM加截图兜底，桌面和移动端的原生UI就更吃亏。&lt;/p&gt;

&lt;h4 id=&quot;视频和图文之间差距更大&quot;&gt;视频和图文之间，差距更大&lt;/h4&gt;

&lt;p&gt;这比静态图又高一层：时序、动画、音画同步……Agent理解起来成本陡增。录屏加抽帧对比能缓解一点，但离“能下可靠断言”还差得远。这一层现阶段Agent基本进不来，只能等技术再往前走走。&lt;/p&gt;

&lt;h4 id=&quot;状态和时序这道坎&quot;&gt;状态和时序这道坎&lt;/h4&gt;

&lt;p&gt;很多bug根本不在“某一帧画面”上，而是藏在时序、并发、中断、实时性里，协议莫名少了一帧、DMA跟主循环抢资源、电机响应慢了3ms。这类问题没有一张稳定的文本快照能截下来，Agent拿不到“现场”，只能干等着人来一句“刚才好像卡了一下”。&lt;/p&gt;

&lt;h2 id=&quot;agent友好&quot;&gt;Agent友好&lt;/h2&gt;

&lt;p&gt;“为Agent改造”不能拍脑袋，我归了四条，拿来挨个对比够不够格：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;可观测 — 状态能用文本或结构化数据吐出来（日志、dump、协议帧、指标）
可驱动 — 能用命令行 / API / 脚本触发，不靠鼠标点
可断言 — 结果能让程序判定对错，不只靠人眼，不凭感觉
可复现 — 同样的输入能稳定重放（硬件场景下就是能录能回放）
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;四条全占上，Agent才可能在这个环节自己跑出闭环，缺一条，人就还得在那儿补位。&lt;/p&gt;

&lt;h2 id=&quot;把agent当员工&quot;&gt;把Agent当员工&lt;/h2&gt;

&lt;p&gt;软硬件联调这块，得能模拟硬件，最好直接把真机接进流程，让Agent能直接调：烧录、读寄存器、发指令、读传感器，连硬件调试那条链路也接进来。&lt;/p&gt;

&lt;p&gt;一句话：把Agent当个正常员工看待，人手里有啥工具，就得给它配上对应的接口。&lt;/p&gt;

&lt;p&gt;以上述项目为例：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;好处：不必另起一套独立测试工程架构，协议联调、硬件逻辑、软件互动可以在同一条链路上闭环验证&lt;/li&gt;
  &lt;li&gt;现状难点：硬件没有接入Agent，没有“Agent能发指令、读状态、判定硬件是否稳定”的链路打通。Agent写完软件补丁，闭环断在真机这一侧，只能等人工测试一遍、口述结果&lt;/li&gt;
  &lt;li&gt;理想态：Agent完成编码和可自动化部分的测试，人只做设计评审、安全审核、以及Agent够不着的物理操作授权&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这其实就是上篇“测试压力全压人身上”的极端版：越靠近物理世界，改造成本越高，可一旦打通，闭环带来的收益也越大。&lt;/p&gt;

&lt;h2 id=&quot;多agent融合&quot;&gt;多Agent融合&lt;/h2&gt;

&lt;p&gt;回到A~H那张图，真要并行干，基本就是一个组件开一个Agent，各跑各的会话。那它们之间怎么对齐？靠的不是谁记着谁，而是协议文档当合同，边界上的协议、报文格式、接口契约都写死在文档里，改A的Agent和改D的Agent各自照着合同来。谁想动合同，就得回到人这儿重新评审。这跟上篇团队版里“多方Agent + 协议文档联调”是一个意思，只是这里把它当成默认姿势。&lt;/p&gt;

&lt;p&gt;还有个容易被忽略的点：Agent既写代码又写测试，等于自己给自己发合格证。所以人审的时候，重点不光是看代码，更得看测试本身合不合理，断言够不够狠、边界有没有漏、是不是为了让用例“变绿”把条件写松了。测试用例的设计意图这一关，还得人来守。&lt;/p&gt;

&lt;h2 id=&quot;改造成本&quot;&gt;改造成本&lt;/h2&gt;

&lt;p&gt;为Agent重做调试、测试链路，是实打实要砸进去的工程量，不是改几行Skill就完事的：&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;要砸的地方&lt;/th&gt;
      &lt;th&gt;举个例子&lt;/th&gt;
      &lt;th&gt;短期啥感受&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;协议可观测&lt;/td&gt;
      &lt;td&gt;D↔A 通信录包 + 文本回放&lt;/td&gt;
      &lt;td&gt;开发节奏变慢&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;原生 UI 可测&lt;/td&gt;
      &lt;td&gt;G/H 加 headless 或截图 diff 管线&lt;/td&gt;
      &lt;td&gt;得动客户端架构&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;硬件在环&lt;/td&gt;
      &lt;td&gt;真机 MCP、仿真器、安全互锁&lt;/td&gt;
      &lt;td&gt;要硬件团队配合&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;规范成文&lt;/td&gt;
      &lt;td&gt;MVVM、日志、目录约定写进 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;task.md&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;文档变厚&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;怎么取舍：小需求、一次性脚本，犯不上全链路改造，上篇那套妥协流程就够用了。但要是个长期维护的多端 + 嵌入式产品，那越早把边界上那四条判据补齐越划算，Agent能扛的环节越多，人就越往“架构师 + 审核员”那个位置挪。&lt;/p&gt;

&lt;p&gt;不是所有项目都得追理想态。关键是先搞清楚断点卡在哪，再决定是花钱打通链路，还是干脆让人补位。&lt;/p&gt;

&lt;h2 id=&quot;理想工作流&quot;&gt;理想工作流&lt;/h2&gt;

&lt;p&gt;把前面这些收回到例子上，理想态大概是这么转的：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;人：定义各组件的职责和协议合同，把定稿沉淀到需求 / &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;task.md&lt;/code&gt;，给Agent开通真机、网络、仓库的权限&lt;/li&gt;
  &lt;li&gt;Agent（可以按组件各开一条会话）：先读合同，修改A/D/E等组件，再用CLI/API把自己这块测了，跨边界的就用录包 / mock / 集成脚本联调&lt;/li&gt;
  &lt;li&gt;人审核：协议变更、安全相关、UI主观体验、真机实飞，关口不过就不合并&lt;/li&gt;
&lt;/ol&gt;

&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;flowchart TB
  HUMAN[&quot;人：方向 / 边界 / 权限 / 审核&quot;]:::human
  AGENT[&quot;Agent：编码 / 自测 / 联调脚本&quot;]:::ai
  CHAIN[&quot;Agent 友好链路&amp;lt;br/&amp;gt;CLI · 日志 · 录包 · 真机 MCP&quot;]:::chain
  PROD[&quot;A~H 各组件&quot;]:::prod

  HUMAN --&amp;gt;|定契约| PROD
  HUMAN --&amp;gt;|打通| CHAIN
  CHAIN --&amp;gt; AGENT
  AGENT --&amp;gt;|可观测可驱动| PROD
  AGENT --&amp;gt;|阻塞 / 需拍板| HUMAN

  classDef human fill:#d5e8d4,stroke:#82b366,color:#333
  classDef ai fill:#dae8fc,stroke:#6c8ebf,color:#333
  classDef chain fill:#fff2cc,stroke:#d6b656,color:#333
  classDef prod fill:#f5f5f5,stroke:#999,color:#666
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;说到底，上篇拼的是文档纪律，这篇拼的是环境纪律。两样叠一块，才勉强够得着“Agent写完就能交付、人只管设计和审核”那个理想。&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;上篇那套妥协流程，解决的是“别让Agent跑偏”，这篇想再往前一步，解决“别让Agent卡在链路外头”。几个结论：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;协议边界就是Agent的联调边界，每条边都得往“可观测、可驱动、可断言、可复现”上靠&lt;/li&gt;
  &lt;li&gt;四道坎：没CLI、图文、视频、时序，越往后越难啃，嵌入式真机是最硬那块骨头&lt;/li&gt;
  &lt;li&gt;人的活儿变了：少写实现，多去划边界、打通物理渠道、改造环境、做审核&lt;/li&gt;
  &lt;li&gt;上下文再大，也替不掉外部事实源和关口&lt;/li&gt;
  &lt;li&gt;改造成本是真金白银，得按项目掂量，小需求用妥协流程，长期多端、嵌入式才值得砸链路下去&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;理想不是“Agent啥都能干”，而是“该它闭环的地方，它真能闭上”，闭不上的，人就老老实实补位，别假装全自动。&lt;/p&gt;

&lt;p&gt;往远了说，这事不光取决于Agent多聪明，更取决于整条工具链愿不愿意把“机器能用的接口”露出来，厂商给硬件、给软件配上CLI和MCP，给调试器留个程序能调的口子。这一步迈出来之前，理想工作流就还只是“理想”。&lt;/p&gt;

&lt;h2 id=&quot;quote&quot;&gt;Quote&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;人手里有啥工具，就得给 Agent 配上对应的接口——不然所谓工作流，只是换了个写代码的实习生，谈不上什么新工种。&lt;/p&gt;

  &lt;p&gt;https://mp.weixin.qq.com/s/MnEEHNCYnHGLK1g24KMlUA&lt;/p&gt;

  &lt;p&gt;https://mp.weixin.qq.com/s/N1Mki1F3VX_PDwr_1jtRWA&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Thu, 02 Jul 2026 00:00:00 +0800</pubDate>
        <link>https://elmagnifico.tech/2026/07/02/Agent-Workflow2/</link>
        <guid isPermaLink="true">https://elmagnifico.tech/2026/07/02/Agent-Workflow2/</guid>
        
        <category>AI</category>
        
        <category>Agent</category>
        
        
      </item>
    
  </channel>
</rss>
