AI 개발 방법론
# AI 개발 방법론 — 실무 한방 체크리스트
## 0. 핵심 정의
- AI = 자동 개발기 ❌
- AI = 구조 기반 확장 도구 ⭕
- 원칙: 검증된 구조 없이 AI 사용 금지
---
## 1. 개발 시작 전 (없으면 AI 금지)
- [ ] 아키텍처 정의 (Controller / Service / Repository 등)
- [ ] DB 설계 완료 (테이블, 관계, key)
- [ ] 도메인 정의 (핵심 객체, 책임)
- [ ] API 스펙 정의 (요청/응답)
- [ ] UI 흐름 정의 (화면 → 액션 → 결과)
👉 하나라도 없으면 = 방향 틀린 상태
---
## 2. 무조건 먼저 만드는 보일러플레이트
- [ ] 인증 (JWT / Session 구조)
- [ ] 권한 (RBAC: User → Role → Permission)
- [ ] 에러 처리 (ErrorCode + GlobalExceptionHandler)
- [ ] 공통 응답 구조 (Success / Fail)
- [ ] 로그 전략 (요청/에러 로그)
- [ ] 상태관리 구조 (프론트)
👉 반복 구조는 AI 금지, 직접 검증 후 템플릿화
---
## 3. AI 사용 규칙 (강제)
❌ 금지
- “회원 시스템 만들어줘”
- “전체 프로젝트 생성해줘”
✅ 허용
- “이 구조 기반으로 기능 추가해줘”
- “이 Service에 로직 추가해줘”
- “이 API에 validation 추가해줘”
👉 AI는 확장만 담당
---
## 4. AI 결과 검증 체크리스트 (3개 필수)
아래 하나라도 실패 → 코드 폐기
- [ ] 레이어 위반 없음 (Controller ↔ Service ↔ Repo)
- [ ] 도메인 로직 위치 정상
- [ ] 내가 코드 설명 가능
👉 설명 못하면 = 이해 못한 코드 = 사용 금지
---
## 5. 코드 품질 체크 (추가)
- [ ] 네이밍 일관성 유지
- [ ] 중복 코드 없음
- [ ] 하드코딩 없음
- [ ] 에러 처리 존재
- [ ] 테스트 가능 구조
---
## 6. 개발 프로세스 (AI 시대)
1. 구조 설계 (가장 중요)
2. AI로 부분 구현
3. 검증 (필수)
4. 반복 개선
👉 개발 = 구현 ❌
👉 개발 = 설계 + 검증 ⭕
---
## 7. 절대 금지 패턴
- [ ] AI 코드 복붙 후 바로 배포
- [ ] 이해 없이 사용
- [ ] 구조 없이 기능 추가 반복
- [ ] 속도만 보고 설계 생략
👉 이거 하면 100% 유지보수 지옥
---
## 8. 핵심 결론
👉 AI 개발 = 빠르게 만드는 기술이 아니라
👉 검증된 구조 위에서 확장하는 기술
---
## 9. 한줄 요약
👉 설계는 사람이 한다 (이것도 ai 혹은 구글 검색 공식 문서 등의 도움을 받을 수 있다.)
👉 구현은 AI가 한다
👉 검증은 다시 사람이 한다
---
## 부록. "AI 한계론"에 대한 정리
### 1. 그 문제들은 원래 개발자가 책임지는 영역이다
- 사이드 이펙트 통제
- 상태 흐름 설계
- 시스템 일관성 유지
- 예외 상황 처리
- 검증과 테스트
"AI가 못하네"라고만 말하는 건 프레임이 틀렸다. 원래 그건 개발자 역할이다.
### 2. AI 한계를 말할 때 자주 프레임이 틀어진다
- "AI가 큰 시스템 일관성을 못 맞춘다"
- "AI가 복잡한 상태를 완벽 보장 못한다"
- "AI가 사이드 이펙트를 놓친다"
이 말 자체는 틀리지 않지만, AI가 혼자 완성품을 만들어야 하는 기준처럼 말하면 이상해진다.
AI를 개발 보조가 아니라 자동 조제기처럼 보는 착각에 가깝다.
### 3. 정확한 표현
> AI의 한계가 아니라, AI를 검토자 없는 단독 설계자/구현자로 쓰면 위험하다.
AI가 부족해서 문제라기보다,
사람이 책임져야 할 판단을 AI에 넘겨버린 사용 방식이 문제인 경우가 훨씬 많다.
---
## 한줄 요약
ai 개발에 대해 완전 자동화 , 미래의 agi 를 기대하는건 부당
c, c++ 가 어셈블리에 대한 추상화 계층, 스프링 프레임 워크가 객체 지향을 돕는 프레임 워크 라면
ai agent는 설계 위에서 동작하는 자연어 기반 구현 프레임워크 정도라고 봐야 함
참고(보일러 플레이트):