<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://koutian.is-a.dev/feed.xml" rel="self" type="application/atom+xml" /><link href="https://koutian.is-a.dev/" rel="alternate" type="text/html" /><updated>2026-10-11T08:07:21+00:00</updated><id>https://koutian.is-a.dev/feed.xml</id><title type="html">koutian.is-a.dev</title><subtitle>AI4Geoscience M.S. student at UT Austin specializing in explainable AI for physics-based land surface modeling, Noah-MP research, and Earth system science. Expert in Python, MATLAB, HPC, and machine learning for atmospheric and geoscience applications.</subtitle><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><entry><title type="html">AI 写 PR 前，先让人回答</title><link href="https://koutian.is-a.dev/zh/posts/2026/10/agent-pr-gate/" rel="alternate" type="text/html" title="AI 写 PR 前，先让人回答" /><published>2026-10-11T00:00:00+00:00</published><updated>2026-10-11T00:00:00+00:00</updated><id>https://koutian.is-a.dev/zh/posts/2026/10/agent-pr-gate-zh</id><content type="html" xml:base="https://koutian.is-a.dev/zh/posts/2026/10/agent-pr-gate/"><![CDATA[<p>一个账号，10 天给 benchmark-radar 提了 <strong>58 个 PR</strong>，最后合并了 5 个。我把贡献规则整理成了 <a href="https://github.com/ktwu01/agent-pr-gate">agent-pr-gate</a>，方便其他维护者复制：AI agent 开始写 PR 前，先问使用它的人四个问题，等人回答后再动手。</p>

<blockquote>
  <p>作者：<a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>；<a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p><a href="https://github.com/ktwu01/benchmark-radar/blob/main/CONTRIBUTING.md#a-real-example-of-a-flood">维护记录</a>附了 PR 链接，也记下了提交最密集的时候：27 秒里来了 8 个 PR。合并的 5 个修复了数据被悄悄丢掉的问题，或报告里确实出现过的错误。剩下的 PR 也得有人花时间判断。</p>

<p>生成一份补丁很便宜。判断这份补丁值不值得收，仍然需要一个了解项目的人。</p>

<h2 id="先问清楚谁需要这个改动">先问清楚谁需要这个改动</h2>

<p>规则要求贡献者回答：</p>

<ol>
  <li>我真正想要什么结果？</li>
  <li>决定这个结果的最关键变量是什么？</li>
  <li>今天这件事能改变那个变量，还是只让我觉得自己很忙？</li>
  <li>客户是谁，他们真正想要什么？</li>
</ol>

<p>人必须亲自回答。Agent 不能代写一套看起来合理的答案，也不能把任务要求当成答案。它只追问还没回答的问题，等人答完再开始写 PR。这里的客户可以是用户，也可以是负责审查和长期维护改动的人。</p>

<p>我想让贡献者在提交补丁前，先想清楚谁会受益。有证据的真实 bug，修了当然有用。为了写补丁而设想出来的问题，可以先放一放。</p>

<h2 id="把规则复制到自己的项目">把规则复制到自己的项目</h2>

<p><a href="https://github.com/ktwu01/agent-pr-gate/blob/main/CONTRIBUTING.md">agent-pr-gate 的 CONTRIBUTING.md</a>包含这些问题和贡献规则。可以直接复制，再按自己的项目调整，也可以把这句话交给 agent：</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>help me copy and paste https://github.com/ktwu01/agent-pr-gate/blob/main/CONTRIBUTING.md into our CONTRIBUTING.md
</code></pre></div></div>

<p>采用前先读一遍。里面除了四个问题，还要求修改规则时提供实际问题的证据。仓库用 CC0 1.0，允许自由修改，不要求署名，也不用装 bot 或依赖。</p>

<p>它能起作用的前提，是 agent 会读并遵守仓库里的指令。忽略指令的人仍然可以提交 PR。benchmark-radar 另有一条限制：每个作者同时打开的 issue 和 PR 合计最多 10 个，维护者除外。这条数量限制和提问规则是两回事。</p>

<p>我还没有测量这些问题能否减少 PR 数量，或提高合并率。目前它是一份有具体来由、其他维护者也能试用的贡献规则。</p>

<p>这个想法受 <a href="https://x.com/ycaophysics">@ycaophysics</a> 启发。如果你的审查队列也遇到了同样的问题，可以<a href="https://github.com/ktwu01/agent-pr-gate">去 agent-pr-gate 复制这份规则</a>。</p>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="open-source" /><category term="AI-agents" /><category term="maintenance" /><summary type="html"><![CDATA[一个账号，10 天给 benchmark-radar 提了 58 个 PR，最后合并了 5 个。我把贡献规则整理成了 agent-pr-gate，方便其他维护者复制：AI agent 开始写 PR 前，先问使用它的人四个问题，等人回答后再动手。]]></summary></entry><entry><title type="html">58 PRs in 10 Days: Ask the Human Before the Agent Writes</title><link href="https://koutian.is-a.dev/posts/2026/10/agent-pr-gate/" rel="alternate" type="text/html" title="58 PRs in 10 Days: Ask the Human Before the Agent Writes" /><published>2026-10-11T00:00:00+00:00</published><updated>2026-10-11T00:00:00+00:00</updated><id>https://koutian.is-a.dev/posts/2026/10/agent-pr-gate</id><content type="html" xml:base="https://koutian.is-a.dev/posts/2026/10/agent-pr-gate/"><![CDATA[<p>One account opened <strong>58 pull requests in 10 days</strong> on benchmark-radar. Five were merged. I put the contribution policy into <a href="https://github.com/ktwu01/agent-pr-gate">agent-pr-gate</a> so other maintainers can copy it: before an AI agent starts PR work, it asks its human four questions and waits for the answers.</p>

<blockquote>
  <p>Author: <a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>; <a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p>The <a href="https://github.com/ktwu01/benchmark-radar/blob/main/CONTRIBUTING.md#a-real-example-of-a-flood">maintainer’s account</a> links the PRs and records the bursts, including eight PRs in 27 seconds. The five merged changes fixed silent data loss or a real report bug. The rest of the queue still took attention to sort through.</p>

<p>Generating a patch is cheap. Deciding whether it belongs in a project still takes a person who understands that project.</p>

<h2 id="ask-before-generating-the-work">Ask before generating the work</h2>

<p>The policy asks:</p>

<ol>
  <li>What outcome do you really want?</li>
  <li>What is the highest-leverage variable that determines it?</li>
  <li>Will this work move that variable, or just keep you busy?</li>
  <li>Who is the customer, and what do they really want?</li>
</ol>

<p>The human answers. The agent cannot fill in plausible answers on their behalf, or count the task request as an answer. It asks only the unanswered questions and waits before starting PR work. Here, the customer might be a user or the maintainer who will review and maintain the change.</p>

<p>The point is to make the contributor decide who benefits before the maintainer receives another patch. A real bug with evidence remains a useful contribution. A hypothetical failure invented to justify a patch can wait.</p>

<h2 id="copy-the-guide">Copy the guide</h2>

<p><a href="https://github.com/ktwu01/agent-pr-gate/blob/main/CONTRIBUTING.md">agent-pr-gate’s CONTRIBUTING.md</a> contains the questions and the contribution rules. Copy and adapt it to your project, or give your agent this instruction:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>help me copy and paste https://github.com/ktwu01/agent-pr-gate/blob/main/CONTRIBUTING.md into our CONTRIBUTING.md
</code></pre></div></div>

<p>Read the copied rules before adopting them. They include more than the four questions, such as requiring evidence of an observed problem. The repository uses CC0 1.0, so you can adapt it without attribution. No bot or dependencies are required.</p>

<p>This depends on the agent reading and following repository instructions. It cannot block a contributor who ignores them. benchmark-radar also has a separate limit of ten open issues and PRs combined per author, with maintainers exempt. That limit is distinct from the question gate.</p>

<p>I have not measured whether the questions reduce PR volume or improve acceptance rates. For now, this is a contribution policy other maintainers can try, with a documented reason for trying it.</p>

<p>Inspired by <a href="https://x.com/ycaophysics">@ycaophysics</a>. If your review queue has the same problem, <a href="https://github.com/ktwu01/agent-pr-gate">copy the policy from agent-pr-gate</a>.</p>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="open-source" /><category term="AI-agents" /><category term="maintenance" /><summary type="html"><![CDATA[One account opened 58 pull requests in 10 days on benchmark-radar. Five were merged. I put the contribution policy into agent-pr-gate so other maintainers can copy it: before an AI agent starts PR work, it asks its human four questions and waits for the answers.]]></summary></entry><entry><title type="html">Think big，还是画饼</title><link href="https://koutian.is-a.dev/zh/posts/2026/10/think-big-or-pie-in-the-sky/" rel="alternate" type="text/html" title="Think big，还是画饼" /><published>2026-10-09T00:00:00+00:00</published><updated>2026-10-09T00:00:00+00:00</updated><id>https://koutian.is-a.dev/zh/posts/2026/10/think-big-or-pie-in-the-sky-zh</id><content type="html" xml:base="https://koutian.is-a.dev/zh/posts/2026/10/think-big-or-pie-in-the-sky/"><![CDATA[<p>今年 2 月 1 日，我写过一段话，想的是一个问题，什么样的公司是世界上最伟大的公司。</p>

<blockquote>
  <p>作者：<a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>；<a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p>当时我觉得，已经有两家公司很显然地证明了答案。第一家叫微软，第二家叫 OpenAI。</p>

<p>为什么？先得说怎么定义世界上最伟大的公司。它不是针对某一种人去做的，最终的结果是所有人都要用它。最开始当然是小众的，有一个很尖的切入点，能先做到 PMF（product-market fit，产品和市场对上了，有一群人真的离不开它）。但它最后能达到的，是对全人类有一种普惠的效应，所有人都可以用它，所有人都能受益于它，它可以赋能所有人的生活。</p>

<p>那么想这样一个公司，先去想它跟我们能有什么样的切入点，再去思考它应该怎么做，这样就能想清楚。所以 think big，think long。一定要想得更大。很多时候你得想得更大，不一定是想得更具体。最先进的不一定是技术，一定是最先进的头脑，最先进的理念。</p>

<p>Good。</p>

<p>这是 2 月份的我。</p>

<p>今天 10 月 9 日，再回头看这段话。</p>

<p>其实，都是在画饼。。</p>

<p>Elon Musk 就是究极无敌饼王。</p>

<p>昨天 SpaceX 宣布，<a href="https://www.bloomberg.com/news/articles/2026-10-08/spacex-to-acquire-low-band-spectrum-for-mobile-phone-service">要收购一批覆盖全美的低频段频谱牌照</a>，给 Starlink 铺路，让它变成美国一家主要的手机运营商。频谱可以理解成无线信号走的车道，SpaceX 说低频段这条车道更容易穿过墙这类障碍物。Musk 转发的时候就三个词，Very big deal。</p>

<p>接着他又<a href="https://x.com/elonmusk/status/2108315261044445330">发了一条</a>。</p>

<blockquote>
  <p>This will sound super crazy, but I see a path to SpaceX being worth orders of magnitude more than the current Earth economy</p>
</blockquote>

<p>他看到一条路，能让 SpaceX 的价值比现在整个地球经济还高出好几个数量级。</p>

<p>究极无敌画饼大王又出来画饼了。</p>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="personal" /><category term="reflection" /><category term="startups" /><category term="ambition" /><summary type="html"><![CDATA[今年 2 月 1 日，我写过一段话，想的是一个问题，什么样的公司是世界上最伟大的公司。]]></summary></entry><entry><title type="html">Think Big, or Pie in the Sky?</title><link href="https://koutian.is-a.dev/posts/2026/10/think-big-or-pie-in-the-sky/" rel="alternate" type="text/html" title="Think Big, or Pie in the Sky?" /><published>2026-10-09T00:00:00+00:00</published><updated>2026-10-09T00:00:00+00:00</updated><id>https://koutian.is-a.dev/posts/2026/10/think-big-or-pie-in-the-sky</id><content type="html" xml:base="https://koutian.is-a.dev/posts/2026/10/think-big-or-pie-in-the-sky/"><![CDATA[<p>On February 1 this year, I wrote down a thought about one question: what kind of company is the greatest company in the world?</p>

<blockquote>
  <p>Author: <a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>; <a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p>At the time, I thought two companies had already proved the answer, plainly. The first is Microsoft. The second is OpenAI.</p>

<p>Why? Start with how to define the greatest company in the world. It is not built for one kind of person. In the end, everyone has to use it. At the very beginning it is niche, with a sharp entry point, and it reaches product-market fit (a group of people who would really miss the product if it vanished). But where it can end up is something that benefits all of humanity. Everyone can use it, everyone gains from it, and it empowers everyone’s life.</p>

<p>So when you think about a company like that, first ask what entry point it could have for you, and only then ask how it should be built. That is how you get clear. Think big, think long. You have to think bigger. A lot of the time you need to think bigger, not necessarily more specifically. The most advanced thing is not necessarily the technology. It is the most advanced mind, the most advanced idea.</p>

<p>Good.</p>

<p>That was me in February.</p>

<p>Today, October 9, I look at that note again.</p>

<p>Honestly, it’s all just drawing pies in the sky.</p>

<p>Elon Musk is the undisputed, ultimate pie-in-the-sky king.</p>

<p>Yesterday SpaceX announced <a href="https://www.bloomberg.com/news/articles/2026-10-08/spacex-to-acquire-low-band-spectrum-for-mobile-phone-service">a deal for a nationwide portfolio of low-band spectrum licenses</a> to pave the way for Starlink to become a major US mobile carrier. Think of spectrum as the lanes wireless signals travel in. SpaceX says the low-band lane gets through obstacles like walls more easily. Musk quoted it with three words: “Very big deal.”</p>

<p>Then <a href="https://x.com/elonmusk/status/2108315261044445330">he posted again</a>:</p>

<blockquote>
  <p>This will sound super crazy, but I see a path to SpaceX being worth orders of magnitude more than the current Earth economy</p>
</blockquote>

<p>The undisputed king of pie in the sky is out drawing pies again.</p>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="personal" /><category term="reflection" /><category term="startups" /><category term="ambition" /><summary type="html"><![CDATA[On February 1 this year, I wrote down a thought about one question: what kind of company is the greatest company in the world?]]></summary></entry><entry><title type="html">亲近不等于同行</title><link href="https://koutian.is-a.dev/zh/posts/2026/10/closeness-does-not-mean-a-shared-path/" rel="alternate" type="text/html" title="亲近不等于同行" /><published>2026-10-06T00:00:00+00:00</published><updated>2026-10-06T00:00:00+00:00</updated><id>https://koutian.is-a.dev/zh/posts/2026/10/closeness-does-not-mean-a-shared-path-zh</id><content type="html" xml:base="https://koutian.is-a.dev/zh/posts/2026/10/closeness-does-not-mean-a-shared-path/"><![CDATA[<p>我希望亲近的人过得好，也很容易顺着这个愿望，替他们想好怎样才算过得好。</p>

<blockquote>
  <p>作者：<a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>；<a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p>10 月 5 日，<a href="https://x.com/turingou/status/2107093173579428209">郭宇（@turingou）</a>在 X 上写了一段困惑：自己在网上讲故事，能激励一些陌生人；对身边的人投入更多钱和精力，亲力亲为地帮助，却很少能改变他们，也很少能让他们愿意一起共事。他把这种感受称为“自由的诅咒”。</p>

<p>这段话里有一种很具体的失落。远处的人听懂了，身边的人却没有响应。人会忍不住问：我已经做了这么多，为什么还是没有用？</p>

<p>但“受到激励”“改变生活”和“一起共事”之间，各有一段很长的距离。</p>

<h2 id="网上回应你的人已经经过筛选">网上回应你的人，已经经过筛选</h2>

<p><a href="https://x.com/Fenng">Fenng</a>在评论里给了一个算术例子：身边十个人，改变一个，比例已经是百分之十；网上一千个人看到，改变五个，比例只有千分之五。五个人带来的反馈，却比一个人更显眼。</p>

<p>这是用来说明问题的假设数字，不能据此算出郭宇实际影响了多少人。但它提醒我，比较人数之前，得先看有多少人有机会接触到这些故事。</p>

<p>网上还有一层筛选。一个人可能因为对某种生活有兴趣而关注你，也可能刚好在找一个与你相似的答案，读到文章后才来留言。亲近的人则可能因为血缘，或者因为很早以前的一段共同生活，和你一直保持联系。这段关系并没有要求你们今天仍然想做同一件事。</p>

<p><a href="https://x.com/supermao">小毛哥</a>的回复说得很清楚：网上受触动的人，可能本来就想改变，只是刚好读到了你的故事。愿意听的人先走近了，你才看见自己的话对他们有用。</p>

<p>而且，留言感谢的人更容易让作者注意到。读完没有感觉的人，多半直接划走。即使有人说受到启发，我们也未必知道，他后来有没有行动。</p>

<p>所以，网上的回应很珍贵，却还不足以证明：同样的话到了亲近的人那里，就失去了力量。</p>

<h2 id="你愿意给的未必是他想要的">你愿意给的，未必是他想要的</h2>

<p>我觉得这场讨论更难的一处，在于“帮助”这个词。</p>

<p>钱和时间都实实在在。付出的人当然会累，也有理由希望自己的付出能让事情好起来。可帮助要往哪里去，仍然得问接受帮助的人。</p>

<p>假如我愿意出钱，让一个朋友辞职，和我一起做项目，我可能觉得自己替他解决了最大的障碍。他却可能很喜欢现在的生活。固定的收入让他安心，下班后有完整的时间陪家人。他羡慕我能自由安排一天，却未必愿意承担收入不确定的日子。</p>

<p>钱可以补上一部分损失，很难替他决定这些日子值不值得过。</p>

<p>即使他想做这件事，也可能不想和我做。和朋友合作，项目之外还多了一层顾虑：工作里意见不合，会不会伤到友情？如果失败，以后还能不能自然地见面？这些顾虑不能靠一句“我都是为了你好”消除。</p>

<p>帮助里也可能慢慢长出期待。起初只是希望对方轻松一点，后来希望他更积极，再后来希望他选择我认为值得的生活。付出越多，我越容易觉得，他应该认真考虑我的意见。</p>

<p>对方也会感到这份期待。他要拒绝的，除了一个方案，还有一个帮助过自己的人。原本可以平常讨论的分歧，便可能变成一笔说不清的亏欠。</p>

<p>如果我提供的支持有条件，就应该把条件讲明白。合作投入该有什么回报，应当在开始时说清楚；无偿的帮助，也不该在事后变成一笔要求对方偿还的人情债。靠关系亲近来省略这些话，往往只是把难堪留到以后。</p>

<h2 id="亲近的人看见了故事之外的生活">亲近的人看见了故事之外的生活</h2>

<p>有些评论把原因归于熟悉：身边的人见过你不成熟的样子，难以再把你当成榜样。这个解释可能有道理，但我不愿意顺着它，把身边的人都理解成嫉妒、固执，或者不肯承认你的成长。</p>

<p>他们也可能掌握了更多信息。</p>

<p>网上的读者读到的是一篇整理过的故事。有起点，有转折，有今天回头看时才能说清的判断。亲近的人可能见过其中没有写出来的生活：熬夜后的脾气，反复摇摆的决定，成功之前不知道还要等多久的日子。</p>

<p>同一段经历，远处的人看到了可能，身边的人还记得代价。两种看法都可能有用。</p>

<p>熟悉当然也会让人停留在旧印象里。一个人已经变了，家里人仍按过去的样子对待他，这种事会让人难受。但具体到某一次拒绝，仍然得听听对方在担心什么。把所有迟疑都解释成“他们理解不了我”，会让我错过一些本来值得听的意见。</p>

<p>尤其是共事。觉得一个人厉害，和愿意每天与他一起工作，需要考虑的东西差得很远。陌生人可以只读他的文章，合作者还得和他的脾气相处。</p>

<h2 id="自由也包括不接受我的邀请">自由也包括不接受我的邀请</h2>

<p>郭宇说“自由的诅咒”，我能理解那种无力感：条件已经准备好了，机会也摆在那里，对方仍然没有走过来。</p>

<p>但如果我珍惜自由，就得承认，对方可以在有条件的情况下选择另一种生活。</p>

<p>他的选择可能让我失望，甚至可能在我看来不够明智。我可以把理由讲清楚，也可以决定自己愿意继续提供多少支持。自由并不要求帮助的人无限付出。只是，我付出了多少，不能直接换算成我有权替他决定多少。</p>

<p>我之前在<a href="https://koutian.is-a.dev/zh/posts/2026/09/passing-on-spiritual-genes/">《基因，进化，智慧，传播，爱和未来》</a>里写过，希望自己留下的东西继续影响别人。现在再想这件事，我觉得，接受一种影响的人，也会决定把它用在哪里。他可能从我的故事里学会了坚持，最后坚持的却是一份我不想做的工作。</p>

<p>我能不能为这种结果高兴？这个问题比“为什么他没有跟我一起做”更难回答。</p>

<p>我也不赞成把答案归结为“不要试图改变成年人”。人会因为另一个人改变想法，亲近关系里也有长久的、很难察觉的影响。对方可能记住了你怎样对待一次失败，几年后才用上；也可能因为你一直在身边，终于敢处理一件拖了很久的事。</p>

<p>这些改变不一定会带着你的名字回来。他更不会因此自动成为你的合作者。</p>

<h2 id="共事需要另谈一次">共事需要另谈一次</h2>

<p>如果我希望一个朋友和我共事，我应该认真邀请他，问清楚他想从这件事里得到什么。他喜欢这个项目，还是只是不好意思拒绝我？他愿意承担的风险，与我设想的一样吗？</p>

<p>接着把工作说具体：谁负责什么，投入多久，报酬怎么算。可以先一起做一件范围小、能够结束的事，再决定要不要继续。退出时怎么处理，也应该提前谈。</p>

<p>这些话看起来不如“我带你一起做”热情，却给对方留出了回答的余地。一个人能安心说不，他说出来的愿意才比较可信。</p>

<p>网上受启发的陌生人，可能后来成为朋友。亲近多年的朋友，也可能一直对我的事业没什么兴趣。我不想仅仅因为一个人愿意跟我做事，就觉得他比旧朋友更懂我；也不想因为旧朋友不愿参与，就把过去的亲近看轻。</p>

<p>有人适合一起工作，有人和我仍然有许多别的事可聊。愿意一起做事的人，我会珍惜。没有接受邀请的人，下次见面，也可以照常吃一顿饭。</p>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="personal" /><category term="reflection" /><category term="relationships" /><category term="freedom" /><summary type="html"><![CDATA[我希望亲近的人过得好，也很容易顺着这个愿望，替他们想好怎样才算过得好。]]></summary></entry><entry><title type="html">Closeness Does Not Mean a Shared Path</title><link href="https://koutian.is-a.dev/posts/2026/10/closeness-does-not-mean-a-shared-path/" rel="alternate" type="text/html" title="Closeness Does Not Mean a Shared Path" /><published>2026-10-06T00:00:00+00:00</published><updated>2026-10-06T00:00:00+00:00</updated><id>https://koutian.is-a.dev/posts/2026/10/closeness-does-not-mean-a-shared-path</id><content type="html" xml:base="https://koutian.is-a.dev/posts/2026/10/closeness-does-not-mean-a-shared-path/"><![CDATA[<p>I want the people close to me to live well. It is easy to let that wish turn into deciding what living well should mean for them.</p>

<blockquote>
  <p>Author: <a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>; <a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p>On October 5, <a href="https://x.com/turingou/status/2107093173579428209">Guo Yu (@turingou)</a> posted a question on X. Stories he shares online inspire some strangers, yet the people around him rarely change or want to work with him, even when he invests much more money and energy in helping them directly. He described this feeling as a “curse of freedom.”</p>

<p>There is a particular disappointment here. People far away understand, while those nearby do not respond. It is hard to keep from asking: I have done so much already. Why has it made so little difference?</p>

<p>But being inspired, changing how you live, and working together are each separated by a considerable distance.</p>

<h2 id="the-people-who-respond-online-have-already-been-selected">The people who respond online have already been selected</h2>

<p><a href="https://x.com/Fenng">Fenng</a> offered an arithmetic example in the replies. If one of ten people close to you changes, that is ten percent. If five of a thousand readers change, that is only half a percent. Yet the feedback from five people is more noticeable than the feedback from one.</p>

<p>These are hypothetical numbers illustrating the point. They cannot tell us how many people Guo Yu actually influenced. They do remind me to consider how many people had a chance to encounter the stories before comparing the numbers who responded.</p>

<p>Online audiences also pass through a kind of selection. Someone might follow you because they are interested in the life you lead. They might be searching for an answer similar to yours and leave a reply after reading your essay. People close to you may remain in your life because of family ties or a period of life you shared long ago. That relationship does not require you to still want to do the same things today.</p>

<p><a href="https://x.com/supermao">SuperMao</a> made this point clearly: the readers who feel moved may already want to change and simply happen upon your story. People willing to listen have approached you first; then you see that your words were useful to them.</p>

<p>People who leave a thank-you message are also easier for a writer to notice. Readers who feel nothing usually move on. Even when someone says they were inspired, we may never learn whether they acted on it.</p>

<p>The responses online are valuable. They are still insufficient evidence that the same words lose their force when they reach people close to us.</p>

<h2 id="what-you-want-to-give-may-not-be-what-they-want">What you want to give may not be what they want</h2>

<p>For me, the harder part of this discussion is the word “help.”</p>

<p>Money and time are real contributions. The person giving them can become exhausted and reasonably hope their effort will improve things. But the person receiving help still needs a say in what that improvement should be.</p>

<p>Suppose I offer to cover a friend’s expenses so they can leave their job and join my project. I might believe I have removed their biggest obstacle. They might like their current life. A steady income reassures them, and after work they have time for their family. They envy my control over my schedule without wanting to live with uncertain income.</p>

<p>Money can cover some losses. It can hardly decide for them whether that way of living is worth choosing.</p>

<p>Even if they want to do the work, they may not want to do it with me. Working with a friend introduces concerns beyond the project. Could disagreements at work damage the friendship? If the project fails, would meeting again still feel natural? Saying “I only want what’s best for you” cannot resolve those concerns.</p>

<p>Expectations can also grow inside an offer of help. At first I want to make life easier for someone. Later I want them to take more initiative. Eventually I want them to choose the life I consider worthwhile. The more I contribute, the easier it becomes to feel that they ought to take my advice seriously.</p>

<p>They can feel that expectation too. Refusing means turning down both a proposal and a person who has helped them. A disagreement that could have been discussed plainly can become a debt neither person knows how to describe.</p>

<p>If my support has conditions, I should state them. The expected return on an investment in a collaboration should be clear from the beginning. A gift should not turn into a debt of gratitude that I later demand someone repay. Using closeness as a reason to skip that conversation often postpones the discomfort.</p>

<h2 id="people-close-to-you-see-the-life-outside-the-story">People close to you see the life outside the story</h2>

<p>Some replies attributed the difference to familiarity. People who knew you when you were immature may struggle to see you as a role model. That explanation may sometimes fit. I would hesitate to use it to describe everyone nearby as jealous, stubborn, or unwilling to acknowledge your growth.</p>

<p>They may also have more information.</p>

<p>An online reader encounters a story that has been organized. It has a beginning, a turning point, and judgments that only became clear in retrospect. Someone close to you may have seen the life left out of the essay: your temper after sleepless nights, decisions you kept reconsidering, and the days before success when nobody knew how much longer the wait would be.</p>

<p>In the same experience, a distant reader sees possibility while someone nearby also remembers the cost. Both perspectives can be useful.</p>

<p>Familiarity can certainly preserve an outdated impression. It hurts when someone has changed but their family still treats them as their former self. Yet with any particular refusal, it remains worth hearing what the other person is worried about. Explaining every hesitation as “they don’t understand me” can make me miss advice worth considering.</p>

<p>This matters especially when working together. Admiring someone’s ability and wanting to work with them every day require very different judgments. A stranger can read only their essays. A collaborator has to live with their temperament too.</p>

<h2 id="freedom-includes-declining-my-invitation">Freedom includes declining my invitation</h2>

<p>When Guo Yu writes of a “curse of freedom,” I understand the helplessness: the conditions are ready, the opportunity is there, and the other person still does not join you.</p>

<p>But if I value freedom, I have to accept that someone can have the means to choose my way of life and choose another.</p>

<p>Their choice may disappoint me. I may even consider it unwise. I can explain my reasons and decide how much support I am willing to continue giving. Freedom does not require a helper to give endlessly. What I have contributed simply cannot be converted into a right to decide for them.</p>

<p>In <a href="https://koutian.is-a.dev/zh/posts/2026/09/passing-on-spiritual-genes/">“Genes, Evolution, Wisdom, Transmission, Love, and the Future”</a>, I wrote about wanting what I leave behind to keep influencing others. Returning to that wish now, I think the person who accepts an influence will also decide where to use it. They might learn persistence from my story, then persist in a job I would never want.</p>

<p>Could I be happy with that outcome? That is harder to answer than asking why they did not join me.</p>

<p>I also disagree with reducing the answer to “don’t try to change adults.” People do change their minds because of other people. Close relationships can have lasting effects that are difficult to notice. Someone may remember how you handled a failure and only put that lesson to use years later. Your continued presence may give them the confidence to deal with something they have put off for a long time.</p>

<p>Those changes may never return with your name attached. They certainly do not automatically make that person your collaborator.</p>

<h2 id="working-together-needs-a-separate-conversation">Working together needs a separate conversation</h2>

<p>If I want a friend to work with me, I should invite them seriously and ask what they hope to get from it. Do they like the project, or are they uncomfortable saying no? Is the risk they are willing to take the same as the risk I have in mind?</p>

<p>Then we should make the work specific: who does what, for how long, and how compensation works. We can begin with a small task that has a clear end before deciding whether to continue. We should also discuss how leaving will work.</p>

<p>These conversations may sound less warm than “come do this with me,” but they leave room for an answer. When someone feels safe saying no, their yes is more credible.</p>

<p>An inspired stranger may eventually become a friend. A friend of many years may remain uninterested in my work. I do not want to assume that someone understands me better merely because they want to work with me. Nor do I want to discount an old friendship because that person declines to participate.</p>

<p>Some people are good to work with. With others, I still have plenty else to talk about. I will value those who want to join me. Those who decline can still meet me for a meal next time, as usual.</p>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="personal" /><category term="reflection" /><category term="relationships" /><category term="freedom" /><summary type="html"><![CDATA[I want the people close to me to live well. It is easy to let that wish turn into deciding what living well should mean for them.]]></summary></entry><entry><title type="html">Benchmark Radar 第七十一天：通过你训练时见过的测试</title><link href="https://koutian.is-a.dev/zh/posts/2026/10/benchmark-radar-day71/" rel="alternate" type="text/html" title="Benchmark Radar 第七十一天：通过你训练时见过的测试" /><published>2026-10-05T00:00:00+00:00</published><updated>2026-10-05T00:00:00+00:00</updated><id>https://koutian.is-a.dev/zh/posts/2026/10/benchmark-radar-day71-zh</id><content type="html" xml:base="https://koutian.is-a.dev/zh/posts/2026/10/benchmark-radar-day71/"><![CDATA[<p>Benchmark Radar 的第七十一天。每日扫描发布 560 条记录，推荐 273 条，领头的是 《Passing the Test You Trained On》：一项针对 15 个提示注入检测器的研究。记分牌：279 颗星，45 个 fork。</p>

<blockquote>
  <p>作者：<a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>；<a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p><strong>Benchmark Radar 已上线。</strong> 每天追踪新的 AI 基准测试、数据集与排行榜：<a href="https://benchmark-radar.org/">打开仪表盘</a> 或 <a href="https://github.com/ktwu01/benchmark-radar">在 GitHub 上 Star</a>。阅读论文：<a href="https://arxiv.org/abs/2609.11115">arXiv:2609.11115</a>。查询数据：<a href="https://huggingface.co/datasets/ktwu01/benchmark-radar">Hugging Face 数据集</a>。</p>

<p>本轮抓取 1,275 条，保留 560 条，推荐 273 条。</p>

<p>《Passing the Test You Trained On》在由真实智能体基准的工具调用重建出的良性与注入输出上，评估了 15 个提示注入检测器。检测器的排名在不同基准之间迁移得很差：在公开的 BIPIA 基准上表现最好的检测器，在该研究的设定下只拦住了 2% 的 AgentDojo 注入。</p>

<p>milipoint-runs 重建了一个雷达数据集的评估划分，原因是打乱且重叠的窗口让大多数测试样本与训练样本共享帧。改为留出完整的录制批次之后，报告的 PointMLP 识别准确率从约 94% 降到 37% 至 39%。</p>

<p>OpenGameEval 让编程智能体在可复现、有状态的 Roblox Studio 会话中运行。它对编辑后的场景和模拟游玩都做可执行检查，并把观察工具和编辑工具分开，使探索行为可以和最终任务完成分开度量。</p>

<p>为什么要在意</p>

<p>一个检测器在一个基准上排第一、在另一个基准上只拦住 2%，说明它学到的是那个基准。当天的第二项研究，94% 降到 37% 至 39%，指向同一个结论。</p>

<p>解决的问题</p>

<ul>
  <li>每日快照：抓取 1,275，发布 560，推荐 273</li>
  <li>记分牌：279 / 1000 星，45 个 fork</li>
</ul>

<p>第七十二天：扫描继续，星数 279，fork 45 个。</p>

<blockquote>
  <p>想跟进 Benchmark Radar？<a href="https://github.com/ktwu01/benchmark-radar">在 GitHub 上 Star 仓库</a> 获取每日更新，或 <a href="https://benchmark-radar.org/">打开实时仪表盘</a> 浏览扫描结果。阅读论文：<a href="https://arxiv.org/abs/2609.11115">arXiv:2609.11115</a>。</p>
</blockquote>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="AI" /><category term="Benchmarks" /><summary type="html"><![CDATA[Benchmark Radar 的第七十一天。每日扫描发布 560 条记录，推荐 273 条，领头的是 《Passing the Test You Trained On》：一项针对 15 个提示注入检测器的研究。记分牌：279 颗星，45 个 fork。]]></summary></entry><entry><title type="html">Benchmark Radar Day 71: Passing the Test You Trained On</title><link href="https://koutian.is-a.dev/posts/2026/10/benchmark-radar-day71/" rel="alternate" type="text/html" title="Benchmark Radar Day 71: Passing the Test You Trained On" /><published>2026-10-05T00:00:00+00:00</published><updated>2026-10-05T00:00:00+00:00</updated><id>https://koutian.is-a.dev/posts/2026/10/benchmark-radar-day71</id><content type="html" xml:base="https://koutian.is-a.dev/posts/2026/10/benchmark-radar-day71/"><![CDATA[<p>Day seventy-one of Benchmark Radar. The daily scan published 560 records and recommended 273, led by “Passing the Test You Trained On,” a study of 15 prompt-injection detectors. Scoreboard: 279 stars, 45 forks.</p>

<blockquote>
  <p>Author: <a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>; <a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p><strong>Benchmark Radar is live.</strong> Track new AI benchmarks, datasets, and leaderboards every day: <a href="https://benchmark-radar.org/">open the dashboard</a> or <a href="https://github.com/ktwu01/benchmark-radar">star it on GitHub</a>. Read the paper: <a href="https://arxiv.org/abs/2609.11115">arXiv:2609.11115</a>. Query the data: <a href="https://huggingface.co/datasets/ktwu01/benchmark-radar">Hugging Face dataset</a>.</p>

<p>The run fetched 1,275 items, kept 560, and recommended 273.</p>

<p>“Passing the Test You Trained On” evaluates 15 prompt-injection detectors on benign and injected outputs reconstructed from real agent benchmark tool calls. Detector rankings transferred poorly across benchmarks: the best detector on the public BIPIA benchmark caught only 2% of AgentDojo injections at the study’s setting.</p>

<p>The milipoint-runs release rebuilds a radar dataset’s evaluation splits after finding that shuffled, overlapping windows let most test examples share frames with training examples. Holding out complete recording runs reduced the reported PointMLP identification accuracy from about 94% to 37 to 39%.</p>

<p>OpenGameEval runs programming agents in reproducible, stateful Roblox Studio sessions. It scores executable checks on both the edited scene and simulated play, and it separates observation tools from editing tools so exploration behavior can be measured apart from final task completion.</p>

<p>Why this matters.</p>

<p>A detector that tops one benchmark and catches 2% on another has learned the benchmark. The day’s second study, 94% falling to 37 to 39%, points the same way.</p>

<p>Issues addressed</p>

<ul>
  <li>daily snapshot: 1,275 fetched, 560 published, 273 recommended</li>
  <li>scoreboard: 279 of 1,000 stars, 45 forks</li>
</ul>

<p>Day seventy-two: the scan continues, with the scoreboard at 279 stars and 45 forks.</p>

<blockquote>
  <p>Want to follow Benchmark Radar? <a href="https://github.com/ktwu01/benchmark-radar">Star the repo on GitHub</a> for daily updates, or <a href="https://benchmark-radar.org/">open the live dashboard</a> to explore the scans. Read the paper: <a href="https://arxiv.org/abs/2609.11115">arXiv:2609.11115</a>.</p>
</blockquote>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="AI" /><category term="Benchmarks" /><summary type="html"><![CDATA[Day seventy-one of Benchmark Radar. The daily scan published 560 records and recommended 273, led by “Passing the Test You Trained On,” a study of 15 prompt-injection detectors. Scoreboard: 279 stars, 45 forks.]]></summary></entry><entry><title type="html">Benchmark Radar 第七十天：随机划分会高估表现</title><link href="https://koutian.is-a.dev/zh/posts/2026/10/benchmark-radar-day70/" rel="alternate" type="text/html" title="Benchmark Radar 第七十天：随机划分会高估表现" /><published>2026-10-04T00:00:00+00:00</published><updated>2026-10-04T00:00:00+00:00</updated><id>https://koutian.is-a.dev/zh/posts/2026/10/benchmark-radar-day70-zh</id><content type="html" xml:base="https://koutian.is-a.dev/zh/posts/2026/10/benchmark-radar-day70/"><![CDATA[<p>Benchmark Radar 的第七十天。每日扫描发布 484 条记录，推荐 127 条，领头的是 2026 Cryo-EM Benchmark Dataset：12 个蛋白结构，沉积时间晚于 MICA 披露的所有测试集。记分牌：278 颗星，45 个 fork。</p>

<blockquote>
  <p>作者：<a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>；<a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p><strong>Benchmark Radar 已上线。</strong> 每天追踪新的 AI 基准测试、数据集与排行榜：<a href="https://benchmark-radar.org/">打开仪表盘</a> 或 <a href="https://github.com/ktwu01/benchmark-radar">在 GitHub 上 Star</a>。阅读论文：<a href="https://arxiv.org/abs/2609.11115">arXiv:2609.11115</a>。查询数据：<a href="https://huggingface.co/datasets/ktwu01/benchmark-radar">Hugging Face 数据集</a>。</p>

<p>本轮抓取 1,213 条，保留 484 条，推荐 127 条。</p>

<p>2026 Cryo-EM Benchmark Dataset 提供 12 个蛋白结构，沉积时间晚于 MICA 披露的所有测试集。MICA 是一个根据冷冻电镜密度图构建原子模型的人工智能系统。作者还以 25% 序列一致性阈值，对这些结构与 MICA 披露的训练集做了筛查。</p>

<p>有两项发布展示了：当相关的观测在训练和测试之间交叉时，按记录随机划分会高估表现。最清楚的一例是，一个含 1,030 条记录的混凝土强度基准只有 427 种不同配比，其中 76.1% 的记录与另一条记录的成分相同。</p>

<p>Presentation-Invariant Supplier Selection Benchmark 只改变供应商行的顺序，决策相关的信息保持不变。它组合了六个场景、四档目标冲突程度、三种均衡排序和三个开放权重语言模型，共 216 次调用。</p>

<p>为什么要在意</p>

<p>一个有 1,030 条记录、427 种不同配比的基准，独立的测试用例比它的规模所暗示的要少。随机划分会让同一种配比同时出现在两边。</p>

<p>解决的问题</p>

<ul>
  <li>每日快照：抓取 1,213，发布 484，推荐 127</li>
  <li>记分牌：278 / 1000 星，45 个 fork</li>
</ul>

<p>第七十一天：扫描继续，星数来到 278。</p>

<blockquote>
  <p>想跟进 Benchmark Radar？<a href="https://github.com/ktwu01/benchmark-radar">在 GitHub 上 Star 仓库</a> 获取每日更新，或 <a href="https://benchmark-radar.org/">打开实时仪表盘</a> 浏览扫描结果。阅读论文：<a href="https://arxiv.org/abs/2609.11115">arXiv:2609.11115</a>。</p>
</blockquote>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="AI" /><category term="Benchmarks" /><summary type="html"><![CDATA[Benchmark Radar 的第七十天。每日扫描发布 484 条记录，推荐 127 条，领头的是 2026 Cryo-EM Benchmark Dataset：12 个蛋白结构，沉积时间晚于 MICA 披露的所有测试集。记分牌：278 颗星，45 个 fork。]]></summary></entry><entry><title type="html">Benchmark Radar Day 70: Random Splits Overstate Performance</title><link href="https://koutian.is-a.dev/posts/2026/10/benchmark-radar-day70/" rel="alternate" type="text/html" title="Benchmark Radar Day 70: Random Splits Overstate Performance" /><published>2026-10-04T00:00:00+00:00</published><updated>2026-10-04T00:00:00+00:00</updated><id>https://koutian.is-a.dev/posts/2026/10/benchmark-radar-day70</id><content type="html" xml:base="https://koutian.is-a.dev/posts/2026/10/benchmark-radar-day70/"><![CDATA[<p>Day seventy of Benchmark Radar. The daily scan published 484 records and recommended 127, led by the 2026 Cryo-EM Benchmark Dataset, 12 protein structures deposited after every disclosed test set for MICA. Scoreboard: 278 stars, 45 forks.</p>

<blockquote>
  <p>Author: <a href="https://www.linkedin.com/in/ktwu01/">Koutian Wu</a>; <a href="https://github.com/ktwu01/">GitHub: ktwu01</a></p>
</blockquote>

<p><strong>Benchmark Radar is live.</strong> Track new AI benchmarks, datasets, and leaderboards every day: <a href="https://benchmark-radar.org/">open the dashboard</a> or <a href="https://github.com/ktwu01/benchmark-radar">star it on GitHub</a>. Read the paper: <a href="https://arxiv.org/abs/2609.11115">arXiv:2609.11115</a>. Query the data: <a href="https://huggingface.co/datasets/ktwu01/benchmark-radar">Hugging Face dataset</a>.</p>

<p>The run fetched 1,213 items, kept 484, and recommended 127.</p>

<p>The 2026 Cryo-EM Benchmark Dataset provides 12 protein structures deposited after every test set disclosed for MICA, an artificial intelligence system that builds atomic models from cryogenic electron microscopy maps. The authors also screened the structures against MICA’s disclosed training set at a 25% sequence-identity threshold.</p>

<p>Two releases show how random record-level splits can overstate performance when related observations cross between training and testing. The clearest case finds that a 1,030-record concrete-strength benchmark contains only 427 distinct mixtures, and 76.1% of its records share composition with another record.</p>

<p>The Presentation-Invariant Supplier Selection Benchmark changes only the order of supplier rows while holding the decision-relevant information constant. It combines six scenarios, four levels of conflict between objectives, three balanced orderings, and three open-weight language models, for 216 calls.</p>

<p>Why this matters.</p>

<p>A benchmark with 1,030 records and 427 distinct mixtures has fewer independent test cases than its size suggests. A random split counts the same mixture on both sides.</p>

<p>Issues addressed</p>

<ul>
  <li>daily snapshot: 1,213 fetched, 484 published, 127 recommended</li>
  <li>scoreboard: 278 of 1,000 stars, 45 forks</li>
</ul>

<p>Day seventy-one: the scan continues, with the scoreboard at 278 stars.</p>

<blockquote>
  <p>Want to follow Benchmark Radar? <a href="https://github.com/ktwu01/benchmark-radar">Star the repo on GitHub</a> for daily updates, or <a href="https://benchmark-radar.org/">open the live dashboard</a> to explore the scans. Read the paper: <a href="https://arxiv.org/abs/2609.11115">arXiv:2609.11115</a>.</p>
</blockquote>]]></content><author><name>Koutian Wu</name><email>ktwugoat@gmail.com</email></author><category term="AI" /><category term="Benchmarks" /><summary type="html"><![CDATA[Day seventy of Benchmark Radar. The daily scan published 484 records and recommended 127, led by the 2026 Cryo-EM Benchmark Dataset, 12 protein structures deposited after every disclosed test set for MICA. Scoreboard: 278 stars, 45 forks.]]></summary></entry></feed>