<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Junyi's Lab</title><link>https://www.junyi.dev/</link><description>Recent blog posts on Junyi's Lab</description><generator>Hugo (https://gohugo.io)</generator><language>zh-cn</language><managingEditor>junyi.h@comp.nus.edu.sg (Junyi Hou)</managingEditor><webMaster>junyi.h@comp.nus.edu.sg (Junyi Hou)</webMaster><lastBuildDate>Wed, 10 Jun 2026 15:26:00 +0800</lastBuildDate><atom:link href="https://www.junyi.dev/tags/ai-systems/index.xml" rel="self" type="application/rss+xml"/><item><title>拆穿 introl 和 ainewshub，TPU 比 GPU 便宜 4 倍是 AI 编的幻觉</title><link>https://www.junyi.dev/posts/tpu-tco/</link><pubDate>Wed, 10 Jun 2026 15:26:00 +0800</pubDate><author>junyi.h@comp.nus.edu.sg (Junyi Hou)</author><description>
声明：这篇文章不是要论证 TPU 不如 GPU。TPU 和 GPU 各有适用场景，谁强谁弱要看具体负载。我要说的是，目前网上流传的那批对比数据本身不准确，很多是 AI 编造、无法溯源的。下面拆的就是这些假数据。
Artificial Analysis 最近放出一组硬件基准测试1，以 Llama 3.3 70B、vLLM、每查询 30 output tokens/s 的参考速度计算每百万输入输出 token 的成本，NVIDIA 对 TPU v6e (Trillium) 有大约 5 倍的每美元 token 优势，对 AMD MI300X 有大约 2 倍优势2。
Artificial Analysis 在 X 上公布的硬件基准结论，NVIDIA 对 TPU v6e 有约 5 倍每美元 token 优势，对 MI300X 约 2 倍，H100 是 1.06 美元，MI300X 是 2.24 美元，TPU v6e 是 5.13 美元。
跟这些能复现的数据一起在网上传的，还有另一类东西。
# 一篇高调的对比文 introl 有一篇文章，标题叫 Google TPU v6e vs GPU: 4x Better AI Performance Per Dollar3。核心论点是 TPU 每美元性能比 H100 好 4 倍，TPU 在推理经济性上全面压过 NVIDIA。它的关键数据来自另一篇文章，ainewshub.org 的 Nvidia vs Google TPU 2025 Cost Comparison4。顺着这条引用链往下看，会发现两篇都是 AI 生成的，数据是编的。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;声明：这篇文章不是要论证 TPU 不如 GPU。TPU 和 GPU 各有适用场景，谁强谁弱要看具体负载。我要说的是，目前网上流传的那批对比数据本身不准确，很多是 AI 编造、无法溯源的。下面拆的就是这些假数据。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Artificial Analysis 最近放出一组硬件基准测试&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;，以 Llama 3.3 70B、vLLM、每查询 30 output tokens/s 的参考速度计算每百万输入输出 token 的成本，NVIDIA 对 TPU v6e (Trillium) 有大约 5 倍的每美元 token 优势，对 AMD MI300X 有大约 2 倍优势&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.junyi.dev/posts/tpu-tco/artificial-analysis-twitter.png"
alt="Artificial Analysis 在 X 上公布的硬件基准结论" width="430"&gt;&lt;figcaption&gt;
&lt;p&gt;Artificial Analysis 在 X 上公布的硬件基准结论，NVIDIA 对 TPU v6e 有约 5 倍每美元 token 优势，对 MI300X 约 2 倍，H100 是 1.06 美元，MI300X 是 2.24 美元，TPU v6e 是 5.13 美元。&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;跟这些能复现的数据一起在网上传的，还有另一类东西。&lt;/p&gt;
&lt;h2 id="一篇高调的对比文" &gt;
&lt;div&gt;
&lt;a href="#%e4%b8%80%e7%af%87%e9%ab%98%e8%b0%83%e7%9a%84%e5%af%b9%e6%af%94%e6%96%87"&gt;
#
&lt;/a&gt;
一篇高调的对比文
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;introl 有一篇文章，标题叫 Google TPU v6e vs GPU: 4x Better AI Performance Per Dollar&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;。核心论点是 TPU 每美元性能比 H100 好 4 倍，TPU 在推理经济性上全面压过 NVIDIA。它的关键数据来自另一篇文章，ainewshub.org 的 Nvidia vs Google TPU 2025 Cost Comparison&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt;。顺着这条引用链往下看，会发现两篇都是 AI 生成的，数据是编的。&lt;/p&gt;
&lt;h2 id="锤点一核心引用指向一份不存在的数据" &gt;
&lt;div&gt;
&lt;a href="#%e9%94%a4%e7%82%b9%e4%b8%80%e6%a0%b8%e5%bf%83%e5%bc%95%e7%94%a8%e6%8c%87%e5%90%91%e4%b8%80%e4%bb%bd%e4%b8%8d%e5%ad%98%e5%9c%a8%e7%9a%84%e6%95%b0%e6%8d%ae"&gt;
#
&lt;/a&gt;
锤点一，核心引用指向一份不存在的数据
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;ainewshub 那篇最核心的一句话是这样写的。&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.junyi.dev/posts/tpu-tco/hallucination-1.png"
alt="ainewshub 文章里的核心论断和它声称的来源"&gt;&lt;figcaption&gt;
&lt;p&gt;ainewshub 文章里的核心论断，4.7 倍每美元性能，来源标的却是&lt;strong&gt;并不存在的&lt;/strong&gt; MLPerf v4.1 LLM 推理结果。&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;“4.7× better performance-per-dollar on LLM inference than Nvidia H100/H200”，来源标的是 Google Cloud MLPerf Inference v4.1 results + customer case studies, October 2025。&lt;/p&gt;
&lt;p&gt;但其实，MLPerf Inference v4.1 里，Google 的 TPU 提交项只有 stable-diffusion-xl 一个模型。我去 MLCommons 的官方结果&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref"&gt;5&lt;/a&gt;&lt;/sup&gt;里按 Google 加 TPU 筛，v4.1 Closed Datacenter 下只有两条记录，tpu-v5e-4 和 tpu-v6-4，跑的都是 stable-diffusion-xl。&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.junyi.dev/posts/tpu-tco/mlperf-for-tpu-1.png"
alt="MLPerf v4.1 里筛出 Google TPU，只有 stable-diffusion-xl 一项"&gt;&lt;figcaption&gt;
&lt;p&gt;在 MLPerf v4.1 Closed Datacenter 里筛 Google TPU，只有 tpu-v5e-4 和 tpu-v6-4 两条，跑的都是 stable-diffusion-xl，没有任何 LLM 推理项。&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;没有任何 LLM 推理项！这篇文章引用的所谓 MLPerf v4.1 的 LLM 推理每美元性能 4.7 倍，&lt;strong&gt;在它声称的来源里根本不存在&lt;/strong&gt;。数字是凭空生成的，然后挂了一个看起来权威的出处。&lt;/p&gt;
&lt;p&gt;其次，&lt;strong&gt;MLPerf 压根不报每美元性能&lt;/strong&gt;。它报的是吞吐，samples/s 和 queries/s，里面没有价格。所以那 4.7 倍&lt;strong&gt;根本不可能&lt;/strong&gt;是从 MLPerf 算出来的。&lt;/p&gt;
&lt;h2 id="锤点二数字在转载之间漂移" &gt;
&lt;div&gt;
&lt;a href="#%e9%94%a4%e7%82%b9%e4%ba%8c%e6%95%b0%e5%ad%97%e5%9c%a8%e8%bd%ac%e8%bd%bd%e4%b9%8b%e9%97%b4%e6%bc%82%e7%a7%bb"&gt;
#
&lt;/a&gt;
锤点二，数字在转载之间漂移
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;把 introl&lt;sup id="fnref1:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt; 和 ainewshub&lt;sup id="fnref1:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt; 两篇放一起时，数字对不上（而且有虚假陈述）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每美元性能倍数，introl 写 4 倍，ainewshub 写 4.7 倍。（这条纯骗人，见上文）&lt;/li&gt;
&lt;li&gt;MLPerf 版本，introl 引 v3.1，ainewshub 引 v4.1。（不知道 introl 从哪哪来的数据）&lt;/li&gt;
&lt;li&gt;Midjourney 案例，introl 写月支出从 200 万美元降到 70 万美元，ainewshub 写从 210 万美元降到 70 万美元。（这条我没仔细核查，大概率也是幻觉出来的）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;转载来转载去，每复述一次就变一点。他妈的，模型每生成一次，就重编一个差不多的数出来。&lt;/p&gt;
&lt;h2 id="锤点三精确到吓人的-tco-表却没有来源" &gt;
&lt;div&gt;
&lt;a href="#%e9%94%a4%e7%82%b9%e4%b8%89%e7%b2%be%e7%a1%ae%e5%88%b0%e5%90%93%e4%ba%ba%e7%9a%84-tco-%e8%a1%a8%e5%8d%b4%e6%b2%a1%e6%9c%89%e6%9d%a5%e6%ba%90"&gt;
#
&lt;/a&gt;
锤点三，精确到吓人的 TCO 表，却没有来源
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;ainewshub&lt;sup id="fnref2:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt; 给了一张三年总拥有成本表，1000 芯片集群，NVIDIA H100 总成本 1.77 亿美元，Google TPU v6 总成本 7850 万美元，省 9850 万美元。还细分到硬件降 48%、电费降 66%、制冷降 67%、支持降 63%、网络降 67%、地产降 63%。（全是编的）&lt;/p&gt;
&lt;p&gt;这种精确到个位百分比的分项拆解看起来很专业。问题是没有一项能溯源。配套的客户案例也一样，Midjourney，还有一家所谓 C 轮计算机视觉创业公司月支出从 34 万美元降到 8.9 万美元，全是无法核实的具体数字。&lt;/p&gt;
&lt;h2 id="最可恶的是-data-verified" &gt;
&lt;div&gt;
&lt;a href="#%e6%9c%80%e5%8f%af%e6%81%b6%e7%9a%84%e6%98%af-data-verified"&gt;
#
&lt;/a&gt;
最可恶的是 “data verified”
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;顺着 ainewshub 那篇成本对比文再往上游追，它的来源指向&lt;strong&gt;同一个站点&lt;/strong&gt;的另一篇文章，AI Inference Costs: TPU vs GPU 2025&lt;sup id="fnref:6"&gt;&lt;a href="#fn:6" class="footnote-ref" role="doc-noteref"&gt;6&lt;/a&gt;&lt;/sup&gt;。同样的数字在这里又复述了一遍，4 倍性价比、Midjourney 省 65%、TPU v5e 在 9 项里赢 8 项，我必须再次强调，这个数据是假的、是不存在的。&lt;/p&gt;
&lt;p&gt;它结尾那句声明是这样写的：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Data verified as of November 26, 2025. Sources include Google Cloud documentation, MLPerf benchmarks, company earnings reports, and verified industry migrations.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;核实了个屁&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;它说核实了，却给不出任何一个能点开的链接，没有具体报告，没有方法。前面已经查过，它依赖的 MLPerf TPU LLM 推理结果&lt;strong&gt;根本不存在&lt;/strong&gt;。所谓 verified，全他妈假的。&lt;/p&gt;
&lt;p&gt;同一个站点的不同文章，连这些假数字都对不上，写的人自己也不知道这个数从哪来，因为它本来就不存在。&lt;/p&gt;
&lt;p&gt;一个成批生产幻觉数字、再统一盖上 data verified &amp;hellip; 这个垃圾网站真害人不浅&lt;/p&gt;
&lt;h2 id="目前我查到的数据是这样至少比他们网站可信一点" &gt;
&lt;div&gt;
&lt;a href="#%e7%9b%ae%e5%89%8d%e6%88%91%e6%9f%a5%e5%88%b0%e7%9a%84%e6%95%b0%e6%8d%ae%e6%98%af%e8%bf%99%e6%a0%b7%e8%87%b3%e5%b0%91%e6%af%94%e4%bb%96%e4%bb%ac%e7%bd%91%e7%ab%99%e5%8f%af%e4%bf%a1%e4%b8%80%e7%82%b9"&gt;
#
&lt;/a&gt;
目前我查到的数据是这样（至少比他们网站可信一点）
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;Artificial Analysis 的 System Load Test&lt;sup id="fnref1:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;，跑的是 Llama 3.3 70B。&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.junyi.dev/posts/tpu-tco/artificial-analysis-throughput-test.png"
alt="Artificial Analysis 的 System Load Test 结果"&gt;&lt;figcaption&gt;
&lt;p&gt;Artificial Analysis System Load Test，Llama 3.3 70B 的峰值系统吞吐、每查询输出速度和按需租用价格。&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;峰值系统吞吐，B200 是 15.4k tokens/s，H200 是 8.47k，H100 是 7.28k，TPU v6e 是 6.73k，MI300X 是 3.67k。TPU v6e 落在 NVIDIA 同代后面。每查询输出速度，TPU v6e 是 61.3 tokens/s，是这组里最慢的。&lt;/p&gt;
&lt;p&gt;成本要分两种情况说，这里 TPU 也有能算的账。&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.junyi.dev/posts/tpu-tco/artificial-analysis-costs.png"
alt="Llama 3.3 70B 在峰值吞吐下的每百万 token 成本"&gt;&lt;figcaption&gt;
&lt;p&gt;Llama 3.3 70B 在峰值吞吐下的每百万 token 成本，TPU v6e 为 0.62 美元，与 H100 的 0.67 到 0.69 美元接近。&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;在峰值吞吐下算每百万 token 成本，TPU v6e 是 0.62 美元，和 H100 的 0.67 到 0.69 美元接近，比 MI300X 的 0.90 美元和 B200 跑 vLLM 的 1.63 美元都便宜。&lt;strong&gt;如果负载是离线大批量、能把芯片喂满，TPU 的账是划算的&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;但线上服务很少跑在峰值吞吐上。一旦要求一个能用的交互速度，比如每查询 30 tokens/s 的参考速度，TPU v6e 的单位成本就跳到 5.13 美元，而 H100 是 1.06 美元。这就是 Artificial Analysis 说的大约 5 倍差距的来处。&lt;/p&gt;
&lt;p&gt;后面我们会自己进行 benchmark 得到一手数据，到时再对比。&lt;/p&gt;
&lt;h2 id="识别出-ai-生成垃圾文的方法" &gt;
&lt;div&gt;
&lt;a href="#%e8%af%86%e5%88%ab%e5%87%ba-ai-%e7%94%9f%e6%88%90%e5%9e%83%e5%9c%be%e6%96%87%e7%9a%84%e6%96%b9%e6%b3%95"&gt;
#
&lt;/a&gt;
识别出 AI 生成垃圾文的方法
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;只要遵循一个原则：任何数据、任何数字，必须有可点开的来源，必须有可复现的方法。&lt;/strong&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://artificialanalysis.ai/benchmarks/hardware" target="_blank" rel="noopener noreferrer"&gt;Artificial Analysis，硬件基准测试&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href="#fnref1:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;&lt;a href="https://x.com/ArtificialAnlys/status/1993878037226557519" target="_blank" rel="noopener noreferrer"&gt;Artificial Analysis 在 X 上的原帖&lt;/a&gt;&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;&lt;a href="https://introl.com/blog/google-tpu-v6e-vs-gpu-4x-better-ai-performance-per-dollar-guide" target="_blank" rel="noopener noreferrer"&gt;introl，Google TPU v6e vs GPU: 4x Better AI Performance Per Dollar&lt;/a&gt;&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href="#fnref1:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;&lt;a href="https://www.ainewshub.org/post/nvidia-vs-google-tpu-2025-cost-comparison" target="_blank" rel="noopener noreferrer"&gt;ainewshub.org，Nvidia vs Google TPU 2025 Cost Comparison&lt;/a&gt;&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href="#fnref1:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href="#fnref2:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;&lt;a href="https://mlcommons.org/benchmarks/inference-datacenter/" target="_blank" rel="noopener noreferrer"&gt;MLCommons，MLPerf Inference Datacenter 官方结果&lt;/a&gt;&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:6"&gt;
&lt;p&gt;&lt;a href="https://www.ainewshub.org/post/ai-inference-costs-tpu-vs-gpu-2025" target="_blank" rel="noopener noreferrer"&gt;ainewshub.org，AI Inference Costs: TPU vs GPU 2025&lt;/a&gt;&amp;#160;&lt;a href="#fnref:6" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded><category>TPU</category><category>Linux</category><category>AI Systems</category><category>Tech</category><guid isPermaLink="true">https://www.junyi.dev/posts/tpu-tco/</guid></item><item><title>Claude Code 在 tmux 里要求重新登录？八成是 macOS Keychain 的锅</title><link>https://www.junyi.dev/posts/tmux-keychain/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0800</pubDate><author>junyi.h@comp.nus.edu.sg (Junyi Hou)</author><description>
终端里 claude 好好的，Team Account 也认得，进了 tmux 就让我重新登录。折腾了一会儿才发现是 macOS Security Session 的老问题。</description><content:encoded>&lt;p&gt;终端里 &lt;code&gt;claude&lt;/code&gt; 好好的，Team Account 也认得，进了 tmux 就让我重新登录。折腾了一会儿才发现是 macOS Security Session 的老问题。&lt;/p&gt;
&lt;h2 id="现象" &gt;
&lt;div&gt;
&lt;a href="#%e7%8e%b0%e8%b1%a1"&gt;
#
&lt;/a&gt;
现象
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;Ghostty 里直接跑 &lt;code&gt;claude&lt;/code&gt;，没问题。tmux 里跑，要求登录。&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;排查过程（点击展开）&lt;/summary&gt;
&lt;h3 id="环境变量" &gt;
&lt;div&gt;
&lt;a href="#%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f"&gt;
##
&lt;/a&gt;
环境变量？
&lt;/div&gt;
&lt;/h3&gt;
&lt;p&gt;第一反应是 tmux 里环境变量不一样。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;env | grep -iE &lt;span style="color:#5af78e"&gt;&amp;#39;claude|anthropic&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;两边都没有。Claude Code 认证不存环境变量。&lt;/p&gt;
&lt;h3 id="配置文件" &gt;
&lt;div&gt;
&lt;a href="#%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6"&gt;
##
&lt;/a&gt;
配置文件？
&lt;/div&gt;
&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat ~/.claude/.credentials.json 2&amp;gt;/dev/null &lt;span style="color:#ff6ac1"&gt;||&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;no credentials file&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;也没有。不在文件系统里。&lt;/p&gt;
&lt;h3 id="keychain" &gt;
&lt;div&gt;
&lt;a href="#keychain"&gt;
##
&lt;/a&gt;
Keychain
&lt;/div&gt;
&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;security dump-keychain 2&amp;gt;&amp;amp;&lt;span style="color:#ff9f43"&gt;1&lt;/span&gt; | grep -i -A3 &lt;span style="color:#5af78e"&gt;&amp;#39;claude\|anthropic&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;找到了，存在 macOS Keychain 里，service name 是 &lt;code&gt;Claude Code-credentials&lt;/code&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;0x00000007 &amp;lt;blob&amp;gt;=&amp;#34;Claude Code-credentials&amp;#34;
&amp;#34;acct&amp;#34;&amp;lt;blob&amp;gt;=&amp;#34;junyi&amp;#34;
&amp;#34;svce&amp;#34;&amp;lt;blob&amp;gt;=&amp;#34;Claude Code-credentials&amp;#34;
keychain: &amp;#34;/Users/junyi/Library/Keychains/login.keychain-db&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;然后试了下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;security find-generic-password -s &lt;span style="color:#5af78e"&gt;&amp;#34;Claude Code-credentials&amp;#34;&lt;/span&gt; -a &lt;span style="color:#5af78e"&gt;&amp;#34;junyi&amp;#34;&lt;/span&gt; -w
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;终端里能输出 token，tmux 里报错。问题在这。&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id="为什么" &gt;
&lt;div&gt;
&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88"&gt;
#
&lt;/a&gt;
为什么
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;macOS 的 Keychain 访问绑在 &lt;strong&gt;Security Session&lt;/strong&gt; 上，底层对应的是 Bootstrap Namespace。你开终端窗口的时候，进程会挂到当前用户的 &lt;strong&gt;Aqua session&lt;/strong&gt;，Keychain 就是通过这个 session 解锁的。&lt;/p&gt;
&lt;p&gt;但 &lt;code&gt;tmux server&lt;/code&gt; 是个常驻后台进程，第一次 &lt;code&gt;tmux new&lt;/code&gt; 的时候启动，之后就一直活着。你后面 &lt;code&gt;tmux attach&lt;/code&gt; 的时候，tmux server fork 出来的 shell 继承的是 &lt;strong&gt;server 启动时的那个旧 session&lt;/strong&gt;，不是你当前的 Aqua session。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;正常终端:
Ghostty → fork shell → 继承 Aqua session → ✅ 能读 Keychain
tmux:
Ghostty → attach → tmux server (旧进程)
→ fork shell → 继承旧 session
→ ❌ 读不了 Keychain
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;pbcopy&lt;/code&gt;/&lt;code&gt;pbpaste&lt;/code&gt; 在 tmux 里挂掉也是这个原因。&lt;/p&gt;
&lt;h2 id="修复" &gt;
&lt;div&gt;
&lt;a href="#%e4%bf%ae%e5%a4%8d"&gt;
#
&lt;/a&gt;
修复
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;装 &lt;code&gt;reattach-to-user-namespace&lt;/code&gt;，让 tmux 里的进程重新接入当前用户的 Aqua session：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install reattach-to-user-namespace
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;~/.tmux.conf&lt;/code&gt; 加一行：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;set-option -g default-command &lt;span style="color:#5af78e"&gt;&amp;#34;reattach-to-user-namespace -l &lt;/span&gt;&lt;span style="color:#5af78e"&gt;${&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;SHELL&lt;/span&gt;&lt;span style="color:#5af78e"&gt;}&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后&lt;strong&gt;杀掉整个 tmux server 重开&lt;/strong&gt;。kill-session 没用，新 window 也没用，都还是从旧 server fork 的：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tmux kill-server
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tmux new -s main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;验证：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;security find-generic-password -s &lt;span style="color:#5af78e"&gt;&amp;#34;Claude Code-credentials&amp;#34;&lt;/span&gt; -a &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$USER&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; -w 2&amp;gt;&amp;amp;&lt;span style="color:#ff9f43"&gt;1&lt;/span&gt; | head -c &lt;span style="color:#ff9f43"&gt;50&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;能输出 token 就说明通了。&lt;/p&gt;
&lt;h2 id="顺带一提" &gt;
&lt;div&gt;
&lt;a href="#%e9%a1%ba%e5%b8%a6%e4%b8%80%e6%8f%90"&gt;
#
&lt;/a&gt;
顺带一提
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;tmux 里这些问题多半也是同一个原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pbcopy&lt;/code&gt;/&lt;code&gt;pbpaste&lt;/code&gt; 不工作&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ssh-agent&lt;/code&gt; 访问不了&lt;/li&gt;
&lt;li&gt;&lt;code&gt;osascript&lt;/code&gt; 执行失败&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gh auth&lt;/code&gt;、&lt;code&gt;op&lt;/code&gt; 等 CLI 工具认证挂了&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;都是 &lt;code&gt;reattach-to-user-namespace&lt;/code&gt; 一把搞定。&lt;/p&gt;</content:encoded><category>Linux</category><category>tmux</category><category>AI Systems</category><category>Keychain</category><category>Security Session</category><guid isPermaLink="true">https://www.junyi.dev/posts/tmux-keychain/</guid></item><item><title>Agent Mesh：聊聊我对多 AI 协同工作流的一些想法</title><link>https://www.junyi.dev/posts/agent-mesh/</link><pubDate>Wed, 11 Mar 2026 04:29:00 +0800</pubDate><author>junyi.h@comp.nus.edu.sg (Junyi Hou)</author><description>
现在 AI 编程助手越来越多，从聊天框一路卷到了跑在命令行里的 Agent。用了一圈下来，我最大的感受是：没有哪个 Agent 能在所有方面都做到最好。
我日常主要在用 Claude Code、Google Gemini CLI 和 Moonshot Kimi Code。一开始也是把它们当独立工具用，后来发现这样太浪费了，因为它们各有各的长板，如果让它们根据各自的优势互相配合、互相委派任务，效果会好很多。我把这个思路叫做 Agent Mesh。
下面展开聊聊我的观察和想法。</description><content:encoded>&lt;p&gt;现在 AI 编程助手越来越多，从聊天框一路卷到了跑在命令行里的 Agent。用了一圈下来，我最大的感受是：&lt;strong&gt;没有哪个 Agent 能在所有方面都做到最好。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我日常主要在用 &lt;strong&gt;Claude Code&lt;/strong&gt;、&lt;strong&gt;Google Gemini CLI&lt;/strong&gt; 和 &lt;strong&gt;Moonshot Kimi Code&lt;/strong&gt;。一开始也是把它们当独立工具用，后来发现这样太浪费了，因为它们各有各的长板，如果让它们根据各自的优势互相配合、互相委派任务，效果会好很多。我把这个思路叫做 &lt;strong&gt;Agent Mesh&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;下面展开聊聊我的观察和想法。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="核心角色我的观察和真实体验" &gt;
&lt;div&gt;
&lt;a href="#%e6%a0%b8%e5%bf%83%e8%a7%92%e8%89%b2%e6%88%91%e7%9a%84%e8%a7%82%e5%af%9f%e5%92%8c%e7%9c%9f%e5%ae%9e%e4%bd%93%e9%aa%8c"&gt;
#
&lt;/a&gt;
核心角色：我的观察和真实体验
&lt;/div&gt;
&lt;/h2&gt;
&lt;h3 id="claude-code顶级架构师与执行引擎" &gt;
&lt;div&gt;
&lt;a href="#claude-code%e9%a1%b6%e7%ba%a7%e6%9e%b6%e6%9e%84%e5%b8%88%e4%b8%8e%e6%89%a7%e8%a1%8c%e5%bc%95%e6%93%8e"&gt;
##
&lt;/a&gt;
Claude Code：顶级架构师与执行引擎
&lt;/div&gt;
&lt;/h3&gt;
&lt;p&gt;日常用下来，Claude Code 给我的感觉就是一个&amp;quot;资深工程师&amp;quot;。不管是从零起一个新项目，还是啃一坨复杂的重构，它出的方案在架构层面的眼光是最好的。而且它不只是出方案，它自己就能跑起来：遍历文件、跑 bash、编译报错了自己改，整个循环它能自己转。我已经在所有的服务器上安装了 Claude Code，它大大提高了我的生产力，解放了我的很多精力。短板是幻觉，尤其是在生成大段文档、或者引用它没吃透的大型系统时，它会编东西出来。&lt;/p&gt;
&lt;h3 id="gemini-cli大数据吞吐者与幻觉检查员" &gt;
&lt;div&gt;
&lt;a href="#gemini-cli%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%90%9e%e5%90%90%e8%80%85%e4%b8%8e%e5%b9%bb%e8%a7%89%e6%a3%80%e6%9f%a5%e5%91%98"&gt;
##
&lt;/a&gt;
Gemini CLI：大数据吞吐者与“幻觉检查员”
&lt;/div&gt;
&lt;/h3&gt;
&lt;p&gt;Gemini 最大的优势是那个 200 万 Token 的上下文窗口。实测下来，它真的能一口气吞掉整个仓库、很长很长的错误日志，我试过几百 K 的那种。正因为它能把整个宏观上下文都装进脑子里，它天然就是比较好的审计者。当 Claude Code 生成了一个出色但可能存在幻觉的代码方案时，可以调用 Gemini 进行大规模跨文件验证。&lt;/p&gt;
&lt;h3 id="kimi-code深度推理者与数据挖掘者待评估" &gt;
&lt;div&gt;
&lt;a href="#kimi-code%e6%b7%b1%e5%ba%a6%e6%8e%a8%e7%90%86%e8%80%85%e4%b8%8e%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98%e8%80%85%e5%be%85%e8%af%84%e4%bc%b0"&gt;
##
&lt;/a&gt;
Kimi Code：深度推理者与数据挖掘者，待评估
&lt;/div&gt;
&lt;/h3&gt;
&lt;p&gt;Kimi Code 走的是一条完全不同的路。它底层是 K2.5 的&amp;quot;长思考&amp;quot;模型 k0，走显式思维链，路子类似 OpenAI o1，再加上&amp;quot;Agentic Swarm&amp;quot;的玩法，理论上可以拉起一堆子 Agent 去网上多跳检索文档，或者死磕那种深度嵌套的算法难题。不过我得打个问号：Claude 和 Gemini 我是每天在用的，它们的能力边界我心里有数，但 Kimi 在&amp;quot;数据挖掘&amp;quot;和&amp;quot;深度推理&amp;quot;上到底比其他两个强多少，说实话我目前主要是看它架构上的宣称，还没做过严格的对比评估。所以目前它在这块只能说占了一个理论上的生态位。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="我理想中的-agent-mesh-长什么样" &gt;
&lt;div&gt;
&lt;a href="#%e6%88%91%e7%90%86%e6%83%b3%e4%b8%ad%e7%9a%84-agent-mesh-%e9%95%bf%e4%bb%80%e4%b9%88%e6%a0%b7"&gt;
#
&lt;/a&gt;
我理想中的 Agent Mesh 长什么样
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://www.junyi.dev/posts/agent-mesh/diagram.svg" alt="Agent Mesh 工作流示意图"&gt;&lt;/p&gt;
&lt;p&gt;搞清楚了每个 Agent 的长板和短板之后，自然就会想：能不能让它们互相配合，用 Prompt 把活儿串起来？这就是我说的 Agent Mesh。&lt;/p&gt;
&lt;p&gt;大部分时候 Claude Code 是干活的主力，代码基本都是它在写。但它遇到吃不下的大上下文时，比如我要重构一个模块但不知道会影响那 50 万行老代码的哪些地方，就丢给 Gemini，让它把整个仓库读一遍，告诉我影响范围。&lt;/p&gt;
&lt;p&gt;反过来，Claude 执行完一份重构计划，我也会让 Gemini 拿着去跟实际项目文件交叉比对，看看有没有幻觉或坏掉的依赖。如果 Gemini 在审计过程中碰到特别硬的算法问题，还可以转手给 Kimi Code 去长考。&lt;/p&gt;
&lt;p&gt;Kimi 想完之后也不直接改文件，而是把结论交回给 Claude Code，让 Claude 去落地执行。整个流程就是这样一个环：各自干各自最擅长的，结果互相流转。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="隐形因素agent-架构-vs-基座模型" &gt;
&lt;div&gt;
&lt;a href="#%e9%9a%90%e5%bd%a2%e5%9b%a0%e7%b4%a0agent-%e6%9e%b6%e6%9e%84-vs-%e5%9f%ba%e5%ba%a7%e6%a8%a1%e5%9e%8b"&gt;
#
&lt;/a&gt;
隐形因素：Agent 架构 vs 基座模型
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;在尝试把这些 Agent 组合起来的时候，我发现了一个很容易被忽视的点：&lt;strong&gt;底层基座模型只是等式的一半，“围绕它构建的 Agent 架构”决定了它的实际能力。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;最好的例子就是 Anthropic 的 Claude 3.5 Sonnet。你可以在多个环境中使用这同一个基座模型：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;作为 &lt;strong&gt;VS Code&lt;/strong&gt; 里的标准聊天助手。&lt;/li&gt;
&lt;li&gt;作为 &lt;strong&gt;Cursor IDE&lt;/strong&gt; 内部的驱动引擎。&lt;/li&gt;
&lt;li&gt;通过 &lt;strong&gt;OpenHands / Open Code&lt;/strong&gt; 这样的开源 Agent 框架。&lt;/li&gt;
&lt;li&gt;原生通过 &lt;strong&gt;Claude Code CLI&lt;/strong&gt; 使用。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;尽管共享完全相同的 LLM DNA，也就是 Claude 3.5 Sonnet，它们的实际能力却大相径庭。在严苛的工程流中，原生 &lt;strong&gt;Claude Code&lt;/strong&gt; 在 Agent 执行方面始终优于其他方式。为什么？因为 Agent 架构都由模型的创造者进行了独特的优化，包括但不限于隐藏的循环机制、错误恢复策略，以及特定的上下文工程。&lt;/p&gt;
&lt;p&gt;即使使用像 Open Code 这样优秀的开源替代方案搭配 Claude 模型，其执行流畅度和架构视野也往往不及 Claude Code。这告诉我们，当我们为 Mesh 选择 Agent 时，我们选择的不仅仅是一个基座模型，比如 Sonnet 或 GPT-4o，更是围绕它构建的工程脚手架。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="社区里的类似探索" &gt;
&lt;div&gt;
&lt;a href="#%e7%a4%be%e5%8c%ba%e9%87%8c%e7%9a%84%e7%b1%bb%e4%bc%bc%e6%8e%a2%e7%b4%a2"&gt;
#
&lt;/a&gt;
社区里的类似探索
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;写完这篇之后，我发现社区里已经有人在做类似的事情。&lt;strong&gt;&lt;a href="https://github.com/humania-org/humanize" target="_blank" rel="noopener noreferrer"&gt;Humanize&lt;/a&gt;&lt;/strong&gt; 是一个 Claude Code 插件，它实现了一个叫 &lt;strong&gt;RLCR&lt;/strong&gt; 的工作流，全称 Ralph-Loop with Codex Review：Claude 负责写代码，Codex 独立审查，发现问题就打回去重做，循环往复直到通过为止。核心思路和 Agent Mesh 一样，让架构上不同的 AI 各司其职，通过 work-feedback loop 不断迭代，而不是指望一个模型一次搞定所有事。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="写在最后" &gt;
&lt;div&gt;
&lt;a href="#%e5%86%99%e5%9c%a8%e6%9c%80%e5%90%8e"&gt;
#
&lt;/a&gt;
写在最后
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;我不觉得未来会出现一个“万能模型”把所有事都干了。真正有意思的是&lt;strong&gt;编排&lt;/strong&gt;，让&lt;strong&gt;底层架构上有本质不同&lt;/strong&gt;的 Agent 各司其职。&lt;/p&gt;
&lt;p&gt;我一直坚持的一个观点是：当我们说“不同”的智能体时，我们指的&lt;strong&gt;不是&lt;/strong&gt;拿同一个底层模型给它套上不同的系统提示词，比如玩”你是架构师”对”你是测试员”的角色扮演。只有当智能体在&lt;strong&gt;处理信息的底层架构上存在根本差异&lt;/strong&gt;时，才能碰撞出真正的协同火花。&lt;/p&gt;
&lt;p&gt;但是，你如何知道两个模型是真正不同的，还是只是同一个基础模型的微调版本？这时候，像 &lt;strong&gt;&lt;a href="https://github.com/Xtra-Computing/LLM-DNA" target="_blank" rel="noopener noreferrer"&gt;LLM-DNA&lt;/a&gt;&lt;/strong&gt; 这样的工具就变得无比重要了。它是一个分析语言模型之间进化关系和功能差异的研究框架，已在 &lt;a href="https://openreview.net/forum?id=UIxHaAqFqQ" target="_blank" rel="noopener noreferrer"&gt;ICLR'26&lt;/a&gt; 以 Oral 形式发表。通过分析模型之间的“基因”谱系和功能距离，我们可以有意地选择那些属于完全不同进化分支的 Agent，从而确保它们不会拥有相同的盲区。&lt;/p&gt;
&lt;p&gt;我的实际工程经验告诉我：&lt;strong&gt;Claude Code 与 Gemini CLI 的协同目前是最强大、最直观的组合。&lt;/strong&gt; Gemini CLI 靠长上下文，把整个仓库和一堆日志全吞进去，专门负责抓幻觉、做宏观审计。Claude Code 则专注在它最擅长的事上：理解代码架构、在本地系统里精准执行。&lt;/p&gt;
&lt;p&gt;当你有意识地把架构上截然不同的 Agent 组合在一起时，它们不再互相重叠，开始互补。这就是我想分享的 Agent Mesh 思路，希望对大家有启发。&lt;/p&gt;</content:encoded><category>AI Systems</category><category>LLM Inference</category><category>Tech</category><guid isPermaLink="true">https://www.junyi.dev/posts/agent-mesh/</guid></item></channel></rss>