AI로 개발자는 대체될 것인가

제가 2023년 2월에 처음 ChatGPT 유료 결제를 시작한 후 1년 반 동안 AI의 발전 속도는 너도 빠르게 발전했습니다.

AI는 그동안 많은 이슈를 불러일으켰고, 그 중 하나는 바로 ‘AI가 개발자를 대체할 수 있는가’라는 질문입니다.

AI가 현재의 개발 환경에 어떤 영향을 미치고 있는지에 대해 이야기해 보려 합니다.

제가 처음 ChatGPT-3를 사용했을 때 받은 충격은 잊을 수 없습니다.

이후 Claude-2와 Claude-3를 경험하면서, AI는 이제 개발 현장에서 필수적인 도구로 자리 잡았습니다.

실제 업무에서 AI를 사용하면서 저는 개발의 여러 측면에서 이제는 AI없이 개발을 하는건 인터넷이 안되는 개발 환경에서 개발을 하는것 처럼 필수 요소가 되었습니다.

AI의 발전이 가속화고 AI에 의한 개발의 의존도가 높아짐에 따라 ‘AI가 개발자를 대체할 수 있을까?’라는 질문이 자연스럽게 제기되고 있습니다.

AI가 도대체 개발자의 역할을 어느 정도까지 대체할 수 있을지에 대한 논의가 활발하게 이루어지고 있습니다.

AI로 곧 개발자는 대체될것이라는 의견과 아직 개발자를 완전히 대체하기는 어렵다는 두 의견으로 갈리고 있습니다.

우선 저의 결론을 말씀드리자면 AI가 개발자를 완전히 대체하기는 어렵다고 생각합니다.

AI가 개발자를 대체하기 어려운 이유 첫번째 입니다.

하나의 프로젝트를 완성하기 위해서 필요한 개발자, 코더, 프로그래머, 아키텍처 등의 역할과 의미를 이해하는 것이 중요할 것 같습니다.

개발자는 소프트웨어 개발 과정 전반에 참여하는 사람으로, 요구사항 분석, 설계, 구현, 테스트, 배포 등 프로그램을 만드는 전체 과정에 관여합니다.

그리고 코더는 주로 코드를 작성하는 사람을 가리키며, 프로그래머는 코드 작성에 중점을 둔 역할을 합니다.

아키텍처는 소프트웨어의 전체적인 구조와 설계를 담당하는 역할로, 시스템의 큰 그림을 그리고 주요 결정을 내립니다.

이 중에서 AI가 현재 잘할 수 있는 개발 분야는 코더의 역할입니다.

이미 정해진 사양에 따라 단순한 구조의 코드를 작성하는 작업은 AI가 매우 잘 수행할 수 있습니다.

그러나 아키텍처 설계나 개발자가 갖춰야 할 종합적인 역량에는 아직 미흡한 부분이 많습니다.

각 프로젝트의 세세한 사양과 예외 상황을 이해하고 파악하기에는 아직 사람의 판단이 필요한 부분이 많습니다.

예를 들어, 아직 디지털화되지 않은 오프라인 서비스들은 디지털화 하기 어려운 다양한 이유가 있습니다.

이러한 서비스를 온라인화하는 과정에서는 인간의 판단과 설계가 필수적입니다.

AI가 개발자를 대체하기 어려운 이유 두 번째 입니다.

AI는 자동화와 단순한 코드 작성에 특화되어 있지만, 그것이 개발의 전부는 아닙니다.

개발 분야에는 이미 단순한 작업이나 자동화와 관련된 도구와 서비스가 많이 존재하고 현재도 개발중입니다.

하지만 이러한 도구들은 프로젝트를 수월하게 진행하기 위한 보조 수단일 뿐, 개발의 본질적인 목표과는 다릅니다.

AI가 만든 도구들이 개발자들에게 도움이 되는 것은 사실이지만, 그것이 개발자들의 역할을 완전히 대체할 수는 없습니다.

개발자들이 사용하는 라이브러리나 도구들은 개발을 더 효율적으로 만들어주는 수단일 뿐이며, 이러한 도구가 없더라도 개발은 가능합니다.

그렇다면 AI가 어느정도의 수준이라면 개발자를 대체할수 있을까 생각해봤습니다.

AI가 개발자를 대체할 수 있는 수준이 되려면 과거에 발표된 Devin이라는 개발자가 필요 없는 도구를 예로 들 수 있습니다.

Devein은 개발하고 싶은 아이디어만 입력하면 요구사항을 정리하고, 필요한 개발 환경을 구축하며, 프론트엔드와 백엔드까지 모두 작성해주는 도구였습니다.

데모를 통해 AI를 활용해 앞으로 개발을 어떻게 진행해야 할지 방향을 잡아준 큰 프로젝트입니다.

Devin 정도의 개발을 AI가 해줄 수 있다면 개발자의 역할이 크게 축소될 수도 있겠다는 생각을 해봤습니다.

그럼에도 불구하고 Devin이 완벽하게 출시된다 하더라도 시니어 개발자의 역할은 필요하다는게 저의 생각입니다.

시니어 개발자의 역할이 더욱 늘어날 것으로 예상되며 기업은 새로운 신입 개발자를 채용해서 교육시키는 과정을 어쩌면 그만 두게될 수도 있습니다.

마지막으로 AI가 개발자를 완전히 대체하기 어려운 이유를 하나 꼽자면

현재 AI가 가지고 있는 가장 큰 문제 중 하나는 입력 토큰 수의 제한입니다.

프로젝트에서 복잡한 문제를 해결하기 위해선 관련 자료와 소스 코드 파일의 대용량 데이터를 AI에게 인식시켜야 하는 경우가 자주 발생됩니다.

github에 올라온 프로젝트를 통째로 인식하거나 프로젝트 리포지토리를 통째로 인식할 정도의 토큰 사이즈를 AI는 받아줄 준비가 되어야 합니다.

이러한 토큰 사이즈를 최대한 압축해서 관련 데이터만 참조하게 끔 임베딩과 RAG검색의 보조역할을 할수 있는 기술들이 나날이 발전하고 있습니다만 가장 이상적인 AI 개발 환경을 위해서는 이러한 토큰 입력 사이즈 제한이 없어야 한다고 생각합니다.

OpenAI의 GPT-4는 최대 32,000개의 토큰을 처리할 수 있지만, Anthropic의 Claude 모델은 100,000개의 토큰을 처리할 수 있습니다.

이러한 제한은 복잡한 코드베이스를 분석하거나 여러 파일을 동시에 처리해야 할 때 여전히 한계를 드러냅니다.

개발 환경뿐만 아니라, 문서 요약, 언어 번역, 대화형 AI 등의 분야에서도 토큰 수 제한은 문제를 야기합니다.

현재 이러한 문제를 극복하기 위해 청크 처리, 요약 기법, 효율적인 프롬프팅, 구조화된 출력과 같은 방법들이 사용되고 있습니다.

미래에는 Google의 Gemini 1.5 Flash와 같은 더 큰 컨텍스트 윈도우를 제공하는 모델이 등장하여, 토큰 수 제한을 점차 완화하고 있지만 토큰사이즈는 AI의 모델 성능과는 별개의 문제이며 모델성능과 병행해서 함께 해결되어야 할 중요한 문제중에 하나라고 생각됩니다.

이 문제는 개발에만 국한된 것이 아니라, 앞으로 AI를 다양한 분야에서 깊이 있게 활용하기 위해 해결해야 할 가장 시급한 문제라고 생각됩니다.

결국, 서비스를 만든다는 것은 사람들이 겪고 있는 문제를 파악하고 해결 방안을 제시하는 것입니다.

이러한 해결책은 논리적이거나 이성적인 판단으로만 해결하기 어려운 경우가 많습니다.

문제를 해결하기 위해서는 그 문제를 감정적으로 이해하고, 창의적인 능력을 발휘할 필요가 있습니다.

이러한 부분은 AI가 아직 해결하기 어려운 부분이며, 개발자가 대체되지 않는 이유이기도 합니다.

Anthropic의 CEO Dario Amodei가 최근에 블로그에 AI의 미래 전마에 대해 본인의 생각을 글로 공개했습니다.

그 중 저는 가장 인상적이고 공감가는 부분을 공유합니다.

강력한 AI(AGI가 아닌)는 빠르면 2026년에 올 수 있으며, 이후 5~10년 이내에 급격한 변화를 만들 것이다.

그러한 강력한 AI는 분야에 따라 백만개가 생길 수 있으며, 관련 없는 작업에 대해 독립적으로 작동하거나, 필요한 경우 인간이 협력하는 것과 같은 방식으로 함께 작동 할 것이다.

이 부분을 분석해 보면 AI의 발전 방향을 볼수 있습니다.

AGI처럼 모든걸 한번에 처리해주는 우리가 꿈꿔왔던 AI가 아닌 실제로 우리가 접하게 될 강력한 AI는 각각의 분야에 전문가 집단으로 발전할 가능성이 높습니다.

결국 해당 AI를 활용해서 결과물을 뽑아내는 것은 사람이 해야 할 몫 입니다.

어찌보면 사람이 해야 할 일이 더욱 많이 진것입니다.

정확히 말하자면 고차원적인 일거리가 쏟아질 것이고 이런 일은 전문가 집단이 가장 많은 혜택을 누리게 될것입니다.

결국 무언가에 의해 사람의 일자리가 대체된다는건 굳이 AI가 아니더라도 언젠간 대체될 분야인것입니다.

효율적이지 않다는것이죠.

감사합니다.

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다