AIを使った10万行のRust:契約、仕様駆動開発、パフォーマンス

Cheng Huang氏は、AzureのReplicated State Library(RSL)を近代化するために、RustベースのマルチPaxos合意エンジンの構築に約6週間を費やした。このプロジェクトでは、13万行以上のRustコード(約10万行はAIエージェントが4週間で作成、残り3週間は最適化)を生成し、スループットを毎秒2万3000から30万操作に向上させた。
Huang氏は、GitHub Copilot、Claude Code、Codex CLI、Augment Code、Kiro、Traeなど、複数のAIコーディングエージェントを使用した。現在の主なセットアップは、ターミナル上のClaude CodeとCodex CLIで、VS Codeは差分確認と軽微な編集のみに使用している。また、レート制限に対処するため、2つのChatGPTサブスクリプションを維持している(月曜~水曜用、木曜~日曜用)。
コード契約 — AIが作成
正確性の核となる戦略:AIが生成したコード契約により、重要な関数の事前条件、事後条件、不変条件を指定し、テスト中に実行時アサートに変換する。Huang氏は、GPT-5 Highは優れた契約を作成し、Opus 4.1も良いがレビューが必要と述べている。例えば、process_2aメソッド(Paxosフェーズ2aメッセージを処理)には16の契約がある。契約は対象を絞ったテストケースやランダム入力を探索するプロパティベースのテストの生成に使用され、ある契約では、レプリケーションの一貫性問題を引き起こす可能性のある微妙なPaxos安全性違反を捕捉した。
軽量な仕様駆動開発
Huang氏は当初、厳格な仕様駆動アプローチ(要件マークダウン→設計マークダウン→タスクリストマークダウン)を試みたが、反復的な変更には柔軟性に欠けると判断した。現在は、簡潔な仕様から始めてAIにコードを生成させ、契約とテストを反復的に洗練する、より軽量なSDDを採用している。システム全体には、単体テスト、統合テスト、マルチレプリカ障害注入テストを含む1300以上のテストが含まれている。
パフォーマンス最適化
最適化フェーズ(3週間)により、スループットは毎秒2万3000から30万操作に向上した。主要なアーキテクチャ変更:パイプライン処理の追加(リクエストが進行中の投票を待たない)、不揮発性メモリ(NVM)のサポートによるコミット時間の短縮、および最新のAzureデータセンター向けRDMA対応。
今後の展望
Huang氏は、契約からプロパティベースのテストを生成するためのより優れたAIサポートと、10万行を超えるコードベースでの破壊的変更をシームレスに処理する機能を望んでいる。
📖 Read the full source: HN AI Agents
👀 See Also

2x3090でCPUオフロードを使用したMiniMax M2.7 Q8_0 128Kの実行 – 実世界のベンチマークと設定
あるユーザーがMiniMax M2.7(Q8_0量子化)を128Kコンテキストで2枚のRTX 3090とDDR4 RAM上で正常に実行し、プロンプト処理で約50 tps、トークン生成で約10 tpsを達成し、llama-serverのフラグを共有しています。

Claude CodeとAIエージェントに対するHTMLの不合理な効果
あるバイラル投稿が示しているのは、Claude CodeなどのAIコーディングエージェントがHTMLを生成するように指示されると、より良い結果が得られるということです。実際の動作例と、このパターンについて解説したブログ記事も紹介されています。

Claude Code自己監査で~/.claudeに3GBの不要ファイルを発見 — 削除方法はこちら
あるユーザーがClaude Codeに自身の~/.claudeディレクトリを監査するよう促したところ、2.6GBの古いセッション記録、170MBの失敗したテレメトリ再試行ログ、153MBのアンドゥバッファが見つかりました。クリーンアップ後、3GBから200MB未満に削減されました。

Claudeに共通の煩わしさを防ぐための必須カスタム指示
Redditユーザーが、Claudeの一般的な不満点に対処するための3つの具体的なカスタム指示を共有しています。これには、破壊的なコマンドの実行前に警告を求めること、回答途中での計画変更を防ぐこと、コードブロックを機能的なコードのみに限定することが含まれます。