Rust 开发中的 AI:一位 OpenAI 工程师的经验
BestBlog编程类文章 · 软件开发
📌 One-Sentence Summary 一位 OpenAI 工程师分享如何通过基于风险的审查、精准提示词和系统化验证流程,利用 AI 提升 Rust 代码的正确性。 📝 Summary 本文介绍了 OpenAI 工程师 Predrag Gruevski 如何利用 AI 提高 Rust 代码的正确性,而不只是编写更多代码。他阐述了 AI 辅助开发的风险分级方法,将代码分为低风险代码、他人依赖的逻辑,以及不安全代码,并针对不同类别采用不同强度的审查。文章还提供了撰写有效 AI 提示词的实用建议,包括勾勒设计方案、说明可接受的假设,并精准描述需求。此外,文章介绍了通过测试、覆盖率分析、变异测试以及用于检查不安全代码的 Miri 等工具构成的验证流程。文章最后指出,使用 AI 的目标应是达到单靠自己难以实现的质量标准,并且每一段代码都代表开发者本人。 💡 Main Points 基于风险确定代码审查优先级 应根据潜在影响对代码分类:像 CI 脚本这样的低风险代码可以由 AI 生成,只需少量审查;他人依赖的逻辑需要仔细审查;不安全代码则值得逐行检查,或干脆手动编写。检查 100 行不安全代码甚至可能花上 4 小时。 为 Rust 开发编写有效的 AI 提示词 提示词应包含设计草案、可接受的假设,并且表达精准。对于 Rust 中需要条件判断的答案,提示词必须明确说明需要什么、不需要什么。单项任务可能消耗数十亿个 token,因此工程设计本身就必须体现在提示词中。 系统化验证流程 流程分为 4 步:检查测试结构覆盖率;检查重要逻辑的覆盖率;使用 cargo-mutants 验证测试能否捕捉错误;在 Miri 和 ASan 等消毒器下运行不安全代码,同时由人工审查安全不变量。 AI 是质量放大器,而不只是效率工具 AI 让变异测试和完整状态机覆盖等以往成本过高的技术变得可行,使开发者能够达到单靠自己难以实现的质量标准;每次代码变更都代表开发者本人。 💬 Key Quotes 有些人用 AI 编写更多代码。我用 AI 让自己的代码更加正确。 这里的一个错误可能导致内存安全问题、安全漏洞,或一种十亿次才出现一次的海森堡 bug。听起来很罕见,直到你在数据中心运行它。 人们很容易把 AI 看成一匹跑得更快的马。这正是它并非只是匹跑得更快的马的例子。 你提交的每一段代码都带有你的签名。它确实来自你的 Git 客户端。 📊 Article Meta AI Screening: 88 Source: The JetBrains Blog Author: Irina Mihajlovic Category: 软件编程 Language: 英文 Read Time: 8 min Word Count: 1959 Tags: 编程与工程 , AI 编程 , 开发者工具 , 代码质量 , 安全 Read Full Article