From d6b421dc7ebea32af206cb29f1d298621e27fed1 Mon Sep 17 00:00:00 2001 From: yjhss <20211420@sungshin.ac.kr> Date: Thu, 12 Feb 2026 14:57:29 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Refactor:=20=EC=97=B0=EA=B4=80=EB=B6=84?= =?UTF-8?q?=EC=84=9D=20AI=20=ED=94=84=EB=A1=AC=ED=94=84=ED=8A=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssociationAnalysisApiSpecification.java | 1 - .../association/infra/AiAnalysisPromptBuilder.java | 14 ++++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/umc/finly/domain/analysis/association/controller/AssociationAnalysisApiSpecification.java b/src/main/java/com/umc/finly/domain/analysis/association/controller/AssociationAnalysisApiSpecification.java index 6ee75ca4..d0326314 100644 --- a/src/main/java/com/umc/finly/domain/analysis/association/controller/AssociationAnalysisApiSpecification.java +++ b/src/main/java/com/umc/finly/domain/analysis/association/controller/AssociationAnalysisApiSpecification.java @@ -106,7 +106,6 @@ public interface AssociationAnalysisApiSpecification { 오늘부터 과거 최근 7영업일 동안의 종목별 주가 데이터와 사용자의 기록 데이터를 결합하여 날짜별로 모아 반환합니다. - 7영업일 확보 방법: 오늘부터 14일 전까지 데이터 요청 → 데이터가 7개가 안되면 조회 시작일을 더 과거(30일 전)로 밀어서 재요청 → 데이터가 7개 모이면 중단하고 최신순으로 자르기 - 7영업일 치의 주가 데이터를 확보한 후, 해당 데이터 리스트의 양 끝값(첫 날과 마지막 날)에서 실제 조회된 시작일과 종료일을 추출 - - 주가 데이터 API: 한국투자증권 API [국내주식] 기본시세 - 국내주식기간별시세(일/주/월/년)[v1_국내주식-016] (일봉) - today: 서버 실행 날짜(프론트에서 API 호출한 날짜) - 종목 정보 - 종목ID, symbol(종목 코드), 이름 diff --git a/src/main/java/com/umc/finly/domain/analysis/association/infra/AiAnalysisPromptBuilder.java b/src/main/java/com/umc/finly/domain/analysis/association/infra/AiAnalysisPromptBuilder.java index 712d8ecc..180d64ab 100644 --- a/src/main/java/com/umc/finly/domain/analysis/association/infra/AiAnalysisPromptBuilder.java +++ b/src/main/java/com/umc/finly/domain/analysis/association/infra/AiAnalysisPromptBuilder.java @@ -33,16 +33,18 @@ public String buildGeneralAnalysisPrompt(FearIndexResult fear, ConvictionScoreRe sb.append("요구사항:\n"); sb.append("반드시 다음 JSON 형식을 지키세요: {\"content\": \"...\", \"suggestion\": \"...\"}\n"); - sb.append("'심리 패턴', '투자 행동 패턴', '조언'이라는 단어를 절대 쓰지 말고 바로 본론만 작성할 것.\n"); + sb.append("반드시 한국어만 사용할 것.:\n"); + sb.append("'심리 상태', '투자 행동 패턴', '조언'이라는 단어를 절대 쓰지 말고 바로 본론만 작성할 것.\n"); sb.append("content 필드 구성:\n"); - sb.append(" - 심리 상태 분석 한 문장과 투자 행동 및 패턴 분석 한 문장을 작성하세요.\n"); + sb.append(" - 심리 상태 분석 한 문장과 투자 행동 패턴 분석 한 문장을 작성하세요.\n"); + sb.append("감정을 언급할 경우, GREED는 '탐욕', CONFIDENCE는 '확신', REGRET는 '후회', ANXIETY는 '불안', CALM은 '평온'으로 매핑하여 출력하세요.\n"); sb.append("suggestion 필드 구성:\n"); sb.append(" - 개선을 위한 핵심 조언 한 문장을 작성하세요.\n"); - sb.append("금지: 줄바꿈(\\n)은 절대 넣지 말고, 모든 문장은 공백 한 칸으로만 구분하세요."); - sb.append("전체 문장은 3줄을 넘지 않으며, 대괄호[]나 특수기호를 쓰지 말 것."); - sb.append("문장 마지막에는 반드시 마침표를 붙이세요."); + sb.append("금지: 줄바꿈(\\n)은 절대 넣지 말고, 모든 문장은 공백 한 칸으로만 구분하세요.\n"); + sb.append("전체 문장은 3줄을 넘지 않으며, 대괄호[]나 특수기호를 쓰지 말 것.\n"); + sb.append("문장 마지막에는 반드시 마침표를 붙이세요.\n"); sb.append("'사용자', '투자자' 지칭 금지, 반드시 존댓말을 사용하세요.\n"); - sb.append("부드럽고 친절한 어투를 사용하세요. 이해하기 쉬운 단어를 사용하세요."); + sb.append("부드럽고 친절한 어투를 사용하세요. 이해하기 쉬운 단어를 사용하세요.\n"); return sb.toString(); } From a8d448f8056cd8312f4140eb8794777aa936a174 Mon Sep 17 00:00:00 2001 From: yjhss <20211420@sungshin.ac.kr> Date: Thu, 12 Feb 2026 15:05:51 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Fix:=20=EC=98=A4=ED=83=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/association/infra/AiAnalysisPromptBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/umc/finly/domain/analysis/association/infra/AiAnalysisPromptBuilder.java b/src/main/java/com/umc/finly/domain/analysis/association/infra/AiAnalysisPromptBuilder.java index 180d64ab..dc32f51b 100644 --- a/src/main/java/com/umc/finly/domain/analysis/association/infra/AiAnalysisPromptBuilder.java +++ b/src/main/java/com/umc/finly/domain/analysis/association/infra/AiAnalysisPromptBuilder.java @@ -33,7 +33,7 @@ public String buildGeneralAnalysisPrompt(FearIndexResult fear, ConvictionScoreRe sb.append("요구사항:\n"); sb.append("반드시 다음 JSON 형식을 지키세요: {\"content\": \"...\", \"suggestion\": \"...\"}\n"); - sb.append("반드시 한국어만 사용할 것.:\n"); + sb.append("반드시 한국어만 사용할 것.\n"); sb.append("'심리 상태', '투자 행동 패턴', '조언'이라는 단어를 절대 쓰지 말고 바로 본론만 작성할 것.\n"); sb.append("content 필드 구성:\n"); sb.append(" - 심리 상태 분석 한 문장과 투자 행동 패턴 분석 한 문장을 작성하세요.\n");