개발자(BackEnd)에게 AI란..(AI With Coding) 2탄

2025. 4. 11. 15:03·개발/AI

이전 글에 이어 이번에는 AI를 활용하여 실제 개발(코딩)을 진행할 때 느꼈던 점과 개인적인 생각을 공유하려 합니다.
매번 말씀드리지만, 이 글은 단순한 정답 제시보다는 “이런 시각과 방향도 있구나” 정도로 참고해주시면 감사하겠습니다.

1. "코드 제너레이터"로써의 AI


최근 들어 AI의 도움을 가장 많이 체감하는 순간은 바로 익숙하지 않은 언어나 프레임워크를 다뤄야 할 때입니다.

저는 Java가 주력 스킬셋인 백엔드 개발자인데 최근 회사에서 라즈베리파이 기반의 디지털 사이니지 프로젝트를 맡게 되면서 
Python으로 서버를 구현해야 했습니다. 
제한된 하드웨어 자원을 고려해 Python을 채택했고, 다음과 같은 기능이 필요했습니다.

 - 라즈베리파이 내 이미지 폴더 목록을 웹에 표시
 - 웹에서 이미지를 선택해 Python 앱에 전달
 - 선택된 이미지들을 모니터에 Python 앱을 통해 롤링 재생기능 구현

문제는 Python 개발경험이 거의 없었고, FastAPI도 처음 써보는 상태였다는 점입니다. 하지만 기능의 설계는 명확하게 나와 있는 상태라 AI의 도움으로 전체 기능을 이틀 만에 개발했고, 
실제 동작하는 코드는 반나절 만에 완성할 수 있었습니다.

물론 초기에 AI가 생성한 코드는 완벽하지 않았고, 일부 수정이 필요했지만 
전체적인 구조나 흐름을 빠르게 잡는 데에는 큰 도움이 되었고 
약간의 수정으로 기능적인 측면에서는 문제없이 동작한다는 이 점만으로도 당시엔 꽤나 충격적이였습니다.
 

2. "돌아가는 코드"와 "운영 가능한 코드"는 다르다


하지만 진짜 충격은 약 2주 뒤, 해당 코드를 다시 들여다봤을 때였습니다.
구조는 단순했음에도 코드가 쉽게 읽히지 않았고 몇몇 코드들의 기능은 왜 써던것인지 기억나지 않는 것도 있었습니다.
만약 이코드가 운영 상황에서 장애가 발생했을 때, AI가 만든 코드를 내가 바로 고칠 수 있을까? 하는 고민이 들었습니다.

당시 AI로 생성했던 Python 코드의 일부

예를 들어, Java에서 CompletableFuture처럼 동시성과 관련된 기능을 AI로부터 받아 복붙했을 때,
내가 그 구조를 이해하지 못하면 언젠가 큰 문제로 이어질 수 있습니다.

즉, 단순히 "돌아가는 코드"를 만드는 것과 "운영 가능한 코드"를 만드는 것은 완전히 다른 문제였습니다.
 

3. AI를 코드 도우미로 활용할 때의 팁


이러한 경험을 통해 AI를 코드 작성 도우미로 활용할 때, 다음과 같은 팁들을 갖고 접근하게 되었습니다.

1. “왜 이렇게 작성했는가?”를 반드시 함께 묻기
AI가 작성해준 코드에 대해 단순히 만족하지 말고, 구현 의도나 구조에 대한 설명을 함께 요청하면 좋습니다.

예시 질문:
 “왜 이 부분에서 async를 사용하는 이유가 뭐야?”
 “이 방식의 장/단점은 무엇이며 대체할 수 있는 다른 방법은 없어?”
 “성능 상의 고려하거나 유의해야할 점이 있어?”

질문을 계속 이어가면서 코드를 작성하다보면
또 다른 개발자와 페어 프로그래밍으로 작업을 하는것과 같은 효과를 볼 수 있습니다.

2. AI가 준 코드를 바탕으로 직접 다시 작성해보기
AI로부터 받은 코드를 한 줄씩 복붙하는 것보다는, 이해한 로직을 바탕으로 직접 재구성해 보는 것을 추천드리는데 이렇게 하다보면 
자연습럽게 1번의 과정을 거치게 되고 ‘돌아가는 코드’가 ‘내 것이 되는 코드’로 바뀌며, 학습 효과도 훨씬 좋아집니다.

개인적인 추측이지만 앞으로는 AI가 생성한 코드를 얼마나 빨리 이해하고 재구성할 수 있느냐가
역량 중 중요한 부분이 될 수도 있겠다는 생각을 하고 있습니다.

4.아키텍처 설계에서 AI 도움받기


단순한 코드 생성뿐만 아니라, 아키텍처 설계 과정에서도 AI의 도움을 받을 수 있습니다.

예시:
특정 기술 스택의 장단점 비교 (Kafka vs RabbitMQ 등)
시스템 병목을 줄이기 위한 구조적 개선 방안
마이크로서비스 간 통신 방식 (REST, gRPC, 메시지 브로커 등) 결정

실제로 저는 AI를 통해 잘 알지 못했던 오픈소스 프레임워크나 상용 솔루션을 알게 된 경우도 많았습니다.
단, 기술 비교에 있어서는 다소 피상적인 요약으로 끝나는 경우도 있는데 
예를 들어 Kafka vs RabbitMQ 둘중 어떤게 좋은것 같아? 같은 질문에서 충분히 환경 정보와 조건을 제시했음에도, 
단순한 교과서적 장단점만 나열하거나 "직접 테스트해보라"는 식의 결론으로 끝나는 경우도 종종 있었기 때문에 
실무적인 맥락에서는 조금 아쉬웠고 답답한 경우도 있었습니다. 생각보다 AI의 답변은 방어적인 태도를 보였습니다.

이런 경험을 통해, 아키텍처 설계시 AI와 효과적으로 협업(?)하기 위해 개인적으로 사용 중인 팁도 공유드립니다.

1. 선택지 기반 질문 시, “너라면 무엇을 선택할 것이며, 그 이유는?”을 함께 던지기
단순 비교보다는 주관적 판단을 유도하는 질문을 던지면 좀 더 구체적인 답변을 받을 수 있습니다.

2. 한 번에 모든 걸 묻지 말고, 대화하듯 티키타카식으로 질문하기
예를 들면 MSA에서 각 서비스간에 통신방식을 위해 Kafka를 쓰려고 하는데 어떻게 생각해? 라는 시작질문으로 
나오는 AI의 답변을 기준으로 생각했던 내용을 질문하는 형태로 하게 되면 맥락이 이어질수록 AI는 더 정교하고 실용적인 답변을 줍니다.

3. 같은 질문을 여러 AI에게 던져보기
저는 보통 ChatGPT, Claude, Gemini, Clova X(ㅠㅠ?) 를 병행해서 사용합니다.
서로 다른 답변을 비교해보면, 선택의 갈피를 잡는 데 큰 도움이 되고 각 AI별 비교도 되어 생각보다 괜찮았던거 같습니다.
 

5. AI 도구 그 이상


AI는 단순한 코드 자동 생성기를 넘어서 생산성과 학습의 도구이자, 실무를 보조하는 좋은 파트너가 되고 있다고 생각합니다.

예를 들어:

보일러플레이트 코드 자동 생성
기존 코드를 다른 언어로 변환 (ex. Java → Python)
기술 문서 요약
테스트 코드 자동 생성

이처럼 반복적인 작업이나 학습 보조에 있어서 AI의 생산성 향상 효과는 매우 큽니다.
하지만 아직까지는 개발자 스스로가 이해하고 운영할 수 있는 수준으로 코드를 다듬고 검증하는 것이 필수이긴 하지만
앞으로 AI는 더 정교해질 것이고, 개발자는 AI를 잘 활용하고 소통하는 능력 또한 중요한 역량이 될 것입니다.

'개발 > AI' 카테고리의 다른 글

BackEnd 개발자가 파해쳐본 MCP  (0) 2025.07.18
AI의 시대 그리고 개발자..  (3) 2025.06.23
AI 서빙을 하면서 겪은 내용들~  (2) 2025.06.17
개발자(BackEnd)에게 AI란..  (0) 2025.03.28
'개발/AI' 카테고리의 다른 글
  • BackEnd 개발자가 파해쳐본 MCP
  • AI의 시대 그리고 개발자..
  • AI 서빙을 하면서 겪은 내용들~
  • 개발자(BackEnd)에게 AI란..
개발자아저씨
개발자아저씨
그냥 오랫동안 개발하고 싶은 아저씨...
  • 개발자아저씨
    코딩하는 아저씨
    개발자아저씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (17)
      • 개발자 (5)
      • 개발 (11)
        • SpringBoot (4)
        • AI (5)
        • MSA (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    회고
    MCP
    AI
    이직
    claudecode
    ApplicationEventPublisher
    Session Cluster
    MSA
    local llm 연동
    backend
    AI컨벤션
    은탄환은 없다
    springai
    annotation 활용
    simpleasynctaskexecutor
    ai 서빙
    생각과 경험
    글쓰기
    결재연동
    springboot
    ai coding
    백엔드
    로그인 발전
    claude desktop
    Claude.md
    ai서빙
    경량llm
    비지니스 분리
    AOP
    aop 사용 기준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발자아저씨
개발자(BackEnd)에게 AI란..(AI With Coding) 2탄

티스토리툴바