AI는 코드 에디터에 있어서는 안 된다
Source: Dev.to
소개
AI는 지난 몇 년 동안 무시할 수 없는 기술이 되었습니다. 거의 모든 사람이 어느 시점에서는 무시했지만, 이제 대부분의 개발자들이 업무와 개인 생활 모두에서 일상적으로 사용하고 있습니다—저를 포함해서.
코드 편집기에서 AI의 한계
코딩은 시스템의 전체 구조와 설계를 유지하면서 각 라인에 대해 깊이 생각해야 합니다. 현재 우리가 가지고 있는 AI는 이를 일관되게 혹은 깊이 있게 수행하지 못합니다(그리고 이것은 프롬프트 문제와는 무관합니다). 편집기에 직접 삽입될 경우, 주로 작고 반복적인 작업을 도와주지만 프로젝트의 전반적인 아키텍처는 간과합니다.
속도와 품질 사이의 트레이드오프
- AI는 타이핑 시간을 줄여줄 수 있으며, 경험이 적은 개발자에게는 스스로 작성한 코드보다 더 깔끔해 보이는 코드를 만들어줄 수도 있습니다.
- 그러나 AI는 미묘한 버그를 도입할 수 있으며, 실제로 그렇게 됩니다. 이는 속도와 코드 품질·보안 사이의 트레이드오프를 만들게 됩니다.
첫째, 타이핑 속도는 소프트웨어 개발에서 거의 병목이 되지 않습니다. 둘째, AI가 절약한 시간은 종종 생성된 코드가 도입한 미묘한 문제를 디버깅하는 데 소모되어 사라집니다.
학습 및 지식 유지에 미치는 영향
경험이 적은 개발자뿐만 아니라 경험이 풍부한 개발자(소위 “x10 devs”)도 AI를 통해 새로운 아이디어나 더 나은 구현을 얻을 수 있습니다. 프로젝트가 커질수록 개발자는 생성된 코드를 깊이 이해하지 못해 실제로 무슨 일이 일어나고 있는지 파악하지 못하게 됩니다. 이로 인해 다음과 같은 작업에 더 많은 시간이 소요됩니다:
- AI에게 코드를 설명해 달라고 요청하기
- 문서 검색하기
- 알고리즘, 라이브러리, 혹은 한 번도 제대로 배우지 못한 기술에 대한 지식 공백 메우기
이 학습 과정이 낭비되는 것은 아니며 개발자의 역량을 향상시킬 수도 있지만, AI가 편집기에 내장될 필요는 없습니다. 이러한 모든 과정은 (그리고 해야 할) 브라우저 내에서 이루어질 수 있습니다.
게으름과 기술 퇴화 조장
AI가 코드 편집기에 없어야 하는 또 다른 이유는 시간이 지남에 따라 게으름을 조장하기 때문입니다. 경험이 풍부한 개발자도 기술 퇴화 위험에 처합니다. 점차 그들은 한때 알고 있던 일을 AI에 의존하게 되고, AI가 만든 버그를 눈치채지 못한 채 디버깅에 시간을 낭비하게 됩니다.
미래 전망
앞으로 AI가 대규모 복잡한 시스템을 신뢰성 있게 작성할 수 있게 될지는 미지수입니다. 만약 그렇게 된다면, 우리는 코드 편집기 자체가 아니라 출력물을 관찰하고 검증할 수 있는 인터페이스만 필요하게 될지도 모릅니다.
주석
이 게시물은 브라우저 내 AI에 의해 검토 및 재작성되었습니다.