# ChatGPT 실수로 인한 $10,000 손실

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15271](https://news.hada.io/topic?id=15271)
- GeekNews Markdown: [https://news.hada.io/topic/15271.md](https://news.hada.io/topic/15271.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-06-10T14:34:44+09:00
- Updated: 2024-06-10T14:34:44+09:00
- Original source: [asim.bearblog.dev](https://asim.bearblog.dev/how-a-single-chatgpt-mistake-cost-us-10000/)
- Points: 1
- Comments: 2

## Topic Body

### 단일 ChatGPT 실수로 $10,000+ 손실

#### 수익화 과정 🛣️
- **배경**: 스타트업 초기 단계에서 수익화를 시작함.
- **가격 설정**: YC 그룹 파트너의 조언에 따라 월 $40로 설정함.
- **기술 스택**: NextJS에서 Python/FastAPI로 마이그레이션함. Stripe 통합 완료.

#### $10,000 손실의 원인 💰
- **문제 발생**: 구독 기능에서 무한 로딩 스피너 문제 발생.
- **문제 해결**: 5일 동안 수많은 이메일과 로그를 분석한 끝에 문제 발견.
- **원인**: ChatGPT가 생성한 코드에서 ID 생성 방식에 오류가 있었음. 고정된 ID 문자열을 사용하여 ID 충돌 발생.

#### 버그 잡기 🐛
- **문제 설명**: 고정된 ID 문자열 사용으로 인해 ID 충돌 발생. AWS ECS에서 여러 인스턴스가 돌아가면서 낮에는 문제 없었으나, 밤에는 충돌 발생.
- **해결 방법**: 고정된 ID 대신 UUID 생성 함수 사용. 문제 해결 후 안정화됨.

#### 결론 🤖
- **교훈**: 테스트 부족, 코드 복사 붙여넣기, 직접 메인 브랜치에 커밋하는 등의 실수를 인정함.
- **경험**: 고통스러운 경험이었지만, 스타트업의 중요한 순간으로 기억됨.

### GN⁺의 의견
- **테스트의 중요성**: 충분한 단위 테스트와 통합 테스트가 필요함.
- **코드 리뷰**: 코드 복사 붙여넣기 대신 코드 리뷰와 검증이 중요함.
- **배포 전략**: 직접 메인 브랜치에 커밋하는 대신, 별도의 브랜치를 사용하고 코드 리뷰를 거치는 것이 좋음.
- **문제 해결 능력**: 문제를 빠르게 식별하고 해결하는 능력이 중요함.
- **기술 스택 선택**: 기술 스택의 변경은 신중하게 계획하고 테스트해야 함.

## Comments



### Comment 26112

- Author: znjadong
- Created: 2024-06-11T09:43:36+09:00
- Points: 1

엥, AI에 의한 자동 생성 코드는 반드시 리뷰를 해야죠, 그걸 왜 그대로 사용해요.

### Comment 26103

- Author: neo
- Created: 2024-06-10T14:34:44+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=40627558) 
- **첫 번째 의견**: 오류를 즉시 발견했음. 팀의 전문성 부족이 원인임. 모니터링 솔루션을 사용했다면 쉽게 잡을 수 있었을 것임.
- **두 번째 의견**: ChatGPT 덕분에 앱이 수익을 창출했음. 코딩, 디버깅, 로깅, 모니터링 능력 부족이 $10,000 손실의 원인임.
- **세 번째 의견**: 모니터링 부족이 $10,000 손실의 원인임. 데이터베이스 예외가 발생했지만 경고가 없었음. 경고가 있었다면 5분 만에 해결할 수 있었을 것임.
- **네 번째 의견**: Python의 기본값 인수 평가 전략 문제를 지적함. 함수 정의 시점에 평가됨. 효율성을 위해 의도된 것일 수 있음. Python의 리스트 생성 방식도 문제로 지적됨.
- **다섯 번째 의견**: 사람도 같은 실수를 자주 함. 특히 React/TypeScript/JavaScript에서 람다 사용을 잊는 경우가 많음. 블로그 글이 문제의 근본 원인을 제대로 설명하지 못했다고 생각함.
- **여섯 번째 의견**: 실수는 쉽게 발생할 수 있음. 그러나 첫 번째 실패 후 왜 잡히지 않았는지 이해할 수 없음. 로깅이 없었는지 의문임.
- **일곱 번째 의견**: 이 문제를 공개하는 것이 순진하게 느껴짐. ChatGPT는 비난받을 이유가 없음. 코드 리뷰 서비스 아이디어를 떠올리게 함.
- **여덟 번째 의견**: 시간 제약 때문에 발생한 문제임. 이런 제약 때문에 소프트웨어 구독을 두려워함.
- **아홉 번째 의견**: 고객도 없는 상태에서 전체 리라이트를 정당화하는 스타트업이 이해되지 않음.
- **열 번째 의견**: LLMs 사용 기술은 언제, 어떻게 사용할지 아는 것임. ChatGPT의 답변이 적절했지만, 특정 라인에서 모든 사용자를 삭제하라는 권고를 보고 큰 교훈을 얻었음.

각 의견은 소프트웨어 개발 과정에서 발생할 수 있는 문제와 그 해결책에 대한 다양한 시각을 제공함. 초급 소프트웨어 엔지니어에게 유익한 통찰을 줄 수 있음.
