# 70% 문제: AI 지원 코딩의 냉혹한 진실

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18131](https://news.hada.io/topic?id=18131)
- GeekNews Markdown: [https://news.hada.io/topic/18131.md](https://news.hada.io/topic/18131.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-12-07T07:12:13+09:00
- Updated: 2024-12-07T07:12:13+09:00
- Original source: [addyo.substack.com](https://addyo.substack.com/p/the-70-problem-hard-truths-about)
- Points: 27
- Comments: 12

## Summary

개발자들은 AI 도구를 부트스트래퍼와 이터레이터로 활용하여 초기 프로토타입 생성과 일상적인 코드 작업을 수행하지만, 숙련도에 따라 AI 활용의 효과가 크게 달라집니다. 초급 개발자는 AI의 출력을 그대로 수용하여 문제가 발생할 수 있는 반면, 숙련된 개발자는 AI가 제안한 코드를 지속적으로 리팩토링하고 검토합니다. AI 도구는 프로토타입 개발과 학습 보조에 유용하지만, 유지 보수 가능한 소프트웨어 개발에는 여전히 인간의 엔지니어링 지식이 필요하며, AI는 더 나은 소프트웨어를 구축하는 데 도움을 주지만 소프트웨어 품질을 극적으로 향상시키지는 않습니다.

## Topic Body

- 개발자들이 AI를 활용하는 두 가지 주요 패턴이 있음  
  - **부트스트래퍼**:   
    - Bolt, v0, screenshot-to-code AI 같은 도구를 사용하여 빠르게 초기 프로토타입을 생성함.  
    - 디자인이나 개념을 시작점으로 AI를 활용하여 초기 코드베이스를 생성하고, 몇 시간 또는 며칠 만에 작동하는 프로토타입을 개발함  
  - **이터레이터**:   
    - Cursor, Cline, Copilot, WindSurf 같은 도구를 일상 개발에 사용하여 코드 완성, 복잡한 리팩토링, 테스트 및 문서 생성을 수행함  
  
### 숙련된 개발자와 초급 개발자 간의 AI 활용 차이  
- **숙련된 개발자**: AI가 제안한 코드를 지속적으로 리팩토링하고, 에지 케이스를 처리하며, 타입 정의를 강화하고, 아키텍처 결정을 검토함  
- **초급 개발자**: AI의 출력을 그대로 수용하는 경향이 있어, 실제 환경에서 문제가 발생할 수 있는 '카드로 만든 집'과 같은 코드를 생성할 위험이 있음  
  
### AI 도구의 역설: 지식의 역설  
- **숙련된 개발자**: 이미 알고 있는 작업을 AI를 통해 가속화함  
- **초급 개발자**: 무엇을 해야 할지 배우기 위해 AI를 사용하려 함  
- **결과**: 숙련도에 따라 AI 활용의 효과가 크게 달라짐  
  
### 비전문가의 AI 코딩 도구 사용 시 70% 문제  
- **초기 진행**: AI 도구를 사용하여 원하는 기능의 70%를 빠르게 구현할 수 있음  
- **남은 30%**: 작은 버그를 수정하려 할 때 새로운 문제가 발생하며, 이를 해결하려다 더 많은 문제가 생기는 악순환에 빠질 수 있음  
  
### AI 도구를 효과적으로 활용하기 위한 전략  
- **AI 초안 패턴**: AI로 기본 구현을 생성하고 수동으로 검토 및 리팩토링함  
- **AI를 학습 도구로 활용**: 지속적인 대화로 AI가 생성한 코드를 이해하고, 기본적인 프로그래밍 개념을 함께 학습하며, 점진적으로 지식을 쌓아감  
- **AI의 한계 인식**: AI 도구는 프로토타입 개발, 학습 보조, 아이디어 검증에는 유용하지만, 생산 준비가 된 유지 보수 가능한 소프트웨어를 개발하려면 여전히 실제 엔지니어링 지식이 필요함  
  
### 에이전틱 소프트웨어 엔지니어링의 부상  
- **에이전틱 시스템**: 명령에 응답하는 것을 넘어, 계획하고 실행하며 반복할 수 있는 시스템으로 발전하고 있음  
- **미래 전망**: AI는 개발자를 대체하는 것이 아니라, 점점 더 능동적인 협력자로서 인간의 지침과 전문성을 존중하며 주도적으로 문제를 해결하는 방향으로 나아가고 있음  
- AI는 이미 알고 있는 패턴을 구현하는 데 도움을 주고, 아이디어를 빠르게 프로토타입하고 다양한 접근 방식을 탐색하는 데 유용함  
- 반복적이고 일상적인 코딩 작업을 자동화하여 더 흥미로운 문제에 집중할 수 있게 함  
  
### AI 도구 사용 시 주의사항  
- **사용자 경험의 중요성**: AI를 활용하여 빠르게 데모를 만들 수 있지만, 실제 사용자가 사용할 때 발생할 수 있는 에러 메시지, 에지 케이스, UI 상태 등을 세심하게 다루지 않으면 사용자에게 불편을 줄 수 있음  
- **장인 정신의 부활**:   
  - AI가 소프트웨어 개발을 빠르게 만들었지만, 진정한 소비자 품질의 경험을 만드는 예술을 잃을 위험이 있음.  
  - AI 도구는 일상적인 코딩 작업을 처리하여 개발자가 중요한 세부 사항에 집중할 수 있도록 도와줄 수 있음.  
  
### 결론  
- **AI의 역할**:   
  - AI는 더 많은 코드를 빠르게 작성하는 것이 아니라, 더 나은 소프트웨어를 구축하는 데 도움을 줌  
  - AI는 소프트웨어 품질을 극적으로 향상시키지 않음.   
- 소프트웨어 개발의 어려운 부분은 여전히 인간의 판단이 필요함.   
- AI는 더 나은 솔루션을 찾기 위한 빠른 탐색을 가능하게 하지만, 좋은 소프트웨어 관행을 대체할 수는 없음.  
- **인간의 책임**: AI를 현명하게 사용하여 엔지니어링 원칙을 유지하고, 소프트웨어 품질을 향상시키는 것은 여전히 인간의 몫임

## Comments



### Comment 32187

- Author: dbs0829
- Created: 2024-12-10T09:08:58+09:00
- Points: 2

기술을 활용하는 것은 좋은데, 생각까지 위탁해버리는 분들이 너무 많아서, 특히 교육 같은거 나가면  더 많이 보여서 걱정입니다. 솔직히 저는 그런 사람들이랑 일하고 싶지는 않거든요.

### Comment 32160

- Author: kandk
- Created: 2024-12-09T11:29:15+09:00
- Points: 1

IDE가 개발자를 망친다 라는 논의랑 비슷할지도..

### Comment 32119

- Author: savvykang
- Created: 2024-12-07T14:39:02+09:00
- Points: 2

[고객이 생성한 AI 코드를 수정하는 데 지쳤어요](https://news.hada.io/topic?id=16418)  
판단을 AI가 하기 시작하면 답이 없어 보입니다

### Comment 32116

- Author: iolothebard
- Created: 2024-12-07T13:02:07+09:00
- Points: 1

AI에게 피드백을 하면 좋아지는 듯 보이다가… 어느 순간 망가짐. 그 순간을 캐치하는 요령이 필요함. 그리고 그 순간이 오면 AI를 버릴 건지 다시 시작할건지 선택해야함.

### Comment 32114

- Author: yadameda
- Created: 2024-12-07T11:51:22+09:00
- Points: 1

production-ready(본문 생산준비) 를 뭐라고 번역하면 매끄러울까요?  
  
실 서비스 준비완료 수준  
제품 수준

### Comment 32159

- Author: kandk
- Created: 2024-12-09T11:28:33+09:00
- Points: 1
- Parent comment: 32114
- Depth: 1

출시 준비 완료!

### Comment 32125

- Author: binaryeast
- Created: 2024-12-08T09:39:08+09:00
- Points: 2
- Parent comment: 32114
- Depth: 1

저는 보통 출시 가능 or 출시 준비된 으로 번역하는 편입니다.

### Comment 32131

- Author: jhj0517
- Created: 2024-12-08T12:14:02+09:00
- Points: 2
- Parent comment: 32125
- Depth: 2

"출시 가능" 좋은 것 같아요!

### Comment 32124

- Author: bus710
- Created: 2024-12-08T09:08:06+09:00
- Points: 2
- Parent comment: 32114
- Depth: 1

"(실 사용 또는 고객용으로) 배포 준비 된"   
정도가 어떨까요?

### Comment 32117

- Author: savvykang
- Created: 2024-12-07T13:26:17+09:00
- Points: 1
- Parent comment: 32114
- Depth: 1

실전검증된 은 어떨까요?

### Comment 32146

- Author: soomtong
- Created: 2024-12-09T11:06:46+09:00
- Points: 2
- Parent comment: 32117
- Depth: 2

실전검증은 battle tested 라고 많이 표현하는 것 같아요.

### Comment 32104

- Author: neo
- Created: 2024-12-07T07:12:14+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42336553) 
- AI는 과거의 여러 도구들과 마찬가지로 프로그래밍의 일부를 대체하려고 했음. 하지만 본질적인 작업은 여전히 인간의 두뇌가 필요함
  - AI는 복잡성 관리와 같은 본질적인 작업을 수행할 수 없음
  - AI는 영어로 대화할 수 있어 이전 시도들보다 유연하지만, 여전히 본질적인 문제 해결에는 한계가 있음

- AI는 팀의 열정적인 주니어 개발자와 같음
  - 주니어 개발자와 AI 도구 모두 버그가 많고 장황한 코드를 작성하는 경향이 있음
  - AI는 피드백을 통해 학습할 수 없기 때문에 반복적인 실수를 계속 검토해야 함

- AI 도구를 사용하여 새로운 도구를 빠르게 개발할 수 있었음
  - AI 덕분에 며칠 걸릴 작업을 몇 시간 만에 완료할 수 있었음
  - AI가 전체 작업의 70% 또는 42.5%를 수행했을지라도 큰 개선이었음

- 주니어 개발자에게 AI는 양날의 검임
  - AI를 학습의 지름길로 사용하면 학습을 건너뛰게 됨
  - 그러나 AI를 멘토로 사용하면 깊이 있는 학습이 가능함
  - AI가 주니어 개발자의 작업을 대체하면 채용 문제가 발생할 수 있음

- "신뢰하되 검증하라"는 패턴이 중요함
  - AI가 작성한 코드가 컴파일되고 테스트 케이스를 통과하면 긍정적인 신호임
  - 예를 들어, Rust의 csscolorparser를 Python으로 바인딩한 프로젝트가 있음

- AI가 코드를 빠르게 작성할 수 있지만 학습 과정이 빨라지지는 않음
  - AI의 도움으로 더 빨리 발전할 수 있지만, 여전히 잘 구조화된 코드를 작성하는 데는 시간이 걸림

- Copilot은 복잡한 작업에서 실패함
  - AI는 확장성에서 한계를 보이고 있음
  - 미래에는 양자 컴퓨팅과 같은 기술이 필요할 것임

- GenAI는 잘 알려진 요구 사항을 가진 솔루션에서는 깊이 있는 결과를 제공할 수 있음
  - 복잡한 문제에서는 50% 정도의 성과만 가능함
  - 세부적인 작업 목록을 만들어 각 작업을 개별적으로 해결하는 방법을 사용 중임

- AI의 작업을 검증하는 것이 중요함
  - AI가 제안한 코드가 실행 가능했지만, 보안 문제가 있는 라이브러리를 사용하고 있었음
  - AI의 코드가 실행 가능하더라도 검증이 필요함

- AI로 생산성이 크게 향상되었다는 사람들을 실제로 만나기 어려움
  - AI 도구는 편리하지만, 코딩의 일부에만 유용함
