본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 05. 14:50

IT 업무를 복잡성 클래스로 정리하기 ~ 생성 AI 시대의 엔지니어 역할 변화 ~

요약

생성 AI의 등장으로 소프트웨어 개발 과정은 코드 작성 시간 단축과 리뷰/검증 중요도 증가라는 변화를 겪고 있으며, 이를 컴퓨터 과학의 복잡성 클래스(P, NP 등)로 분석할 수 있습니다. P 문제는 자동화 도구에 적합하고, NP 문제는 검증을 통해 정답성을 판단하는 영역입니다. 따라서 생성 AI는 '해결'보다는 '후보 생성'에 강점을 가지며, 인간 엔지니어의 역할은 문제 자체를 정의하고(NP 난문), 그 문제를 검증 가능한 형태로 분해 및 변환하는 능력으로 변화해야 합니다.

핵심 포인트

  • 생성 AI는 코드를 직접 '해결'하기보다 '후보를 생성'하는 도구이므로, 결과의 정답성을 항상 보장할 수 없습니다.
  • 엔지니어의 역할은 단순한 문제 해결(Solving)에서 벗어나, 문제를 명확히 정의하고 검증 가능한 형태로 변환하는 능력(Defining & Transforming)으로 이동해야 합니다.
  • P 문제는 자동화 도구로 처리 가능하며, NP 난문 문제는 인간의 문제 설정 및 평가가 필수적입니다.
  • AI 시대에 중요한 역량은 '문제 해결' 자체가 아니라, 문제를 '분해하고, 검증하고, 정의하는' 능력입니다.

생성 AI 의 등장으로 인해 소프트웨어 개발의 역할이 크게 변했습니다.

  • 코드 작성 시간이 줄었다
  • 리뷰 및 검증의 중요성이 높아졌다

이러한 변화를 이해하는 하나의 관점으로는 복잡성 클래스에 적용하여 정리해 볼 수 있습니다.

※실무는 엄밀한 계산 문제가 아니므로, 오직 性質의 유사입니다.

복잡성 클래스는 많지만,

  • P 문제 (다항식 시간으로 해결 가능한 문제)
  • NP 문제 (다항식 시간으로 정답성을 검증할 수 있는 문제)
  • NP 완전 문제 (NP 문제 중 가장 어려운 문제)
  • NP 난문 문제 (NP 문제와 동일 이상으로 어려운 문제)

에 한정하여 분류합니다.

이러한 관계는 다음과 같습니다.

※주의: P≠NP 로图示하고 있습니다.

다항식 시간으로 해결 가능한 문제 = 절차가 명확하고 기계적으로 해결할 수 있는 일

  • 절차가 명확
  • 입력/출력이 결정됨
  • 재현성이 높음

도구 또는 스크립트로 자동화할 수 있는 영역

  • CRUD 구현 (단순 로직)
  • SQL 생성
  • 마이그레이션
  • API 스키레톤 생성
  • 코드 변환 (DTO ⇔ Entity)
  • 표준형 배치 처리

다항식 시간으로 정답성을 검증할 수 있는 문제 = 해결하는 것은 어렵지만 정답성을 확인할 수 있는 일

  • 해를 만드는 것이 어려움
  • 정답성은 검증 가능

정확한지 여부를 테스트 또는 리뷰로 판단할 수 있는 영역

  • 상세 설계서 ⇒ 코딩
  • 테스트 코드 작성
  • 단위 테스트 작성
  • 버그 수정
  • 코드 리뷰
  • API 설계 (요청이 명확한 경우)

NP 문제 중 가장 어려운 문제 = 최적해를 찾는 것이 매우 어려운 일

  • 선택지가 폭발적으로 증가함
  • 최적해를 찾기 어려움

설계력, 경험, 트레이드오프 판단이 요구되는 영역

  • 아키텍처 설계
  • 마이크로서비스 분할
  • DB 설계
  • 성능 최적화
  • 캐스트 전략 설계
  • 대규모 리팩토링

NP 문제와 동일 이상으로 어려운 문제 = 정답의 정의 자체가 어려운 일

  • 정답의 정의가 모호함
  • 검증조차 어려움

의사결정 영역

  • 요구사항 정의
  • 프로덕트 기획
  • UX 설계
  • 기술 선정
  • 개발 프로세스 설계
  • 팀 설계

복잡성과 일의 관계는 다음과 같습니다.

복잡성
P 문제절차가 명확하고 기계적으로 해결할 수 있는 일
...

생성 AI 는 알고리즘으로서 문제를 해결하는 것이 아닙니다.

입력에 대해 유추 가능한 답변을 출력합니다.

따라서, 정확한 답을 제시할 수는 있지만 항상 정답성이 보장되는 것은 아닙니다.

생성 AI 는

"해결하는" 것이 아니라 "후보를 생성하는"

P 문제에는 높은 정확도로 구현 또는 코드 생성을 수행할 수 있습니다.

NP 문제에는 해의 후보를 빠르게 생성하고 탐색을 크게 효율화합니다.

그러나 NP 난문 문제에는 인간에 의한 문제 설정 및 평가가 필수적입니다.

생성 AI 는

  • P 문제를 자동화
  • NP 문제를 지원
  • NP 난문 문제는 인간 의존

생성 AI 의 도입으로 인해 인간의 역할이 변합니다.

중요해지的是 문제의 해결 방법보다 처리 방법입니다.

생성 AI 시대에서의 인간의 역할은 세 가지로 요약할 수 있습니다.

  • 출력 결과의 정답성을 판단하는
  • 테스트 및 리뷰를 설계하는
  • 경계 조건 및 예외를 확인하는

NP 문제의 "검증 측면"

  • 입력/제약/평가 축을 명확히 하는
  • 무엇을 해결해야 하는지 결정하는
  • 성공 조건을 정의하는

NP 난문 문제 영역

  • 문제를 부분 문제로 분할하는
  • 검증 가능한 형태로 변환하는
  • 생성 AI 가 처리할 수 있는粒度로 낮추는

NP 문제에 귀착 가능 (=검증 가능) 한 형태로 변환하는 능력

복잡성 클래스의 관계에서 보면, 생성 AI 의 본질이 보입니다.

| 복잡성 | 본질 | 담당자 |
|---|---|
| P 문제 | 절차화 가능 | 자동화/도구 |
| ... |

생성 AI 는 해답자가 아니라 해답의 후보를 대량으로 출력하는 존재입니다.

그리고 인간은 문제를 "분해하고, 검증하고, 정의하는" 측면에 돌아갑니다.

생성 AI 시대에서 엔지니어에게 요구되는 것은 "문제를 해결하는 것"이 아니라 "문제를 해결할 수 있는 형태로 변환하는 것"입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
2

댓글

0