<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Cargo on 虫子樱桃</title>
    <link>https://czyt.eu.org/tags/cargo/</link>
    <description>Recent content in Cargo on 虫子樱桃</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <copyright>{year} 虫子樱桃</copyright>
    <lastBuildDate>Wed, 07 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://czyt.eu.org/tags/cargo/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Agentic Rust 的基础设施【译】</title>
      <link>https://czyt.eu.org/post/infrastructure-for-agentic-rust-cn/</link>
      <pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://czyt.eu.org/post/infrastructure-for-agentic-rust-cn/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;原文：&lt;a href=&#34;https://blog.brokk.ai/infrastructure-for-agentic-rust/&#34; class=&#34;prose-external&#34;&gt;Infrastructure for Agentic Rust&lt;span class=&#34;prose-external-mark&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&lt;/a&gt;
（2026-10-05，作者 Jonathan Ellis）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt=&#34;Agentic Rust 的基础设施&#34; loading=&#34;lazy&#34; src=&#34;https://assets.czyt.tech/img/agentic-rust-cover.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;我的大半个职业生涯都在 Java 和 Python 这类托管运行时语言中度过，所以转向 Rust 时，等着我的是几颗&lt;a href=&#34;https://blog.brokk.ai/dont-use-musl-if-you-care-about-performance/&#34; class=&#34;prose-external&#34;&gt;新地雷&lt;span class=&#34;prose-external-mark&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&lt;/a&gt;
。到现在，我以 Rust 为主要语言写代码已经大约六个月了——或者更准确地说，是&amp;quot;&lt;a href=&#34;https://x.com/emollick/status/1969993499157446943&#34; class=&#34;prose-external&#34;&gt;让代码被写出来&lt;span class=&#34;prose-external-mark&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&lt;/a&gt;
&amp;quot;——我想我终于快到雷区的另一头了。&lt;/p&gt;
&lt;p&gt;以下是我踩过的一些地雷。如果你还生活在 2023 年、一行一行手写代码，它们大多只是小烦恼；但当它们被十几个同时撞上来的 agent 一放大，就绝对能毁掉你的一天。&lt;/p&gt;
&lt;h2 id=&#34;地雷-1cargo-是个糟糕的室友&#34;&gt;地雷 #1：Cargo 是个糟糕的室友&lt;/h2&gt;
&lt;p&gt;即使是我这样的 Java 程序员也知道 rustc 很慢。但我不知道的是，cargo 默认就会让 &lt;code&gt;target/&lt;/code&gt; 越涨越大，直到磁盘被写爆（ENOSPC）。&lt;/p&gt;
&lt;h3 id=&#34;解法-1mbx&#34;&gt;解法 #1：MBX&lt;/h3&gt;
&lt;p&gt;Rustaceans 用 sccache 和 cargo-sweep 已经很多年了，而最近 Jeff Dickey 做出了 &lt;a href=&#34;https://github.com/jdx/mr-boxington/&#34; class=&#34;prose-external&#34;&gt;Mr. Boxington&lt;span class=&#34;prose-external-mark&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&lt;/a&gt;
（即 &lt;code&gt;mbx&lt;/code&gt;），带来了一批 Rust 专属的体验升级。毫不夸张地说：只要你还在调用 rustc，你就应该用 mbx。它为你做了这些事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;自动清理 &lt;code&gt;target/&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;用 reflink 在多次构建之间共享已编译的依赖，所以无论同时跑着多少个 worktree 或 agent，依赖都只需要构建一次。（但请读一读 &lt;code&gt;share_workspace_root&lt;/code&gt; 相关的细则。）&lt;/li&gt;
&lt;li&gt;同样用 reflink 共享已完成的 crate，细则见下文。&lt;/li&gt;
&lt;li&gt;还有一个服务端版本，能把第 2、3 项部署到 AWS 上，让整个团队受益。&lt;/li&gt;
&lt;li&gt;（与大多数构建缓存不同）它和增量构建相处得很好。&lt;/li&gt;
&lt;li&gt;当 Cargo 试图耗尽你的磁盘时，给你一个统一的&amp;quot;咽喉&amp;quot;可以掐住。&lt;/li&gt;
&lt;li&gt;可以按需限制构建占用的 CPU 和内存，减少资源争抢、防止 OOM。&lt;/li&gt;
&lt;/ol&gt;

&lt;video src=&#34;https://mr-boxington.jdx.dev/showreel.mp4&#34; controls muted&gt;&lt;/video&gt;

&lt;h2 id=&#34;地雷-2rust-构建产物大得吓人&#34;&gt;地雷 #2：Rust 构建产物大得吓人&lt;/h2&gt;
&lt;p&gt;这与第 1 条相关但又不同：即使你的 target 目录修剪得整整齐齐、没有早期构建留下的垃圾，cargo 的工作集依然大得惊人。我投入时间最多的 Rust 项目是 &lt;a href=&#34;https://github.com/BrokkAi/bifrost/&#34; class=&#34;prose-external&#34;&gt;Bifrost&lt;span class=&#34;prose-external-mark&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&lt;/a&gt;
，它一个正常的 target 目录就有 52GB。（我希望能有位 Ward Cunningham 附体的人出面告诉我，怎么把它砍到五分之一甚至十分之一；但据 Fable 和 Astra 告诉我的，在 Rust 这片地界，事情就是这样。是的，我们已经开启了 &lt;code&gt;line-tables-only&lt;/code&gt;。）&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
