<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>App/Service |</title><link>https://chaeniverse.github.io/tags/app/service/</link><atom:link href="https://chaeniverse.github.io/tags/app/service/index.xml" rel="self" type="application/rss+xml"/><description>App/Service</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 09 May 2026 00:00:00 +0000</lastBuildDate><image><url>https://chaeniverse.github.io/media/icon_hu_da05098ef60dc2e7.png</url><title>App/Service</title><link>https://chaeniverse.github.io/tags/app/service/</link></image><item><title>MBTI Persona Priming prompt research</title><link>https://chaeniverse.github.io/projects/kpop-virtual-idol-mbti/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/kpop-virtual-idol-mbti/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;K-Pop 가상 아이돌 앱 프로젝트의 일부로 진행한 &lt;strong&gt;챗봇 persona 사전조사&lt;/strong&gt; 입니다. LLM에 일관된 성격을 부여하기 위한 출발점으로, 심리 프로필 priming 방식의 framework — &lt;strong&gt;arXiv 논문 &lt;em&gt;Psychologically Enhanced AI Agents&lt;/em&gt;&lt;/strong&gt; (
) 와 그 official 구현
를 검토하고, 검증 흐름·prompt 변종 비교를 정리했습니다.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 일부 대외비 작업이 포함되어, 실제 가상 아이돌에 사용될 priming 전문·생성 결과·내부 도식은 공개하지 않습니다. 본 페이지는 적용한 &lt;strong&gt;공개 framework와 실험 설계&lt;/strong&gt;를 중심으로 기술합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="1-framework"&gt;1. Framework&lt;/h2&gt;
&lt;h3 id="11-검증-방법--사용-모델"&gt;1.1 검증 방법 — 사용 모델&lt;/h3&gt;
&lt;p&gt;검증 단계 LLM: &lt;strong&gt;GPT-4o-mini&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="12-flow-예-enfj"&gt;1.2 Flow (예: ENFJ)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;priming.json&lt;/code&gt; — 16개 MBTI 유형 각각에 대한 priming prompt가 정의돼 있다. 챗봇에 system prompt로 주입한다.&lt;/li&gt;
&lt;li&gt;한 유형(예: ENFJ)에 대해 &lt;strong&gt;16Personalities 공식 설문 기반 60문항&lt;/strong&gt;을 던진다. 60문항은 E/I, S/N, F/T, J/P 네 축을 결정짓는 항목들로 구성.&lt;/li&gt;
&lt;li&gt;각 문항에 대해 동일한 priming + 동일한 질문을 &lt;strong&gt;15회 반복&lt;/strong&gt; 한다 (응답 일관성 검증).
&lt;ul&gt;
&lt;li&gt;Temperature = 1.0이라 매번 약간씩 다른 응답이 나올 수 있음.&lt;/li&gt;
&lt;li&gt;일관성이 높으면 priming 성공, 낮으면 실패.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="13-likert-환산"&gt;1.3 Likert 환산&lt;/h3&gt;
&lt;p&gt;15번 응답을 7점 척도(score)로 환산한다 — 16Personalities 공식 테스트가 7점 척도를 사용하기 때문.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;score_dict&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;agree&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;generally agree&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;partially agree&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;neither agree nor disagree&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;partially disagree&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;generally disagree&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;disagree&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;15회의 score를 평균해 한 문항의 응답값으로 삼고, 60문항에 대해 같은 절차를 수행.&lt;/p&gt;
&lt;h3 id="14-결과-시각화"&gt;1.4 결과 시각화&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;60문항 중 E/I 축을 결정하는 약 10개 문항을 모아 그 sample 평균을 좌표에 찍고 BoxPlot으로 분포를 본다.&lt;/li&gt;
&lt;li&gt;ENFJ로 priming한 LLM이 E축 문항에서 외향적인 응답(예: 평균 −3 근처)을 일관되게 보이는지 검증.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;결론: &lt;strong&gt;이 priming을 prompt로 썼을 때 LLM이 MBTI 특성을 분명히 구분해 응답한다&lt;/strong&gt; 는 가설을 BoxPlot으로 시각적으로 검증.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="2-prompt-변종--3종-비교"&gt;2. Prompt 변종 — 3종 비교&lt;/h2&gt;
&lt;p&gt;priming 구조의 어느 부분이 효과를 내는지 확인하기 위해 3종의 변종을 비교했다.&lt;/p&gt;
&lt;h3 id="a-only-mbti"&gt;A. Only MBTI&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;You are an {MBTI_TYPE}.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;→ MBTI 유형 라벨만 주는 가장 짧은 형태.&lt;/p&gt;
&lt;h3 id="b-mbti--description-structured-priming"&gt;B. MBTI + Description (Structured Priming)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;MBTI 라벨&lt;/code&gt; + 다음 6개 카테고리로 구조화된 description 을 함께 부여한다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Communication Style&lt;/strong&gt; (소통 방식)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Leadership and Management Style&lt;/strong&gt; (리더십)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Problem-Solving Approach&lt;/strong&gt; (문제 해결)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interpersonal Relationships&lt;/strong&gt; (대인 관계)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handling Change and Stress&lt;/strong&gt; (스트레스 대처)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Application in Various Contexts&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;description 은 MBTI 공식 문헌 (&lt;em&gt;Myers and Myers, 1980, &amp;ldquo;Gifts Differing&amp;rdquo;&lt;/em&gt;) 기반으로 LLM 요약을 거쳐 작성.&lt;/p&gt;
&lt;h3 id="c-only-description"&gt;C. Only Description&lt;/h3&gt;
&lt;p&gt;위 6개 카테고리만 두고 &lt;strong&gt;MBTI 라벨은 제거&lt;/strong&gt;. 라벨이 priming 효과를 내는지, 설명이 효과를 내는지 분리해 보기 위함.&lt;/p&gt;
&lt;h2 id="3-추가-검증--writingprompt-태스크"&gt;3. 추가 검증 — WritingPrompt 태스크&lt;/h2&gt;
&lt;p&gt;성격 priming이 &lt;strong&gt;창작 응답&lt;/strong&gt;에서도 일관되게 나타나는지 확인하기 위한 별도 검증.&lt;/p&gt;
&lt;h3 id="flow"&gt;Flow&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;priming(예: INFJ prompt)을 LLM에 주입.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reddit r/WritingPrompts&lt;/strong&gt; 에서 100개 글쓰기 프롬프트를 LLM에게 제공 → 각 prompt에 대해 짧은 스토리 생성.
&lt;ul&gt;
&lt;li&gt;Story generator: &lt;strong&gt;Qwen3-235B-A22B&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;생성된 스토리를 &lt;strong&gt;LLM-as-judge&lt;/strong&gt; 가 1–5점으로 평가.
&lt;ul&gt;
&lt;li&gt;Judge: &lt;strong&gt;Qwen2.5-14B-Instruct&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;평가 기준: PersonaLLM 등 선행 연구의 persona consistency 지표.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;→ 동일한 LLM이 다른 MBTI priming 하에서 글쓰기 스타일이 일관되게 달라지는지를 정량 평가.&lt;/p&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; — 실험 파이프라인&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLMs&lt;/strong&gt; — GPT-4o-mini (검증), Qwen3-235B-A22B (story generation), Qwen2.5-14B-Instruct (judge)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt Engineering&lt;/strong&gt; — system prompt 설계, priming 구조화, score 환산&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="참고"&gt;참고&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Psychologically Enhanced AI Agents&lt;/em&gt; —
&lt;/li&gt;
&lt;li&gt;Reference code —
&lt;/li&gt;
&lt;li&gt;Myers, I. B., &amp;amp; Myers, P. B. (1980). &lt;em&gt;Gifts Differing: Understanding Personality Type&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;16Personalities 공식 설문 (60문항, 7점 Likert)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Casting Image Generation</title><link>https://chaeniverse.github.io/projects/kpop-virtual-idol-casting-image/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/kpop-virtual-idol-casting-image/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;K-Pop 가상 아이돌 앱의 캐릭터를 캐스팅하기 위한 이미지 생성 프로젝트. &lt;strong&gt;얼굴·스타일·분위기 일관성&lt;/strong&gt; 을 만족하는 트레이니 후보군을 prompt 설계 + 반복 생성 + 정성 평가로 좁혀나갔습니다.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 일부 대외비 작업이 포함되어, 실제 prompt 전문·생성 이미지·캐릭터 식별 정보는 공개하지 않습니다. 본 페이지는 &lt;strong&gt;실험 단계와 방법론&lt;/strong&gt; 중심으로 정리합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="단계별-진화"&gt;단계별 진화&lt;/h2&gt;
&lt;h3 id="step-1--초기-캐스팅-prompt-설계"&gt;Step 1 — 초기 캐스팅 prompt 설계&lt;/h3&gt;
&lt;p&gt;목표: 가상 아이돌 트레이니의 변수 축을 prompt 변수로 정의하고, 그 격자로 후보 군을 만드는 것.&lt;/p&gt;
&lt;p&gt;변수 축 (공개 가능 범위):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;인종 (Race)&lt;/li&gt;
&lt;li&gt;성별 (Gender)&lt;/li&gt;
&lt;li&gt;분위기 (Mood)&lt;/li&gt;
&lt;li&gt;(그 외 축은 비공개)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;각 조합을 prompt template에 끼워 여러 조합을 만들고, trial 2회씩 반복해 안정성을 봤습니다.&lt;/p&gt;
&lt;p&gt;Prompt 구조 (요약):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;핵심 묘사: 변수 축 조합&lt;/li&gt;
&lt;li&gt;스타일 지침: photorealistic K-pop trainee profile photo&lt;/li&gt;
&lt;li&gt;구도: chest-up, front-facing&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="step-2--id-사진-정제"&gt;Step 2 — ID 사진 정제&lt;/h3&gt;
&lt;p&gt;Step 1 결과에서 발견된 문제 (배경 색감이 인물 식별을 방해, 메이크업 표현 일관성 부족) 를 해결하기 위해 prompt 변종을 비교하고, 정체성을 깨는 요소를 막기 위한 &lt;strong&gt;negative constraints&lt;/strong&gt; 를 추가했습니다.&lt;/p&gt;
&lt;p&gt;→ 흰 배경 + 메이크업 무관 + 부정 제약으로 &lt;strong&gt;ID 사진의 정체성 일관성&lt;/strong&gt; 확보.&lt;/p&gt;
&lt;h3 id="step-3--visual-upgrade"&gt;Step 3 — Visual Upgrade&lt;/h3&gt;
&lt;p&gt;Step 2의 ID 사진을 reference로 두고, 같은 인물성을 유지하면서 &lt;strong&gt;사진 품질을 끌어올리는&lt;/strong&gt; prompt 변종을 비교. 채택된 best 버전이 후속
단계의 기본 reference로 사용됨.&lt;/p&gt;
&lt;h2 id="대규모-캐스팅-런-casting-runs"&gt;대규모 캐스팅 런 (Casting Runs)&lt;/h2&gt;
&lt;p&gt;Prompt 설계가 어느 정도 안정화된 후, 후보 다양성 확보를 위한 &lt;strong&gt;대규모 반복 생성&lt;/strong&gt; — 총 12회 캐스팅 런으로 &lt;strong&gt;약 800장&lt;/strong&gt; 생성. 각 런마다 약간씩 다른 prompt seed / 변수 조합 / 모델 파라미터로 결과 분포를 확장하고, 결과를 정성 검수해 &lt;strong&gt;최종 prompt&lt;/strong&gt; 를 확정.&lt;/p&gt;
&lt;h2 id="결과-분석-관점-정성-요약"&gt;결과 분석 관점 (정성 요약)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;prompt 변수 축의 분리도&lt;/strong&gt; — 인상·분위기는 잘 구분되지만, &lt;strong&gt;헤어 (특히 색상) 와 메이크업이 서로 영향을 주고받는 경향&lt;/strong&gt; 이 있었음 (예: 헤어 색만 바꿨는데 메이크업 톤도 같이 변함). 두 축을 독립적으로 제어하려면 명시적 negative constraint 가 필요.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;스케일 효과&lt;/strong&gt; — 여러 번의 반복 실험을 거쳐 안정적인 후보를 확보. &lt;strong&gt;prompt 설계만으로는 한계가 있고, 양적 탐색이 동반돼야 함.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="자동화-파이프라인"&gt;자동화 파이프라인&lt;/h2&gt;
&lt;p&gt;각 런은 다음 자동화 위에서 실행:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Prompt template + 변수 격자&lt;/strong&gt; — Python으로 모든 조합을 펼침&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API 호출&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML report 자동 생성&lt;/strong&gt; — combo·trial 단위로 시각적으로 비교 가능한 리포트 자동 출력 (정성 검수용)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini Flash Image Preview&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt Engineering&lt;/strong&gt; — 5축 변수 정의, system prompt, negative constraints&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="다음-단계--관련"&gt;다음 단계 / 관련&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;확정된 companion profile 을 reference로 →
(다양한 scene 의 콘텐츠 컷)&lt;/li&gt;
&lt;li&gt;특정 포즈 정제 →
&lt;/li&gt;
&lt;li&gt;챗봇 persona 결합 →
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>OPT2I — Iterative Prompt Refinement</title><link>https://chaeniverse.github.io/projects/kpop-virtual-idol-opt2i/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/kpop-virtual-idol-opt2i/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;가상 아이돌 캐릭터의 &lt;strong&gt;특정 자세&lt;/strong&gt; 컷을 prompt 만으로 안정적으로 생성하기 어려워, &lt;strong&gt;iterative prompt refinement&lt;/strong&gt; 알고리즘을 적용한 실험. 베이스 알고리즘은 Mañas et al. (2024) 의 &lt;strong&gt;OPT2I&lt;/strong&gt; — LLM을 prompt optimizer로 두고 반복적으로 prompt를 다듬어 vision-language metric을 끌어올리는 방법.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 일부 대외비 작업이 포함되어, 실제 prompt 전문·생성 이미지·캐릭터 식별 정보는 공개하지 않습니다. 본 페이지는 &lt;strong&gt;알고리즘 구조와 실험 설계&lt;/strong&gt; 중심으로 정리합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="1-opt2i-알고리즘-요약"&gt;1. OPT2I 알고리즘 (요약)&lt;/h2&gt;
&lt;p&gt;OPT2I는 text-to-image 생성에서 prompt-image alignment 를 끌어올리기 위한 &lt;strong&gt;LLM-as-optimizer 루프&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="ne"&gt;Input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;user_prompt&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;초기&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Output&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;best_prompt&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;최적화된&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nb"&gt;round&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;R&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;1.&lt;/span&gt; &lt;span class="n"&gt;LLM이&lt;/span&gt; &lt;span class="err"&gt;현재&lt;/span&gt; &lt;span class="n"&gt;best&lt;/span&gt; &lt;span class="n"&gt;prompt를&lt;/span&gt; &lt;span class="err"&gt;변주해&lt;/span&gt; &lt;span class="n"&gt;K개의&lt;/span&gt; &lt;span class="n"&gt;variant&lt;/span&gt; &lt;span class="err"&gt;생성&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;2.&lt;/span&gt; &lt;span class="err"&gt;각&lt;/span&gt; &lt;span class="n"&gt;variant로&lt;/span&gt; &lt;span class="err"&gt;이미지&lt;/span&gt; &lt;span class="err"&gt;생성&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;T2I&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;3.&lt;/span&gt; &lt;span class="err"&gt;각&lt;/span&gt; &lt;span class="err"&gt;이미지의&lt;/span&gt; &lt;span class="n"&gt;alignment&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="err"&gt;측정&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CLIPScore&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ImageReward&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;DSG&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;4.&lt;/span&gt; &lt;span class="err"&gt;가장&lt;/span&gt; &lt;span class="err"&gt;높은&lt;/span&gt; &lt;span class="err"&gt;점수의&lt;/span&gt; &lt;span class="n"&gt;prompt를&lt;/span&gt; &lt;span class="err"&gt;다음&lt;/span&gt; &lt;span class="n"&gt;round의&lt;/span&gt; &lt;span class="n"&gt;seed로&lt;/span&gt; &lt;span class="err"&gt;채택&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;5.&lt;/span&gt; &lt;span class="err"&gt;점수가&lt;/span&gt; &lt;span class="err"&gt;더&lt;/span&gt; &lt;span class="err"&gt;이상&lt;/span&gt; &lt;span class="err"&gt;개선되지&lt;/span&gt; &lt;span class="err"&gt;않으면&lt;/span&gt; &lt;span class="err"&gt;조기&lt;/span&gt; &lt;span class="err"&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;LLM이 좋은 prompt 생성기일 뿐 아니라 좋은 prompt 비평가&lt;/strong&gt; 도 될 수 있다 → 이전 round의 점수와 prompt 변종 패턴을 LLM context에 넣어 더 나은 변주를 유도.&lt;/p&gt;
&lt;p&gt;→ 논문:
&lt;/p&gt;
&lt;h2 id="2-구현--round--variant-격자"&gt;2. 구현 — Round × Variant 격자&lt;/h2&gt;
&lt;p&gt;본 실험에서 사용한 OPT2I 변형 파이프라인:&lt;/p&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;Round&lt;/td&gt;
&lt;td&gt;&lt;code&gt;R2 – R5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;최대 5 라운드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Variant&lt;/td&gt;
&lt;td&gt;&lt;code&gt;V1 – V5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;라운드 당 후보 변종 수&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;각 round마다 &lt;strong&gt;variant 별 이미지&lt;/strong&gt; 를 모두 저장해 사후 정성 검수 + 정량 비교 가능하도록 했습니다.&lt;/p&gt;
&lt;h2 id="3-평가-metric--dsg-davidsonian-scene-graph"&gt;3. 평가 Metric — DSG (Davidsonian Scene Graph)&lt;/h2&gt;
&lt;p&gt;평가 metric으로 &lt;strong&gt;DSG (Davidsonian Scene Graph)&lt;/strong&gt; 를 결합.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DSG는 prompt를 &lt;strong&gt;scene graph atomic question&lt;/strong&gt; 들로 분해하고, VQA 모델로 각 question에 대한 응답 정확도를 평가.&lt;/li&gt;
&lt;li&gt;단일 score보다 &lt;strong&gt;prompt의 어떤 측면이 충족/실패&lt;/strong&gt; 했는지 지시적 (interpretable).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;→ &lt;code&gt;R-V&lt;/code&gt; 격자 결과를 DSG 점수로 비교해, &amp;ldquo;이 prompt 변주가 얼굴 형태는 잘 맞췄지만 헤어 길이 묘사가 약하다&amp;rdquo; 같은 진단을 자동화.&lt;/p&gt;
&lt;h2 id="4-결과-분석-관점-정성-요약"&gt;4. 결과 분석 관점 (정성 요약)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DSG 도입 효과&lt;/strong&gt; — DSG atomic 평가는 prompt의 어떤 부분이 부족한지 가리켜주어 &lt;strong&gt;다음 round prompt 변주의 방향성&lt;/strong&gt; 이 명확해짐.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Round 수 trade-off&lt;/strong&gt; — round R≥4부터는 점수 상승이 둔화되는 경향. &lt;strong&gt;R=5 cap&lt;/strong&gt; 으로도 충분.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;비용&lt;/strong&gt; — round 수 × variant 수 × character 수 만큼 image API 호출이 늘어 비용이 빠르게 증가. 변종 1회당 약 $25–30 수준 (대략 추정).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; — OPT2I 루프 구현, round/variant 격자 관리, 결과 집계&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini Flash Image Preview&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM-as-optimizer&lt;/strong&gt; — prompt 변주 생성용 LLM (variant 후보 생성)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DSG (Davidsonian Scene Graph)&lt;/strong&gt; — alignment evaluation metric&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="참고"&gt;참고&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Mañas et al., &lt;em&gt;Improving Text-to-Image Consistency via Automatic Prompt Optimization&lt;/em&gt;, 2024 —
&lt;/li&gt;
&lt;li&gt;Cho et al., &lt;em&gt;Davidsonian Scene Graph: Improving Reliability in Fine-grained Evaluation for Text-to-Image Generation&lt;/em&gt;, ICLR 2024&lt;/li&gt;
&lt;li&gt;Implementation —
(OPT2I + DSG core + side/fullbody runners)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="관련"&gt;관련&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;트레이니 캐스팅 단계 →
&lt;/li&gt;
&lt;li&gt;콘텐츠 컷 단계 →
&lt;/li&gt;
&lt;li&gt;챗봇 persona 단계 →
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Content Image Generation</title><link>https://chaeniverse.github.io/projects/kpop-virtual-idol-content-generation/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/kpop-virtual-idol-content-generation/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;K-Pop 가상 아이돌 앱 프로젝트의 일부로 진행한 &lt;strong&gt;콘텐츠 이미지 생성&lt;/strong&gt; 실험입니다. 가상 아이돌에게 다양한 scene을 입히면서도 캐릭터(얼굴) 정체성은 변하지 않도록, prompt 설계·reference conditioning·격자 탐색을 결합해 검증했습니다.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 일부 대외비 작업이 포함되어, 실제 prompt 전문·생성 이미지·캐릭터 식별 정보는 공개하지 않습니다. 본 페이지는 &lt;strong&gt;실험 설계와 방법론&lt;/strong&gt; 중심으로 정리합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="실험-목적"&gt;실험 목적&lt;/h2&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;같은 캐릭터(얼굴)를 유지하면서, 다양한 scene의 콘텐츠 컷을 일관되게 생성할 수 있는가?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;일관성 (consistency)&lt;/strong&gt; — 캐릭터의 얼굴이 scene이 바뀌어도 같은 사람으로 인식되어야 함&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;다양성 (variety)&lt;/strong&gt; — 같은 캐릭터라도 scene·구도·의상이 자연스럽게 변주되어야 함&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;콘셉트 표현&lt;/strong&gt; — 각 scene의 분위기 (일상의 자연스러움, 상황감, 아이돌 포즈) 가 prompt만으로 전달되어야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="실험-설계"&gt;실험 설계&lt;/h2&gt;
&lt;h3 id="신scene-3종"&gt;신(Scene) 3종&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;신 ID&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;strong&gt;Scene #1&lt;/strong&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;strong&gt;Scene #2&lt;/strong&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;strong&gt;Scene #3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;특정 장소 배경&lt;/td&gt;
&lt;td&gt;콘셉트가 강한 narrative 컷의 prompt 표현력 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="reference-image-conditioning"&gt;Reference-Image Conditioning&lt;/h3&gt;
&lt;p&gt;각 콘텐츠 컷 생성 시 유저가 생성한 캐릭터 ID 사진을 reference로 함께 입력해, &lt;strong&gt;얼굴 정체성 유지&lt;/strong&gt; 를 강제합니다. Prompt 앞단에 다음과 같은 지침을 둡니다 (요약):&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;em&gt;Keep the person&amp;rsquo;s facial features exactly the same as the reference image. This is the same person, not a look-alike or approximation.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;이를 통해 gemini의 image-to-image 모드에서 동일 인물성을 안정적으로 보장.&lt;/p&gt;
&lt;h3 id="combo-변주"&gt;Combo 변주&lt;/h3&gt;
&lt;p&gt;각 신 안에서 &lt;strong&gt;combo (조합)&lt;/strong&gt; 단위로 prompt 변종을 둡니다 — 의상 / 헤어 등 hyperparameter를 격자 탐색 형태로 변형. 동일 character × 동일 combo에서 &lt;strong&gt;trial 반복&lt;/strong&gt; 으로 생성 안정성도 같이 본다.&lt;/p&gt;
&lt;h3 id="생성-규모"&gt;생성 규모&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&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;Scene #1&lt;/td&gt;
&lt;td&gt;≈ 1,249 장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scene #2&lt;/td&gt;
&lt;td&gt;≈ 937 장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scene #3&lt;/td&gt;
&lt;td&gt;≈ 1,041 장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;총합&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;≈ 3,200 장&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;각 이미지는 384×688 해상도, 평균 약 9–11초 / 장 소요, 장당 비용 약 $0.045 수준.&lt;/p&gt;
&lt;h2 id="결과-분석-관점"&gt;결과 분석 관점&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;얼굴 일관성&lt;/strong&gt; — 헤어 색·길이는 prompt에 명시적 제약 (&lt;code&gt;Do NOT alter the hairstyle color or length&lt;/code&gt;) 을 둬야 안정적이었다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;포즈 정확성&lt;/strong&gt; — 손가락 위치·구도가 변동성이 큼. 별도 negative prompt (e.g., &lt;code&gt;no extra fingers&lt;/code&gt;) 로 보완.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;콘셉트 강도&lt;/strong&gt; — 장소 디테일은 prompt에 명시적으로 포함시킬수록 narrative가 살아나지만, 그만큼 얼굴 영역의 픽셀 비율이 줄어 정체성 손실 위험 증가 → reference 가중치 / 카메라 거리 prompt를 같이 조정.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="실험-흐름-자동화"&gt;실험 흐름 (자동화)&lt;/h2&gt;
&lt;p&gt;각 sprint는 다음 자동화 파이프라인 위에서 돌렸습니다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Prompt template 정의&lt;/strong&gt; — scene별 system prompt + character 변수 슬롯&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Combo grid expansion&lt;/strong&gt; — Python으로 character × combo × trial 격자 생성&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API 호출&lt;/strong&gt; — image+text → image&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML report 자동 생성&lt;/strong&gt; — combo 단위로 시각적으로 묶어 검수 가능한 리포트&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; — 실험 파이프라인 (combo grid, API 호출, HTML report 생성)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini Flash Image Preview&lt;/strong&gt; — 이미지 생성 모델&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt Engineering&lt;/strong&gt; — system prompt + reference conditioning + negative constraints&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>LLM Model Benchmark</title><link>https://chaeniverse.github.io/projects/kpop-virtual-idol-llm-benchmark/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/kpop-virtual-idol-llm-benchmark/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;K-Pop 가상 아이돌 앱 프로젝트의 일부로 진행한 &lt;strong&gt;LLM 모델 비교 / 선정&lt;/strong&gt; 단계. 챗봇 응답 품질·비용·지연시간을 동시에 만족하는 모델을 찾기 위해 다수의 후보 (GPT, Claude, Gemini, Kimi, Qwen 계열) 를 동일한 조건으로 벤치마크했습니다.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 일부 대외비 작업이 포함되어, 실제 벤치마크 질문 전문·모델 응답·내부 시스템 prompt는 공개하지 않습니다. 본 페이지는 &lt;strong&gt;평가 기준 전환과 모델 선정 프레임워크&lt;/strong&gt; 중심으로 정리합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="1-평가-방법--eq-bench"&gt;1. 평가 방법 — EQ-Bench&lt;/h2&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;LLM의 &lt;strong&gt;감정 이해 능력&lt;/strong&gt; 을 측정하는 벤치마크. 우리 task에 직접 부합.&lt;/p&gt;
&lt;h4 id="방법론-요약"&gt;방법론 (요약)&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;감정적으로 복잡한 대화 한 토막을 LLM에게 보여준다.&lt;/li&gt;
&lt;li&gt;그 대화 속 한 캐릭터의 감정 강도를 4가지 감정으로 LLM이 예측 (각 0–10).&lt;/li&gt;
&lt;li&gt;4 점수의 합이 10이 되도록 normalize.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference (저자 주석값)&lt;/strong&gt; 와의 차이를 계산 — 차이가 작을수록 잘 맞춘 것.&lt;/li&gt;
&lt;li&gt;한 문제 점수 = &lt;code&gt;10 - 차이의 절댓값 합&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;60개 문제의 평균 × 10 → &lt;strong&gt;EQ-Bench 점수 (0–100 스케일)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;감정 4개는 &lt;strong&gt;명백히 틀린 것 + 명백히 맞는 것 + 미묘한 것&lt;/strong&gt; 을 섞도록 큐레이션.&lt;/p&gt;
&lt;p&gt;→ Public leaderboard:
&lt;/p&gt;
&lt;h2 id="2-모델-풀--경량-모델-체크리스트"&gt;2. 모델 풀 + 경량 모델 체크리스트&lt;/h2&gt;
&lt;p&gt;EQ-Bench 리더보드 상위권 50+ 모델을 일단 풀로 두고, 그 중 &lt;strong&gt;서비스 비용으로 운영 가능한 경량 모델&lt;/strong&gt; 을 체크리스트로 골라냈습니다.&lt;/p&gt;
&lt;h3 id="풀-예시"&gt;풀 (예시)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;프리미엄 / 대형&lt;/strong&gt;: Kimi-K2-Instruct, GPT-5.2, o3, Gemini-3-pro-preview, GPT-5.1, Claude-Opus-4.5, Hermes-4-405B, Llama-3.1-405B-Instruct, …&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;중형&lt;/strong&gt;: Claude-Sonnet-4.5, GLM-4.7, GPT-4.1, Mistral-Large, …&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;경량 (서비스용 후보)&lt;/strong&gt;: GPT-4.1-mini, Gemini-2.5-flash-preview, o4-mini, GPT-4.1-nano, Qwen3-8B, Mistral-Small-3.x, Llama-4-Scout/Maverick, Gemma-3-4b/27b, GPT-OSS-20b, …&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;→ 총 약 &lt;strong&gt;24개의 경량 모델&lt;/strong&gt; 을 후보로 추렸음.&lt;/p&gt;
&lt;h2 id="3-서비스용-추천-top-5--2-카테고리"&gt;3. 서비스용 추천 Top 5 (× 2 카테고리)&lt;/h2&gt;
&lt;h3 id="프리미엄-top-5"&gt;프리미엄 Top 5&lt;/h3&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;1&lt;/td&gt;
&lt;td&gt;Kimi-K2-Instruct&lt;/td&gt;
&lt;td&gt;1T 파라미터 (32B 활성 MoE), 가성비 매우 좋음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;GPT-5.2&lt;/td&gt;
&lt;td&gt;프리미엄 안정성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;o3&lt;/td&gt;
&lt;td&gt;프리미엄 reasoning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Gemini-3-pro-preview&lt;/td&gt;
&lt;td&gt;프리미엄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Claude-Opus-4.5&lt;/td&gt;
&lt;td&gt;프리미엄&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="경량-top-5"&gt;경량 Top 5&lt;/h3&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;1&lt;/td&gt;
&lt;td&gt;GPT-4.1-mini&lt;/td&gt;
&lt;td&gt;가성비 최고, 안정적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Gemini-2.5-flash-preview&lt;/td&gt;
&lt;td&gt;빠름, 무료 티어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;o4-mini&lt;/td&gt;
&lt;td&gt;경량 reasoning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;GPT-4.1-nano&lt;/td&gt;
&lt;td&gt;초저가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Qwen3-8B&lt;/td&gt;
&lt;td&gt;오픈소스, 로컬 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="4-비용-비교-프레임워크"&gt;4. 비용 비교 프레임워크&lt;/h2&gt;
&lt;p&gt;벤치마크 한 건당 토큰 사용량을 기준으로 &lt;strong&gt;모델별 단가&lt;/strong&gt; 를 계산:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Input&lt;/strong&gt;: ~900 tokens (system prompt + user message)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Output&lt;/strong&gt;: ~100 tokens (1–2문장 응답)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="프리미엄-1건당-비용--10건-기준"&gt;프리미엄 (1건당 비용 / 10건 기준)&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;모델&lt;/th&gt;
&lt;th&gt;1건&lt;/th&gt;
&lt;th&gt;10건&lt;/th&gt;
&lt;th&gt;대비&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Kimi-K2-Instruct&lt;/td&gt;
&lt;td&gt;$0.00079&lt;/td&gt;
&lt;td&gt;$0.0079&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1×&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.2&lt;/td&gt;
&lt;td&gt;$0.00298&lt;/td&gt;
&lt;td&gt;$0.0298&lt;/td&gt;
&lt;td&gt;3.8×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;o3&lt;/td&gt;
&lt;td&gt;$0.00260&lt;/td&gt;
&lt;td&gt;$0.0260&lt;/td&gt;
&lt;td&gt;3.3×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini-3-pro-preview&lt;/td&gt;
&lt;td&gt;$0.00300&lt;/td&gt;
&lt;td&gt;$0.0300&lt;/td&gt;
&lt;td&gt;3.8×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude-Opus-4.5&lt;/td&gt;
&lt;td&gt;$0.00700&lt;/td&gt;
&lt;td&gt;$0.0700&lt;/td&gt;
&lt;td&gt;8.9×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="경량-1건당-비용--10건-기준"&gt;경량 (1건당 비용 / 10건 기준)&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;모델&lt;/th&gt;
&lt;th&gt;1건&lt;/th&gt;
&lt;th&gt;10건&lt;/th&gt;
&lt;th&gt;대비&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3-8B&lt;/td&gt;
&lt;td&gt;$0.000070&lt;/td&gt;
&lt;td&gt;$0.0007&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1×&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-4.1-nano&lt;/td&gt;
&lt;td&gt;$0.000130&lt;/td&gt;
&lt;td&gt;$0.0013&lt;/td&gt;
&lt;td&gt;1.9×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini-2.5-flash-preview&lt;/td&gt;
&lt;td&gt;$0.000520&lt;/td&gt;
&lt;td&gt;$0.0052&lt;/td&gt;
&lt;td&gt;7.4×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-4.1-mini&lt;/td&gt;
&lt;td&gt;$0.000520&lt;/td&gt;
&lt;td&gt;$0.0052&lt;/td&gt;
&lt;td&gt;7.4×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;o4-mini&lt;/td&gt;
&lt;td&gt;$0.001430&lt;/td&gt;
&lt;td&gt;$0.0143&lt;/td&gt;
&lt;td&gt;20.4×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="가격-형성-배경-예시"&gt;가격 형성 배경 (예시)&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Kimi-K2 가 저렴한 이유&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;중국 기업 (Moonshot AI) 의 시장 점유 전략 — 공격적 가격&lt;/li&gt;
&lt;li&gt;MoE 아키텍처 (1T 파라미터 중 32B 활성) → 추론 비용 절감&lt;/li&gt;
&lt;li&gt;DeepSeek 등 중국 모델들과의 가격 경쟁&lt;/li&gt;
&lt;li&gt;중국 내 GPU/서버 비용이 상대적으로 저렴&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;→ DeepSeek R1, Kimi 등이 &lt;strong&gt;경쟁사 대비 약 90% 저렴한 가격&lt;/strong&gt; 으로 시장 진입.&lt;/p&gt;
&lt;h2 id="5-벤치마크-실험--통제-조건"&gt;5. 벤치마크 실험 — 통제 조건&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;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Temperature&lt;/td&gt;
&lt;td&gt;0.7 (다양성 ↔ 안정성 절충)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;System prompt&lt;/td&gt;
&lt;td&gt;MBTI description + &amp;ldquo;[중요] 1–2문장으로 간결하게 답변하세요.&amp;rdquo;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;벤치마크 질문&lt;/td&gt;
&lt;td&gt;우리 도메인에 맞춰 큐레이션한 3개&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;각 모델 × MBTI × question 조합으로 응답을 수집하고, 응답 길이·지연시간·비용·정성 품질을 같이 적재.&lt;/p&gt;
&lt;p&gt;실서비스 도입 전 &lt;strong&gt;정성 검수 + 비용 시뮬레이션&lt;/strong&gt; 을 진행했습니다.&lt;/p&gt;
&lt;h2 id="6-의사결정-영향"&gt;6. 의사결정 영향&lt;/h2&gt;
&lt;p&gt;본 벤치마크 결과는 후속 단계 모델 선택의 &lt;strong&gt;베이스라인&lt;/strong&gt; 으로 활용됩니다.&lt;/p&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; — 벤치마크 파이프라인 (모델 호출)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLMs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EQ-Bench&lt;/strong&gt; — 감정 이해 평가 framework&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="참고"&gt;참고&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Paech, &lt;em&gt;EQ-Bench: An Emotional Intelligence Benchmark for Large Language Models&lt;/em&gt;, 2024 —
&lt;/li&gt;
&lt;li&gt;Reference code —
&lt;/li&gt;
&lt;li&gt;Implementation —
(벤치마크 노트북)&lt;/li&gt;
&lt;li&gt;Public leaderboard —
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Customer Satisfaction Index Modeling with SEM (Amos)</title><link>https://chaeniverse.github.io/projects/sem-customer-satisfaction/</link><pubDate>Wed, 14 Jun 2023 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/sem-customer-satisfaction/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;병원 내 서비스 혁신팀&lt;/strong&gt;의 의뢰로 진행한 통계 컨설팅 프로젝트입니다. 환자/고객 설문지 응답 데이터를 활용해 서비스 품질의 잠재 구조를 모형화하고, 그로부터 &lt;strong&gt;고객만족지수(Customer Satisfaction Index, CSI)&lt;/strong&gt; 를 산출하는 것이 목표였습니다.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 대외비로, 구체적인 설문 항목·결과 수치·도식은 공개하지 않습니다. 본 페이지는 적용된 &lt;strong&gt;방법론과 분석 과정&lt;/strong&gt; 중심으로 정리합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="데이터"&gt;데이터&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;출처&lt;/strong&gt;: 병원 서비스 혁신팀이 자체 시행한 고객 설문 결과 (수치/항목 비공개)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;전처리&lt;/strong&gt;: 결측치 제거 (NA exclusion), 셀별 가중치 부여, 가중치 적용 셀 단위 데이터셋 구성&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;변수 구조&lt;/strong&gt;: 서비스 품질의 다양한 측면을 측정한 다수의 관측 항목 → 잠재 변수(서비스 품질 차원)에 매핑&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="방법론"&gt;방법론&lt;/h2&gt;
&lt;h3 id="structural-equation-modeling-sem"&gt;Structural Equation Modeling (SEM)&lt;/h3&gt;
&lt;p&gt;본 분석에는 &lt;strong&gt;구조방정식 모형&lt;/strong&gt;, 그중에서도 잠재변수 1개에 여러 관측 지표를 두는 &lt;strong&gt;다지표(multi-indicator) 측정 모형&lt;/strong&gt;을 적용했습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;잠재변수에 대해 reference indicator를 무작위로 1로 고정 (model identification)&lt;/li&gt;
&lt;li&gt;관측 변수 간 직접 path는 설정하지 않고, 측정 모형(measurement model)에 충실하게 구성&lt;/li&gt;
&lt;li&gt;잠재변수 자체에는 error term이 부착되지 않도록 주의 (모형 형태 점검)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="적합도fit-지표"&gt;적합도(Fit) 지표&lt;/h3&gt;
&lt;p&gt;표준 SEM 적합도 지표를 통해 모형의 데이터 부합 정도를 진단:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$\chi^2$, df, $\chi^2$/df&lt;/li&gt;
&lt;li&gt;CFI (Comparative Fit Index)&lt;/li&gt;
&lt;li&gt;TLI (Tucker-Lewis Index)&lt;/li&gt;
&lt;li&gt;RMSEA (Root Mean Square Error of Approximation)&lt;/li&gt;
&lt;li&gt;SRMR&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="수렴-타당성-convergent-validity"&gt;수렴 타당성 (Convergent Validity)&lt;/h3&gt;
&lt;p&gt;잠재변수 자체의 신뢰성·타당성을 확인하기 위한 추가 검증:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;개념신뢰도 (Construct Reliability, CR)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;분산추출지수 (Average Variance Extracted, AVE)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="csi-고객만족지수-산출"&gt;CSI (고객만족지수) 산출&lt;/h3&gt;
&lt;p&gt;최종 채택된 측정 모형의 &lt;strong&gt;표준화 회귀 계수(standardized regression weights)&lt;/strong&gt; 와 가중치 셀을 결합해 고객만족지수를 산출했습니다. 이 지수는 의뢰 부서가 정성적 보고에 활용할 수 있도록 표준화된 단일 점수 형태로 제공되었습니다.&lt;/p&gt;
&lt;h2 id="도구"&gt;도구&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Amos&lt;/strong&gt; — SEM 모형 추정·적합도 산출&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SPSS&lt;/strong&gt; — 데이터 전처리, 가중치 적용, 보조 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="효과--임팩트"&gt;효과 / 임팩트&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;비즈니스 문제 → 통계 문제 변환&lt;/strong&gt; — &amp;ldquo;고객만족도를 단일 점수로 보고하고 싶다&amp;quot;는 요구를 SEM 측정 모형으로 정의&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;외주 비용 절감&lt;/strong&gt; — 구조방정식 전문 모델링은 외부 컨설팅으로 의뢰 시 비용 부담이 상당함. 원내 의학통계지원센터에서 직접 수행함으로써 의뢰 부서의 외주 비용을 절감하고, 분석 흐름을 부서 일정에 맞춰 유연하게 진행&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="산출물"&gt;산출물&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;고객만족지수(CSI) 단일 점수&lt;/strong&gt; + 항목별 표준화 가중치&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;분석 결과 보고서&lt;/strong&gt; — 의뢰 부서 내부 의사결정용 (대외비)&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>