AI 사용은 취약한 코드베이스를 만든다

2 hours ago 1

AI는 당장 주어진 코딩 문제를 잘 풀어도, 그 변경이 코드베이스 전체의 유지보수에 어떤 영향을 줄지 놓치기 쉬움 AI가 만든 테스트는 이미 다루는 동작을 반복해서 확인하고 실제 사용에서 중요한 경우를 놓칠 수 있음. 중복을 줄이려다 추상화를 늘려 코드를 이해하고 디버깅하기 어렵게 만들기도 함 AI 의존도가 높아질수록 개발자의 코드베이스 이해도가 낮아지고, 빠르게 쏟아지는 PR은 검토 시간을 줄여 테스트 공백과 작은 품질 문제가 기술 부채로 쌓이게 함 취약해진 코드베이스에서는 장애 증가와 복구 지연, 실제 사용자에게만 드러나는 오류, 사용자와 개발자 경험의 악화가 나타날 수 있음 사람을 만족시키는 고품질 SaaS에는 사람의 관점과 개입이 필요하며, 가격만으로 경쟁하는 제품과 달리 고급 소프트웨어는 인간 개발자가 실제 사용자에 맞게 다듬어야 함 AI 코딩 도입 경험과 장기 품질의 간극 Meta와 다른 대형 기술 기업에서 AI로 코드를 생성한 경험에서 고가용성과 확장성을 해치는 문제를 발견함 Meta 근무 마지막 몇 달 동안 코드의 최소 90%를 AI로 생성한 경험에서도, 코드 작성량은 10배는커녕 2배로 늘지 않았음 당시 무난한 평가를 받으려면 그 정도의 AI 사용이 필요했음 5월 해고 이유 중 하나가 동료보다 AI/LLM 코딩 도구 도입에 소극적이었기 때문일 수 있다는 추측은 있지만, 실제 이유는 확인되지 않음 AI 의존도가 높은 동료들의 코드에서 장기적인 기술 부채로 이어질 미묘한 문제뿐 아니라 명백한 문제도 발견함 팀에서 손꼽히는 개발자가 마우스오버 CSS 효과에 :hover 선택자 대신 JavaScript 이벤트를 사용하는 코드를 병합하려 한 사례가 있음 이런 구현은 마우스오버 효과를 확장성 있게 작성하는 방식이 아니라는 비판을 받음 현재 다른 대형 기술 기업에서는 기대에 맞춰 코드의 100%를 AI로 생성하고 있지만, 대규모 SaaS 개발을 이런 방식으로 지속하기 어렵다고 느끼는 사람이 늘고 있음 AI는 컨텍스트 창에 들어오는 문제는 잘 해결하는 반면, 그 제한된 범위에서 이해할 수 없는 장기적인 문제는 놓침 AI가 코드베이스를 취약하게 만드는 네 가지 방식 피상적인 테스트가 실제로 중요한 동작을 충분히 검증하지 못함 보통 많은 테스트가 필요하지 않은 단순한 get/set 메서드에 테스트를 대량 작성함 종단 간 테스트도 기존 코드베이스에서 이미 다루는 경우, 특정 사용자 유형, 표면적인 상호작용에 치우치...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵