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

✍️ OpenClawRadar📅 公開日: May 20, 2026🔗 Source
AIを使った10万行のRust:契約、仕様駆動開発、パフォーマンス
Ad

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安全性違反を捕捉した。

Ad

軽量な仕様駆動開発

Huang氏は当初、厳格な仕様駆動アプローチ(要件マークダウン→設計マークダウン→タスクリストマークダウン)を試みたが、反復的な変更には柔軟性に欠けると判断した。現在は、簡潔な仕様から始めてAIにコードを生成させ、契約とテストを反復的に洗練する、より軽量なSDDを採用している。システム全体には、単体テスト、統合テスト、マルチレプリカ障害注入テストを含む1300以上のテストが含まれている。

パフォーマンス最適化

最適化フェーズ(3週間)により、スループットは毎秒2万3000から30万操作に向上した。主要なアーキテクチャ変更:パイプライン処理の追加(リクエストが進行中の投票を待たない)、不揮発性メモリ(NVM)のサポートによるコミット時間の短縮、および最新のAzureデータセンター向けRDMA対応。

今後の展望

Huang氏は、契約からプロパティベースのテストを生成するためのより優れたAIサポートと、10万行を超えるコードベースでの破壊的変更をシームレスに処理する機能を望んでいる。

📖 Read the full source: HN AI Agents

Ad

👀 See Also

Claude Codeの100万トークンコンテキストウィンドウを無効にしてトークン使用量を削減する方法
Tips

Claude Codeの100万トークンコンテキストウィンドウを無効にしてトークン使用量を削減する方法

Anthropicユーザーは、settings.jsonに環境変数を追加することでClaude Codeの1Mコンテキストウィンドウを無効にでき、予期せぬトークン消費を減らせる可能性があります。ソースでは、1Mコンテキストを完全に無効にするか、自動圧縮ウィンドウに上限を設ける2つの設定オプションが提供されています。

OpenClawRadar
压缩无法修复从未出现在转录中的上下文:诊断OpenClaw上下文溢出
Tips

压缩无法修复从未出现在转录中的上下文:诊断OpenClaw上下文溢出

あるバグ報告が、OpenClawのよくある落とし穴を明らかにしている。システムプロンプトだけでトークン予算を超えている場合、会話履歴のみを要約するコンパクションでは解決できない。実際の原因を特定するには、/context map と /context detail を使おう。

OpenClawRadar
VSCode/Cursor統合ターミナルでClaude Codeを実行してワークフローを改善
Tips

VSCode/Cursor統合ターミナルでClaude Codeを実行してワークフローを改善

VSCodeやCursorの統合ターミナルでClaude Codeを実行すると、外部ターミナルではなく、ウィンドウを切り替えることなくgit diffパネルやデバッガーにすぐにアクセスでき、設定も不要です。

OpenClawRadar
クロードコードは、曖昧な指示ではなく、具体的なプロンプトを必要とします。
Tips

クロードコードは、曖昧な指示ではなく、具体的なプロンプトを必要とします。

開発者が報告したところによると、Claude Codeは曖昧な指示よりも詳細なプロンプトでより良い結果を生み出すとのことで、5ヶ月間にわたる40億トークンの経験を引用しています。

OpenClawRadar