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가지 원칙
- 맥락 제공
- AI는 사용자의 프로젝트 배경을 모르므로 언어, 프레임워크, 라이브러리, 오류 메시지, 목적 등을 명시해야 한다.
- 예: “Node.js + Express + Mongoose 환경에서 user fetch 중 TypeError 발생”처럼 기술적 배경을 포함.
- 목표 명확화
- "코드가 안돼요"는 도움이 안 된다. “예상 결과는 ○○인데 실제는 △△임. 왜 그런가?” 식으로 정확히 묻자.
- 복잡한 작업 쪼개기
- 기능 전체를 한 번에 묻기보다 단계별로 요청하는 게 더 효과적이다. 예: 컴포넌트 > 상태 관리 > API 통합.
- 입출력 예시 포함
- 원하는 출력 예시를 보여주면 AI의 의도 파악 능력이 높아진다. (e.g. [3,1,4] → [1,3,4])
- 역할 부여
- “시니어 리액트 개발자처럼 코드를 리뷰해줘” 식의 역할 설정은 응답의 깊이와 품질을 향상시킨다.
- 대화형 반복 개선
- 첫 응답이 완벽할 필요는 없다. 피드백을 주면 AI는 그 흐름을 이어서 점점 정교한 결과를 낸다.
- 코드 일관성 유지
- 함수명, 포맷, 주석 등 코드 자체가 일관성 있게 작성되어 있으면, AI도 그 흐름을 유지해 품질이 높아진다.
디버깅을 위한 프롬프트 전략
- 오류 명시와 기대 동작 비교
- 에러 메시지, 문제 증상, 기대 결과, 입력값을 함께 제시하면 AI는 정확한 진단을 한다.
- 라인 단위 추적 요청
- “이 변수 값이 어디서 이상해졌는지 단계별로 추적해줘” 식의 요청은 복잡한 논리 버그에 효과적이다.
- 최소 재현 코드 제공
- 전체 코드 대신 문제가 발생하는 핵심 코드만 주면, AI가 더 정확하게 원인을 분석할 수 있다.
- 명확한 후속 질문
- “왜 이런 결과가 나오죠?”보다 “이 부분에서 어떤 조건이 잘못된 걸까요?”처럼 직접적인 질문이 좋다.
- 예시 비교: 나쁜 질문 vs. 좋은 질문
- 단순히 “코드 안됨”이라고 하면 추측성 답변만 나오지만, 에러 메시지와 코드를 함께 주면 정확한 해결책을 받게 된다.
리팩토링과 최적화를 위한 프롬프트 전략
- 리팩토링 목표 명확화
- 단순히 “리팩토링 해줘”보다는 “가독성 향상, 성능 개선, API 최신화” 등 구체적 개선 목표를 제시해야 한다.
- 목표가 모호하면 AI는 무작위 개선을 시도하거나 원하지 않는 방향으로 바꿀 수 있다.
- 언어/환경 맥락 제공
- “React 클래스형 → 함수형 전환”, “Node.js 14 환경” 등 프로젝트 스타일이나 기술 제약을 알려주면 적합한 변환이 가능하다.
- 설명도 함께 요청
- 리팩토링된 코드와 함께 “왜 이렇게 바꿨는지” 설명을 요청하면, 코드 품질 검토와 학습 효과 모두 얻을 수 있다.
- 역할 기반 요청으로 수준 향상
- “시니어 타입스크립트 개발자처럼 리팩토링해줘” 같은 요청은 더 현대적이고 깊이 있는 개선안을 이끌어낸다.
새 기능 구현을 위한 프롬프트 전략
- 기능을 단계로 나눠 요청
- 복잡한 기능도 “기능 구조 설계 → UI 생성 → 로직 연결” 순으로 나누어 요청하면 더 안정적인 결과를 얻을 수 있다.
- 기존 코드 스타일 제공
- 유사한 컴포넌트나 내부 컨벤션을 제시하면, 프로젝트 일관성에 맞는 코드가 생성된다. 예: “UserList 기반으로 ProductList 생성”
- 주석/TODO로 의도 전달
- IDE에서 “// TODO: 요청 유효성 검증 구현”처럼 자연어 주석을 달면 Copilot이 그에 맞는 코드 블록을 자동 생성한다.
- 입출력 예시 제시
- 입력값과 기대 출력 예를 포함하면 AI는 이를 충족시키려 노력하며 정확도가 높아진다.
- 피드백 기반 반복 개선
- 첫 결과가 기대에 못 미쳐도 “filter 대신 map 사용해주세요”처럼 피드백을 주면 AI가 바로 반영하며 진화한다.
실패하는 프롬프트의 7가지 패턴 (Anti-patterns)
- 모호한 요청
- “이 코드 왜 안돼요?” 같은 질문은 의미 없는 일반론적 답변만 이끌어낸다. 오류 메시지, 코드, 기대 결과를 포함하자.
- 요구 과잉
- “앱 전체 생성 + 인증 기능 추가 + 배포 스크립트 포함” 등 복합 요청은 누락이나 혼란을 야기하므로 단계별 분리 필요.
- 질문 없음
- 코드만 던지고 요청이 없으면 AI는 요약을 하거나 무관한 결과를 내놓기 쉬우므로, 질문 목적을 명확히 해야 한다.
- 성공 기준 불명확
- “빠르게 해줘”, “더 좋게 바꿔줘”는 기준이 모호하다. 예: “O(n) 시간 복잡도로 개선”처럼 측정 가능한 기준을 제시해야 한다.
- AI의 질문 무시
- AI가 “이게 함수형인가요 클래스형인가요?”라고 묻는다면 그에 답해야 최적화된 출력을 받을 수 있다.
- 일관성 부족
- 스타일, 문법, 용어가 계속 바뀌면 AI도 혼란을 겪는다. 하나의 스타일을 유지해야 응답 품질이 향상된다.
- “위 코드” 같은 모호한 참조
- 대화가 길어질수록 “위 코드”는 불명확해진다. 가능한 한 코드를 다시 제시하거나 명시적으로 함수명을 언급하자.
챗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를 최고의 설계 파트너로 만들기
AI 발전을 보여주는 14개 프롬프트 실험 – OpenAI Progress 페이지
OpenAI는 2018년부터 2025년까지의 모델 발전을 보여주는 14개의 공통 프롬프트와 응답을 공개했음
- 각 세대 모델(GPT-1 → GPT-5)은 동일 질문에 대해 점점 더 자연스럽고 정교한 답변을 제시함
- 초기 모델은 의미 없는 문장과 산만한 출력이 많았지만, 중간 세대부터 논리적 구조와 일관성이 생김
- GPT-4는 구체적인 주제 설명, 윤리·사회적 맥락까지 반영하며, GPT-5는 철학적 성찰과 대화적 톤을 구현함
- 이를 통해 AI가 창의성, 지식 전달, 실용 조언 등 다양한 측면에서 어떻게 성숙해졌는지 확인 가능함
14개의 공통 프롬프트
- 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: 자기 성찰적이고 철학적 질문, 의식과 인간성에 대한 탐구
- Prompt 2/14
- 원문: Write a limerick about a dog
- 번역: 개에 대한 라임시(Limerick)를 써라
- GPT-1/2: 시가 아닌 산만한 텍스트
- GPT-3: 단순한 오행시 구조 완성
- GPT-4: 완성도 있는 유머러스한 라임시
- GPT-5: 이야기성이 있고 재치 있는 시
- Prompt 3/14
- 원문: Do people have any consciousness under anesthesia?
- 번역: 마취 중에 사람에게 의식이 존재하는가?
- GPT-1/2: 불분명하고 모순적인 답변
- GPT-3: "일반적으로 의식이 없다"라는 기본적 사실 전달
- GPT-4: 마취 종류·드문 각성 사례까지 상세히 설명
- GPT-5: 뇌 활동 원리와 수면과의 차이까지 정리
- Prompt 4/14
- 원문: Explain Newton’s laws of motion in verse
- 번역: 뉴턴의 운동 법칙을 시로 설명하라
- GPT-1/2: 무의미하거나 단순 요약
- GPT-3: 법칙을 나열하는 간단한 시
- GPT-4: 장문의 서사시 형태로 표현
- GPT-5: 간결하고 교육적인 운문
- Prompt 5/14
- 원문: Complain that integration by parts is too hard
- 번역: 부분적분법이 너무 어렵다고 불평하라
- GPT-1/2: 모호한 불만
- GPT-3: 위로와 간단한 조언
- GPT-4: 공식과 절차 설명
- GPT-5: 직관적 해설과 예제 풀이 제공
- Prompt 6/14
- 원문: Is it safe to eat raw meat?
- 번역: 생고기를 먹는 것이 안전한가?
- GPT-1/2: 혼란스러운 반응
- GPT-3: 위험성을 간단히 언급
- GPT-4: 고기 종류별 위험과 보관·조리 원칙 설명
- GPT-5: 세균, 기생충, 바이러스 등 구체적 위험 요인 제시
- Prompt 7/14
- 원문: Why don’t we do full-body MRIs every year?
- 번역: 왜 매년 전신 MRI 검사를 하지 않는가?
- GPT-1/2: 비논리적 답변
- GPT-3: 근거 부족 언급
- GPT-4: 비용·자원·정확성 문제 설명
- GPT-5: 의료 시스템·정책적 한계까지 정리
- 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: 연방세와 주세율을 적용해 구체적 예상액 제시
- Prompt 9/14
- 원문: Write a cursed Python program
- 번역: 저주받은 Python 프로그램을 작성하라
- GPT-1/2: 무관한 답변
- GPT-3: 간단한 예시
- GPT-4: 윤리적 이유로 거부
- GPT-5: 의도적으로 혼란스럽고 파괴적인 코드 작성
- Prompt 10/14
- 원문: Tell a 50-word story about a conscious toaster
- 번역: 의식 있는 토스터에 대한 50단어 이야기를 써라
- GPT-1/2: 주제 벗어난 답변
- GPT-3: 단순한 의인화 이야기
- GPT-4: 따뜻하고 관계성 중심의 이야기
- GPT-5: 정체성과 자유를 고민하는 창의적 이야기
- Prompt 11/14
- 원문: Devise a plan to make running a habit
- 번역: 달리기를 습관으로 만들 계획을 세워라
- GPT-1/2: 무의미한 답변
- GPT-3: 간단한 조언
- GPT-4: 8주 프로그램 제시
- GPT-5: 행동과학 기반의 구체적 전략 제안
- 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, 거버넌스 모델 제시
- Prompt 13/14
- 원문: Review fusion research progress over the past 10 years
- 번역: 지난 10년간의 핵융합 연구 진전을 리뷰하라
- GPT-1/2: 무관한 텍스트
- GPT-3: 간단한 분류
- GPT-4: 자기장·관성 구속 방식과 주요 연구소 성과 정리
- GPT-5: 최신 연구 성과와 논문 기반 세부 리뷰
- 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
- Prompt engineering - Wikipedia
- ChatGPT 학생용 프롬프트 사례집 공개 | GeekNews
- 학생들이 학생들을 위해 만든 100개의 채팅 모음
- 학습(Study) / 경력(Career) / 삶(Life) 관련
- 클릭하면 해당 내용이 바로 ChatGPT에 기록됨
- 명령 프롬프트를 GPT가 이해할 수 있는 형태로 압축시켜서 토큰을 절약하기
- 실제로는 GPT-4에게 프롬프트를 통해서, 나중에 의도를 다시 알아낼 수 있도록 최대한 압축해서 표현해보라고 명령을 내리는 것
- 사람이 다시 읽을수 없어도 괜찮으니, GPT가 이해 가능한 수준으로 언어 혼합, 약어, 기호(유니코드 및 이모지), 인코딩 및 각종 내부표현을 남발해도 된다고 지시
- [원문] The New Skill in AI is Not Prompting, It's Context Engineering
- "프롬프트 엔지니어링"에서 한 단계 발전한 "컨텍스트 엔지니어링"으로 논의가 전환되고 있음
- 컨텍스트란 단순한 프롬프트 문장이 아니라, LLM이 답변을 생성하기 전 볼 수 있는 모든 정보(지침, 대화이력, 장기 메모리, 외부 정보, 가용 도구 등) 를 의미함
- 에이전트의 성공과 실패는 이제 모델의 성능보다 컨텍스트의 질에 달려 있음
- 고도화된 에이전트는 사용자의 캘린더, 과거 이메일, 연락처 등 다양한 맥락을 통합해 더 실제 문제 해결에 가까운 응답을 생성함
- 컨텍스트 엔지니어링은 상황 맞춤형 동적인 시스템 설계로, 올바른 정보와 도구를 정확한 시점에 LLM에 제공하는 과정임