-
AI 기반 프로그래밍 도구인 LLM은 이미 소프트웨어 개발 현장에서 필수적 위치를 차지함
- 많은 지인들은 AI가 일시적 유행이라 믿지만, 글쓴이는 개발 영역에서는 이미 생각을 바꿀 때임을 강조함
-
코딩 에이전트는 반복적이고 지루한 작업을 자동화해 개발자를 더 의미 있는 일에 집중하게 해줌
- AI로 생성된 코드의 품질, 소유권, 도구 지원 등 논란이 있지만, 대부분 기존 개발 환경의 문제를 답습하는 수준임
- LLM 도입에 대한 소극적 태도는 올바르지 않으며, 앞으로 더욱 중요한 기술 변화가 다가옴을 시사함
서론: AI와 프로그래밍, 그리고 회의론
- 최근 테크 기업 경영진들이 LLM 도구의 도입을 강제하는 경향이 있으나, 이는 잘못된 전략임
- 글쓴이 주변의 똑똑한 개발자 중 일부는 AI가 NFT와 같은 일시적 유행이라 여기며 이를 진지하게 받아들이지 않음
- 그러나 실제로는 이미 LLM이 도입됨으로써 개발 영역에 큰 변화가 일어난 상황임
- 본문에서는 소프트웨어 개발 내에서의 LLM 의미에 집중하고, 예술·음악·글쓰기 등 타 분야에 대해서는 언급하지 않음
LLM 에이전트와 현대적 사용 방식
수준 맞추기: 과거의 LLM vs. 현재의 에이전트
- 6개월~2년 전 ChatGPT나 Copilot을 단순 활용하던 때와는 다른, 진화된 LLM 에이전트 환경이 확산 중임
- 오늘날의 개발자들은 에이전트가 코드베이스를 자유롭게 탐색·수정하게 하며, 이를 통해 파일 생성, 컴파일, 테스트, 반복 수행을 자동화함
- 코드 트리 및 외부 소스의 코드 제공, Unix 도구 기반 정보 추출, Git 상호작용, 각종 개발 툴 실행 등을 지원함
- 실제 코드 조작 로직 자체는 단순한 시스템 코드임
- 과거처럼 ChatGPT에서 코드를 복붙하는 것은 본질적 변화를 경험하지 못하는 것과 같음
LLM의 긍정적 효과
- 대부분의 프로젝트에서 발생하는 단순 반복 코드는 LLM이 쉽게 생성할 수 있음
- LLM은 검색·문서 확인 없이 정보 챙기기에 능하며, 피로 누적으로 인한 비효율에서 자유로움
- 원하는 기능 개발 시작이 어려웠던 이유가 새로운 언어·환경의 진입장벽 탓일 때, LLM은 이를 크게 완화해줌
- 유지보수적 테스트 코드 리팩터링, 의존성 처리 등 개발에서 귀찮은 일은 LLM이 대신 처리할 수 있음
- 개발자는 중요하고 창의적인 영역에 더 많은 에너지를 쏟을 수 있음
“LLM이 생성한 코드를 이해 못 한다”는 주장에 대한 반론
- 팀에서 병합하는 코드는 직접 읽고 스타일에 맞게 수정하는 것이 당연함
- LLM이 만들어내는 코드는 "알고리듬적으로" 예측 가능하며, 결과물을 이해하고 검토할 수 있음
- 반복적인 코드 리뷰 능력이 부족하다면, 인간 개발자가 만든 난잡한 코드 역시 소화하지 못할 가능성이 큼
“AI의 환각(hallucination) 문제”에 대한 시각
- LLM 에이전트는 코드 린트, 컴파일, 테스트까지 수행해 허위 정보를 바로잡으며 신뢰성을 확보함
- 환각 문제는 대부분 환경에서 이미 어느 정도 해결됨
- 효과적으로 활용하려면 세밀한 감시보다는 자동화 프로세스 신뢰가 필요함
“AI 코드는 실력이 낮다”는 비판
- LLM 서비스 비용은 인턴 급여보다 저렴함 (예: Cursor.ai 월 $20)
- 시니어 개발자는 능력이 부족한 인턴 혹은 LLM 코드의 생산성을 높여주는 역할을 함
- 코딩 에이전트 활용 역량, 툴링, 프롬프트 설계도 새로운 기술적 숙련도 영역임
- “누가 무슨 작업을 분담하느냐”에 대한 혼란이 있으며, 근본적으로 개발자는 방향성과 검증, 판단을 책임짐
“Rust에서 AI 성능이 낮다” 논란
- 특정 언어나 도구와의 호환성 한계는 특정 생태계의 숙제임
- Go와 같이 LLM 친화적 언어에서는 AI 활용도가 매우 높음
- Rust와의 궁합 문제가 LLM 전체의 한계는 아니며, 언어별 맞춤 전략이 필요함
장인정신(Craft)과 실무 프로그래밍
- 소프트웨어 개발은 실용적 문제 해결이 목적임
- 불필요하게 코드 품질에 집착하는 활동은 "야크쉐이빙(yak-shaving)"으로, 현실적 업무에 비효율로 작용함
- 반복적·귀찮은 작업들은 LLM에 위임하고, 개발자는 가치 창출 구간에 역량 초점을 맞춰야 함
AI 코드의 평범함(“mediocrity”) 수용
- 대부분 코드가 대단하지 않은 수준이어도 실제로는 문제 없음
- 중요한 부분은 품질을 높이고, 그렇지 않은 부분은 LLM을 통한 비용 절감을 역으로 이득으로 삼아야 함
- LLM 코드는 반복적인 부분에서 더 안전하며, 알고리듬 영역에서는 인간보다 폭넓은 접근이 가능함
“AGI(범용인공지능)까지는 멀었다”는 관점에 대한 의견
- AGI 논란 자체에 무관심하며, 실제 동작 여부만 중요함
- 현실적 성능과 생산성 증대가 당장의 판단 기준임
일자리 대체 논란
- 오픈 소스의 도입처럼, LLM도 직업군 변화·소멸을 초래하는 기술임
- SW 개발자 역시 다른 산업과 마찬가지로 자동화 대상임을 자각해야 함
- 이러한 변화가 최종적으로 유익할지 해로울지는 불확실하지만, 변화 자체는 불가피함
표절/저작권 이슈
- AI는 시각 예술계에 커다란 위협이 되고 있음
- 실제로도 LLM은 산업적 품질을 충족하는 결과물을 대량으로 생성할 수 있음
- 소프트웨어 개발자들이 표절 문제를 문제 삼기는 어려움
- 기존에도 개발자는 저작권에 무감각하며, 지적재산권 보호보다는 공유와 재생산을 선호해 옴
- 코드 일부의 재사용 논쟁은 일종의 특수적 변명에 불과함
최신 LLM 활용과 변화 속도
- LLM 기반 비동기 에이전트 활용, 병렬적 작업 등으로 생산성이 크게 향상됨
- 뛰어난 개발자 역시 LLM으로 코드 리뷰와 보완을 진행하며, 정적이지 않은 환경에서 실질적 효용을 경험 중임
- 중요한 인프라 접근 등 신뢰 문제 영역은 여전히 조심스럽게 다뤄야 함
결론: 기술 변화, 그리고 회의론 극복
- 기존 AI 회의론자와 달리, 글쓴이는 보수적 관점을 유지하면서도 실제 변화를 체감하고 있음
- 소프트웨어 개발자들이 낡은 반론에서 벗어나 현실적 변화를 수용해야 할 시점임
- LLM과 AI 기반 프로그래밍은 스마트폰, 인터넷이 그랬던 것처럼 업계 근본 구조 변화를 이끌 것으로 전망됨