News Feed

숙련자에게는 약, 초보자에게는 독…AI 코딩 툴 제대로 활용하기

컨텐츠 정보

  • 조회 758

본문

생성형 AI가 소프트웨어 개발자 사이에서 대세로 자리 잡았다. 최근 깃허브 설문조사에 따르면, 개발자 100만 명 이상이 깃허브 코파일럿을 적극적으로 사용하고 있다. 더 중요한 점은, 이런 개발자가 AI를 “애플리케이션 개발의 새로운 구성 요소”로 사용하고 있다는 점이다. 즉, AI는 비주얼 스튜디오 코드(Visual Studio Code)와 같은 도구만큼이나 소프트웨어 개발에서 중요한 요소로 자리 잡고 있다.

하지만 모두가 AI의 혜택을 동일하게 누리지는 않는다. 구글 크롬팀의 엔지니어링 리더 애디 오스마니는 “AI 도구는 초보자보다는 경험 많은 개발자에게 더 큰 도움을 준다”라고 말했다. 이전에도 이와 비슷한 논의가 있었지만, 오스마니의 주장은 명확하고 설득력 있어 반복할 가치가 있다. AI 기반 코딩 비서를 개발 프로세스에 도입하는 개발자가 늘어나는 상황에서는 더욱 그렇다.

레드몽크(RedMonk)의 케이트 홀터호프는 온라인 포럼과 대면 인터뷰를 분석해 “2024년 개발자가 AI 어시스턴트에게 기대하는 10가지”를 정리했다. 홀터호프의 글은 “탭 자동 완성은 AI 코드 어시스턴트의 핵심 기능이다”와 같은 유용한 인사이트로 가득하다. 여기서 또 다른 중요한 점은, 홀터호프는 개발자가 AI 코드 어시스턴트를 원하는지에 대해서는 애초에 논의하지 않았다. 이미 많은 개발자가 사용하고 있음을 방증한다.

생상성 향상은 AI 도구를 사용하는 주된 이유다. 깃허브 보고서에 따르면, 깃허브 코파일럿 같은 도구는 깃허브 코드 저장소에 더 활발한 기여를 이끈다. 그 효과는 얼마나 클까? 깃허브 보고서 집필팀은 “주 5일 깃허브를 사용하는 개발자의 경우 1,215%, 주 1회 사용하는 개발자의 경우 815% 더 높은 활동성을 확인했다”라고 밝혔다. 개발 진입 장벽을 낮추는 것은 분명 긍정적인 일이지만, 한계가 있다.

경험 부족한 개발자에게는 독

생성형 AI는 개발 과정을 단축하는 지름길이 될 수 있지만, 이런 지름길은 경험 많은 엔지니어에게는 도움을 주는 반면, 초보 개발자에게는 해로울 수 있다. 허니콤(Honeycomb)의 공동 창업자이자 CTO인 채리티 메이저스는 “생성형 AI는 코드 관리, 이해, 운영 업무에는 아무런 도움도 주지 못했다. 어려운 작업을 오히려 더 어렵게 만들었다”라고 지적했다.

오스마니는 이를 확장해 생성형 AI 도구를 활용하는 숙련된 개발자는 “몇 분 만에 전체 기능에 대한 뼈대를 세우는” 등 마치 마법을 부리는 것처럼 보일 수 있다고 설명했다.

그러나 숙련된 개발자가 ‘하지 않는 것’을 주의 깊게 관찰하는 것도 중요하다. 오스마니는 “숙련된 개발자는 AI가 제안한 것을 그대로 받아들이지 않는다. AI가 생성한 코드를 리팩토링하고, AI가 놓친 엣지 케이스 처리를 추가하는 등 지속적으로 코드를 개선한다”라고 언급했다. 이어 “AI는 구현 속도를 높이지만, 코드의 유지 가능성을 보장하는 것은 개발자의 오랜 경험에서 비롯된다”라고 결론지었다.

즉, 잘 구성되고 유지 가능한 코드를 원한다면 AI 도구가 모든 작업을 대신하도록 두어서는 안 된다.

AI를 인턴처럼 대하라

생성형 AI 도구는 고성능 인턴처럼 간주해야 한다는 주장도 있다. 오스마니는 “AI는 매우 열정적인 초급 개발자를 팀에 두는 것과 같다”라며, “코드를 빠르게 작성할 수 있지만, 지속적인 감독과 수정이 필요하다”라고 부연했다.

숙련된 엔지니어가 생성형 AI로 더 많은 성과를 낼 수 있는 이유는 경험에서 비롯된다. 개발자가 AI가 제대로 작동하는지를 알지 못한다면 AI 어시스턴트에게 작업을 안정적으로 넘길 수 없을 것이다. 그런 정보가 없다면 오스마니는 개발자가 일보전진 이보후퇴에 빠지게 된다고 지적했다. 오스마니는 “작은 버그를 수정하려고 할 때 AI가 타당해 보이는 변경 사항을 제안하지만, 이 수정이 다른 문제를 일으킨다. 이후 AI에 새로운 문제를 수정하도록 요청하면 또 다른 두 가지 문제가 생긴다”라고 설명했다.

다시 말해, 엔지니어가 다른 훌륭한 엔지니어의 디버깅 및 문제 해결 기술을 배우지 않으면 AI 도구는 도움이 되기보다는 해가 될 수 있다. 아마존 CEO 앤지 재시가 반복적으로 강조했던 것처럼 “경험에 대한 압축 알고리즘은 없다.” AI도 이 사실을 바꾸지 못한다.

초보 개발자도 AI를 활용할 수 있도록 하기 위해, 오스마니는 3가지 성공적인 패턴을 제시했다. ‘초안 작성’에 사용하는 것, 개발 범위를 좁혀 특정 영역에서 ‘지속적인 대화’로 활용하는 것, 신뢰하되 검증하는 과정의 일부로 사용하는 것이다. 이를 경험 수준에 따라 정리하면 다음과 같다.

  1. 작게 시작하라. AI가 생성한 코드를 모두 검토하고, 엄격히 정의된 작업에만 사용한다.
  2. 모듈화하라. AI의 실수가 영향을 미치는 범위를 제한한다.
  3. 경험을 신뢰하라. AI를 판단을 가속화 도구로 사용하되, 판단 자체를 대체하지는 않도록 한다.

이는 AI 기반 개발을 시작하는 데 훌륭하고 실행 가능한 조언이다. AI가 개발자를 대체할 것이라고 기대하지는 말라. 경험을 대체할 수 없다는 사실은 변하지 않는다. 생성형 AI는 경험을 보완하기 위한 도구로 자리 잡아야 한다.
dl-itworldkorea@foundryco.com

관련자료

댓글 0
등록된 댓글이 없습니다.
Member Rank