cheoly's language study blog

AI가 만든 코드, 내가 바로 머지하면 안 되는 이유

AI
반응형
SMALL

AI가 코드를 써주는 시대가 됐다.
함수 하나, 로직 하나 정도는 몇 초면 뚝딱 나온다.
처음엔 솔직히 감탄이 먼저 나온다.

“이 정도면 그냥 써도 되겠는데?”

하지만 실무에서 몇 번 겪고 나면
이 생각은 금방 바뀐다.

AI가 생성한 코드를 검토하는 개발자가 어두운 사무실에서 홀로 화면을 바라보는 장면


AI가 만든 코드는 대체로 그럴듯하다.
컴파일도 되고, 테스트도 통과한다.
문제는 그 다음부터다.


1) AI 코드는 ‘상황’을 모르고 만들어진다

AI는 요구사항을 보고 코드를 만든다.
하지만 그 요구사항이 왜 생겼는지는 모른다.

  • 이 코드가 임시인지
  • 나중에 갈아엎을 전제인지
  • 특정 환경에서만 쓰이는지

이런 배경이 빠진 상태에서 만들어진 코드는
겉보기엔 완성품처럼 보여도,
실제로는 맥락이 없는 조각에 가깝다.


2) 정상 동작과 안전 동작은 다르다

AI가 만든 코드는 보통 “잘 되는 경우”에 집중한다.
문제는 실무에서는 안 되는 경우가 더 중요하다는 점이다.

  • 입력이 비정상일 때
  • 외부 시스템이 응답하지 않을 때
  • 데이터가 깨졌을 때

이런 상황에서 어떻게 실패해야 하는지는
AI가 알아서 설계해주지 않는다.
결국 장애는 사람이 만든 가정의 빈틈에서 터진다.


3) 코드의 책임자는 AI가 아니다

AI가 만든 코드로 장애가 나도
원인을 설명해야 하는 건 개발자다.

  • 왜 이 구조로 작성했는지
  • 왜 이 예외 처리를 선택했는지
  • 왜 이 타이밍에 머지했는지

“AI가 이렇게 써줬다”는 이유는
그 어디에서도 통하지 않는다.
코드를 머지한 순간, 책임은 사람에게 넘어온다.


4) 유지보수는 작성이 아니라 이해에서 시작된다

지금은 잘 돌아가는 코드라도
6개월 뒤, 1년 뒤에는 다른 사람이 만진다.

그때 필요한 건

  • 코드가 왜 이렇게 생겼는지
  • 어떤 전제가 깔려 있는지
  • 어디까지 믿어도 되는지

AI가 만든 코드는
이 설명이 빠져 있는 경우가 많다.
결국 유지보수 비용은 사람 쪽에서 치르게 된다.


5) AI 코드는 초안이지, 완성본이 아니다

AI를 쓰지 말자는 얘기가 아니다.
오히려 잘 쓰면 생산성은 확실히 올라간다.

다만 위치가 다르다.

  • AI는 초안을 만든다
  • 사람은 맥락을 입힌다
  • 최종 판단은 사람이 한다

이 선을 넘는 순간,
편해지는 대신 위험해진다.


AI가 만들어준 코드는
생각을 덜어주는 도구지,
판단을 대신해주는 존재는 아니다.

코드를 머지하기 전에
“이 코드를 내가 설명할 수 있는가?”
한 번만 자문해보면 된다.

그 질문에 답할 수 있다면
그때 머지해도 늦지 않다.

반응형
LIST