← 리포트 목록
뉴스레터 요약 한국어화 개선
2026-04-16
newsletter
[newsletter, analyst, macro, fundamental, korean-summary]
결론
펀더멘탈/매크로 리포트가 뉴스레터 영어 제목을 그대로 인용하던 경로를 수정했다. 이제 filter/report는 뉴스레터 제목보다 본문 내 한국어 요약을 우선 사용한다.
실제 no-send 재실행 결과:
- macro:
body_len=1964,forbidden_hits=[], 뉴스레터 인용이BondEconomics Ceasefire제목이 아니라 한국어 요약으로 출력됨. - fundamental:
body_len=2310,blacklist_hits=[],A Strategy For Challenging Times,Our most honest webinar ever제목 대신 한국어 요약이 출력됨. - 영어 제목 잔존 검사: 0건.
1. 뉴스레터 노트 구조 확인
대상 디렉토리:
~/knowledge-agent/100 수신함/121 뉴스레터/*.md
구조는 아래 형태다.
---
title: 🔥 A Strategy For Challenging Times
date: 2026-04-15
source_platform: gmail-newsletter
source_channel: CompoundingQuality
category: 퀄리티-투자
tags:
- 밸류에이션
- 퀄리티
- 복리
status: inbox
---
본문 요약 또는 원문 발췌
gmail_newsletter_collector.py는 이미 LLM 한국어 요약을 만들도록 되어 있다.
- 저장 위치:
VAULT_NEWSLETTER = ~/knowledge-agent/100 수신함/121 뉴스레터 - 저장 방식: frontmatter + body
- 기존 요약 위치: 별도
summary:frontmatter가 아니라 body 전체 - 현재 prompt는
### 핵심 요약 / ### 핵심 포인트 / ### 투자/시장 시사점 / ### 분류 태그형식의 한국어 요약을 요구함.
2. 발견한 문제
기존 collector는 요약을 생성하지만 과거 실패/품질 불량 노트 일부는 영어 메타 요약이 body에 남아 있었다.
확인 예:
| 파일 | 상태 |
|---|---|
260408_BondEconomics_Ceasefire.md |
한국어 요약 있음 |
260415_CompoundingQuality_A-Strategy-For-Challenging-Times.md |
영어 메타 요약만 있음 |
260414_CompoundingQuality_Our-most-honest-webinar-ever.md |
영어 메타 요약만 있음 |
260415_LinasNewsletter_Inside-Revoluts-PRAGMA-The-Foundation-Mo.md |
영어 요약 중심 |
260412_CompoundingQuality_13-Interesting-Holding-Companies.md |
자동 요약 실패 발췌 |
따라서 리포트 쪽에서 title을 사용하면 영어 제목이 그대로 노출되고, body를 읽어도 일부는 영어 메타 요약이 들어오는 구조였다.
3. 구현 내용
신규 유틸
~/.hermes/workspace/scripts/newsletter_summary_utils.py
역할:
- frontmatter/body 분리
- body에서 한국어 요약 추출
- 우선순위:
<!-- korean-summary:auto:start -->자동 요약 블록- 기존 collector의
### 핵심 요약,### 핵심 포인트,### 투자/시장 시사점 - 한국어 비율이 충분한 본문 발췌
- 영어 메타 문구(
The text you provided,Based on the email,Would you like등)는 요약 후보에서 제외
신규 백필 wrapper
~/.hermes/workspace/scripts/newsletter_korean_summary_wrapper.py
역할:
- 한국어 요약이 없는 뉴스레터 노트를 찾아 3~5개 한국어 bullet 생성
- 원문은 보존하고 아래 블록만 append/replace
<!-- korean-summary:auto:start -->
## 한국어 요약 (자동)
- ...
<!-- korean-summary:auto:end -->
LLM 실패 또는 저품질 방지를 위해 알려진 제목은 deterministic heuristic을 먼저 사용하도록 했다.
수정한 filter/report
| 파일 | 변경 |
|---|---|
macro_context_filter.py |
newsletter item에 summary, summary_kind, source_channel 추가. 제목보다 한국어 요약 우선. |
fundamental_context_filter.py |
newsletter snippet을 body raw가 아니라 extract_note_summary() 결과로 구성. |
macro_redesign_report.py |
BondEconomics Ceasefire 영어 제목 대신 해당 노트의 한국어 요약을 인용. |
fundamental_redesign_report.py |
source_label()이 영어 title 대신 summary/snippet을 우선 출력. body print QA 지원 추가. |
4. 백필한 뉴스레터
한국어 요약 블록을 추가/정리한 파일:
260415_CompoundingQuality_A-Strategy-For-Challenging-Times.md
260414_CompoundingQuality_Our-most-honest-webinar-ever.md
260415_LinasNewsletter_Inside-Revoluts-PRAGMA-The-Foundation-Mo.md
260412_CompoundingQuality_13-Interesting-Holding-Companies.md
260410_AppEconomyInsights_Anthropic-Leapfrogs-OpenAI.md
백업 파일도 생성됨:
*.bak-ko-summary-20260416*
*.bak-ko-summary-manual-202604160958
예시 요약:
CompoundingQuality — 어려운 시장 구간에서는 주가 방향보다 배당 성장과 현금흐름 지속성이 강한 기업을 우선한다는 주장이다. / British American Tobacco 사례를 들어 2025년 1월 매수 이후 주가 +59.0%, 매수가 대비 연 배당수익률 9.2%를 제시한다. / 본문은 유료 배당 포트폴리오 홍보 성격이 강하므로 실제 종목 판단에는 밸류에이션, 부채, 규제 리스크 확인이 필요하다.
5. 테스트 결과
macro no-send
명령:
ANALYST_COMMON_SKIP_RUN=1 ANALYST_COMMON_NO_SEND=1 ANALYST_COMMON_PRINT_BODY=1 \
/bin/bash ~/.hermes/workspace/scripts/analyst_common_wrapper.sh macro
결과:
{"analyst":"macro","ok":true,"message_id":null,"status":"dry_run","body_len":1964,"forbidden_hits":[],"no_send":true}
본문 확인:
<b>🧾 해석 근거</b>
• 텔레그램: 유가가 인플레이션에 미치는 영향 — CPI 6%의 함정
• 뉴스레터: 이란과 미국·이스라엘 간에 일시적 휴전이 발표됐으나 지속성은 불확실하며 단기적으로 에너지 흐름 회복이 경기와 시장에 중요한 영향을 미친…
• 블로그: 호르무즈해협 기뢰 매설 시 영향
• 매크로채권: 키움 김승혁 매크로: 채권 Note_이란 사태 3주차 점검
이전의 뉴스레터: BondEconomics Ceasefire 영어 제목 노출이 사라졌다.
fundamental no-send
명령:
ANALYST_COMMON_SKIP_RUN=1 ANALYST_COMMON_NO_SEND=1 ANALYST_COMMON_PRINT_BODY=1 \
/bin/bash ~/.hermes/workspace/scripts/analyst_common_wrapper.sh fundamental
결과:
{"ok":true,"message_id":null,"body_len":2310,"blacklist_hits":[],"context_path":"/Users/ron/.hermes/workspace/memory/analyst-fundamental/fundamental_redesign_context_latest.json"}
본문 확인:
<b>🧠 해석 주입</b>
• 2026-04-15 CompoundingQuality — 어려운 시장 구간에서는 주가 방향보다 배당 성장과 현금흐름 지속성이 강한 기업을 우선한다는 주장이다. / British American Tobacco 사례를 들어 2025년 1월 매수 이후 주가 +59.0%, 매수가 대비 연 배당수익률 9.2%를 제시한다. / 본문은 유료 배당 포트폴리오 홍보 성격이 강…
• 2026-04-14 CompoundingQuality — 보유 종목별 확신도, 추가 매수 여부, 기대수익률 목표, 매도 조건을 공개하겠다는 포트폴리오 점검 웹세미나 예고다. / 핵심은 퀄리티 기업도 가격, 실적 경로, 운용자의 자본배분 원칙을 함께 검증해야 한다는 점이다.
• 2026-04-12 CompoundingQuality — 지주회사형 기업은 여러 사업·자산을 장기 보유하며 자본배분 능력으로 복리 수익을 만들 수 있다는 관점이다. / 핵심 판단 기준은 보유 자산의 질, 할인율, 경영진의 자본배분 기록, 주주환원 정책이다.
영어 제목 잔존 검사:
A Strategy For Challenging Times: false
Our most honest webinar ever: false
Inside Revolut: false
BondEconomics Ceasefire: false
구문 검사:
python3 -m py_compile newsletter_summary_utils.py newsletter_korean_summary_wrapper.py macro_context_filter.py fundamental_context_filter.py macro_redesign_report.py fundamental_redesign_report.py
compile_ok
6. 잔존 리스크
- 과거 뉴스레터 전체를 모두 백필한 것은 아니고, 현재 리포트에 걸리는 최신/주요 5개를 우선 처리했다.
- wrapper의 LLM 생성 결과가 저품질일 수 있어 알려진 제목은 heuristic을 우선 적용했다. 신규 뉴스레터는 첫 실행 후 품질 샘플링이 필요하다.
fundamental본문에는 뉴스레터 3개 뒤에 크레딧 메일 1개도 함께 표시된다. 이번 범위는 뉴스레터 제목 한국어화라 크레딧 메일 표현 정리는 별도 과제로 남겼다.
자체평가
- 정확성: 4.7/5 — 문제였던 영어 제목 노출 경로를 filter/report 양쪽에서 차단했고 실제 본문으로 확인.
- 완성도: 4.5/5 — 신규 wrapper와 백필 완료. 전체 과거 뉴스레터 일괄 백필은 후속.
- 검증: 4.8/5 — 구조 확인, context filter, no-send 본문, 영어 제목 grep, py_compile 확인.
- 최소 변경: 4.6/5 — 뉴스레터 요약 추출/표시 경로만 수정하고 발송 로직은 건드리지 않음.
종합: 4.65/5.