채팅박스 너머: 프롬프트 엔지니어링
Source: Dev.to
우리는 모두 그런 경험을 해봤습니다. AI에게 특정 코드 조각이나 전략적 분석을 요청했지만, AI는 정중하지만 약간 빗나간 “긴 텍스트 블록”으로 답변합니다. AI 에이전트를 구축하는 개발자에게는 대화형 프롬프트가 곧 병목 현상이 됩니다—논리에는 너무 모호하고 복잡한 워크플로우에는 너무 정돈되지 않기 때문입니다. 신뢰할 수 있는 시스템을 만들기 위해서는 AI와 대화하는 방식을 멈추고, 우리의 지시를 설계해야 합니다.
이 글에서는 LLM과 상호작용하는 방식을 완전히 바꾸어 놓는 세 가지 독특한 프롬프트 스타일을 살펴봅니다:
- Narrative Style – AI의 사전 예측 지능을 촉발시키는 의도 기반 사용자 스토리.
- Workflow Style – 완벽한 실행을 위한 단계별 운영 매뉴얼.
- Logic Style – 에지 케이스와 데이터 검증을 처리하기 위한 엄격한 Given‑When‑Then 제약.
이 스타일들을 마스터하는 것이 “유용한 장난감”과 프로덕션 수준 에이전트 사이의 차이를 만듭니다. 이제 깊이 들어가 보겠습니다.
Source: …
Narrative Style
Narrative 스타일은 User Story 프레임워크를 사용하여 AI에게 고수준 관점을 제공합니다. 모델을 컨설턴트로 간주하여 내부 세계 모델을 활용해 놓친 부분을 메우면서 최적의 경로를 찾도록 돕습니다.
가장 적합한 경우: 브레인스토밍, 초기 초안 작성, 전략적 기획, 창의적 문제 해결.
구현 팁: “So That” 절에 가장 많은 시간을 투자하세요. 이것이 AI에게 어느 방향으로 기울어야 할지를 알려주는 Intelligence Trigger입니다.
Example
As a Lead Backend Engineer, I want to design a RESTful API for a high‑traffic e‑commerce cart, so that the system remains performant under load and handles partial failures gracefully.
재사용 가능한 템플릿:
# ROLE
As a [Insert Persona/Role/Title],
# INTENT
I want to [Insert specific task or output],
# CONTEXT/GOAL
So that [Insert the ultimate “Why” and the desired value].
Workflow Style
Workflow 스타일은 AI를 매뉴얼을 따르는 운영자로 취급합니다. 대화를 what에서 how로 이동시켜, 에이전트가 특정 사고 또는 행동 순서를 따르도록 보장합니다.
Best for: 다단계 코딩 작업, 문서 처리, 그리고 반복 가능한 에이전트 행동.
Implementation tip: post‑conditions을 사용하여 Success State를 정의하세요. 이렇게 하면 AI가 반쯤 만든 응답으로 끝나는 것을 방지할 수 있습니다.
Example
Actor: Senior Security Researcher
Goal: Identify potential SQL injection and XSS vulnerabilities in the provided PR.
Main Flow:
1. Scan the input code for any unsanitized user inputs.
2. Trace those inputs to database queries or DOM manipulation points.
3. Categorize risks as Low, Medium, or High.
Post‑conditions: Output must be a Markdown table summarizing the risks and suggesting specific remediation code.
다음은 적용할 수 있는 일반적인 스캐폴드입니다:
## [AGENT ROLE]
**배역:** [인물 정의]
## [목표]
**목표:** [최종 결과를 설명하세요]
## [프로세스]
**주요 흐름:**
1. [단계 1]
2. [단계 2]
3. [단계 3]
## [성공 기준]
**후조건:** [포맷, 톤 또는 전달 요구 사항 지정]
## 로직 스타일
로직 스타일(Given‑When‑Then)은 고위험 정밀성을 위해 설계되었습니다. 프롬프트를 단위 테스트처럼 다루어 특정 조건이 항상 특정 결과를 유발하도록 보장합니다. AI의 “창의성” 여지를 거의 남기지 않습니다.
**가장 적합한 경우:** 데이터 변환(JSON/CSV), 엄격한 가드레일 적용, 복잡한 비즈니스 규칙 처리.
**구현 팁:** “대충 맞다”가 충분하지 않을 때 사용하세요. 자체 교정 루프에서 특히 빛을 발합니다.
### 시나리오 예시
```text
**Given:** 날짜와 사용자 이름이 포함된 원시 문자열.
**When:** 날짜 형식이 ISO‑8601이 아닐 때.
**Then:** 날짜를 YYYY‑MM‑DD 형식으로 변환하고 `warning` 키를 가진 JSON 객체로 출력에 감쌉니다.
여러 시나리오에 대해 이 패턴을 반복할 수 있습니다:
### SCENARIO: [특정 조건의 제목]
* **Given:** [입력 또는 컨텍스트의 상태]
* **When:** [트리거 또는 행동]
* **Then:** [정확하고 협상 불가능한 출력 또는 동작]
올바른 스타일 선택
| 프롬프트 요구사항 | 추천 스타일 | 이유 |
|---|---|---|
| 불명확하거나 개방형 질문 | Narrative | 모델의 내부 지식을 활용하여 가능성을 탐색합니다. |
| 재현 가능한 절차가 필요함 | Workflow | 각 단계가 실행되도록 보장하는 엄격한 순서를 제공합니다. |
| 규칙이 많거나 기술적 요구사항 | Logic | 정밀한 조건과 출력을 강제하는 논리 게이트 역할을 합니다. |
The Trinity at a Glance
- Workflow Style: 빌더가 필요할 때 사용합니다. 복잡하고 다단계 작업에서 아무 것도 누락되지 않도록 엄격한 작업 순서를 제공합니다.
- Logic Style: 게이트키퍼가 필요할 때 사용합니다. 정밀함이 절대 양보될 수 없는 고위험 엣지 케이스를 처리하기 위해 Given‑When‑Then 규칙을 적용합니다.
- Narrative Style: 컨설턴트가 필요할 때 사용합니다. 의도와 맥락을 설정하여 모델이 정보에 기반한 제안을 통해 빈틈을 메울 수 있게 합니다.
개발자의 엣지
AI‑지원 개발에서 프롬프트는 코드와 같습니다. 부실한 프롬프트는 기술 부채가 될 위험이 있습니다. Trinity—Narrative, Workflow, Logic—를 채택하면 단순히 도움을 요청하는 것이 아니라 솔루션을 설계하는 것입니다. 올바른 구조는 환각을 줄이고 신뢰성을 높이며 “유용한 장난감”을 생산‑준비가 된 에이전트로 전환합니다.