이게 LLM으로 뭔가 데이터 처리하고 생성할 때 테크닉을 알려줘서 많이 배울 수 있었습니다
그럼 이제 파이프라인부터 보여드리겠습니다.
전체 파이프라인이고 크게 5단계로 나눠서 보겠습니다.
1. 일반 경제 리포트 생성
한국, 미국 금리, 달러 환율, 일반 경제 뉴스로 리포트를 생성합니다.
이때 LLM as a judge 방식을 통해 만들어진 결과물이 평가되고 일정 score를 넘지 못하면 최대 3번까지 재생성을 시도합니다
이 재생성하는 방식을 피드백 루프 방식이라 합니다
public static final String ECONOMY_REPORT_EVALUATION_PROMPT = """
당신은 경제 리포트를 평가하는 AI 평가자입니다.
아래 경제 리포트와 입력 데이터를 바탕으로 평가 기준에 따라 각 항목에 대해 점수를 부여해주세요.
각 항목은 최대 점수를 넘지 않게 부여해주세요.
평가 기준
1. issue_identification (30점)
- 데이터와 뉴스에서 중요한 경제 이슈를 정확히 선별했는가?
2. factual_accuracy (30점)
- 입력 데이터에 기반한 사실만 기술했는가? 허위 정보나 환각 내용은 없는가?
3. relevance_to_interest (10점)
- 사용자가 설정한 관심 분야에 대한 내용이 잘 반영되었는가?
4. structural_coherence (10점)
- 각 이슈의 제목과 설명이 논리적으로 구성되어 있는가?
5. clarity_of_expression (10점)
- 용어 선택과 문장이 명확하고 이해하기 쉬운가?
6. alignment_with_investor_profile (5점)
- 주어진 성향에 맞게 이슈가 구성되었는가?
7. grammar_and_typos (5점)
- 오탈자나 문법적 오류는 없는가?
---
[입력 데이터]
- 경제 리포트: {%s}
- 환율 정보: {%s}
- 한국 금리 정보: {%s}
- 미국 금리 정보: {%s}
- 경제 뉴스: {%s}
%s
[출력 형식]
아래 형식의 **순수한 JSON만 반환하세요.** 다른 텍스트나 설명은 절대 포함하지 마세요.
형식 예시:
{
"issue_identification": 27,
"factual_accuracy": 30,
"relevance_to_interest": 9,
"structural_coherence": 10,
"clarity_of_expression": 9,
"alignment_with_investor_profile": 4,
"grammar_and_typos": 5
}
규칙:
- JSON 앞뒤에 ```json 같은 마크다운 표시를 넣지 마세요.
- 필드명(summary)은 반드시 큰따옴표로 감싸세요.
- 불필요한 줄바꿈, 코멘트, 문장은 포함하지 마세요.
- JSON 형식 오류가 없도록 유의하세요.
""";
프롬프트는 위와 같이 여러 지표를 두었습니다
그리고 맨 첫번째 줄을 보면 너는 경제 리포트를 평가하는 AI 평가자다 라고 가스라이팅하는 부분이 있죠?
이걸 전문적인 용어로 Role Prompting이라 하는데요, 결과물 품질 향상에 도움이 된다고 합니다
그리고 출력 / 형식 예시를 주는 것도 전문적인 용어로 Few-Shot Prompting이라 하는데요, 소수의 예시만으로 LLM 모델이 효과적으로 학습하고 결과물을 내놓을 수 있게 해준답니다
2. 주식 리포트 생성
그리고 만들어진 경제 리포트와 주가, 주식 뉴스를 합쳐 주식 리포트를 생성합니다. 이 친구도 최대 3번까지 LLM as a judge 방식을 통해 평가됩니다.
3. 요약 리포트 생성
그 후 요약 리포트를 생성합니다
시장 영향력과 투자자 관심도를 기준으로 가장 중요한 이슈 3개를 요약해서 생성해줍니다
4. 제목 생성
마지막으로 사용자의 관심을 확 끌만한 제목을 생성합니다
생성되는 순서대로 보면 사용자가 읽는 정 반대로 생성되고 있습니다
이걸 정보 정제라고 하는데, 이렇게 정보 정제를 통해 다음 단계로 넘겨주고하는 과정을 반복함으로써 품질이 더 높은 리포트를 만들 수 있었습니다.
요약하자면
데이터 수집→정제→프롬프트 최적화→LLM 요약→후처리→품질 평가까지 단계별 추론 흐름을 도입
Few-shot 프롬프팅, attention 메커니즘 등 LLM 응답의 정확성과 일관성을 높이는 기법을 적용