AI 加 Rust:一个月的学习数据复盘,看进步曲线和下一阶段目标

发布时间:2026/7/27 11:11:35
AI 加 Rust:一个月的学习数据复盘,看进步曲线和下一阶段目标 AI 加 Rust一个月的学习数据复盘看进步曲线和下一阶段目标一、7 月学习全景数据先上总账。这是 7 月 1 号到 31 号的完整数据统计具体产出数据类别7 月产出6 月产出变化提交代码行数8,500 行3,200 行165%Rust crates 发布5 个workspace0 个new博客文章30 篇12 篇150%踩坑笔记47 条18 条161%编译错误次数日均约 15 次约 40 次-62%解决编译错误平均用时3.2 分钟12.5 分钟-74%几个变化值得单独说日均编译错误从 40 次降到 15 次解决每个错误的平均时间从 12.5 分钟降到 3.2 分钟。这不是因为代码写得更快是因为我对 Rust 的类型系统和错误模式越来越熟了——不再需要每个错误都查文档、搜 StackOverflow。二、进步曲线不是线性的是阶梯式的单看总数会掩盖一个重要事实进步不是线性的是阶梯式的。7 月的学习曲线大致是这样的第一周1~7 日效率低3 分在做 AI CLI 的最小闭环。时间主要花在我想做什么和Rust 应该怎么写的反复对齐上。这个阶段看似产出低但它确定了整个月的工作方向。第二周8~14 日效率爬升5 分Provider trait 抽象开始生效。我感受到了 Rust 类型系统的威力——当抽象做对时加新功能就像拼积木。但也是对 async/tokio 的理解还在表层遇到网络超时和并发问题还需要反复查文档。第三周15~21 日效率突破7 分Workspace 拆分让编译快 6 倍。也是这周我开始感觉到 Rust 的节奏——不再跟编译器对抗而是顺着它的约束来设计代码。ownership 和 borrow 的报错不再让我恐惧变成了又来提醒我重新组织代码。第四周22~31 日效率稳定8 分插件系统的设计一周就搞定了。到这个阶段我已经能独立做出这个东西应该用 trait 还是 enum、这里应该 borrow 还是 clone、这个错误是 recoverable 还是 unrecoverable的判断了。// // 进步的一个具体证据同样功能的代码月初 vs 月末 // /// 月初写法到处 unwrap混合了逻辑和错误处理 fn v1_load_config(path: str) - Config { let f std::fs::File::open(path).unwrap(); let reader std::io::BufReader::new(f); let config: Config serde_json::from_reader(reader).unwrap(); config } /// 月末写法类型安全、错误可传播、职责分离 fn v2_load_config(path: str) - ResultConfig, AppError { // 第一步检查文件是否存在给出明确的错误提示 if !std::path::Path::new(path).exists() { return Err(AppError::Config(format!( 配置文件不存在: {}请运行 ai init 创建默认配置, path ))); } // 第二步读取并解析所有错误通过 ? 向上传播 let content std::fs::read_to_string(path) .context(配置文件读取失败)?; let config: Config toml::from_str(content) .context(配置文件格式错误请检查是否为合法的 TOML)?; // 第三步校验配置的有效性如 API Key 非空 config.validate()?; Ok(config) }三、 AI Rust这个组合的独特优势7 月我越来越确信 AI Rust不是一个妥协而是一个有独特优势的组合。的优势在于不受既有惯性约束。科班程序员学 Rust 时经常会和 C/C 的既有习惯打架——为什么要这么管内存、为什么不能随便 cast。没有这个包袱所有权和生命周期对我来说就是本来就应该这样而不是为什么要改成这样。**AI 的优势在于填补信息差。**最大的痛点是知识盲区——你不知道这东西叫线程池、不知道这个概念叫RAII、不知道这个问题在 JS 里叫回调地狱。AI 能把我的模糊描述翻译成准确的术语然后我就能用术语去查更深入的文档。这个翻译层大大缩短了我从困惑到找到正确答案的时间。Rust 的优势在于编译器当 mentor。对我来说Rust 编译器有时候比 AI 更有用。AI 会给你一个可能是对的答案编译器会给你一个一定是错的错误。而且 Rust 的错误信息已经足够好对我来说就像一个随时在线的 code reviewer。四、8 月目标从能做到做好7 月我是能做阶段——把东西做出来、把它跑起来。8 月要进入做好阶段目标一测试覆盖率从 32% 推到 80%。这是最紧急的事。AI CLI 现在已经有一点基础用户了都是我自己 几个朋友没有测试覆盖的重构就是在裸奔。计划把ai-core的测试做到 90%ai-providers用 mock HTTP server 做集成测试。目标二错误处理的等级五落地。库ai-core、ai-provider用 thiserror 精确错误类型应用层main.rs用 anyhow 做上下文传播。让用户看到的错误信息全部是人话。目标三性能基准线建立。目前我对 AI CLI 的够不够快全凭感觉。8 月要引入 criterion 做核心路径的 benchmark启动时间、首次响应延迟、流式输出的 token 速率。有数据才能优化。目标四WASM 推理打通完整链路。把真实的 ONNX 模型通过 candle 编译成 WASM在浏览器端跑一次完整的推理记录延迟数据和可行性结论。目标五每周至少一篇深度复盘。7 月的写作密度有进步但质量不够稳定。8 月不求数量多每篇要有别人读完后能用得上的信息密度。五、总结7 月一个自学编程的人靠着 Rust AI 的基本组合在一个月里做出了一个能用的 AI CLI 工具、写了 30 篇博客、积累了 47 条踩坑笔记。这个成绩放到半年前我自己都不会信——那时候我还在背什么是 HTTP 协议。对我来说进步不只体现在产出上更体现在一个质变上7 月之前我是在学习 Rust。7 月之后我是用 Rust 做事。从学习到做事这个心理身份的转换才是这一个月最重要的变化。三条月度总结进步是阶梯式的不是线性的。在低效期不要慌——你可能正在为下一个飞跃打基础。 AI Rust不是妥协是优势组合。没有惯性包袱AI 填补信息差Rust 编译器当 mentor。从能做到做好差的是测试、错误处理、性能基准。这些不是加分项是工具的根基。8 月的任务已经清楚测试、错误、性能、WASM、深度写作。31 天后我再交一份这样的复盘。如果你也在自学 Rust 或者做 AI 工具希望我的数据能帮到你。