# AI에 효과적으로 요청하는 법

> 어떤 워크스페이스든 명확하게 요청하면 AI가 더 좋은 결과를 만듭니다

## 핵심 원칙

### 1. 구체적으로 말하기 (Be Specific)

| 나쁜 요청 | 좋은 요청 | 유형 |
|-----------|-----------|------|
| "웹사이트 만들어줘" | "React로 할 일 목록 앱을 만들어줘. 추가, 완료 체크, 삭제 기능이 필요해" | Builder |
| "이거 알려줘" | "Docker 컨테이너와 VM의 차이를 비유를 들어서 설명해줘. 나는 비개발자야" | Explorer |
| "아이디어 좀 내줘" | "20-30대 직장인 대상 건강 관리 앱 아이디어를 3개 제안해줘. 각각 문제-해결-수익 모델 포함" | Designer |
| "자동화해줘" | "매일 오전 9시에 Slack 채널에서 어제 GitHub PR 목록을 정리해서 보내는 자동화를 만들어줘" | Operator |

### 2. 맥락 제공하기 (Provide Context)

요청 전에 AI에게 알려줘야 할 것:

```
프로젝트/주제: [어떤 프로젝트/주제인지]
현재 상태: [지금 뭐가 되어있고 뭐가 안 되는지]
목표: [최종적으로 원하는 것]
제약: [지켜야 할 조건, 한계]
```

**유형별 맥락 예시:**
- **Builder**: "Next.js 프로젝트에서, 로그인 기능이 필요해. 현재 DB는 PostgreSQL"
- **Explorer**: "부동산 투자를 공부 중이야. 기초 수준이고, 전세가율 개념이 헷갈려"
- **Designer**: "배달앱 리뷰 요약 서비스를 기획 중이야. 타겟은 2030 직장인, MVP 단계"
- **Operator**: "현재 수작업으로 매주 리포트를 만들고 있어. Google Sheets에서 데이터를 가져와서 정리하는 과정을 자동화하고 싶어"

### 3. 한 번에 한 가지 (One Thing at a Time)

큰 작업을 작은 단계로 나누세요:

**Builder**: "1) 먼저 DB 스키마 설계 → 2) API 만들기 → 3) UI 만들기"
**Explorer**: "1) 먼저 개념 설명 → 2) 사례 분석 → 3) 내 상황에 적용"
**Designer**: "1) 먼저 문제 정의 → 2) 해결책 브레인스토밍 → 3) MVP 설계"
**Operator**: "1) 먼저 현재 워크플로우 정리 → 2) 자동화 설계 → 3) 구현"

### 4. 예시 보여주기 (Show Examples)

```
"이런 느낌으로 해줘:
- [구체적 예시 1]
- [구체적 예시 2]
- [참고할 만한 기존 것]"
```

---

## 상황별 요청 템플릿

### 새로운 작업 요청 (모든 유형 공통)

```
[작업]을 해줘.

목적: [왜 필요한지]
입력: [현재 가지고 있는 것]
출력: [어떤 결과가 나와야 하는지]
제약: [지켜야 할 조건]

참고: [비슷한 예시나 레퍼런스]
```

### 문제 해결 요청

```
[어떤 것]에서 문제가 있어.

현상: [어떤 문제가 발생하는지]
시도한 것: [이미 해본 것]
기대 동작: [원래 어떻게 되어야 하는지]
```

### 이해/학습 요청

```
[개념/기능/구조]를 설명해줘.

특히 알고 싶은 것:
1. 이게 뭔지 (기초 정의)
2. 왜 중요한지 (맥락)
3. 내 상황에 어떻게 적용하는지

비개발자도 이해할 수 있게 비유를 들어서 설명해줘.
```

### 검증/리뷰 요청

```
[작업물/아이디어/결과]를 검토해줘.

확인해줘야 할 것:
- [체크 포인트 1]
- [체크 포인트 2]

문제가 있으면 대안도 제안해줘.
```

---

## 요청 품질 자가 진단

요청을 보내기 전에 이 체크리스트를 확인하세요:

### Must-Have (필수)
- [ ] **무엇을** 원하는지 명확한가?
- [ ] **왜** 필요한지 배경이 있는가?

### Should-Have (권장)
- [ ] **어디에** 적용하는지 구체적인가?
- [ ] **제약 조건**이 있으면 알려줬는가?
- [ ] **예시나 참고**를 제공했는가?

### Nice-to-Have (있으면 좋은)
- [ ] 성공 기준이 명확한가? ("이렇게 되면 완성")
- [ ] 우선순위가 있다면 표시했는가?

### 채점 기준

| 등급 | 기준 |
|------|------|
| **A** | 무엇/왜/맥락/제약 모두 포함, 예시 제공 |
| **B** | 무엇/왜 포함, 일부 컨텍스트 제공 |
| **C** | 무엇만 있음, 컨텍스트 부족 |
| **D** | 모호하고 구체적이지 않음 |

---

## 프로 팁

### AI에게 되물어보게 하기
```
"이 요청에 대해 네가 이해한 것을 정리해줘.
빠진 정보가 있으면 나한테 질문해줘.
작업은 아직 시작하지 마."
```

### AI의 결과를 검증하기
```
"방금 만든 결과물을 네가 직접 리뷰해줘.
빠진 것, 잠재적 문제점, 개선할 부분이 있는지 확인해줘."
```

### 학습을 위한 요청
```
"이 작업을 하기 전에,
왜 이렇게 하는 건지 비개발자도 이해할 수 있게 설명해줘.
어떤 대안이 있었고 왜 이걸 선택했는지도 알려줘."
```

## 출처

- [Prompt Engineering for Non-Coders (GoCodeo)](https://www.gocodeo.com/post/prompt-engineering-for-non-coders-a-beginners-toolkit)
- [The Prompt Engineering Playbook for Programmers (Addy Osmani)](https://addyo.substack.com/p/the-prompt-engineering-playbook-for)
- [Prompt Engineering Best Practices (DigitalOcean)](https://www.digitalocean.com/resources/articles/prompt-engineering-best-practices)
