일상 코딩
[프롬프트] 고품질 코드를 얻기 위한 프롬프트 생성 학습 문서 본문
728x90
아래 내용을 복사해서 프롬프트에 입력 후 학습시킨 다음 개발 내용에 관한 대화를 이어나가면 된다.
아래는 **지금까지 나눈 대화의 핵심 요점**과 **프롬프트 엔지니어링 기법**을 **종합**하여, **다른 대화나 프로젝트**에서도 **고품질의 코드를** 받기 위한 **기본 가이드**로 활용할 수 있는 **요약본**입니다.
이 내용을 **“참고 자료”**처럼 보관해 두었다가, **새로운 대화**를 시작할 때 **요구사항**을 명확히 전달하고자 할 때 **복사-붙여넣기**하거나 **재가공**하여 사용하시면 됩니다.
---
## 1. 역할(Role) 부여 + 배경 설명
- **왜 필요한가?**
- AI에게 “시니어 개발자” 혹은 “UI/UX 전문가” 등 **명확한 역할**을 부여하면, 답변이 **더 전문적**이 되고 **베스트 프랙티스**를 고려하는 경향이 강해집니다.
- **예시**
```
[역할 지시 / 배경 설명]
너는 10년 이상 경력의 시니어 풀스택 & 블록체인/DApp 개발자야.
탈중앙화(DApp) 아키텍처, P2P 네트워크, 보안, 테스트 자동화에 뛰어난 전문성을 갖고 있어.
최신 Web3/DApp 트렌드에 정통하며, 높은 품질의 코드를 작성해줘.
```
---
## 2. 구체적인 스펙 & 세부 지시사항
1) **기술 스택**
- 예: React Native 0.71, Node.js 18, TypeScript 4.8, Gun.js, OrbitDB, WebTorrent 등
- 라이브러리 버전, 언어/프레임워크, DB, 빌드/테스트 툴 등 **명시**
2) **아키텍처 / 디자인 패턴**
- 예: Clean Architecture, DDD, MVVM, SOLID 원칙 등
- 모듈/레이어 분리, 의존성 주입, DRY, KISS, etc.
3) **유지보수 / 확장성**
- 폴더 구조, 네이밍 컨벤션, CI/CD, 테스트 자동화, 협업 관점
4) **보안 / 인증**
- DID, JWT, E2E 암호화, 입력 검증, 권한 분리, 비밀키 관리
5) **프론트엔드 디자인 / UX**
- 색상, 폰트, 레이아웃, 반응형, 접근성(ARIA), 디자인 라이브러리(Tailwind, Material UI 등)
- 로딩/에러 처리, Dark/Light 모드, 페이지/컴포넌트 구성
6) **출력 형식**
- “폴더 구조 + 파일별 코드 + 주석 + 설정 파일”을 **한꺼번에** 요구
- 예: “\`\`\` … \`\`\`” 코드 블록으로 감싸서 깔끔히 보여줘
- 빌드/테스트 스크립트, 실행 방법, 주석, 환경 파일(.env) 등
---
## 3. 예시 폴더 구조 (코드 블록 활용)
아래처럼 **코드 블록** 안에 들여쓰기와 라인을 유지하면, AI가 **정확**히 인식합니다:
\`\`\`
client/
├─ src/
│ ├─ p2p/
│ ├─ services/
│ ├─ ui/
│ │ ├─ components/
│ │ └─ screens/
│ ├─ store/
│ ├─ utils/
│ └─ ...
├─ package.json
├─ tsconfig.json
├─ .eslintrc.js
├─ .prettierrc
├─ jest.config.js
└─ ...
\`\`\`
---
## 4. 프롬프트 템플릿 예시
아래 템플릿을 **매번** 새 대화를 시작할 때 사용하면, **고품질 코드**와 **구체적인 설계**를 얻을 가능성이 높습니다. 필요 시 **프로젝트 별로** 세부 사항을 수정하세요.
```
[역할 지시 / 배경 설명]
너는 __년 이상 경력의 시니어 __ 개발자다.
(블록체인/DApp/웹/모바일/AI 등) 전문성을 갖고 있다.
최신 기술과 베스트 프랙티스를 적극적으로 반영해줘.
[프로젝트 요구사항]
1) 기술 스택 & 버전:
- React Native X.X, TypeScript X.X, Node.js X.X
- Gun.js / OrbitDB / IPFS / WebTorrent 등
- 기타(예: Express, NestJS, Vue3 등)
2) 아키텍처 / 디자인 패턴:
- SOLID, DRY, KISS, Clean Architecture, MVC, MVVM 등
- 계층 분리(도메인, 앱, 인프라), 의존성 주입
3) 주요 기능:
- 예: P2P 채팅, 대용량 파일 전송, DID 인증, E2E 암호화
- 파일 전송 시 IPFS/WebTorrent 활용, 실시간 메시징 시 Gun.js
- 푸시 알림(FCM/APNS or 탈중앙화 푸시)
4) 유지보수 / 확장성:
- CI/CD(GitHub Actions, Jenkins 등)
- ESLint/Prettier 설정, Jest 테스트, 의존성 취약점 검사
- 폴더 구조, 코드 모듈화, 협업 가능성
5) 프론트엔드 디자인 / UX:
- 컬러 팔레트, 폰트, 반응형 레이아웃, 다크/라이트 모드
- 접근성, 로딩/에러 처리
6) 출력 형식 / 구현 방식:
- 폴더 구조를 코드 블록(\`\`\`)로 보여줘
- 파일별 예시 코드(주석 포함)
- package.json, tsconfig.json, 환경 파일 설정
- 테스트 코드 예시(Jest)
- 실행/빌드/테스트 방법
[추가 요구사항]
- 보안(입력 검증, SQL 인젝션 방지, 인증/인가 등)
- 예외 처리 로직, 로깅
- 멀티 플랫폼(Android/iOS/Web) 고려
- ...
[마무리 지시]
"이 요구사항 전부를 반영한 예시 코드를 작성해줘.
모든 코드를 코드 블록(\`\`\`) 안에 담아서 보여주고,
각 부분에 대한 간단한 주석과 설명도 부탁해."
```
---
## 5. 대화 흐름 & 반복 피드백
1. **프롬프트 한 번에** 전부 제시 → AI가 종합적 코드 초안을 작성
2. **코드를 로컬에서 빌드/실행/테스트** → 에러/부족한 점 발견
3. **피드백**(에러 로그, 원하는 수정사항) → AI에게 재질문 → 코드 개선
4. **완성도**가 높아질 때까지 **반복**
---
## 6. 결론
- “**역할 부여** + **구체적 요구사항(기술 스택, 아키텍처, 디자인/UX, 테스트, 보안)** + **출력 형식(폴더 구조, 코드, 주석, 실행 방법)**”를 **한꺼번**에 전달하면,
AI가 **시니어 개발자처럼** 종합적인 코드 구조와 **베스트 프랙티스**를 답변에 담아주기 **훨씬** 쉽습니다.
- 이후에도 **반복 대화**로 부족한 부분(테스트, 에러 로직, UI 디테일)을 **점차 보강**해 나가면, 점점 **고품질**에 가까운 코드를 얻을 수 있습니다.
---
위 요약본을 **새로운 대화**에서 **참고자료**로 활용하면, 다른 종류의 개발(웹/모바일/백엔드/DApp/AI 등)에서도 **고품질의 프롬프트**를 손쉽게 작성할 수 있을 것입니다.
728x90
'Ai > Prompt 엔지니어링' 카테고리의 다른 글
[프롬프트] 고품질 코드를 유도하는 프롬프트 엔지니어링 원칙 및 예시 템플릿 (0) | 2025.01.12 |
---|---|
[프롬프트] Ai 프롬프트 템플릿 추천 사이트 (0) | 2025.01.12 |
[ChatGPT o1 답변] ChatGPT를 이용한 개발시 앞선 코드와의 연계성 및 맥락 끊김 문제 해결 방법 답변 (0) | 2025.01.12 |