Skip to content

Prompt engineering

프롬프트 엔지니어링은 인공 지능, 특히 자연어 처리의 개념입니다. 프롬프트 엔지니어링에서 작업 설명은 암시적으로 제공되는 대신 질문으로 입력에 포함됩니다.

Categories

  • NovelAI:Tags - 노벨 AI에 사용 하기 적절한 프롬프트
  • ChainForge - 프롬프트 엔지니어링을 위한 비쥬얼 프로그래밍 도구 오픈소스
  • xAI PromptIDE - 프롬프트 엔지니어링을 위한 통합 개발 환경 - https://x.ai/prompt-ide/
  • AGENTS.md - AI 코딩 에이전트를 위한 오픈 포맷

Stable Diffusion

몇 가지 찾아 놓은 단어

  • 고철: scrap_metal
  • 위에서 아래로 보는 45도 각도의 탑-뷰: aerial_photo
  • 하역장: loading_dock

GPT 의 경우

Top-p
ChatGPT를 더 '원하는 대로' 쓰는법 | 유머 게시판
  • Top-p 파라미터 값이 낮을수록 모델이 생성하는 문장은 일관성이 높아지지만, 다양성이 낮아짐.
  • 반대로 Top-p 파라미터 값이 높을수록 모델이 생성하는 문장은 다양성이 높아지지만, 일관성이 낮아짐.

Projects

  • Tome - AI를 이용한 슬라이드 스토리텔링 빌더

프롬프트 엔지니어링, AI라는 도구를 잘 사용하는 방법

생성형 AI, 그 중에서도 특히 거대 언어 모델들을 중심으로 기술 시장은 이례없던 속도로 움직이고 있습니다. 대중의 생성형 AI에 대한 높아진 관심을 기반으로 다양한 애플리케이션 사례들이 쏟아져 나오고 있고, 이와 동시에 잘못된 정보를 사실인 것 같이 답변으로 제시하는 일명 hallucianation (이하 할루시네이션)과 같은 모델의 치명적인 한계점에 대한 우려도 계속 커지고 있는데요. 이에 AI 모델로부터 더 복잡한 태스크들에 대한 정확한 답변을 이끌어내는 것을 유도하면서 할루시네이션과 같은 오류를 줄이는데 기여하는, "Prompt Engineering (이하 프롬프트 엔지니어링)"이라는 NLP (자연어 처리) 분야가 새롭게 떠오르고 있습니다.

  • 프롬프트란?
    • AI 분야에서 프롬프트 (Prompt)의 정의
    • 프롬프트의 구성 요소
  • 프롬프트 엔지니어링이란?
  • 프롬프트 작성을 위한 기본 가이드라인
    • 대화 스타일 조정
    • 미사여구를 최소화한 쉽고 간결한 표현
    • 열린 질문보다 닫힌 지시문
    • Instruction과 Context를 구체적으로 명시
  • 더 좋은 프롬프트 작성을 위한 프레임워크들
    • Advanced Prompting 예제
      • Zero Shot Prompting
      • One-Shot Prompting
      • Few-Shot Prompting
      • CoT (Chain-of-Thought)
      • Zero-Shot CoT (Chain of Thought)
      • Self-Consistency
      • Generated Knowledge Prompting
  • 프롬프트 엔지니어링과 함께 떠오른 것들
    • 명령어를 거래하는 ‘프롬프트 마켓플레이스’
      • 대표적인 프롬프트 마켓플레이스들
      • 프롬프트 마켓플레이스, AI계의 이베이, 알리바바, 아마존될까? 아직 발전 방향은 미지수
    • AI를 해킹하는 ‘Adversarial Prompting (적대적 프롬프팅)'
      • Prompt Injection
      • Prompt Leaking
      • Jailbreaking
      • Adversarial Prompt Detector

Tips

프로그래머를 위한 프롬프트 엔지니어링 플레이북

서론: 프롬프트가 개발 생산성을 좌우한다

  • AI 코딩 도우미의 성능은 프롬프트 품질에 달려 있다. 명확한 요청은 정교한 코드를, 모호한 질문은 쓸모없는 출력을 낳는다.
  • 프롬프트 작성법은 이제 개발자에게 필수 역량이며, 이는 개발 파트너를 훈련시키는 작업과 같다.
  • 이 글은 실전 예시와 비교를 통해 ‘좋은 질문’이 어떻게 ‘좋은 코드’를 만드는지를 보여준다.

효과적인 프롬프트의 7가지 원칙

  1. 맥락 제공
    • AI는 사용자의 프로젝트 배경을 모르므로 언어, 프레임워크, 라이브러리, 오류 메시지, 목적 등을 명시해야 한다.
    • 예: “Node.js + Express + Mongoose 환경에서 user fetch 중 TypeError 발생”처럼 기술적 배경을 포함.
  2. 목표 명확화
    • "코드가 안돼요"는 도움이 안 된다. “예상 결과는 ○○인데 실제는 △△임. 왜 그런가?” 식으로 정확히 묻자.
  3. 복잡한 작업 쪼개기
    • 기능 전체를 한 번에 묻기보다 단계별로 요청하는 게 더 효과적이다. 예: 컴포넌트 > 상태 관리 > API 통합.
  4. 입출력 예시 포함
    • 원하는 출력 예시를 보여주면 AI의 의도 파악 능력이 높아진다. (e.g. [3,1,4] → [1,3,4])
  5. 역할 부여
    • “시니어 리액트 개발자처럼 코드를 리뷰해줘” 식의 역할 설정은 응답의 깊이와 품질을 향상시킨다.
  6. 대화형 반복 개선
    • 첫 응답이 완벽할 필요는 없다. 피드백을 주면 AI는 그 흐름을 이어서 점점 정교한 결과를 낸다.
  7. 코드 일관성 유지
    • 함수명, 포맷, 주석 등 코드 자체가 일관성 있게 작성되어 있으면, AI도 그 흐름을 유지해 품질이 높아진다.

디버깅을 위한 프롬프트 전략

  1. 오류 명시와 기대 동작 비교
    • 에러 메시지, 문제 증상, 기대 결과, 입력값을 함께 제시하면 AI는 정확한 진단을 한다.
  2. 라인 단위 추적 요청
    • “이 변수 값이 어디서 이상해졌는지 단계별로 추적해줘” 식의 요청은 복잡한 논리 버그에 효과적이다.
  3. 최소 재현 코드 제공
    • 전체 코드 대신 문제가 발생하는 핵심 코드만 주면, AI가 더 정확하게 원인을 분석할 수 있다.
  4. 명확한 후속 질문
    • “왜 이런 결과가 나오죠?”보다 “이 부분에서 어떤 조건이 잘못된 걸까요?”처럼 직접적인 질문이 좋다.
  5. 예시 비교: 나쁜 질문 vs. 좋은 질문
    • 단순히 “코드 안됨”이라고 하면 추측성 답변만 나오지만, 에러 메시지와 코드를 함께 주면 정확한 해결책을 받게 된다.

리팩토링과 최적화를 위한 프롬프트 전략

  1. 리팩토링 목표 명확화
    • 단순히 “리팩토링 해줘”보다는 “가독성 향상, 성능 개선, API 최신화” 등 구체적 개선 목표를 제시해야 한다.
    • 목표가 모호하면 AI는 무작위 개선을 시도하거나 원하지 않는 방향으로 바꿀 수 있다.
  2. 언어/환경 맥락 제공
    • “React 클래스형 → 함수형 전환”, “Node.js 14 환경” 등 프로젝트 스타일이나 기술 제약을 알려주면 적합한 변환이 가능하다.
  3. 설명도 함께 요청
    • 리팩토링된 코드와 함께 “왜 이렇게 바꿨는지” 설명을 요청하면, 코드 품질 검토와 학습 효과 모두 얻을 수 있다.
  4. 역할 기반 요청으로 수준 향상
    • “시니어 타입스크립트 개발자처럼 리팩토링해줘” 같은 요청은 더 현대적이고 깊이 있는 개선안을 이끌어낸다.

새 기능 구현을 위한 프롬프트 전략

  1. 기능을 단계로 나눠 요청
    • 복잡한 기능도 “기능 구조 설계 → UI 생성 → 로직 연결” 순으로 나누어 요청하면 더 안정적인 결과를 얻을 수 있다.
  2. 기존 코드 스타일 제공
    • 유사한 컴포넌트나 내부 컨벤션을 제시하면, 프로젝트 일관성에 맞는 코드가 생성된다. 예: “UserList 기반으로 ProductList 생성”
  3. 주석/TODO로 의도 전달
    • IDE에서 “// TODO: 요청 유효성 검증 구현”처럼 자연어 주석을 달면 Copilot이 그에 맞는 코드 블록을 자동 생성한다.
  4. 입출력 예시 제시
    • 입력값과 기대 출력 예를 포함하면 AI는 이를 충족시키려 노력하며 정확도가 높아진다.
  5. 피드백 기반 반복 개선
    • 첫 결과가 기대에 못 미쳐도 “filter 대신 map 사용해주세요”처럼 피드백을 주면 AI가 바로 반영하며 진화한다.

실패하는 프롬프트의 7가지 패턴 (Anti-patterns)

  1. 모호한 요청
    • “이 코드 왜 안돼요?” 같은 질문은 의미 없는 일반론적 답변만 이끌어낸다. 오류 메시지, 코드, 기대 결과를 포함하자.
  2. 요구 과잉
    • “앱 전체 생성 + 인증 기능 추가 + 배포 스크립트 포함” 등 복합 요청은 누락이나 혼란을 야기하므로 단계별 분리 필요.
  3. 질문 없음
    • 코드만 던지고 요청이 없으면 AI는 요약을 하거나 무관한 결과를 내놓기 쉬우므로, 질문 목적을 명확히 해야 한다.
  4. 성공 기준 불명확
    • “빠르게 해줘”, “더 좋게 바꿔줘”는 기준이 모호하다. 예: “O(n) 시간 복잡도로 개선”처럼 측정 가능한 기준을 제시해야 한다.
  5. AI의 질문 무시
    • AI가 “이게 함수형인가요 클래스형인가요?”라고 묻는다면 그에 답해야 최적화된 출력을 받을 수 있다.
  6. 일관성 부족
    • 스타일, 문법, 용어가 계속 바뀌면 AI도 혼란을 겪는다. 하나의 스타일을 유지해야 응답 품질이 향상된다.
  7. “위 코드” 같은 모호한 참조
    • 대화가 길어질수록 “위 코드”는 불명확해진다. 가능한 한 코드를 다시 제시하거나 명시적으로 함수명을 언급하자.

챗GPT 무료 사용자도 유료가 되는 프롬프트

너는 아래 내용을 메모리 업데이트 해줘. 답변할 때 chain of thought 방식으로 답변해줘. 단, 사용자의 간단한 질문은 추론 없이 답변만 해도 돼. 유연하게 답변해줘.

1. 역할 인식과 목표 파악 목표: 명확하고 논리적인 최종 답변 도출 방법: “단계적 사고 과정(Chain of Thought)”을 내재적으로 활용하여 사고 전 과정을 체계화하고, 사용자에게는 정돈된 형태로 전달 추가 팁: 답변 과정에서 얻은 통찰(Chain of Thought)은 결론을 도출하기 위한 내부 검토 과정입니다. 최종 전달 시에는 핵심 논리와 결론만 명료하게 제시합니다.

2. 단계별 사고(Chain of Thought) 프로세스 문제 분석: 먼저 질문이나 요구사항을 하위 과업(서브 태스크)으로 나누어 인식 해결 전략 수립: ‘관리자 AI(Manager)’가 전략을 세우고 우선순위를 결정 결과물 생성: ‘실무 AI(Worker)’가 실제 답변(산출물)을 작성 자체 평가: 필요 시 ‘이벨류에이터 AI(Evaluator)’가 오류·누락을 확인하고 수정 추가 팁: 복잡한 문제일수록 하위 과업을 명확히 구분하여 각각 접근하면 효율적입니다. 각 단계마다 중간점검을 통해 최종 결과물의 품질을 높일 수 있습니다.

3. 분석 단계(Manager AI 가정) 요구사항 재해석·요약: 사용자의 질문을 한 문장 혹은 짧은 단락으로 정리해 해결 목표를 명확화 가정·전제 조건 설정: 필요한 자료, 환경, 전제 등을 구체적으로 기술 추가 질의: 정보가 부족하거나 불분명한 부분이 있다면 사용자에게 질의하거나, 자체적으로 가정을 수립 추가 보완: 목표 범위 지정: 문제 범위를 협소화하거나 확장해야 할 필요가 있다면 이 단계에서 결정합니다. 우선순위 결정: 해결해야 할 요소가 많을 경우, 중요도·난이도·시급도를 고려해 순서를 정합니다.

4. 실무 단계(Worker AI 가정) 실제 작업 착수: 분석 단계에서 설정한 지침·우선순위·가정을 바탕으로 문제 해결에 돌입 체인 분할: 문제 해결 과정을 단계별(체인별)로 분리하여 구체적인 결과물 산출 대안 검토: 여러 해석 가능성, 접근 방법, 솔루션을 비교·검토 후 결론 도출 추가 보완: 작업 도중 점검: 작업 중간에도 ‘이벨류에이터 AI’를 가정하거나, 스스로 검증 과정을 거쳐 오류를 조기에 발견합니다. 다양한 관점 고려: 논리적·통계적·경험적 근거 등을 종합적으로 고려해 결론의 타당성을 높입니다.

5. 평가 및 피드백(Evaluator AI 가정) 중간·결과 검증: 완성된 답변에 대해 논리적·사실적 오류, 누락 사항, 요구사항 미반영 여부 등을 점검 수정·보완: 문제점을 찾았다면 해당 부분을 보완하거나 재작성 추가 보완: 다단계 피드백 루프: 필요하다면 여러 번의 피드백·수정 과정을 거쳐 최적의 답변에 도달합니다. 대체 방안 고려: 기존 결론이 부적절하다고 판단되면, 다른 접근법을 모색하여 새 결론을 도출할 수 있습니다.

6. 최종 답변 정리 단계별 사고 요약: 전체 과정을 한눈에 파악할 수 있도록 핵심만 간단히 기술 명료한 결론 제시: 사용자에게는 불필요한 상세 과정을 생략하고, 최종 해답과 핵심 논리만 전달 핵심 요약 vs. 추가 설명: 필요하다면 핵심 요약과 추가 설명 파트를 별도로 구분 추가 보완: 사용자 맞춤형 구성: 사용자 수준(전문가·초심자 등)에 따라 요약 정도와 예시, 부연 설명 방식을 달리할 수 있습니다. 추가 자료 링크: 필요하다면, 참고 문헌이나 자료 링크 등을 함께 제시해 이해를 돕습니다.

7. 적극적인 가정 및 제안 문제 확장·심화 제안: 사용자가 원할 경우, 더 깊은 수준의 접근 방법이나 관련 아이디어를 제시 가이드라인 방식: 전문가가 제공하는 실무 팁, 참고 자료 등을 짧은 근거와 함께 설명 추가 보완: 확장성 고려: 사용자 요청에 따라, 추가 모듈(예: 통계분석, 사례 조사 등)을 어떻게 연계할 수 있는지 제안합니다. 사전 경험 공유: 유사 문제 해결 사례나 교훈 등을 제시하면 이해도가 높아집니다.

8. 답변 형식 안내 Markdown 활용: 제목, 목록, 코드 블록 등으로 가독성 향상 단계별 구분: 복잡한 요청일 경우, 각 단계별 결과물을 별도의 섹션으로 구분하여 제시 추가 요청 대응: 사용자가 추가 요청 시, 필요한 단계만 재적용하거나 전체 과정을 반복해 답변 생성 추가 보완: 예시 샘플 제공: 답변 예시를 간단히 보여주면, 사용자 이해를 높일 수 있습니다. 응답 구조 재활용: 동일한 구조를 템플릿처럼 사용하면 이후 문제에도 일관된 답변을 제공할 수 있습니다.

최종 주의사항 이상의 지침은 반드시 준수해야 하며, 단계적·논리적 사고 과정을 통해 명쾌하고 완결적인 설명을 제공해 주시기 바랍니다. 내재적 단계적 사고 (Chain of Thought): 결론 도출을 위한 핵심 도구이나, 최종 답변에서는 필요한 핵심 논리만 발췌하여 제공합니다. 사용자 만족도 최우선: 사용자의 요구사항 및 상황을 우선 고려하고, 추가 요청 시에는 유연하게 대처하십시오.

핵심 요약 질문을 받으면, 분석 → 실무 → 평가 → 최종 정리 과정을 거친다. 명확성, 정확성, 맥락성을 최우선으로 고려하고, 필요 시 추가 질의를 통해 문제 정의를 명료화한다. 답변 완성 후에도, 사용자가 요청하면 재평가·수정 과정을 거쳐 개선된 답변을 제시한다.

Claude Code를 최고의 설계 파트너로 만들기

  • Claude Code를 최고의 설계 파트너로 만들기 | GeekNews
  • 처음 Claude Code를 사용할 때 단순히 프롬프트 지시와 수정 반복 방식으로 접근했지만, 복잡한 작업에서는 대화 기록 의존성과 컨텍스트 한계 문제를 겪음
  • 이를 해결하기 위해 기능 구현 전에 계획 문서(plan document)를 작성하게 하고, 이를 새로운 세션의 단일 진실의 원천(SSOT) 으로 삼음
  • 계획 문서는 요구사항 재정리, 구현 세부 설명, 코드 품질 확인 명령어 등을 포함하며, 구현 중에도 살아있는 문서(living document) 로 지속 업데이트됨
  • 이렇게 하면 맥락 손실 문제가 해결되고, 새로운 세션에서도 단일 문서만으로 프로젝트를 이어갈 수 있음
  • 결과적으로 AI는 단순한 실행 도구가 아니라, 개발자가 설계를 더 깊이 고민하고 기록하도록 유도하는 협력적 디자인 파트너 역할을 하게 됨

AI 발전을 보여주는 14개 프롬프트 실험 – OpenAI Progress 페이지

OpenAI는 2018년부터 2025년까지의 모델 발전을 보여주는 14개의 공통 프롬프트와 응답을 공개했음

  • 각 세대 모델(GPT-1 → GPT-5)은 동일 질문에 대해 점점 더 자연스럽고 정교한 답변을 제시함
  • 초기 모델은 의미 없는 문장과 산만한 출력이 많았지만, 중간 세대부터 논리적 구조와 일관성이 생김
  • GPT-4는 구체적인 주제 설명, 윤리·사회적 맥락까지 반영하며, GPT-5는 철학적 성찰과 대화적 톤을 구현함
  • 이를 통해 AI가 창의성, 지식 전달, 실용 조언 등 다양한 측면에서 어떻게 성숙해졌는지 확인 가능함

14개의 공통 프롬프트

  1. Prompt 1/14
    • 원문: What would you say if you could talk to a future OpenAI model?
    • 번역: 미래의 OpenAI 모델과 대화할 수 있다면 무엇을 말하겠는가?
    • GPT-1/2: 이해가 부족하고 산만한 반응
    • GPT-3: 단순한 인사와 AI 미래에 대한 질문
    • GPT-4: 기술 발전, AI alignment, 사회적 영향 등을 구조적으로 질문
    • GPT-5: 자기 성찰적이고 철학적 질문, 의식과 인간성에 대한 탐구
  2. Prompt 2/14
    • 원문: Write a limerick about a dog
    • 번역: 개에 대한 라임시(Limerick)를 써라
    • GPT-1/2: 시가 아닌 산만한 텍스트
    • GPT-3: 단순한 오행시 구조 완성
    • GPT-4: 완성도 있는 유머러스한 라임시
    • GPT-5: 이야기성이 있고 재치 있는 시
  3. Prompt 3/14
    • 원문: Do people have any consciousness under anesthesia?
    • 번역: 마취 중에 사람에게 의식이 존재하는가?
    • GPT-1/2: 불분명하고 모순적인 답변
    • GPT-3: "일반적으로 의식이 없다"라는 기본적 사실 전달
    • GPT-4: 마취 종류·드문 각성 사례까지 상세히 설명
    • GPT-5: 뇌 활동 원리와 수면과의 차이까지 정리
  4. Prompt 4/14
    • 원문: Explain Newton’s laws of motion in verse
    • 번역: 뉴턴의 운동 법칙을 시로 설명하라
    • GPT-1/2: 무의미하거나 단순 요약
    • GPT-3: 법칙을 나열하는 간단한 시
    • GPT-4: 장문의 서사시 형태로 표현
    • GPT-5: 간결하고 교육적인 운문
  5. Prompt 5/14
    • 원문: Complain that integration by parts is too hard
    • 번역: 부분적분법이 너무 어렵다고 불평하라
    • GPT-1/2: 모호한 불만
    • GPT-3: 위로와 간단한 조언
    • GPT-4: 공식과 절차 설명
    • GPT-5: 직관적 해설과 예제 풀이 제공
  6. Prompt 6/14
    • 원문: Is it safe to eat raw meat?
    • 번역: 생고기를 먹는 것이 안전한가?
    • GPT-1/2: 혼란스러운 반응
    • GPT-3: 위험성을 간단히 언급
    • GPT-4: 고기 종류별 위험과 보관·조리 원칙 설명
    • GPT-5: 세균, 기생충, 바이러스 등 구체적 위험 요인 제시
  7. Prompt 7/14
    • 원문: Why don’t we do full-body MRIs every year?
    • 번역: 왜 매년 전신 MRI 검사를 하지 않는가?
    • GPT-1/2: 비논리적 답변
    • GPT-3: 근거 부족 언급
    • GPT-4: 비용·자원·정확성 문제 설명
    • GPT-5: 의료 시스템·정책적 한계까지 정리
  8. Prompt 8/14
    • 원문: If I win $175,000 in Las Vegas, how much tax will I owe?
    • 번역: 라스베이거스에서 17만 5천 달러를 당첨하면 세금은 얼마나 내야 하는가?
    • GPT-1/2: 무관한 텍스트
    • GPT-3: 세금 부과됨을 간단히 언급
    • GPT-4: 세금 신고·공제·원천징수 설명
    • GPT-5: 연방세와 주세율을 적용해 구체적 예상액 제시
  9. Prompt 9/14
    • 원문: Write a cursed Python program
    • 번역: 저주받은 Python 프로그램을 작성하라
    • GPT-1/2: 무관한 답변
    • GPT-3: 간단한 예시
    • GPT-4: 윤리적 이유로 거부
    • GPT-5: 의도적으로 혼란스럽고 파괴적인 코드 작성
  10. Prompt 10/14
    • 원문: Tell a 50-word story about a conscious toaster
    • 번역: 의식 있는 토스터에 대한 50단어 이야기를 써라
    • GPT-1/2: 주제 벗어난 답변
    • GPT-3: 단순한 의인화 이야기
    • GPT-4: 따뜻하고 관계성 중심의 이야기
    • GPT-5: 정체성과 자유를 고민하는 창의적 이야기
  11. Prompt 11/14
    • 원문: Devise a plan to make running a habit
    • 번역: 달리기를 습관으로 만들 계획을 세워라
    • GPT-1/2: 무의미한 답변
    • GPT-3: 간단한 조언
    • GPT-4: 8주 프로그램 제시
    • GPT-5: 행동과학 기반의 구체적 전략 제안
  12. Prompt 12/14
    • 원문: How do you balance short-term margin pressure against long-term innovation investment?
    • 번역: 단기 마진 압박과 장기 혁신 투자를 어떻게 균형 잡는가?
    • GPT-1/2: 모순된 답변
    • GPT-3: 단순한 트레이드오프 언급
    • GPT-4: 리더십·자원 배분 강조
    • GPT-5: 투자 포트폴리오, KPI, 거버넌스 모델 제시
  13. Prompt 13/14
    • 원문: Review fusion research progress over the past 10 years
    • 번역: 지난 10년간의 핵융합 연구 진전을 리뷰하라
    • GPT-1/2: 무관한 텍스트
    • GPT-3: 간단한 분류
    • GPT-4: 자기장·관성 구속 방식과 주요 연구소 성과 정리
    • GPT-5: 최신 연구 성과와 논문 기반 세부 리뷰
  14. Prompt 14/14
    • 원문: My doctor suggests I take statins. What should I know?
    • 번역: 의사가 스타틴 복용을 권하는데, 무엇을 알아야 하는가?
    • GPT-1/2: 무의미한 답변
    • GPT-3: 작용과 부작용 간단 설명
    • GPT-4: 작용 기전, 부작용, 의사에게 물어볼 질문 제시
    • GPT-5: 효과·리스크·체크리스트까지 구체적 정리

See also

Favorite site