# AI가 기술 부채를 더 비싸게 만드는 이유

> Clean Markdown view of GeekNews topic #17775. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17775](https://news.hada.io/topic?id=17775)
- GeekNews Markdown: [https://news.hada.io/topic/17775.md](https://news.hada.io/topic/17775.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-11-15T10:01:51+09:00
- Updated: 2024-11-15T10:01:51+09:00
- Original source: [gauge.sh](https://www.gauge.sh/blog/ai-makes-tech-debt-more-expensive)
- Points: 7
- Comments: 4

## Summary

AI는 기술 부채가 적은 코드베이스에서는 속도 향상을 극대화할 수 있지만, 부채가 많은 레거시 코드베이스에서는 효율이 떨어져 비용을 더 크게 만듭니다. 복잡한 코드에 취약한 AI 도구들은 명확한 인터페이스와 모듈화를 통해 시스템을 정리해야 효과적으로 작동할 수 있으며, 이를 위해 인간 전문가의 리팩토링이 필요합니다. 고품질의 코드베이스와 모듈화된 아키텍처에 투자함으로써 AI 도구의 최대 효과를 발휘하고 빠른 기능 개발과 고품질 소프트웨어를 동시에 구축할 수 있습니다.

## Topic Body

- AI가 코드 작성과 정리에 도움을 주기 때문에 **기술 부채(tech debt)** 가 덜 중요해질 것이라는 믿음이 있음  
- 하지만 실제로는 AI가 기술 부채의 **비용을 더 크게** 만들고 있음  
- **낮은 부채**의 코드베이스에서 AI 도구의 속도 향상은 극대화되지만, **높은 부채**를 가진 레거시 코드베이스에서는 AI 도구의 효율이 급격히 떨어짐  
- 결과적으로, 기술 부채가 많은 코드베이스는 AI 도구를 활용하는 데 더 큰 어려움을 겪고 있음  
  
##### 복잡한 코드에 취약한 생성형 AI  
  
- **Cursor**나 **Aider** 같은 AI 코딩 도구들은 코드의 복잡성에 매우 민감하게 반응함  
  - 기존 패턴이나 인터페이스가 잘 정의된 코드에서는 속도 향상이 크지만, **복잡한 제어 흐름**과 **의존성이 많은 코드**에서는 유효한 응답을 생성하는 데 어려움을 겪음  
- 복잡한 코드베이스는 AI 모델뿐만 아니라 개발자가 요청을 명확하게 구성하는 것도 어렵게 만듦  
- 이로 인해 많은 개발자들은 AI 도구가 ‘생산 수준’의 복잡성을 처리할 수 있을 때까지 기다리는 경향이 있음  
  
##### AI 도구를 제대로 활용하기  
  
- 레거시 코드베이스에서 AI 도구를 무리하게 사용하기보다는, **인간 전문가가 리팩토링**을 통해 AI가 원활히 작동할 수 있도록 하는 것이 중요함  
- 직접적인 리팩토링이 위험할 경우, **Strangler Fig** 패턴과 같은 방법을 사용해 새로운 모듈을 개발하고 이를 통해 AI 도구의 이점을 즉시 활용할 수 있음  
- 이를 통해 개발팀은 더 높은 수준의 추상화에 집중하고, 코드의 세부 구현보다는 **아키텍처 설계**에 중점을 두게 됨  
  
##### AI 친화적인 접근 방식  
  
- AI 도구가 제대로 작동할 수 있도록 시스템을 **모듈화**하고, 명확한 인터페이스를 통해 모듈 간 상호작용을 정의하는 것이 중요함  
- 자연어로 핵심 기능과 데이터 흐름을 설명할 수 있는 모듈 구조를 유지하는 것이 유용한 기준임  
- [Gauge Tach](https://github.com/gauge-sh/tach)와 같은 도구를 사용해 가시성 및 아키텍처 규칙을 설정하면, 모듈화된 시스템으로 발전할 수 있음  
  
##### 품질이 속도를 좌우함  
  
- 고품질의 코드베이스를 유지하는 것이 그 어느 때보다 중요해졌음  
- 모듈화된 아키텍처에 투자하면, 팀은 AI 도구의 최대 효과를 발휘할 수 있으며, 빠른 기능 개발과 고품질 소프트웨어를 동시에 구축할 수 있음

## Comments



### Comment 31566

- Author: savvykang
- Created: 2024-11-21T16:52:58+09:00
- Points: 1

소프트웨어 비대화는 피할 수 없는 운명인 것 같습니다

### Comment 31559

- Author: koreaisbest
- Created: 2024-11-21T12:40:22+09:00
- Points: 1

어디서 본 건 있는 지 관리자나 이런 사람들이 ai가 다해결 해줄거라는 마인드가 있는 것 같음 chatgpt가 너무 망상을 만들어 났음 아직 초등학생이라는 걸 강조할 필요가 있을 것 같음 보조 도구로 아주 조금 도와주는 정도라는걸 말해줄 필요가 있을 듯..그리고 위에 상황이 공감가는게 복잡하면 이해를 잘못함 프로젝트 전체 흐름을 파악하지 못하는 것 같음

### Comment 31442

- Author: kallare
- Created: 2024-11-18T13:59:29+09:00
- Points: 1

garbage in garbage out은 벗어날 수가 없군요

### Comment 31284

- Author: neo
- Created: 2024-11-15T10:01:51+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42137527) 
- 젊고 고품질의 코드베이스를 가진 회사들이 생성 AI 도구로부터 가장 큰 혜택을 받음. 반면, 복잡한 레거시 코드베이스를 가진 회사들은 이를 채택하는 데 어려움을 겪음. 개인 프로젝트에서 LLM을 사용할 때도 비슷한 경험을 했음. 코드베이스가 조금이라도 독특해지면 모델이 오류를 범하고 작업이 더 어려워짐

- LLM은 쉬운 작업을 더 쉽게 만들어 주지만, 어려운 작업에서는 실수를 범함. 이러한 격차는 줄어들지 않고 오히려 커지고 있음

- '고부채' 환경에서는 미묘한 제어 흐름과 장기 의존성, 예상치 못한 패턴 때문에 유용한 응답을 생성하는 데 어려움을 겪음. 많은 경우 이것은 '기술 부채'가 아니라 코드베이스의 성숙함을 나타내는 것임

- 생성 AI 도구가 레거시 코드베이스의 복잡한 문제를 해결하도록 강요하기보다는, 인간 전문가가 레거시 코드를 리팩토링하여 생성 AI가 원활하게 작동할 수 있도록 해야 함

- AI가 기술 부채를 덜 중요하게 만들 것이라는 믿음이 생겨나고 있음. 그러나 AI가 생성한 코드는 불규칙하고 일관성이 없으며, 특정 프롬프트와 컨텍스트 입력에 매우 민감함

- AI 생성 코드는 실제로 가치가 있을 수 있지만, 이 기사에서의 프레임은 비현실적임

- 머신러닝은 기술 부채의 고금리 신용카드와 같음. 코드 생성이 쉬워질수록 더 많은 코드가 생성되고, 유지보수 비용이 증가함

- LLM의 코드 생성 능력에 감탄하지만, 목표는 코드 양을 줄이는 것임

- AI가 단순한 작업을 처리하고 더 많은 코드를 생성하지만, 발견하기 어려운 버그를 생성함. 이러한 도구로 더 빠르게 움직일 수 있지만, 다른 방식으로 운영해야 할 필요가 있음

- AI가 코드 이해 및 수정에 도움을 줄 수 있지만, 맹목적인 복사-붙여넣기는 좋지 않음. 코드 검토와 설명 요청, 반복 작업이 여전히 필요함
