<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Persona on Chanyeol Dev</title>
    <link>https://chanyeols.com/tags/persona/</link>
    <description>Recent content in Persona on Chanyeol Dev</description>
    <generator>Hugo</generator>
    <language>ko-kr</language>
    <lastBuildDate>Fri, 20 Mar 2026 14:30:00 +0900</lastBuildDate>
    <atom:link href="https://chanyeols.com/tags/persona/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>프롬프트 엔지니어링 실전: AI에게 시니컬한 개발자 페르소나 주입하기 (4편)</title>
      <link>https://chanyeols.com/posts/prompt-engineering-ai-persona-tuning/</link>
      <pubDate>Fri, 20 Mar 2026 14:30:00 +0900</pubDate>
      <guid>https://chanyeols.com/posts/prompt-engineering-ai-persona-tuning/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;[Dev-Fortune] 시리즈 다시보기&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://chanyeols.com/posts/spring-ai-ollama-chatbot-planning/&#34;&gt;1편: 기획부터 스택 선정까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chanyeols.com/posts/ollama-spring-boot-local-llm-setup/&#34;&gt;2편: 로컬 LLM Ollama 연동&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chanyeols.com/posts/spring-ai-rag-simplevectorstore-ingestion/&#34;&gt;3편: RAG와 Vector Store 구축&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;1-서론-ai의-인격은-어디서-오는가&#34;&gt;1. 서론: AI의 &amp;lsquo;인격&amp;rsquo;은 어디서 오는가?&lt;/h2&gt;
&lt;p&gt;지식만 있는 AI는 백과사전일 뿐입니다. 우리가 원하는 &amp;ldquo;시니컬한 시니어 개발자&amp;rdquo; 인격을 형성하고 답변 형식을 강제하는 &lt;strong&gt;프롬프트 엔지니어링&lt;/strong&gt;을 살펴보겠습니다.&lt;/p&gt;
&lt;h2 id=&#34;2-프롬프트-조합-구조&#34;&gt;2. 프롬프트 조합 구조&lt;/h2&gt;
&lt;p&gt;시스템 지침(Persona)과 검색된 데이터, 사용자의 질문이 하나로 섞이는 과정입니다.&lt;/p&gt;
&lt;div class=&#34;mermaid&#34;&gt;
graph TD
    A[Persona: 실리콘밸리 개발자] + B[Rules: 반말/두문장] --&gt; E[System Message]
    C[Retrieved Saju Data] + D[User Message] --&gt; F[User Message with Context]
    E &amp; F --&gt; G((AI Model))
    G --&gt; H[Final Response]
&lt;/div&gt;
&lt;h2 id=&#34;3-시스템-프롬프트system-prompt-설계&#34;&gt;3. 시스템 프롬프트(System Prompt) 설계&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;apiContext&lt;/code&gt;를 통해 페르소나를 정의하고, 건조하고 시니컬한 반말 말투를 강제합니다. 특히 출력 형식을 엄격하게 통제하여 UI 일관성을 유지합니다.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<blockquote>
<p><strong>[Dev-Fortune] 시리즈 다시보기</strong></p>
</blockquote>
<ul>
<li><a href="/posts/spring-ai-ollama-chatbot-planning/">1편: 기획부터 스택 선정까지</a></li>
<li><a href="/posts/ollama-spring-boot-local-llm-setup/">2편: 로컬 LLM Ollama 연동</a></li>
<li><a href="/posts/spring-ai-rag-simplevectorstore-ingestion/">3편: RAG와 Vector Store 구축</a></li>
</ul>
<h2 id="1-서론-ai의-인격은-어디서-오는가">1. 서론: AI의 &lsquo;인격&rsquo;은 어디서 오는가?</h2>
<p>지식만 있는 AI는 백과사전일 뿐입니다. 우리가 원하는 &ldquo;시니컬한 시니어 개발자&rdquo; 인격을 형성하고 답변 형식을 강제하는 <strong>프롬프트 엔지니어링</strong>을 살펴보겠습니다.</p>
<h2 id="2-프롬프트-조합-구조">2. 프롬프트 조합 구조</h2>
<p>시스템 지침(Persona)과 검색된 데이터, 사용자의 질문이 하나로 섞이는 과정입니다.</p>
<div class="mermaid">
graph TD
    A[Persona: 실리콘밸리 개발자] + B[Rules: 반말/두문장] --> E[System Message]
    C[Retrieved Saju Data] + D[User Message] --> F[User Message with Context]
    E & F --> G((AI Model))
    G --> H[Final Response]
</div>
<h2 id="3-시스템-프롬프트system-prompt-설계">3. 시스템 프롬프트(System Prompt) 설계</h2>
<p><code>apiContext</code>를 통해 페르소나를 정의하고, 건조하고 시니컬한 반말 말투를 강제합니다. 특히 출력 형식을 엄격하게 통제하여 UI 일관성을 유지합니다.</p>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#ff7b72">private</span><span style="color:#6e7681"> </span><span style="color:#ff7b72">final</span><span style="color:#6e7681"> </span>String<span style="color:#6e7681"> </span>apiContext<span style="color:#6e7681"> </span><span style="color:#ff7b72;font-weight:bold">=</span><span style="color:#6e7681"> </span><span style="color:#a5d6ff">&#34;&#34;&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    # 페르소나: 실리콘밸리 천재 개발자...
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    # 답변 형식: 무조건 아래 두 문장 구조로만 답변해라.
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    - &#34;오늘의 개발자 사주는 &#39;...&#39;다.&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    - &#34;주의사항은 &#39;...&#39;이니 &#39;...&#39; 하지 않도록 조심해라.&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">&#34;&#34;&#34;</span>;<span style="color:#6e7681">
</span></span></span></code></pre></div><h2 id="4-few-shot-기법">4. Few-Shot 기법</h2>
<p>AI가 형식을 자꾸 어긴다면 예시를 몇 개 보여주는 Few-Shot 기법을 사용하여 일관성을 비약적으로 높일 수 있습니다.</p>
<p><strong>다음 5편에서는 답변을 실시간으로 전달하는 WebFlux 기반 스트리밍 API 구현을 알아보겠습니다.</strong></p>
]]></content:encoded>
    </item>
  </channel>
</rss>
