<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Prompt-Engineering on Yarang's Tech Lair</title><link>https://blog.agentthread.dev/ko/tags/prompt-engineering/</link><description>Recent content in Prompt-Engineering on Yarang's Tech Lair</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Sat, 21 Feb 2026 20:40:00 +0900</lastBuildDate><atom:link href="https://blog.agentthread.dev/ko/tags/prompt-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>[LLM] 프롬프트 잘 작성하는 방법</title><link>https://blog.agentthread.dev/ko/post/2026-02-21-002-llm-prompt-guide/</link><pubDate>Sat, 21 Feb 2026 20:40:00 +0900</pubDate><guid>https://blog.agentthread.dev/ko/post/2026-02-21-002-llm-prompt-guide/</guid><description>&lt;h2 id="들어가며"&gt;들어가며
&lt;/h2&gt;&lt;p&gt;LLM(Large Language Model)을 효과적으로 활용하기 위해서는 좋은 프롬프트를 작성하는 것이 필수적입니다. 이 글에서는 프롬프트 엔지니어링의 핵심 원칙과 실전 패턴을 정리합니다.&lt;/p&gt;
&lt;h2 id="좋은-프롬프트의-핵심-원칙"&gt;좋은 프롬프트의 핵심 원칙
&lt;/h2&gt;&lt;h3 id="1-명확성-clarity"&gt;1. 명확성 (Clarity)
&lt;/h3&gt;&lt;p&gt;모호한 표현을 피하고 구체적으로 작성하세요.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;나쁜 예:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;좋은 코드를 작성해줘
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;좋은 예:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Python으로 이진 탐색 트리를 구현해줘.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;insert, search, delete 메서드를 포함하고,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;시간 복잡도는 O(log n)이어야 해.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-컨텍스트-제공-context"&gt;2. 컨텍스트 제공 (Context)
&lt;/h3&gt;&lt;p&gt;LLM이 작업을 이해하는 데 필요한 배경 정보를 제공하세요.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;나는 React 초보자야.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;useState와 useEffect의 차이점을 예제 코드와 함께 설명해줘.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-역할-부여-role-playing"&gt;3. 역할 부여 (Role Playing)
&lt;/h3&gt;&lt;p&gt;특정 전문가의 관점에서 응답하도록 설정하세요.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;당신은 10년 경력의 시니어 백엔드 개발자입니다.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;마이크로서비스 아키텍처의 장단점을 설명해주세요.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-출력-형식-지정-output-format"&gt;4. 출력 형식 지정 (Output Format)
&lt;/h3&gt;&lt;p&gt;원하는 응답 형태를 명시하세요.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;다음 내용을 마크다운 표로 정리해줘:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- 언어별 특징
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- 장단점
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- 사용 사례
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="프롬프트-패턴"&gt;프롬프트 패턴
&lt;/h2&gt;&lt;h3 id="chain-of-thought-사고-과정"&gt;Chain of Thought (사고 과정)
&lt;/h3&gt;&lt;p&gt;복잡한 문제는 단계별로 생각하도록 유도하세요.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;이 문제를 단계별로 생각해보자:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. 먼저 문제를 분석하고
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2. 해결 방법을 고민한 후
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;3. 최종 답변을 작성해
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="few-shot-learning"&gt;Few-Shot Learning
&lt;/h3&gt;&lt;p&gt;예시를 제공하여 원하는 형태를 학습시키세요.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;다음 형식으로 요약해줘:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;입력: &amp;#34;오늘 날씨가 좋다&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;출력: 긍정, 날씨
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;입력: &amp;#34;회의가 너무 길었다&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;출력: 부정, 업무
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;입력: &amp;#34;새로운 프로젝트를 시작했다&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;출력: ?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="구조화된-프롬프트"&gt;구조화된 프롬프트
&lt;/h3&gt;&lt;p&gt;복잡한 작업은 섹션으로 나누어 작성하세요.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;## 목표
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;사용자 인증 API를 설계한다
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;## 요구사항
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- JWT 토큰 사용
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- Refresh token 로테이션
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- Rate limiting 적용
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;## 출력
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. API 엔드포인트 명세
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2. 시퀀스 다이어그램
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;3. 보안 고려사항
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="자주-하는-실수"&gt;자주 하는 실수
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;실수&lt;/th&gt;
					&lt;th&gt;문제점&lt;/th&gt;
					&lt;th&gt;해결책&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;너무 긴 프롬프트&lt;/td&gt;
					&lt;td&gt;핵심이 흐려짐&lt;/td&gt;
					&lt;td&gt;핵심만 간결하게&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;모호한 지시&lt;/td&gt;
					&lt;td&gt;예상과 다른 결과&lt;/td&gt;
					&lt;td&gt;구체적인 예시 제공&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;컨텍스트 누락&lt;/td&gt;
					&lt;td&gt;부정확한 답변&lt;/td&gt;
					&lt;td&gt;배경 정보 추가&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;형식 미지정&lt;/td&gt;
					&lt;td&gt;가독성 저하&lt;/td&gt;
					&lt;td&gt;출력 형식 명시&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="실전-체크리스트"&gt;실전 체크리스트
&lt;/h2&gt;&lt;p&gt;프롬프트 작성 전 확인하세요:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 목표가 명확한가?&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 필요한 컨텍스트를 포함했는가?&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 출력 형식을 지정했는가?&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 제약사항을 명시했는가?&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 예시가 도움이 될 것인가?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="마무리"&gt;마무리
&lt;/h2&gt;&lt;p&gt;좋은 프롬프트는 명확하고, 구체적이며, 필요한 컨텍스트를 제공합니다. 연습을 통해 프롬프트 작성 실력을 향상시키세요.&lt;/p&gt;
&lt;h2 id="참고-자료"&gt;참고 자료
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://platform.openai.com/docs/guides/prompt-engineering" target="_blank" rel="noopener"
 &gt;OpenAI Prompt Engineering Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.anthropic.com/claude/docs/prompt-engineering" target="_blank" rel="noopener"
 &gt;Anthropic Claude Prompt Engineering&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;영어 버전:&lt;/strong&gt; &lt;a class="link" href="https://blog.agentthread.dev/post/2026-02-21-002-how-to-write-effective-llm-prompts/" &gt;English Version&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>