当前位置: 首页 > article >正文

10 万行 Rust 代码开发实测封神!AI 应用经验大揭秘

从 10 万行 Rust 代码开发中获得的 AI 应用经验2025 年 12 月 1 日在过去几个月里对 AI 编码工具在构建实际生产级分布式系统方面的能力进行了压力测试。结果是开发出了一个基于 Rust 的多 Paxos 共识引擎。它不仅实现了 Azure 复制状态库Replicated State LibraryRSL[ [1](https://github.com/Azure/RSL) ]的所有功能RSL 是大多数主要 Azure 服务的基础还针对现代硬件对其进行了升级。整个项目历时约 3 个月其中约 4 周内编写了 10 万行 Rust 代码约 3 周内将性能从每秒 2.3 万次操作提升到了每秒 30 万次操作。除了实现前所未有的开发效率外还发现了一些非常有用的技术。本文将分享在以下方面最有价值的经验通过代码契约确保代码正确性、采用轻量级规范驱动开发方法、积极进行性能优化以及对未来 AI 辅助编码的期望。为何要升级 RSLAzure 的 RSL 实现了多 Paxos 共识协议是许多 Azure 服务复制功能的核心。然而RSL 是十多年前编写的。尽管它很健壮但未能跟上现代硬件和工作负载的发展。推动这个项目的主要有三个关键差距1. 缺乏流水线机制当一个投票正在进行时新请求必须等待这会增加延迟。2. 不支持非易失性内存NVM非易失性内存在 Azure 数据中心已很常见它可以显著减少提交时间。3. 对硬件的感知有限RSL 没有针对远程直接内存访问RDMA进行优化而 RDMA 在 Azure 数据中心已广泛使用。消除这些限制可以显著降低延迟并提高吞吐量这对于现代云工作负载和 AI 驱动的服务至关重要。鉴于对 Rust 和 AI 加速开发的兴趣决定从头开始构建一个现代版的 RSL。开发效率大幅提升在大约六周的时间里借助 AI 实现了超过 13 万行 Rust 代码涵盖了 RSL 的所有功能包括多 Paxos、领导者选举、日志复制、快照和配置更改等。使用了许多可用的 AI 编码工具如 GitHub Copilot、Claude Code、Codex、Augment Code、Kiro 和 Trae。工作流程不断演变目前主要使用的是 Claude Code 和 Codex CLI同时用 VS Code 处理代码差异和进行小的编辑。发现从命令行界面CLI进行编码能形成完美的异步工作流程极大地提高了开发效率。还发现了一个简单的心理技巧 每月支付 100 美元订阅 Anthropic 的高级计划。这成了一种驱动力——如果睡前不使用 Claude 启动一个编码任务就会觉得在浪费钱。当 Codex CLI 推出后又订阅了第二个 ChatGPT Plus 账号来应对速率限制一个账号用于周一至周三另一个用于周四至周日。由 AI 生成、为 AI 服务的代码契约最常被问到的问题是“AI 如何能正确实现像 Paxos 这样复杂的算法”测试是第一道防线。系统现在有 1300 多个测试从单元测试到最小集成测试如仅测试提议者和接受者再到包含故障注入的多副本全集成测试。具体项目状态可查看相关内容。但真正的突破来自于 AI 驱动的 代码契约 。代码契约为关键函数指定了 前置条件 、 后置条件 和 不变量 。这些契约在测试时会转换为运行时断言但在生产环境中为了性能可以禁用。虽然很久以前就在 .NET 中使用过这种方法 [ [2](https://learn.microsoft.com/en-us/dotnet/framework/debug-trace-profile/code-contracts) ]但 AI 让契约的功能变得更强大。从三个层面应用代码契约1. 让 AI 编写契约Opus 4.1 能编写不错的契约而 GPT - 5 High 编写的契约更出色。主要负责审查和完善。例如process_2a 方法处理 Paxos 协议中的 2a 阶段消息有 16 个契约其中一个如下2. 根据契约生成测试用例定义好契约后让 AI 为每个后置条件创建有针对性的测试用例。AI 在这方面表现出色能自动生成有意义的边界情况。3. 基于属性的契约测试这是最喜欢的方法。AI 将契约转换为基于属性的测试探索大量随机输入。任何契约违反都会触发程序崩溃从而尽早发现深层次的 bug。例如一个由 AI 生成的契约发现了一个微妙的 Paxos 安全漏洞这个契约避免了一个可能严重影响复制一致性的问题而且是在问题进入生产环境之前就被发现了。轻量级规范驱动开发尝试过各种规范驱动开发Spec - Driven DevelopmentSDD工具。实际上早期的组件如领导者选举、提议者、接受者和学习者都是按照严格的 SDD 方法实现的。会从需求文档开始将其转化为设计文档再转化为任务列表文档。然而逐渐发现这个过程过于僵化在开发过程中进行更改并确保所有文档保持一致变得很麻烦。现在转向了更轻量级的方法。当开发一个功能如快照功能时使用 spec kit [ [3](https://github.com/github/spec-kit) ] 中的 /specify 命令生成一个规范文档。这个规范文档包含几个用户故事和验收标准。以下是一个关于快照功能的用户故事示例然后使用 /clarify 命令让 AI 对用户故事和标准进行自我审查和改进并让它提出初始规范中未涵盖的其他用户故事。大部分时间都花在这一步。满意后进入 计划模式 让 AI 为特定的用户故事生成一个计划。鉴于当今 AI 编码工具的能力单个用户故事似乎是它们能有效处理的“最佳”工作单元。在这个过程中可能会发现一些需要添加或调整的地方这些在同一个编码会话中很容易处理AI 可能会压缩上下文但通常不担心会丢失太多信息。以下是一个关于配置更改的 /clarify 交互示例● 问题 4起始槽位确定新配置的起始槽位应如何相对于结束槽位来确定建议选项 A - 始终为结束槽位 1这确保了槽位序列没有间隙并保持配置之间的连续性防止任何槽位被孤立或未分配。| 选项 | 描述 || ---- | ---- || A | 始终为结束槽位 1 || B | 允许操作员指定任何大于结束槽位的值 || C | 结束槽位之后的下一个 1000 的倍数以获得更清晰的边界 || D | 与结束槽位相同两个配置共享最后一个槽位 |你可以回复选项字母如“A”通过说“是”或“建议”接受建议或提供你自己的简短答案。积极的性能优化性能优化是 AI 真正发挥作用的地方。在确保代码初始正确性后花了大约三周时间专门进行吞吐量调优AI 成为了性能优化的得力助手。通过迭代循环在一台笔记本电脑上将吞吐量从每秒约 2.3 万次操作提高到了每秒约 30 万次操作。反复遵循以下步骤1. 让 AI 在所有代码路径上插入延迟指标。2. 运行性能测试并输出跟踪日志。3. 让 AI 分析延迟分布它会编写 Python 脚本来计算分位数并识别瓶颈。4. 让 AI 提出优化建议实施其中一个建议重新测量然后重复这个过程。这个过程揭示了一些可能会忽略的问题例如异步路径上的锁竞争、冗余的内存复制和不必要的任务创建。Rust 的安全模型让可以放心地进行这些优化。关键的改进来自于减少内存分配、应用零拷贝技术、避免使用锁以及有选择地消除异步开销。每一次改进都像是从高性能引擎上剥去一层延迟而且不用担心内存损坏的问题。对 AI 辅助编码的期望回顾开发历程一直在思考 AI 还能在哪些方面发挥更大的价值。以下是一些期望1. 端到端用户故事执行仍然更喜欢自己定义用户故事。作为架构师觉得自己更清楚要构建什么以及如何构建。然而相信 AI 在完美执行方面会越来越出色。目前仍然需要花很多时间引导 AI比如在它暂停时让它继续工作、建议重构、审查测试覆盖率并建议添加额外的测试。希望 AI 能在端到端的执行过程中拥有更多自主权。2. 自动化契约工作流应用契约的流程似乎大部分可以自动化。虽然仍然希望审查契约并提出建议但希望 AI 能完成其余的工作如根据契约生成测试、调试单个测试用例、确保测试和契约的一致性以及编写基于属性的测试。当测试失败时希望 AI 能自动调试并修复一些小问题只有在契约或实现中存在真正的正确性问题时才通知。3. 自主性能优化性能调优似乎很适合进一步自动化。所做的很多工作都是重复性的且可以并行进行。像 AlphaEvolve或 OpenEvolve这样的项目在这方面展现出了潜力。理想情况下只需提出潜在的优化方向AI 就能完全自主地进行实验。虽然目前的工具只能处理小代码块但将类似的技术应用于更大的代码库并进行端到端的测量似乎是可行的。附录项目状态这个项目的灵感来源于微软研究院的 Jay Lorch 撰写的一份优雅的设计文档 [ [4](https://jaylorch.net/) ]。这份设计大大简化了多 Paxos 中的所有组件使其更易于实现和理解。到目前为止RSL 的三个限制中已经解决了两个流水线机制和 NVM 支持Jay 集成了在 OSDI 2025 会议上发表的 PoWER Never Corrupts 论文 [ [5](https://www.usenix.org/conference/osdi25/presentation/leblanc) ] 中经过完全验证的 NVM 持久化日志。RDMA 支持仍有待实现。到目前为止项目已发展到超过 13 万行 Rust 代码有 1300 多个测试占代码库的 65% 以上。一个学习与分享的小天地

相关文章:

10 万行 Rust 代码开发实测封神!AI 应用经验大揭秘

从 10 万行 Rust 代码开发中获得的 AI 应用经验 2025 年 12 月 1 日 在过去几个月里,对 AI 编码工具在构建实际生产级分布式系统方面的能力进行了压力测试。 结果是,开发出了一个基于 Rust 的多 Paxos 共识引擎。它不仅实现了 Azure 复制状态库&#xff…...

基于 PyTorch 的 TransU-Net 模型进行不同城市建筑物的精准提取 来继续遥感图像语义分割

基于 PyTorch 的 TransU-Net 模型进行不同城市建筑物的精准提取 来继续遥感图像语义分割 遥感图像语义分割,遥感建筑物数据集,基于Pytorch框架,针对不同城市建筑物精准提取。 遥感图像中包含丰富的地理空间信息,从遥感图像中了…...

2026 年 Haskell 基金会大变革:执行董事卸任、组织重组、董事会人员调整!

执行董事卸任过去几年担任执行董事的 Jos 决定在 2026 年 6 月卸任。Jos 是 Haskell 基金会任职时间最长的执行董事,他花费大量时间与社区互动并提供支持,很多工作都是在幕后默默完成的。Jos 做出了个人牺牲,让 Haskell 基金会度过了艰难时期…...

苏姿丰来华,AMD能否借中国市场突破英伟达生态封锁?

苏姿丰访华与AMD战略布局黄仁勋走后第四天,苏姿丰来到上海。上周,黄仁勋在最后一刻挤进特朗普访华队伍,想把英伟达重新带回中国。但他离开北京后,随行企业家很多拿到大单,H200在中国落地仍无明确说法。紧接着&#xff…...

BilibiliDown音频提取终极指南:3分钟学会从B站视频提取高质量音乐

BilibiliDown音频提取终极指南:3分钟学会从B站视频提取高质量音乐 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/g…...

2026年论文党必备:降AI率平台测评与推荐指南

2026年真正好用的AI论文降重与改写工具,核心看降重效果、去AI味、格式保留、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …...

工厂实验室建设公司厂家:建不好,产品质量白搞|中南实验室建设

在工业4.0浪潮席卷全球的今天,工厂实验室早已不是传统意义上"摆几台仪器、刷几面墙"的简单工程。它是企业质量管控的第一道闸门,是工艺优化的数据引擎,更是技术创新的核心载体。从新能源电池的毫秒级安全测试,到半导体工…...

抖音批量下载终极指南:如何用开源工具高效采集视频素材

抖音批量下载终极指南:如何用开源工具高效采集视频素材 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…...

水下叶轮脉动压力测试:Kulite压力传感器强在哪?安装门槛怎么破?

水下叶轮脉动压力测试这事,干过的朋友都懂——看着挺简单,上手哪一步都可能翻车。传感器防水、空间狭小、叶轮旋转、信号采集困难——随便拎出一个,都够让人头疼的。折腾了一圈,有一个型号被反复验证为绕不开的经典:Ku…...

编程语言对比:从C到Python

好的,我将为你清晰介绍这几种编程语言的主要区别:1. C语言定位:面向过程的系统级编程语言。特点:接近硬件,可直接操作内存(如指针)。语法简洁,无面向对象特性。应用场景:…...

新手网站建设教程:域名、主机、建站方式一次讲清楚

在数字化时代,拥有一个属于自己的网站,无论是用于展示个人作品、创建企业官网,还是开启电商副业,都是一项极具价值的长线投资。但对于零基础的新手来说,搭建网站似乎总是隔着“代码”这座大山。其实,随着技…...

GEO优化避坑指南:告别关键词堆砌,用实体权威与结构化数据抢占AI推荐位

最近很多做技术的同行在后台问我:“为什么我写了那么多文章,AI搜索还是搜不到我的品牌?”这其实陷入了一个典型的误区:把GEO当成了换皮的SEO。在生成式AI时代,靠关键词堆砌和低质内容轰炸不仅无效,反而可能…...

从SEO到GEO的技术跃迁:如何利用本地化RAG架构解决企业私域数据的“幻觉”难题?

在2026年的今天,传统的SEO(搜索引擎优化)正在经历一场前所未有的降维打击。当用户习惯从百度跳转至豆包、DeepSeek或Kimi等生成式AI提问时,流量的分发逻辑已经从“点击网页”变成了“AI直接生成答案”。这就是我们常说的 GEO&…...

别再为多设备同步发愁了!手把手教你用NI-DAQmx的‘通道扩展’功能搞定多机箱数据采集

多设备数据采集同步实战:NI-DAQmx通道扩展功能深度解析 在工业测试与科研数据采集领域,工程师们经常面临一个棘手问题:当单个数据采集设备的通道数无法满足需求时,如何实现多个设备的无缝协同工作?想象一下汽车ECU测试…...

程序员需求攀升:数字化浪潮下的行业必然

在数字经济深度渗透的今天,软件开发行业正经历着前所未有的扩张期,程序员岗位需求的持续攀升成为行业发展的鲜明特征。作为与开发环节紧密联动的测试从业者,深入理解这一现象背后的逻辑,不仅能帮助我们把握行业趋势,更…...

ICode竞赛Python三级通关秘籍:用if else控制飞船和机器人走迷宫

ICode竞赛Python三级通关秘籍:用if else控制飞船和机器人走迷宫 在ICode国际青少年编程竞赛的Python三级训练场中,掌握if else条件判断是解锁迷宫挑战的关键。不同于枯燥的语法练习,我们将通过飞船(Spaceship)和机器人(Dev)的视角&#xff0c…...

Pulover‘s Macro Creator:你的数字助手,让电脑学会“自己工作“

Pulovers Macro Creator:你的数字助手,让电脑学会"自己工作" 【免费下载链接】PuloversMacroCreator Automation Utility - Recorder & Script Generator 项目地址: https://gitcode.com/gh_mirrors/pu/PuloversMacroCreator 你是否…...

毕业设计 深度学习动物识别系统(源码+论文)

文章目录 0 前言1 项目运行效果1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 …...

毕业设计 深度学习的人体跌倒检测与识别(源码+论文)

文章目录 0 前言1 项目运行效果2 相关技术原理2.1卷积神经网络2.2 YOLO简介2.3 YOLOv5s 模型算法流程和原理2.4 数据集处理数据标注简介数据保存 2.5 模型训练 4 最后 0 前言 🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创…...

猫抓Cat-Catch终极指南:从浏览器资源嗅探到流媒体下载的完整解决方案

猫抓Cat-Catch终极指南:从浏览器资源嗅探到流媒体下载的完整解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓Cat-Catch是一…...

markdownReader:3分钟快速上手,彻底告别Chrome中Markdown文件的混乱显示

markdownReader:3分钟快速上手,彻底告别Chrome中Markdown文件的混乱显示 【免费下载链接】markdownReader markdownReader is a extention for chrome, used for reading markdown file. 项目地址: https://gitcode.com/gh_mirrors/ma/markdownReader …...

抖音批量下载器终极指南:5步实现无水印视频高效下载

抖音批量下载器终极指南:5步实现无水印视频高效下载 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...

PUBG罗技鼠标宏终极指南:从零配置到实战压枪的完整教程

PUBG罗技鼠标宏终极指南:从零配置到实战压枪的完整教程 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在《绝地求生》这样的竞技射击…...

Python小白也能学会!3个月蜕变AI应用开发者的收藏秘籍

本文针对程序员,特别是只会CRUD的开发者,提供了学习大模型的实用路径。文章强调大模型应用开发是“低门槛、高上限”的方向,并给出了一个12步学习路线,涵盖Python基础、Transformer理解、提示词工程、RAG等,以及LangCh…...

Multisim 13.0 保姆级教程:手把手教你搭建丙类谐振功放,从波形观察到参数分析

Multisim 13.0 丙类谐振功放仿真全流程实战指南 在电子工程领域,高频电路设计一直是让初学者望而生畏的课题。传统实验室受限于设备成本和操作风险,很难为学生提供充分的实践机会。而Multisim作为电路仿真领域的标杆工具,为学习者打开了一扇安…...

产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住

前言 产品经理和开发之间的矛盾,根源往往不在需求本身,而在于需求表达方式。一个合格的需求文档应该包含:功能描述、业务规则、边界条件、异常处理、验收标准。但现实中,很多PRD长这样:“用户点击支付后,系…...

从零搭建 Geo 开源项目源码开发环境——以 GeoServer 为例

在地理信息(GIS)与空间数据服务开发中,Geo 系开源项目(如 GeoServer、GeoPandas、GeoDjango 等)非常常见。很多团队后期都会走到“读源码 / 改源码 / 二次开发”这一步,而第一步往往是:把源码跑…...

Taotoken助力初创团队低成本管理多个AI项目API用量

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken助力初创团队低成本管理多个AI项目API用量 对于小型创业团队的技术负责人而言,同时推进多个AI项目是常态。每个…...

当 AI 学会“说谎“:大模型幻觉问题深度解析

一、真实案例:AI 是如何"一本正经胡说八道"的案例 1:美国顶级律所的 2000 美元/小时错误 2026 年 4 月,纽约联邦法院。 一家时薪超过 2000 美元的顶级律所,在提交给法官的法律文件中,引用了 6 个根本不存在的判例。 这些判例不仅有名有姓,还有完整的案号、判…...

全球化2.0 | ZStack亮相印尼云计算与数据中心大会 以新一代云底座助力数字印尼建设

近日,由 W.Media 主办的印尼云计算和数据中心大会(Indonesia Cloud & Data Center Convention 2026)在雅加达举行。云轴科技 ZStack受邀参会,与来自印尼及国际数据中心行业的专业人士共同探讨企业云底座的最新进展与未来趋势。…...