<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>코드 수정 |</title><link>https://inhyuk2000.github.io/tags/%EC%BD%94%EB%93%9C-%EC%88%98%EC%A0%95/</link><atom:link href="https://inhyuk2000.github.io/tags/%EC%BD%94%EB%93%9C-%EC%88%98%EC%A0%95/index.xml" rel="self" type="application/rss+xml"/><description>코드 수정</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 16 Aug 2026 00:00:00 +0900</lastBuildDate><image><url>https://inhyuk2000.github.io/media/icon_hu_eee4a95885829ab2.png</url><title>코드 수정</title><link>https://inhyuk2000.github.io/tags/%EC%BD%94%EB%93%9C-%EC%88%98%EC%A0%95/</link></image><item><title>사용자 재질문 처리 전략</title><link>https://inhyuk2000.github.io/blog/notillm/%EA%B8%B0%ED%9A%8D_0816/</link><pubDate>Sun, 16 Aug 2026 00:00:00 +0900</pubDate><guid>https://inhyuk2000.github.io/blog/notillm/%EA%B8%B0%ED%9A%8D_0816/</guid><description>&lt;p&gt;&lt;strong&gt;pending flag를 활용해 재질문 처리용 LLM 추가&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="backendapppendingpy-추가"&gt;backend/app/pending.py 추가&lt;/h2&gt;
&lt;p&gt;&lt;span class="high-mark"&gt;&lt;strong&gt;Sequence Diagram&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;이전 대화에서 사용자 질문 의도 파악 불가로 &lt;u&gt;재질문&lt;/u&gt; + &lt;u&gt;사용자 보충 질문 추가&lt;/u&gt;하는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant U as 사용자
participant App as Android PromptEngine
participant API as FastAPI handle
participant C as gpt-4o-mini 분류
participant E as gpt-4o 추출
U-&gt;&gt;App: 카톡만 받아줘
App-&gt;&gt;API: pending=false
API-&gt;&gt;E: extract
E--&gt;&gt;API: ok=false + 재질문
API--&gt;&gt;App: ok=false
App-&gt;&gt;App: pendingOriginal 저장
U-&gt;&gt;App: 1시간
App-&gt;&gt;API: pending=true + pendingOriginal
API-&gt;&gt;C: 이전+이번 분류
C--&gt;&gt;API: supplement
API-&gt;&gt;E: 합친 prompt로 extract
E--&gt;&gt;API: ok=true + 규칙
API--&gt;&gt;App: ok=true
App-&gt;&gt;App: 규칙 저장, pending clear
&lt;/div&gt;
&lt;h3 id="classify_pending_turn-함수"&gt;&lt;code&gt;classify_pending_turn&lt;/code&gt; 함수&lt;/h3&gt;
&lt;p&gt;재질문 대기 중일 때, &lt;span class="high-mark"&gt;&lt;strong&gt;이번 입력이 보충인지 새 명령인지 LLM으로 판별&lt;/strong&gt;&lt;/span&gt;
한다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pending_original&lt;/code&gt;: 재질문 전 사용자 명령&lt;/li&gt;
&lt;li&gt;&lt;code&gt;current_prompt&lt;/code&gt;: 재질문 후 사용자 입력&lt;/li&gt;
&lt;li&gt;&lt;code&gt;supplement&lt;/code&gt;: 이전 명령에 대한 보충 (예: 1시간)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;new_command&lt;/code&gt;: 이전과 무관한 새 규칙&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="resolve_extract_prompt-함수"&gt;&lt;code&gt;resolve_extract_prompt&lt;/code&gt; 함수&lt;/h3&gt;
&lt;p&gt;handle 앞에서 &lt;span class="high-mark"&gt;&lt;strong&gt;추출용 prompt 문자열을 만드는 진입점&lt;/strong&gt;&lt;/span&gt;
역할을 한다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;prompt&lt;/code&gt;: 이번 사용자 입력&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pending&lt;/code&gt;: 앱이 보낸 재질문 대기 여부&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pending_original&lt;/code&gt;: 재질문 전 원문&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(extract_prompt, classification)&lt;/code&gt;: 추출 LLM에 넣을 문장 + 분류 결과 [None: 분류 안함]&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="todo"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12.75L11.25 15L15 9.75M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;추가 재질문 (Pending 처리) LLM이 실 기기에서 동작하는 지에 대한 테스트 진행 필요&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>baseline_v1_auto_map Evaluation 및 개선</title><link>https://inhyuk2000.github.io/blog/notillm/%EA%B8%B0%ED%9A%8D_0814/</link><pubDate>Fri, 14 Aug 2026 00:00:00 +0900</pubDate><guid>https://inhyuk2000.github.io/blog/notillm/%EA%B8%B0%ED%9A%8D_0814/</guid><description>&lt;p&gt;&lt;strong&gt;Evaluation에서 확인된 부분을 기반으로 코드 수정&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;&lt;img src="./image.png" alt="LangSmith" loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
LangSmith를 기반으로 53문항의 테스트를 진행했고, 개선 수행.&lt;/p&gt;
&lt;p&gt;
에서는 여러 앱의 메타데이터도 같이 넣어서, context기반 cosine 유사도 계산 방식을 추천했으나, 메타데이터를 불러올 적절한 방법을 찾지 못함.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;앱 관련 시스템 정보에는 메타데이터가 존재하지 않았음. 전부 &lt;code&gt;null&lt;/code&gt; 필드.&lt;/li&gt;
&lt;li&gt;Google Play Store에서 API 형태로 앱의 Description을 가져오는 것도 생각해 보았으나, 서비스가 너무 무거워질 것으로 예상되어 &lt;span class="high-mark"&gt;&lt;strong&gt;유의어 사전을 만드는 방식을 채택함.&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="코드-개선-전-baseline-테스트-결과"&gt;코드 개선 전, Baseline 테스트 결과&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;총 53개 테스트 데이터&lt;/li&gt;
&lt;li&gt;정답률 : &lt;span class="high-mark"&gt;&lt;strong&gt;0.87&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="error-case-1"&gt;Error Case 1.&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-green-100 dark:bg-green-900 border-green-500"
data-callout="success"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-green-600 dark:text-green-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12.75L11.25 15L15 9.75M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;카톡 2분만 받지마&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;output
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;ok&amp;rdquo;: false&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ground truth
&lt;ul&gt;
&lt;li&gt;현재 시간부터 2분동안 카톡을 받지 않도록 설정함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;피드백
&lt;ul&gt;
&lt;li&gt;시스템 프롬프트에 현재 시간이 정의되어 있지 않으면 현재 시간 부터라는 내용을 추가해 넣어줘야 할 거 같음.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="error-case-2"&gt;Error Case 2.&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-green-100 dark:bg-green-900 border-green-500"
data-callout="success"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-green-600 dark:text-green-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12.75L11.25 15L15 9.75M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;지금부터 1시간 문자만 받아줘&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;output
&lt;ul&gt;
&lt;li&gt;문자 앱이 아닌 com.samsung.android.mdecservice 다른 앱의 cosine 유사도가 가장 높았고, 이 마저도 0.5 이하여서 ok=false 반환.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ground truth
&lt;ul&gt;
&lt;li&gt;packages에 &amp;ldquo;com.samsung.android.messaging&amp;quot;이 담겨야 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;피드백
&lt;ul&gt;
&lt;li&gt;Cosine 유사도 판단 오류. &amp;ldquo;문자&amp;quot;와 &amp;ldquo;메시지&amp;quot;의 코사인 유사도가 낮게 나옴.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="error-case-3"&gt;Error Case 3.&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-orange-100 dark:bg-orange-900 border-orange-500"
data-callout="warning"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-orange-600 dark:text-orange-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;지금부터 2시간 문자 스팸 알림 받지마&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;output
&lt;ul&gt;
&lt;li&gt;name 필드는 비어있고, content=[&amp;ldquo;문자&amp;rdquo;, &amp;ldquo;스팸&amp;rdquo;]&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ground truth
&lt;ul&gt;
&lt;li&gt;name=&amp;ldquo;메시지&amp;rdquo;, content=&amp;ldquo;스팸&amp;rdquo; 이 담겨야 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;피드백
&lt;ul&gt;
&lt;li&gt;스팸이 name인지 앞서 나온 &amp;ldquo;문자&amp;quot;에 대한 &amp;ldquo;스팸&amp;quot;인지 확인할 수 있어야 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="error-case-4"&gt;Error Case 4.&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-green-100 dark:bg-green-900 border-green-500"
data-callout="success"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-green-600 dark:text-green-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12.75L11.25 15L15 9.75M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;지금부터 2시간 문자에서 &amp;lsquo;스팸&amp;rsquo;이라는 단어가 들어간 알림 받지마&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;output
&lt;ul&gt;
&lt;li&gt;문자 앱이 아닌 com.samsung.android.mdecservice 다른 앱의 cosine 유사도가 가장 높았고, 이 마저도 0.5 이하여서 ok=false 반환.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ground truth
&lt;ul&gt;
&lt;li&gt;packages에 &amp;ldquo;com.samsung.android.messaging&amp;quot;이 담겨야 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;피드백
&lt;ul&gt;
&lt;li&gt;Cosine 유사도 판단 오류. &amp;ldquo;문자&amp;quot;와 &amp;ldquo;메시지&amp;quot;의 코사인 유사도가 낮게 나옴.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="error-case-5"&gt;Error Case 5.&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-green-100 dark:bg-green-900 border-green-500"
data-callout="success"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-green-600 dark:text-green-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12.75L11.25 15L15 9.75M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;지금부터 2시간 플레이스토어 업데이트 알림 받지마&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;output
&lt;ul&gt;
&lt;li&gt;com.android.vending 앱이 아닌 com.samsung.android.smartsuggestions 다른 앱의 cosine 유사도가 가장 높았음. 즉, 잘못된 앱의 이름을 설정함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ground truth
&lt;ul&gt;
&lt;li&gt;packages에 &amp;ldquo;com.android.vending&amp;quot;이 담겨야 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;피드백
&lt;ul&gt;
&lt;li&gt;Cosine 유사도 판단 오류.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="error-case-5-제외-케이스"&gt;Error Case 5. [제외 케이스]&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-orange-100 dark:bg-orange-900 border-orange-500"
data-callout="warning"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-orange-600 dark:text-orange-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;지금부터 12시간 카톡 홍보, 프로모션이나 카드 알림은 띄우지마&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;output
&lt;ul&gt;
&lt;li&gt;name=&amp;ldquo;카카오톡&amp;rdquo;, content=&amp;ldquo;홍보, 프로모션, 카드&amp;rdquo; 가 들어감.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ground truth
&lt;ul&gt;
&lt;li&gt;현재 구조로는 해결이 불가능. ok=false&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;피드백
&lt;ul&gt;
&lt;li&gt;아직 해결 불가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="error-case-6"&gt;Error Case 6.&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-orange-100 dark:bg-orange-900 border-orange-500"
data-callout="warning"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-orange-600 dark:text-orange-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;지금부터 5분 카톡 메세지 알림 받지마&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;output
&lt;ul&gt;
&lt;li&gt;name=&amp;ldquo;카카오톡&amp;rdquo;, content=&amp;ldquo;메세지&amp;rdquo; 가 들어감.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ground truth
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;카톡 메세지&amp;rdquo; 라고 말을 해도, 사실상 &amp;ldquo;카톡&amp;quot;을 의미하는 것이므로, name=&amp;ldquo;카카오톡&amp;rdquo; 이고 content는 비워야 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;피드백
&lt;ul&gt;
&lt;li&gt;추출 오류.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span class="high-mark"&gt;&lt;strong&gt;문제점&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;다른 기기에서도 전화/문자하기&amp;rdquo;(&amp;ldquo;com.samsung.android.mdecservice&amp;rdquo;) 와 &amp;ldquo;메시지&amp;rdquo;(&amp;ldquo;com.samsung.android.messaging&amp;rdquo;)가 있을 때, &amp;ldquo;문자&amp;quot;라는 단어가 &amp;ldquo;메시지&amp;quot;에 매핑되도록 하려면 어떻게 해야 하나?&lt;/li&gt;
&lt;li&gt;&amp;ldquo;퍼스널 데이터 인텔리전스&amp;rdquo;(&amp;ldquo;com.samsung.android.smartsuggestions&amp;rdquo;) 와 &amp;ldquo;Play 스토어&amp;rdquo;(&amp;ldquo;com.android.vending&amp;rdquo;)가 있을 때, &amp;ldquo;플레이스토어&amp;quot;라는 단어가 &amp;ldquo;Play 스토어&amp;quot;에 매핑되도록 하려면 어떻게 해야 하나?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span class="high-mark"&gt;&lt;strong&gt;나의 해결책&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;처음에는
사이트에서 관련 메타데이터를 찾을 수 있는 방법을 고민함.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;하지만 &lt;span class="high-mark"&gt;&lt;strong&gt;해당 필드가 전부 비어있는 값으로 나와 사용할 수 없었음.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;따라서 &lt;span class="high-mark"&gt;&lt;strong&gt;유의어 사전&lt;/strong&gt;&lt;/span&gt;
을 만드는 방법을 채택함.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;LLM이 뽑은 **앱 이름(name, &amp;ldquo;문자&amp;rdquo;)**으로 찾음&lt;/li&gt;
&lt;li&gt;유의어 사전에 그 그룹 단어를 [&amp;ldquo;문자&amp;rdquo;, &amp;ldquo;메시지&amp;rdquo;, &amp;ldquo;SMS&amp;rdquo;, &amp;hellip;] 로 확장&lt;/li&gt;
&lt;li&gt;(확장된 각 단어) X (설치 앱 각 라벨) : Cosine&lt;/li&gt;
&lt;li&gt;각 앱마다 그 중 가장 높은 점수로 대표&lt;/li&gt;
&lt;li&gt;전 앱 중 최고 + Threshold 로 최종 package 결정&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;시스템 프롬프트 &lt;strong&gt;few-shot learning&lt;/strong&gt; 추가&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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="o"&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;N분(만/동안/간) …&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;처럼&lt;/span&gt; &lt;span class="n"&gt;기간만&lt;/span&gt; &lt;span class="n"&gt;있고&lt;/span&gt; &lt;span class="n"&gt;시작&lt;/span&gt; &lt;span class="n"&gt;시각이&lt;/span&gt; &lt;span class="n"&gt;없으면&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;지금부터&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;delivery&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;현재&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;expires&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;현재&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;N분&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;예&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;카톡 2분만 받지마&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;카톡 5분동안 받지마&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;모두&lt;/span&gt; &lt;span class="n"&gt;현재부터&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&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;ul&gt;
&lt;li&gt;정답률 : &lt;span class="high-mark"&gt;&lt;strong&gt;0.91&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-orange-100 dark:bg-orange-900 border-orange-500"
data-callout="warning"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-orange-600 dark:text-orange-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;매일 밤 10시부터 새벽 4시까지 조용히&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-orange-100 dark:bg-orange-900 border-orange-500"
data-callout="warning"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-orange-600 dark:text-orange-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;&amp;ldquo;매일 밤 10시부터 아침 6시까지 모든 알림 받지마&amp;rdquo;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;주기성 명령의 경우 delivery와 expires 시간 계산에서 예측값과 실제값이 다르게 나옴. &lt;span class="high-mark"&gt;&lt;strong&gt;하지만 이것이 결과에는 영향을 주지 않음&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;프롬프트 변경을 통해 해결함.
&lt;ul&gt;
&lt;li&gt;구간 전: 다음 회차&lt;/li&gt;
&lt;li&gt;구간 안: 진행 중 회차&lt;/li&gt;
&lt;li&gt;구간 끝남: 다음 밤 회차&lt;/li&gt;
&lt;li&gt;지난 회차 금지. &lt;code&gt;overrnight&lt;/code&gt;면 &lt;code&gt;expires = delivery + 1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>