0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IT業務を複雑性クラスで整理する~生成AI時代のエンジニアの役割変化~

0
Posted at

はじめに

生成AIの登場によって、ソフトウェア開発の役割は大きく変わりました。

  • コードを書く時間が減った
  • レビューや検証の重要性が上がった

この変化を理解する一つの視点として、複雑性クラスに当てはめて整理してみます。
※実務は厳密な計算問題ではないため、あくまで性質の類似です。

複雑性クラス

複雑性クラスは多数ありますが、

  • P問題(多項式時間で解ける問題)
  • NP問題(多項式時間で正しさを検証できる問題)
  • NP完全問題(NP問題の中で最も難しい問題)
  • NP困難問題(NP問題と同等以上に難しい問題)

に絞って分類します。

これらの関係は以下のようになります。

image.png

※注意:P≠NPとして図示しています。

P問題

多項式時間で解ける問題 = 手順が明確で機械的に解ける仕事

  • 手順が明確
  • 入出力が決まっている
  • 再現性が高い

ツールやスクリプトで自動化できる領域

業務例

  • CRUD実装(単純ロジック)
  • SQL生成
  • マイグレーション
  • APIスケルトン生成
  • コード変換(DTO ⇔ Entity)
  • 定型バッチ処理

NP問題

多項式時間で正しさを検証できる問題 = 作るのは難しいが正しさを確認できる仕事

  • 解を作るのが難しい
  • 正しさは検証できる

正しいかどうかをテストやレビューで判断できる領域

業務例

  • 詳細設計書 ⇒ コーディング
  • テストコード作成
  • 単体テスト作成
  • バグ修正
  • コードレビュー
  • API設計(要件が明確な場合)

NP完全問題

NP問題の中で最も難しい問題 = 最適解を見つけるのが極めて難しい仕事

  • 選択肢が爆発的に増える
  • 最適解が見つけにくい

設計力・経験・トレードオフ判断が問われる領域

業務例

  • アーキテクチャ設計
  • マイクロサービス分割
  • DB設計
  • パフォーマンス最適化
  • キャッシュ戦略設計
  • 大規模リファクタリング

NP困難問題

NP問題と同等以上に難しい問題 = 正解の定義自体が難しい仕事

  • 正解の定義が曖昧
  • 検証すら難しい

意思決定の領域

業務例

  • 要件定義
  • プロダクト企画
  • UX設計
  • 技術選定
  • 開発プロセス設計
  • チーム設計

複雑性 と 仕事 と 生成AI と 人間

複雑性 と 仕事

複雑性と仕事の関係は以下の通りです。

複雑性 仕事
P問題 手順が明確で機械的に解ける仕事
NP問題 作るのは難しいが正しさを確認できる仕事
NP完全問題 最適解を見つけるのが極めて難しい仕事
NP困難問題 正解の定義自体が難しい仕事

仕事 と 生成AI

生成AIは問題を解いているのか?

生成AIはアルゴリズムとして問題を解いているわけではありません。
入力に対して尤もらしい回答を出力します。

そのため、正しい答えを出すことはありますが、常に正しさが保証されるわけではありません。

生成AIは
「解く」のではなく「候補を生成する」

生成AIはどんな仕事が出来るか?

P問題に対して、高い精度で実装やコード生成を行うことができます。
NP問題に対して、解の候補を高速に生成し、探索を大幅に効率化します。

ただし、NP困難問題に対しては、人間による問題設定や評価が不可欠です。

生成AIは

  • P問題を自動化
  • NP問題を支援
  • NP困難問題は人間依存

生成AI と 人間

人間の役割の再定義

生成AIの導入により、人間の役割は変化します。
重要になるのは、問題の解き方よりも扱い方です。

生成AI時代における人間の役割は3つに集約できます。

① 検証能力

  • 出力結果の正しさを判断する
  • テスト・レビューを設計する
  • 境界条件・例外を確認する

NP問題の「検証側」

② 問題定義能力

  • 入力・制約・評価軸を明確にする
  • 何を解くべきかを決める
  • 成功条件を定義する

NP困難問題の領域

③ 分解能力(=帰着)

  • 問題を部分問題に分割する
  • 検証可能な形に変換する
  • 生成AIが扱える粒度に落とす

NP問題に帰着可能(=検証可能)な形へ変換する能力

おわりに

複雑性クラスの関係で見ると、生成AIの本質が見えてきます。

複雑性 本質 担い手
P問題 手順化可能 自動化・ツール
NP問題 検証可能 生成AI(生成)+人間(検証)
NP完全問題 最適化問題 人間中心
NP困難問題 意思決定 人間の領域

生成AIは解答者ではなく、解答の候補を大量に出す存在です。
そして、人間は問題を「分解し、検証し、定義する」側に回ります。

生成AI時代におけるエンジニアに求められるのは、「問題を解くこと」ではなく「問題を解ける形に変換すること」です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?