Notice
Recent Posts
250x250
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
관리 메뉴

일상 코딩

[프롬프트] 고품질 코드를 얻기 위한 프롬프트 생성 학습 문서 본문

Ai/Prompt 엔지니어링

[프롬프트] 고품질 코드를 얻기 위한 프롬프트 생성 학습 문서

polarcompass 2025. 1. 12. 23:25
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