AI와 함께 빌드하면서 우리는 자신의 코드를 얼마나 자주 이해하지 못하는지 깨달았다

발행: (2026년 1월 12일 오전 02:38 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

처음으로 AI를 진지하게 코딩에 활용했을 때, 나는 대체된 느낌이 들지 않았다.
오히려 노출된 느낌이었다.

AI가 나보다 똑똑해서가 아니라, 내 코드가 대답할 수 없는 질문들을 계속 던졌기 때문이다.

그 경험은 AI와 소프트웨어 개발을 보는 방식을 바꾸어 놓았다.

AI는 개발자를 대체하지 않는다. 우리가 작업에 대해 얼마나 명확하게 생각하는지를 드러낸다.

“작동한다”는 “이해한다”와는 다르다

우리 중 많은 사람들은 코드를 간단한 기준으로 평가한다:

작동하나요?

답이 예라면, 우리는 넘어간다.

하지만 작동하는 코드가 반드시 잘 이해된 코드라는 뜻은 아니다.

AI를 활용해—리팩터링, 최적화, 기존 시스템 확장을 요청할 때—즉시 다음과 같은 질문을 던진다:

  • 여기서 목표는 무엇인가?
  • 어떤 제약을 지켜야 하는가?
  • 의도적으로 만든 트레이드‑오프는 무엇인가?

그 답변이 명확하지 않다면, 제한 사항이 빠르게 드러난다.

AI는 우리가 정의하지 않은 틈을 메운다

AI 도구에 대한 흔한 비판은 “환각한다”는 것이다.

실제로는 더 미묘한 경우가 많다.

우리가 다음과 같이 모호한 지시를 내릴 때:

  • “리팩터링해줘”
  • “스케일러블하게 만들어줘”
  • “성능을 개선해줘”

…의도나 제약을 정의하지 않으면, 우리는 AI에게 우리 대신 가정을 하도록 요구하는 것이다.

AI는 모호함에 어려움을 겪는 것이 아니라 그에 반응한다.
출력은 입력에 담긴 명확성(또는 그 부재)을 반영한다.

프롬프트는 대부분 명확하게 생각하는 것과 같다

“프롬프트 엔지니어링”에 대한 논의가 많지만, 일상적인 개발에서는 좋은 프롬프트가 대체로 명확한 사고에서 나온다.

효과적인 프롬프트는 보통 다음을 답한다:

  • 우리가 해결하려는 문제는 무엇인가?
  • 무엇을 바꾸면 안 되는가?
  • 어떤 제약이 중요한가?
  • 어떤 트레이드‑오프가 허용되는가?

프롬프트 작성이 어렵게 느껴진다면, 그것은 아직 그 질문들에 답하지 않았기 때문이지, 표현이 충분히 영리하지 않아서가 아니다.

AI는 더 나은 설명을 촉진한다

AI와 작업하면서 예상치 못한 이점 중 하나는 자주 명확화를 강요한다는 점이다.

코드를 확장하거나 수정할 때, AI는 자연스럽게 다음과 같은 질문을 던진다:

  • 왜 이렇게 구조화했는가?
  • 왜 이 상태를 공유하는가?
  • 왜 동기식인지 비동기식인지?
  • 어떤 가정에 의존하고 있는가?

이 질문에 답하면 코드베이스가 개선된다—AI가 관여하든 아니든.

이것이 긍정적인 변화인 이유

신중하게 사용한다면, AI는 다음과 같은 좋은 습관을 장려한다:

  • 더 명확한 의도
  • 명시적인 제약
  • 향상된 문서화
  • 보다 신중한 설계 결정

모호하고 가정에 의존하는 개발을 억제하고 명확성을 보상한다.

그 의미에서 AI는 대체자라기보다 지속적인 리뷰 루프와 같다—우리가 생각을 얼마나 잘 표현하느냐에 즉시 반응한다.

AI가 드러내는 기술 격차

AI가 강조하는 가장 큰 격차는 다음과 관련된 것이 아니다:

  • 문법
  • 프레임워크 친숙도
  • API 암기

그 대신에:

  • 시스템 사고
  • 트레이드‑오프 이해
  • 결정에 대한 명확한 설명
  • 존재하는지 아는 것

이러한 스킬은 서로 복합적으로 작용한다. AI는 단지 그것들을 더 눈에 띄게 만들 뿐이다.

마무리 생각

AI가 나를 더 나은 개발자로 만든 것은 아니다.
AI는 작동하는 코드와 내가 실제로 이해하는 코드 사이의 차이를 더 잘 인식하게 만들었다.

그리고 그 인식은 어떤 자동완성보다 훨씬 더 가치 있었다.

Back to Blog

관련 글

더 보기 »

안녕, 뉴비 여기요.

안녕! 나는 다시 S.T.E.M. 분야로 돌아가고 있어. 에너지 시스템, 과학, 기술, 공학, 그리고 수학을 배우는 것을 즐겨. 내가 진행하고 있는 프로젝트 중 하나는...