https://addyo.substack.com/p/the-70-problem-hard-truths-about

A field guide and why we need to rethink our expectations
addyo.substack.com
70% 문제-AI 지원 코딩에 대한 차가운 진실
이라고 하는데
개발자들이 실제로 AI를 사용하는 방법
패턴은 크게 2가지
1. 부트 스트래퍼
(부트 스트래프는 초기 상단계에서 단순 요소부터 복잡한 체계를 구성하는 것을 말함)
-> 디자인이나 대략적인 개념으로 시작
-> AI를 사용하여 완전한 초기 코드 베이스 생성
-> 몇시간 or 며칠안에 동작하는 프로토타입 얻음
-> 빠른 검증 및 반복작업에 집중
2. 데일리 개발
(Cursor,Cline,Copilot,WindSurf)
-> 코드 완성 및 제안을 위한 AI 사용
-> 복잡한 리팩토링 작업에 AI 활용
-> 테스트 및 문서 생성
-> 문제 해결을 위한 '페어프로그래머'로 AI 요약
하지만 이 2개의 방식에는 숨겨진 비용이 존재함
AI 속도의 숨겨진 비용
1.생성된 코드를 더 작고 집중적으로 리팩토링
2.AI가 놓친 엣지케이스(예외처리) 추가
3. 타입 정의 및 인터페이스 강화
4. 아키텍쳐에 대한 의문 제기
5. 포괄적 오류처리 추가
기본적으로 시니어 프로그래머일수록 AI의 출력을 제한하고 있음. 전문성을 바탕으로 코드의 유지관리를 하지만 주니어 엔지니어는 이를 놓침.
이를 '카드의 집(카드로 집을 쌓아둔것과 같다' 라는 현상과 이어짐
지식의 역설
AI는 초보자보다 숙련 개발자에게 더 많은 도움이 되는데, 이것은 시대 착오적으로 보임. 왜
AI는 개발 민주화를 하지 않을까?(내가 일베가 아니라 본문에서 개발 민주화democratize라고 말하고 있음)
1. 시니어들은 AI를 사용하여 자신이 이미 알고 있는 작업에 대한 가속화
2. 주니어들은 AI를 사용해 무엇을 해야하는지 배우려고 함.
3. 결과는 극적으로 다르다.
시니어 엔지니어들이 AI를 사용하는 방법
1. 이미 이해하고 있는 아이디어를 빠르게 프로토 타이핑함
2. 기본 구현을 생성한 다음 이를 개선
3. 알려진 문제에 대한 대안적 접근 방식 탐색
4. 일상적인 코딩 작업 자동화
주니어들의 잘못된 사용법
1. 잘못되고 오래된 솔루션 수락
2. 중요한 보안 및 성능 고려 사항 놓침
3. AI가 생성한 코드 디버깅 어려워함
4. 완전히 이해하지 못하는 시스템 구축
AI를 코딩에 사용하는 비엔지니어는 좌절스러운 벽에 부딪히는데, 일반적으로 70%는 빠르게 달성할 수 있지만 30%의 디테일을 놓침.
(비 엔지니어들이 겪는)두 걸음 뒤로 물러서게 만드는 패턴
일반적으로 다음과 같은 패턴양상을 띔
1. 작은 버그를 수정하려고함
2. AI는 합리적인 척 하는 변경사항 제안
3. 이 수정은 다른 모든 것을 망침.
4. AI에게 새로운 문제를 해결해 달라고 요청
5. 이로 인해 문제가 2가지 더 발생
6. 계속 반복됨
AI 학습의 역설
1. 디버깅 기술을 익히지 못하게됨
2. 기본 패턴을 배우는 것을 놓침.(흔히들 OOP에만 패턴이 있는것처럼 보이지만 모든 지향에서 공통적으로 나타나는 패턴이 존재함)
3. 아키텍쳐적 결정에 대한 추론을 배울 수 없음
4. 이로인해서 코드를 유지보수하기 힘들어짐.
---
그외에 더 있긴한데, 그이후로는 AI사용법 설명인데 이부분은 걍 요약 안함
읽어볼만한듯.
개인적으로 확실히 나는 초기에 Star 높은 프로젝트 전체적으로 공부해서 아키텍쳐 흐름이랑 프로그래밍이론부터 배워서 그런가 AI 사용에 딱히 큰 거부감이 없는듯.
해당 댓글은 삭제되었습니다.
테무 쓴다 니때문에
개추개추
AI 좋아
념글 왤케 못가 념글가라
개추
요약 굳 - dc App
갠적으로 ai한테 버그고쳐달라하는거 의외로 성능 좆같음 진짜 내가 통제가능한 범위내에서 최대한 통제하고 작은범위로 좁혀서 물어봐야함
이건 실베감이다
이 댓글은 게시물 작성자가 삭제하였습니다.
이 댓글은 게시물 작성자가 삭제하였습니다.