生成AIが開発現場に入り込みはじめてから、コードを書くプロセスは確実に変わりつつある。
補完精度の高いLLMや対話型ツールの登場によって、実装スピードは格段に上がった一方で、「なぜこの設計にしたのか?」といった意図の痕跡がコードから読み取りにくくなってきていると感じることも多い。
こうした流れの中で、Kent Beckは「Augmented Coding(拡張されたコーディング)」というアプローチを提示している。これは、AIを単なる生産性向上のツールではなく、「設計思考を伴ったパートナー」として扱うスタイルだ。
この記事では、Beckの提案する考え方をベースに、AI時代の設計と整理を重視したコーディングスタイルについて掘り下げていく。
Augmented Codingとは何か?
Augmented Codingとは、AIと協働しながらコードを書く際に「設計意図」や「構造的整理」を軸に据える開発手法である。
単に「AIにコードを書かせる」のではなく、「どこを整えるべきか」「どのようにテストを組み立てるべきか」といった設計上の問いを明確にしながら、AIに補助や提案を求めて進める。
Beckの原稿では、B+木(B+ Tree)という木構造を例に、AI(Genieと呼ばれる)との対話を通じてライブラリの実装を行うプロセスが紹介されている。
この中で強調されているのは、次のような姿勢だ:
- まず設計上の混乱を「tidy(整える)」する
- テスト駆動で小さく進める(ただし形式にとらわれず柔軟に)
- AIと頻繁に対話し、構造や責任の切り方を言語化する
- 曖昧な状態を避け、明確な抽象化と役割分担を意識する
ここでの「tidy first」という原則は、Kent Beckが以前から提唱している「まず整えてから実装する」という設計方針に基づいている。AI時代の今、それを支える土台としてAugmented Codingが機能している。
vibe codingとの違い
Beckが対比的に挙げているのが「vibe coding(雰囲気で書くコーディング)」という言葉だ。これは、目的や設計を深く考えず、場のノリや勢いでとりあえず手を動かしてしまうスタイルを指す。
vibe codingは初期のアイデア出しやプロトタイピングには有効だが、構造が曖昧で、責任範囲も不明確になりやすい。結果として、変更に弱く、他者や未来の自分にとって理解しづらいコードになりがちだ。
対してAugmented Codingでは、以下のような特徴がある:
| 項目 | vibe coding | augmented coding |
|---|---|---|
| 姿勢 | その場の感覚に従う | 設計意図を明確に持つ |
| 実装順序 | 先に書いてから整える | 整えてから書く |
| コード構造 | 一貫性が低い、属人的 | 抽象の粒度が揃っている |
| AIとの関係 | 出力結果に依存 | 意思決定の補助として活用 |
| メンテナンス性 | 低い | 高い |
大切なのは、「AIをどう使うか」ではなく、「自分の設計思想をどう保ちながら使うか」という視点である。
AIとの対話が促す、設計の言語化
AIとのコーディングでは、思考の曖昧さがすぐに露呈する。
「このロジック、分けた方がよさそう」
「この変数、ちょっと名前がしっくりこない」
こうした微妙なニュアンスをAIに伝えるには、自分の中にある感覚を明確な言葉に落とし込む必要がある。
Beckはここにこそ、Augmented Codingの本質があると考えている。
AIは「推測」よりも「明示」に強い。そのため、設計の前提や背景を意識的に表現することが求められる。そしてそのプロセス自体が、開発者の思考を磨くトレーニングにもなる。
また、AIに対して「次に整えるべき箇所はどこか?」「この抽象の粒度は揃っているか?」といった問いを投げかけることで、常にコードの一貫性と意図を点検する習慣がつく。
なぜ今、Augmented Codingが重要なのか?
今後、AIと協働する開発が当たり前になればなるほど、「設計意図の明示性」と「構造の透明性」が重要になる。
特に以下のような場面では、Augmented Codingの考え方が有効に機能する:
- 複数人で保守・運用するコードベース
- AIが大量の提案をしてくる状況で、取捨選択が必要なとき
- プロダクトのドメイン構造が複雑で、抽象化が多層にわたる場合
- リファクタリングや分割を繰り返す大規模設計の中
AIが書いたコードに自分の名前を添えるなら、そこには責任も生まれる。だからこそ「整える」という一手間が、AI時代の品質保証のひとつになる。
まとめ
Augmented Codingは、AIによって加速されたコーディング体験において、人間の設計意図と構造的整理を守るための手法である。
Beckの提示する「Tidy First」を土台にしながら、AIと対話し、意図を言語化し、整えることを優先する。このプロセスを通じて、コードに責任と透明性が宿る。
vibe codingのような勢いのあるアプローチも否定されるべきではないが、長期的に価値を持つコードを書こうとするとき、Augmented Codingのような設計志向のスタイルは、ますます重要になっていくはずだ。
📎 出典
この記事は、Kent Beckによる以下の投稿をもとに書いています
- Augmented Coding: Beyond the Vibes