내 사이드 프로젝트 백엔드를 AI로 교체했더니 — 먼저 고장난 것은?

발행: (2025년 12월 25일 오전 01:56 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

실험 개요

최근 인터넷을 5분이라도 사용했다면, 누군가 이렇게 말했을 가능성이 큽니다:

“형, 이제 AI가 백엔드 전체를 다 짤 수 있어.”

작은 실험을 해보기로 했습니다: 내 사이드 프로젝트 백엔드 로직 대부분을 AI가 만든 코드와 프롬프트로 대체할 수 있을까?
짧은 답변: 가능했습니다.
결과: 아니, 안 됩니다.

사이드 프로젝트

  • 간단한 백엔드 (CRUD + 인증 + 알림)
  • 화려한 건 없고, 동작하던 것 그대로
  • 스택: REST API, 데이터베이스, “자연스럽게” 늘어난 비즈니스 규칙들

계획

  1. AI를 이용해 컨트롤러, 서비스, 일부 검증 로직을 생성한다.
  2. “나중에 정리하자” (유명한 마지막 말).
  3. 빠르게 움직이고, 부수고 — 가능하면 프로덕션에서는 하지 않는다.

가정

  • AI는 코드 작성에 뛰어나다.
  • AI는 당신의 가정을 이해하는 데 서툴다.

예시

프롬프트: “알림을 보내는 엔드포인트를 생성해줘.”
AI 응답: “알겠어요, 실패한 알림을 무한히 재시도할게요.”

결과: 무한 재시도, 백오프 없음, 제한 없음, 서킷 브레이커 없음. AI는 다음을 전제로 합니다:

  • 네트워크 호출은 언제나 복구된다.
  • 외부 시스템은 친절하다.
  • 레이트 리밋은 권고사항일 뿐이다.

현실은 그렇지 않다.

보안 (조용히)

아무것도 크래시되지 않아 오히려 더 무서웠습니다. AI는 기꺼이:

  • 내부 ID를 노출했다.
  • 민감한 페이로드를 로그에 남겼다.
  • “중복돼 보이니” 라는 이유로 가장자리 인증 검사를 건너뛰었다.

코드는 깔끔했지만… 눈에 보이지 않았다.

교훈: “이건 보안에 민감한 부분이다” 라고 명시하지 않으면, AI는 튜토리얼처럼 다룬다.

비즈니스 로직 미묘함

AI에게 “사용자가 특정 행동을 할 자격이 있는지 검증해줘” 라고 요청했습니다.

AI는:

  • 기본 조건만 확인했다.
  • 그 조건들이 처음에 왜 존재했는지는 놓쳤다.

사람은 의도를 추한 if 문과 패턴에 담아 둡니다. 그 차이가 생각보다 크게 작용했습니다.

반전

AI가 뛰어났던 부분:

  • 보일러플레이트 (DTO, 매퍼).
  • 테스트 케이스 스캐폴딩.
  • 내 코드를 다시 설명해 줌.

하지만 나를 대체하지는 못했습니다.

권고 사항

이 방법을 시도해보고 싶다면 (한 번쯤은 해보는 게 좋습니다):

✅ AI를 활용할 영역

  • 스켈레톤 코드.
  • 반복적인 로직.
  • 테스트.
  • 문서화.

🚫 AI를 무조건 신뢰하면 안 되는 영역

  • 인증.
  • 재시도 로직.
  • 금전 관련 로직.
  • 특정 역사적 사건(예: “2021년 사건 때문에 존재하는 가장자리 케이스”) 때문에 존재하는 예외 상황.

핵심: AI는 뛰어난 인턴일 뿐, 당신의 기술 리드는 아니다. 내 과신이 백엔드를 망가뜨렸지, AI 자체가 문제는 아니었다. 더 좋은 프롬프트와 더 많은 테스트가 있다면 결과는 크게 달라질 수 있다.

Back to Blog

관련 글

더 보기 »