ChatGPT API 나오기 전, 프롬프트 엔지니어링 첫 경험

배경

11월 말 ChatGPT가 공개된 후 사내에서도 화제였다. API는 아직 제공되지 않아 웹 UI로만 사용 가능한 상황이지만, 문서 작성이나 코드 리뷰 보조 용도로 충분히 쓸만했다.

특히 레거시 코드 분석할 때 유용했다. 복잡한 SQL 쿼리나 오래된 jQuery 코드를 붙여넣고 "이 코드가 뭐하는 건지 설명해줘"라고 물으면 꽤 정확하게 답변을 준다.

프롬프트 작성 시행착오

처음엔 "이 함수 리팩토링해줘"처럼 막연하게 물었는데, 결과물이 기대와 달랐다. 몇 번 시도하면서 패턴을 발견했다.

구체적인 제약 조건을 명시하는 게 핵심이었다.

// 나쁜 예
이 React 컴포넌트를 개선해줘

// 좋은 예
이 React 컴포넌트를 다음 조건으로 리팩토링해줘:
- useState 대신 useReducer 사용
- 비즈니스 로직을 커스텀 훅으로 분리
- PropTypes 추가

역할을 부여하는 것도 효과적이었다. "당신은 시니어 프론트엔드 개발자입니다"로 시작하면 더 실무적인 답변을 받을 수 있었다.

실제 활용 사례

  1. PR 설명 작성: diff를 붙여넣고 "이 변경사항을 요약해줘"라고 요청
  2. 에러 메시지 해석: 스택 트레이스를 주고 원인 추론 요청
  3. 정규식 생성: 복잡한 패턴 매칭 요구사항을 자연어로 설명
  4. 테스트 케이스 작성: 함수 시그니처를 주고 edge case 제안 받기

특히 정규식은 항상 헷갈렸는데, 이제 "이메일 형식 검증하는데 특수문자 제한하는 정규식"처럼 설명하면 바로 나온다.

한계점

  • 2021년까지의 지식만 있어 최신 라이브러리 정보는 부정확
  • 코드 길이가 길면 맥락을 놓치는 경우 있음
  • 보안에 민감한 코드는 당연히 붙여넣을 수 없음

정리

API가 나오면 CI/CD 파이프라인이나 슬랙봇에 통합해볼 생각이다. 지금은 웹 UI로 복사-붙여넣기 하는 수준이지만, 프롬프트를 잘 작성하면 단순 반복 작업을 많이 줄일 수 있다는 걸 확인했다.

당분간은 문서화, 코드 설명, 초안 작성 정도로 활용하고, 실제 프로덕션 코드는 반드시 검증 후 사용해야겠다.

ChatGPT API 나오기 전, 프롬프트 엔지니어링 첫 경험