Prompt Engineering
Prompt Engineering은 model call의 입력을 설계해 출력 품질을 높이는 interaction design 기술이다. AI Agent Architecture가 여러 call/action/observation을 묶는 system structure라면, prompt engineering은 각 model call이 무엇을 어떻게 해야 하는지 명확히 하는 call-level design이다.
Prompt는 입력이 아니라 interface다
- Prompt engineering은 AI에 무엇을 어떻게 지시할지 설계하는 기술이다.[1]
- Prompt는 단순한 입력이 아니라 AI 출력을 안내하는 interface다.[1:1]
- 모델의 응답 품질은 prompt의 구조, 명료성, 맥락 정보에 크게 영향을 받는다 — 좋은 prompt는 모델이 의도를 정확히 이해하게 하고, 불명확·모호한 응답을 줄이며, 결과의 일관성과 정확성을 높인다.[1:2]
좋은 Prompt의 기본 구성 요소
| 구성 요소 | 역할 | 누락 시 실패 |
|---|---|---|
| 역할과 맥락 | model이 어떤 관점에서 답해야 하는지 정한다.[1:3] | 일반론으로 흐르거나 책임 범위를 오해한다. |
| 명확하고 구체적인 지시 | 목표와 조건을 분명히 기술한다.[1:4] | 모호한 요청은 결과를 불명확하게 만든다.[1:5] |
| Few-shot example | 예상되는 응답 형식을 예시로 전달해 model이 패턴을 이해하도록 유도한다.[1:6] | 답변 형식이 흔들리고, 추상 지시를 잘못 해석할 가능성이 커진다. |
| 배경 정보와 입력 맥락 | 판단에 필요한 사실을 제공한다.[1:7] | 모델이 빈칸을 추론으로 메우며 hallucination 위험이 커진다. |
| 결과 평가 기준 | 좋은 출력과 나쁜 출력을 구분하는 기준을 준다.[1:8] | 개선 여부를 검증하기 어렵다. |
Source는 나쁜 예("기술 블로그 글 써줘", "이거 왜 이래?")와 좋은 예("10년 경력 소프트웨어 아키텍트 관점으로, 마이크로서비스 아키텍처의 장단점을 비교하는 800자 기사 작성")를 대비해 이 구성 요소들의 차이를 보여준다.[1:9]
Architecture를 대체하지 않는다
Prompt engineering은 agent architecture를 대체하지 않는다. 대신 architecture 안에서 반복적으로 호출되는 model step의 품질을 높인다. Agent가 실패할 때 원인은 prompt가 모호해서일 수도 있고, orchestration/action/observation 설계가 약해서일 수도 있다.
Prompt engineering은 model 입력 설계다. Tool interface, memory policy, loop control, stopping condition은 prompt만으로 충분히 해결되지 않는다. Prompt는 길수록 좋은 것이 아니다 — 필요한 역할/맥락/지시/기준이 명확해야 하며, 모호한 요구를 많은 말로 덮는 것은 좋은 prompt가 아니다.
Prompt engineering은 이미 만들어진 모델을 수정하지 않고 지시어만으로 원하는 결과를 유도하는 방식이어서, 모델을 추가 학습시키는 파인튜닝과 구분된다.[2] 모델의 파라미터를 바꾸는 학습 시점과 입력만 바꾸는 추론 시점의 경계는 AI and Machine Learning Foundations에서 다룬다.
이 설계가 실패하는 경우
- 목표 출력과 평가 기준 없이 역할만 지정하는 경우.
- 필요한 입력 맥락이 빠진 상태에서 정확한 답을 기대하는 경우.
- 모호한 요청을 prompt 길이로 해결하려는 경우.
- Architecture 문제를 prompt wording 문제로만 보는 경우.
관련
- AI Agent: prompt는 agent 내부 model call의 입력으로 사용될 수 있다.
- AI Agent Architecture: architecture는 prompt가 실행되는 control loop를 설계한다.
- AI agent interaction design: prompt와 architecture의 층위를 통합한다.
출처
테스트 질문
- Prompt engineering은 agent architecture와 어떤 층위 차이가 있는가?
- 좋은 prompt의 기본 구성 요소는 무엇인가?
- Prompt로 해결할 수 없는 agent 실패는 어떤 것인가?
Prompt Engineering.md — "AI에 무엇을 어떻게 지시할지 설계하는 기술", "프롬프트는 단순한 입력이 아니라 AI 출력을 안내하는 인터페이스", "모델의 응답 품질은 프롬프트의 구조, 명료성, 맥락 정보에 크게 영향을 받음", "모델이 의도를 정확히 이해하게 함", "불명확, 모호한 응답을 줄임", "결과의 일관성과 정확성을 높임" (L17-20), "1. 역할과 맥락 지정... 2. 명확하고 구체적 지시... 3. 예시 제공(Few-shot)... 4. 맥락과 입력 정보 제공... 5. 모델이 생성한 결과를 평가할 기준을 프롬프트에 넣음", "목표와 조건을 분명히 기술", "모호한 요청은 결과를 불명확하게 함" (L28-29), "예상되는 응답 형식을 전달하는 예시를 포함", "모델이 패턴을 이해하도록 유도" (L31-32), 나쁜 예/좋은 예 표 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
파인튜닝.md — (L9) "사전 훈련된 모델을 특정 작업에 맞추어 추가로 학습하는 것", (L25) 프롬프트 엔지니어링 열 "이미 만들어진 모델을 수정하지 않고, 지시어(프롬프트)만 잘 만들어서 원하는 결과를 유도함", (L27) 파인튜닝 "O (기존 모델이 수정/업데이트됨)", 프롬프트 엔지니어링 "X (모델은 그대로)" ↩︎