새소식

ETC

앉으나 서나 리포트 파이프라인 고민, 근데 지금은 누워있음

  • -

 

안녕하세요

 

저희 서비스 "BigPicture"는 매일 자동으로 여러 경제 지표와 뉴스를 크롤링하여 매주 경제 리포트를 생성해주는 서비스인데요

 

이거 리포트 어케 생성하는걸까요?

 

 

그러게요

 

사실 첨엔 LLM에 데이터 싹다 털어넣고 만들어줘! 하면 주는줄 알았는데

 

 

이딴 결과물이 나옴

 

눈앞에 산학프로젝트 성적 C+가 아른아른 거리는데요

 

마침 인프런 만우절 때 사놓은 1000원짜리 RAG 강의가 있어서 그걸 들어봤습니다

 

 

AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)| 판다스 스튜디오 - 인프런 강의

현재 평점 4.9점 수강생 7569명인 강의를 만나보세요. 랭그래프(LangGraph)로 구현하는 검색증강생성(RAG) 지능형 AI 에이전트! 이론부터 실전까지, 초보자도 쉽게 따라할 수 있는 핸즈온 튜토리얼입니

www.inflearn.com

 

이게 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 응답의 정확성과 일관성을 높이는 기법을 적용
  • LLM as a Judge 방식을 통해 품질 평가와 검증을 반복 수행

자세한 리포트 생성 프롬프트를 확인하고 싶으시면

 

 

BigPicture-BE/src/main/java/datastreams_knu/bigpicture/report/util/ReportPrompt.java at main · knu-datastreams/BigPicture-BE

2025 산학협력프로젝트1 - 경북대 5팀 - BigPicture Backend. Contribute to knu-datastreams/BigPicture-BE development by creating an account on GitHub.

github.com

 

위 링크를 확인해주세요

 

예이~~~~~~

 

 

마치겠습니다

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.