프롬프트 엔지니어링이란?


AI 모델에서 원하는 결과를 얻기 위해 입력(프롬프트)을 최적화하는 기술입니다.



기본 원칙



1. 명확하고 구체적으로


❌ "코드 좀 짜줘"
✅ "Python으로 CSV 파일을 읽어서
날짜별로 그룹핑하고
합계를 계산하는 함수를 작성해줘"


2. 맥락 제공하기


환경: Node.js 20, TypeScript 5.3
프레임워크: Express.js
데이터베이스: PostgreSQL
현재 상황: 사용자 인증 미들웨어 구현 중


3. 예시 포함하기 (Few-shot)


입력: "hello world"
출력: "Hello World"

입력: "this is a test"
출력: "This Is A Test"

입력: "convert this please"
출력: ?


고급 기법



Chain of Thought (CoT)


단계별로 생각하도록 유도합니다.


"이 문제를 단계별로 분석해줘:
1. 먼저 요구사항을 파악하고
2. 가능한 접근 방법을 나열한 뒤
3. 각 방법의 장단점을 비교하고
4. 최적의 방법으로 구현해줘"


역할 부여 (Role Prompting)


"당신은 보안 전문가입니다. 
이 코드의 보안 취약점을 분석해주세요.
OWASP Top 10 기준으로 검토해주세요."


제약 조건 설정


제약 조건:
- 외부 라이브러리 사용 금지
- 시간 복잡도 O(n log n) 이하
- 메모리 사용 최소화
- 에러 처리 필수


개발 작업별 프롬프트 템플릿



코드 리뷰


다음 코드를 리뷰해주세요:
- 버그 가능성
- 성능 개선점
- 가독성 향상 방안
- 보안 이슈

[코드 붙여넣기]


테스트 작성


다음 함수에 대한 단위 테스트를 작성해주세요:
- 정상 케이스 3개 이상
- 엣지 케이스 2개 이상
- 에러 케이스 2개 이상
- Jest/Mocha 형식으로

[함수 코드]


리팩토링


다음 코드를 리팩토링해주세요:
목표:
- SOLID 원칙 준수
- 테스트 용이성 향상
- 중복 제거

변경하면 안 되는 것:
- 공개 API 시그니처
- 기존 동작

[코드 붙여넣기]


흔한 실수



  • 너무 모호한 요청

  • 필요한 맥락 누락

  • 한 번에 너무 많은 것 요청

  • AI 응답을 검증 없이 사용