質問するログイン新規登録

意見交換

3回答

1036閲覧

AI時代に設計知識は必要ですか?

teratail-talk

総合スコア8

AI(人工知能)

AI(人工知能)とは、言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術のことです。

アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

設計

設計は、ソフトウェアやシステムを作る上での設計方針、仕様策定、アーキテクチャ選定などに関する投稿です。

0グッド

1クリップ

投稿2026/01/25 23:00

0

1

🖊️テーマ

GitHub CopilotClaude codeの登場で、開発のやり方が大きく変わってきましたよね🤖

最近では「仕様駆動開発」という考え方も出てきて、開発者が詳細な設計を考えなくても、仕様を伝えるだけで開発が進むようになりつつあります。

こうした時代に、設計の知識(アーキテクチャ、クラス設計、DB設計など)ってどのくらい重要だと思いますか?
皆さんの考えをぜひ教えてください!🚩

👤運営メンバーの回答

運営メンバーの意見は「設計知識は必要」でした!

AIの出す回答はどうしても一般論になりがちで、ネット上で広まっている誤った知識をそのまま出してしまうこともあります。
また、プロジェクト特有の制約や事情によって、一般論が当てはめられないこともよくあります。

そのため、「これはウチには合わない」「ここはこう変えるべき」と判断するために、ちゃんとした設計知識が必要になってくるとのことでした!

〜teratailトーク!とは?〜

詳細を公式ブログで公開しています。ぜひお読みください。
「teratailトーク!」スタート🎉 気軽に意見交換しよう!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

回答4

#1

ymmr

総合スコア115

投稿2026/01/29 05:14

必要だと思います。
仕様駆動開発をしていくにも、仕様を書けば意図した通りにAIがDESIGN.mdを出してくれるとは限らず、それをレビューできる設計力(設計知識)は必要になります。
なぜ設計が必要かというと、変更容易性がさがるとか、不具合が起きやすくなるとか、テストが書きづらくなるとか、AIが実装するかどうかに関係ない、従来からの考え方に起因していると思います。

また、AIエージェントの登場でレビュー疲れ、を各所で見るようになりましたが、効率の良いレビューをする上でどのコードを重視してレビューするか、という観点があると思います。最優先なのはシステムの中核を担うビジネスロジックが、逆にコントローラー層のような外側は優先度は低めになると思います。
レビューを効率化する上で、どの層を重点的にレビューするか、ユニットテストを充実させるか、といった工夫をする上で、たとえばDDDができるとドメイン層を優先的にやろう、などのアクションが取れると思います。

#2

tt-tt

総合スコア241

投稿2026/01/29 10:02

むしろ大事だと思います。
仕様駆動により、レビューの観点は細かいコード内容より、正しい場所(レイヤー)に記載されているかなどになると考えています。
このあたり、ネットの情報が誤っているものや独自のルール(人による見解の違い)から、AIのミスも多いところだと思います。
逆に言うと、コードや関数など細かい粒度は意見が一致しているためアンチパターンを踏みにくいような感じもしています。
なので、仕様駆動やAI駆動で開発する場合は、設計に対する知識がより重要だと今のところは感じています!

#3

Uhoho

総合スコア82

投稿2026/02/01 01:22

結論から言うと、設計知識の重要性はAI時代になって「むしろ高まっている」 と思います。
ただし、その役割が大きく変わったのがポイントです。
昔は「設計知識=自分が綺麗にコードを書くためのスキル」でした。
今は「設計知識=AIに正しい方向へ導くための指揮・ディレクションスキル」にシフトしています。
なぜ重要度が上がっているのか、3つの視点で整理します。

1. AIは「構造」を与えないと爆速でゴミの山を作る

CopilotやClaudeは個別の関数・クラス・コンポーネントを爆速で作ってくれますが、
プロジェクト全体の構造(アーキテクチャ)を指示しないと、数週間でメンテ不能なカオスになります。

Feature-first / Layered / Clean Architecture / DDD などの「型」を知っているからこそ
「この機能は features/user/profile にまとめて」「ドメイン層だけ純粋に保って」などと具体的に指示できる
指示が曖昧だと、AIは「動くけどどこに何があるかわからない」コードを量産する
(実際に何度も経験済み…修正ラッシュで地獄を見ました)
→ 設計知識がないと、AIへの「制約言語」が貧弱になり、出力の質が劇的に落ちる。

2. DB設計・インフラ設計は「コストとスケール」に直結する

特にクラウド(DynamoDB, Aurora, Redisなど)を使う場合、AIに丸投げすると「動くけど請求額が10倍になる」設計になりがちです。
例:

「ToDoアプリのスコア管理DB作って」と言ったら、AIは普通にRDB風の複数テーブル設計を提案してくる
でもDynamoDBでシングルテーブルデザイン + 適切なGSI/LSIを貼らないと、スケール時に詰む(RCU/WCU爆増、ホットパーティションなど)

→ 「どんなクエリパターンが主になるか」「アクセスパターンを先に洗い出す」知識がないと、
AIに渡す仕様自体が間違ったものになってしまう。

3. デバッグ・レビューの「最後の砦」は人間しかできない

AI生成コードは「仕様通り動く」率は非常に高いですが、
「仕様に書かれていない非機能要件」(race condition、メモリリーク、N+1、セキュリティホール、将来の拡張性など)で死ぬケースが頻発します。

表面上テスト全通でも、本番で死ぬバグ
「これ10年後拡張できる?」を見極められるのは、設計原則・コンピュータサイエンスを理解している人だけ

→ AIは「今動くもの」は得意だけど、「10年耐えられる美しい設計」はまだまだ人間の領域です。
これからの二極化がもう始まってる

  • AIに使われるエンジニア:プロンプトが曖昧 → コピペ → 動かない → 詰む
  • AIを使いこなすアーキテクト:設計図を引いて、AIに「最適な実装」を指示 → 最短で高品質プロダクト

「仕様を伝えるだけで開発が進む」というのは、
「AIが理解できる精密な設計・仕様言語」を人間が書けるかどうか が鍵になった時代だと思います。
最近の自分の実践で一番効いたのは、
事前にフォルダ構成・アーキテクチャをガチガチに決めておく → AIの出力精度が段違いに上がる
という体験です。これ、設計知識がないと絶対にできない芸当ですよね。

#4

この回答は、運営により削除されました。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問