속도를 늦춰야 하는 이유에 대한 생각
1 day ago
2
- 최근 AI 코딩 에이전트의 확산으로 개발 속도는 빨라졌지만, 소프트웨어 품질 저하와 불안정성이 심화되고 있음
- 에이전트가 반복 학습 능력 없이 동일한 오류를 누적하며, 대규모 코드베이스에서는 검색 재현율 저하와 복잡성 폭증이 발생함
- 인간의 통제 없이 시스템 전체를 맡기면 중복 코드, 잘못된 설계 패턴, 유지 불가능한 코드베이스로 이어짐
- 현재로서는 에이전트를 비핵심 작업이나 실험적 영역에 제한적으로 활용하고, 인간이 최종 품질 게이트로 남아야 함
-
속도를 늦추고 인간의 주체성을 회복하는 것이 학습, 성장, 그리고 지속 가능한 소프트웨어 생태계를 위한 핵심임
모든 것이 망가진 상태
- 최근 1년간 코딩 에이전트가 실제 프로젝트를 완성할 수준으로 발전했지만, 그 결과 소프트웨어 품질 저하가 두드러지고 있음
- 대형 서비스에서도 98% 가동률이 일반화되고, UI 버그가 빈번히 발생
- AWS의 AI 관련 장애 사례나 Microsoft의 AI 코드 비중 증가 발언 등이 언급됨
- 일부 기업은 제품 코드의 100%를 AI가 작성한다고 주장하지만, 결과물은 메모리 누수, UI 오류, 기능 불안정 등으로 품질이 낮음
- 여러 개발자들이 에이전트 중심 개발로 인해 코드 리뷰 부재, 설계 결여, 불필요한 기능 과잉 등으로 유지 불가능한 코드베이스에 빠졌다고 보고함
에이전트와 함께 일하지 말아야 하는 방식
- 개발자들이 속도와 코드량에 중독되어 품질과 통제권을 포기한 상태
- “분산·자율·자동화”를 내세워 대규모 에이전트 오케스트레이션을 시도하지만, 실제로는 불안정한 결과물을 양산
- 일부 프로젝트는 작동조차 어렵고, 인간의 개입 없이는 유지되지 않음
- 개인 프로젝트 수준에서는 가능할 수 있으나, 실제 사용자 기반 제품에서는 실패 사례가 대부분임
-
오류 누적과 학습 부재, 병목 없음, 지연된 고통
- 에이전트는 반복 학습 능력이 없어 동일한 오류를 계속 발생시킴
- 인간은 오류를 통해 학습하지만, 에이전트는 같은 실수를 무한히 반복
- 인간은 코드 작성 속도가 제한되어 오류 누적이 느리지만, 에이전트 군단은 병목이 없어 오류가 폭발적으로 누적
- 결과적으로 코드베이스가 신뢰 불가능해지고, 자동화된 테스트조차 믿을 수 없게 됨
- 결국 수동 테스트만이 유일한 검증 수단이 되어, 개발팀이 스스로를 함정에 빠뜨림
-
복잡성을 학습한 상인들
- 에이전트는 전체 시스템 맥락을 보지 못한 채 로컬한 결정만 내림
- 그 결과 중복 코드, 불필요한 추상화, 구조적 혼란이 급속히 누적
- 인간 조직에서는 이런 복잡성이 수년에 걸쳐 서서히 축적되지만, 에이전트 기반 팀은 몇 주 만에 동일한 수준의 혼란에 도달
- 에이전트는 훈련 데이터에서 배운 잘못된 설계 패턴을 그대로 재현하며, 인간의 통제가 없으면 복구 불가능한 복잡성을 만들어냄
-
에이전트 검색의 낮은 재현율
- 에이전트가 코드 수정이나 리팩터링을 시도할 때, 필요한 코드 전체를 찾지 못함
- 코드베이스가 커질수록 검색 재현율(recall) 이 급격히 낮아져, 중복과 불일치가 발생
- Bash, LSP, 벡터 DB 등 다양한 도구를 사용해도 대규모 코드베이스에서는 한계가 존재
- 이로 인해 코드 냄새와 불필요한 복잡성이 더욱 심화됨
에이전트와 함께 일해야 하는 방식 (현재로서는)
- 에이전트는 빠른 코드 생성과 높은 초기 품질로 매력적이지만, 전체 시스템을 맡기면 붕괴
- 적절한 사용 사례는 작은 범위의 비핵심 작업, 자체 평가 루프가 가능한 작업, 실패해도 치명적이지 않은 작업
- 예를 들어, 내부 도구 제작, 아이디어 실험, 성능 측정 기반 자동화 연구(auto-research) 등이 적합
- 인간은 반드시 최종 품질 게이트로 남아야 하며, 에이전트의 결과를 검토·수정·통합해야 함
- 평가 함수가 좁은 지표만 반영할 경우, 에이전트는 코드 품질·복잡성·정확성을 무시할 수 있음
-
속도를 늦추는 것이 핵심
- 무엇을, 왜 만드는지 생각할 시간을 확보하고, 불필요한 기능을 과감히 거절해야 함
- 하루에 에이전트가 생성할 수 있는 코드량을 검토 가능한 수준으로 제한
-
아키텍처·API 등 시스템의 본질적 형태는 반드시 사람이 직접 작성
- 에이전트와 페어 프로그래밍을 하며, 코드 작성 과정에서 마찰과 이해의 기회를 확보
- 이러한 접근은 유지 가능한 코드베이스를 만들고, 사용자 만족도를 높이며, 불필요한 기능 대신 핵심 기능에 집중하게 함
- 인간의 이해가 남아 있으면 에이전트 검색의 재현율 문제도 완화되고, 문제가 생겨도 직접 수정 가능
- 초기 설계가 잘못되었더라도 이유를 이해하고 개선할 수 있는 능력이 유지됨
- 결국 필요한 것은 규율과 인간의 주체성
- 시스템의 품질과 지속 가능성은 인간의 개입과 판단에 달려 있음
- “천천히 가는 것”이야말로 학습과 성장, 그리고 건강한 소프트웨어 생태계를 유지하는 유일한 길임
-
Homepage
-
개발자
- 속도를 늦춰야 하는 이유에 대한 생각