概要
CloudflareのOAuth 2.1ライブラリ開発にて、AI(Claude)と人間の協働プロセスがgitコミットで詳細に記録。 プロンプトの履歴が意図のドキュメントとして機能し、新たな開発手法の可能性を示唆。 AIによるコード生成は95%以上だが、人間の介入と判断が不可欠。 プロンプト管理や多段階プロンプトの重要性が浮き彫り。 将来的にはプロンプト自体がソースコードとなる可能性も議論。
Cloudflare OAuth 2.1ライブラリ開発におけるAIと人間の協働
-
Cloudflareがオープンソース化したOAuth 2.1ライブラリの開発記録
- ほぼ全てのコードをAI(Claude)が生成
- 開発プロセス全体をgitコミットメッセージで詳細に記録
-
コミットごとにプロンプト内容を明示
- すべてのプロンプト、修正指示、人間の介入履歴を保存
- 人間とAIの「会話履歴」としてのアーカイブ
-
リードエンジニアKenton(@kentonv)のAI懐疑からの変化
- 最初はAIへの懐疑心で参加
- 結果的に自分の先入観を覆す体験
-
プロンプト管理の実践
- 各コミットにプロンプトを記録し、将来の保守・デバッグに有用なコンテキストを提供
- プロンプト自体が意図や設計思想のドキュメントとなる
-
具体例を用いたプロンプト設計
- 実際の利用例コードを初期プロンプトとして提示
- メソッドシグネチャや現実的な利用条件の曖昧さを排除
-
シンプルな修正指示の有効性
- 「You did X, but we should do Y. pls fix.」のような簡潔な指示
- 状況説明、変更理由、具体的な指示を明確に伝達
-
ドキュメント生成の自動化
- 1行プロンプトで包括的なスキーマドキュメントを自動生成
- モデルによるドキュメント生成の得意分野
-
AIの限界と人間の介入
- クラス宣言の移動や重複コードの修正などで人間が手動対応
- grepやsedによる手動修正も発生
- スタイリングや未使用メソッド削除など、AIが苦手なタスクは人間が担当
-
AI生成コードの割合と人間の役割
- コードの95%以上をAIが生成
- ただし全体を通じて人間の監督・判断が不可欠
AIコーディングツール活用のベストプラクティス
-
成果物重視のプロンプト設計
- バックエンドサービスならエンドポイントと期待動作
- CLIツールなら使用例、ライブラリなら統合例を提示
-
プロンプトをバージョン管理資産として扱う
- コミットメッセージにプロンプトを含め、将来的なメンテナンス性向上
-
マルチショットプロンプティングの前提
- ほぼ全ての機能で複数回のプロンプトと修正が必要
- これは制約ではなく、協働の本質
-
手動介入の重要性
- バグ修正やスタイリングなど、手動の方が速いケースも多い
- 介入タイミングの見極めがスキル
プロンプトをソースコードとする未来への示唆
-
プロンプト履歴を「実際のソースコード」として扱う発想
- プロンプトをバージョン管理し、将来的に最新AIで再生成可能
- 英語が読めれば誰でもビジネスロジックの意図を理解できる自己文書化アプリケーション
-
モデルの厳格なプロンプト遵守と高い信頼性が前提
- 現実にはデプロイ・テスト・メンテナンスが不可欠
- だが、プロンプト履歴自体が「アプリケーション」となる可能性
現状のAIコーディングの限界と展望
-
AIの自律的な大規模ライブラリ実装にはまだ課題
- ほぼ全ての機能でマルチショットプロンプトと人間の戦略的介入が必要
- 一部のバグや機能は手動の方が迅速
-
Claude Codeの登場と急速な進化
- 公開からわずか2週間で実用レベルの協働を実現
- AIは自ら進化し続ける「自己改善型ツール」
-
AIと人間の新たな創造的ダイナミクス
- AIが機械的実装を担い、人間が方向性・文脈・判断を提供
- 今後も人間の関与は不可欠だが、AI活用の可能性は拡大
-
まとめ:AIを「改善し続ける道具」として捉え、今後の進化と協働の深化に期待