← 리포트 목록
analyst 4종 knowledge 수집물 참조 감사 및 macro 텔레그램 context 샘플
2026-04-16
analyst
[analyst, knowledge-pipeline, telegram, macro, audit]
analyst 4종 knowledge 수집물 참조 감사
결론
- 현재 4개 analyst 중 macro만 텔레그램 해석글을 실제 context에 주입하도록 개선 완료.
- 기존 macro prompt에는
telegram_interpretations사용 지시가 있었지만, 실제context-macro.json이 생성되지 않았고 collector도 텔레그램을 넣지 않아 실사용은 안 되고 있었다. - 이번 수정 후
context-macro.json에 텔레그램 해석 4건이 들어갔고, macro 실제 실행 결과가summary,causal_analysis,real_economy,signals에 반영됐다. - Telegram market topic 전송 성공: message_id=2389.
1. 현재 참조 상태 감사표
| analyst | 현재 참조 소스(확인된 실제 경로/파일) | 빠진 소스 | 판정 |
|---|---|---|---|
| macro | ~/.hermes/workspace/memory/analyst-context/context-macro.json, ~/.hermes/workspace/memory/market-indicators/2026-04-15.json, 이번 수정 후 ~/knowledge/100 수신함/118 텔레그램/... 4건 |
뉴스레터, Twitter, 블로그/Ranto, NEPCON 직접 주입은 아직 없음 | 개선 완료(1차) |
| fundamental | ~/.hermes/workspace/memory/analyst-context/context-fundamental.json, ~/knowledge/100 수신함/132 seminar/, DART 최근 공시, macro/fundamental previous latest |
텔레그램, 뉴스레터, 블로그/Ranto, NEPCON, Twitter 직접 주입 없음 | 개선 필요 |
| technical | ~/.hermes/workspace/memory/analyst-context/context-technical.json 중심 |
텔레그램, 뉴스레터, 블로그/Ranto, NEPCON, Twitter 직접 주입 없음 | 개선 필요 |
| pm | analyst-macro/latest.json, analyst-fundamental/latest.json, analyst-technical/latest.json upstream 결과 중심 |
raw knowledge 직접 참조 없음. 단 PM은 raw 직접보다 upstream의 knowledge_context_used를 소비하는 편이 안전 |
구조 설계 필요 |
2. 수집물 존재 확인
| 소스 | 경로 | 최근 7일 파일 | 상태 |
|---|---|---|---|
| Telegram | ~/knowledge/100 수신함/118 텔레그램, ~/knowledge-agent/100 수신함/118 텔레그램 |
5 | macro context에 반영 시작 |
| Gmail 뉴스레터 | ~/knowledge/100 수신함/121 뉴스레터 |
41 | analyst context 미반영 |
| Blog/Ranto | ~/knowledge/100 수신함/120 지식사랑방/122 articles, ~/.hermes/workspace/memory/blog-insights |
23 / 11 | analyst context 미반영 |
| NEPCON | ~/knowledge/100 수신함/120 지식사랑방/124 nepcon |
964 | analyst context 미반영 |
| Twitter/X | ~/knowledge/100 수신함/120 지식사랑방/125 x_twitter, ~/knowledge-agent/100 수신함/113 twitter-reports, ~/.hermes/workspace/memory/twitter-collector |
6 / 4 / 0 | analyst context 미반영 |
3. 구현 내용 — macro 1개 샘플
변경 파일
~/.hermes/workspace/scripts/shared/analyst_context.py- Telegram 소스 루트를
~/knowledge+~/knowledge-agent둘 다 읽도록 확장. _daily.md같은 통합 digest는 제외하고 개별 텔레그램 노트만 선별.- macro 키워드(
CPI,PCE,물가,유가,금리,국채,RRP,TGA,유동성,연준등)와 해석형 marker(핵심적 본문 요약,전문가 (In)sight,의미,영향,딜레마,전망,시사점,해석)로 score 산정. -
provenance path와 mtime을 context에 남김.
-
~/.hermes/workspace/scripts/pipeline/macro_collector.py ctx.add_telegram_interpretations(limit=4)추가.-
결과적으로
context-macro.json에telegram_interpretations가 생성됨. -
~/.hermes/workspace/scripts/analyst_common_sender.py - macro Telegram 본문에
<b>📡 수집 해석</b>섹션 추가. -
어떤 텔레그램 글이 어떤 판단에 쓰였는지 message에 표시.
-
~/.hermes/workspace/scripts/analyst_runner.sh - 이번 실행 중 기존 prompt가
~/knowledge/500 시그널/510 매크로/260416_macro_시그널.md를 생성한 것을 확인했다. - task 원칙상
~/knowledge는 읽기 전용이어야 하므로, 이후 analyst 실행부터는 운영 오버라이드에 “knowledge 볼트 쓰기 금지, memory 하위만 생성/갱신” 가드를 추가했다.
핵심 변경 라인
analyst_context.py:60-65— Telegram source root 확장.analyst_context.py:173-244—load_telegram_interpretations()선별 로직 강화.macro_collector.py:205-210— macro context 생성 시 Telegram 해석 4건 주입.analyst_common_sender.py:163-176— Telegram 본문에📡 수집 해석섹션 출력.analyst_runner.sh운영 오버라이드 —~/knowledge쓰기 금지 가드 추가.
4. 실제 주입된 Telegram 해석 글
context-macro.json 생성 시각: 2026-04-16T08:38:43+09:00
전문가들의 마켓 인사이트— “유가가 인플레이션에 미치는 영향은 도대체 얼마나 될까? — CPI 6%의…”전문가들의 마켓 인사이트— “[경제/정치] 유가 급등과 연준 정책 전망…”전문가들의 마켓 인사이트— “[Statista] 연준 전망: 견조한 성장, 단기적 인플레이션 상승”전문가들의 마켓 인사이트— “[채권] 국채는 정말 안전한가? 3세기 역사가 보여주는 충격적 진실”
5. macro 실제 실행 결과
실행 명령:
PYTHONPATH=... /usr/bin/python3 ~/.hermes/workspace/scripts/pipeline/macro_collector.py
/bin/bash ~/.hermes/workspace/scripts/analyst_common_wrapper.sh macro
ANALYST_COMMON_SKIP_RUN=1 /bin/bash ~/.hermes/workspace/scripts/analyst_common_wrapper.sh macro
검증 결과:
context-macro.json생성: 성공, size 약 218KB,telegram_interpretations=4.- macro generation: 성공,
latest.json갱신2026-04-16 08:43:58. - Telegram market topic 전송: 성공.
- 1차 생성 후 전송:
message_id=2388 📡 수집 해석섹션 표시 추가 후 재전송:message_id=2389- chat_id
-1003522748967, topic_id5, statussuccess.
6. “수치 + 해석” 본문 샘플
최근 macro 본문 핵심:
Recovery 유지(67%) — WTI -7.28% 급락(기뢰 제거+휴전 기대)으로 에너지 프리미엄 해소 가속. DXY z=-2.11 달러 약세+신용스프레드 양호(IG 0.82%)로 Risk-On 접근. 단 GPR 304+BEI 2.38% 고착은 불확실성 잔존 시사. 유가 간접 전이(운송·식품) 시차로 인플레 즉각 해소 어려움.
Telegram 본문에 새로 노출된 섹션:
<b>📡 수집 해석</b>
• <b>전문가들의 마켓 인사이트</b> 유가가 인플레이션에 미치는 영향 — CPI 6%의 함정 — CPI/유가 간접 전이 경로 분석(운송·식품·항공료)에 반영
• <b>전문가들의 마켓 인사이트</b> 유가 급등과 연준 정책 전망 — 연준 비둘기파 전환 근거(대선·노동시장·부채)에 반영
• <b>전문가들의 마켓 인사이트</b> 연준 전망: 견조한 성장, 단기적 인플레이션 상승 — Fed GDP 2.4%, PCE 2.7% 전망 수치에 반영
latest.json 반영 예:
telegram_interpretation_used: 3건 기록.real_economy.inflation: “CPI 에너지 비중 6.3%이지만 유가는 운송·식품·항공료로 간접 전이…” 반영.signals: “BEI 10Y 2.38% — 유가 하락에도 인플레 기대 고착. 간접 전이 시차 존재” 반영.
7. 나머지 3개 개선 권고
- fundamental
context-fundamental.json생성 단계에 산업별 source bundle 추가.- 우선순위: DART/실적 → 뉴스레터 → NEPCON → 블로그/Ranto → Telegram.
-
출력 JSON에
knowledge_context_used필드를 표준화. -
technical
- raw 뉴스는 직접 signal로 쓰지 말고 “이벤트 annotation”으로만 붙인다.
-
예: 호르무즈/유가/금리 글은 차트 신호의 원인 후보로만 표시.
-
pm
- raw source를 직접 읽기보다 upstream 3개 analyst의
telegram_interpretation_used,knowledge_context_used를 종합. - PM은 “어떤 source가 어떤 포지션 결론에 영향을 줬는지”만 표시.
8. 검증
python3 -m py_compile통과:shared/analyst_context.pypipeline/macro_collector.pyanalyst_common_sender.pybash -n analyst_runner.sh통과.- macro collector 실제 실행 성공.
- macro wrapper 실제 실행 성공.
- Telegram 전송 성공:
message_id=2389.
9. 잔존 리스크
- 이번 작업 전 기존 macro prompt가 서로 충돌했다: 상단에는
context-macro.json만 읽으라고 하고, 하단에는 볼트 시그널 저장을 요구했다. 이번에 runner 운영 오버라이드로~/knowledge쓰기 금지 가드를 추가했지만, 다음 정기 실행에서 실제로 볼트 쓰기가 멈췄는지는 한 번 더 확인 필요. - Telegram 수집물은 최근 7일 기준 파일 수가 적고, 실제로는 3월 말~4월 초 글이 많이 쓰였다. 텔레그램 collector freshness 복구/증분 수집 품질 점검이 별도 필요하다.
- 뉴스레터/NEPCON/Twitter는 감사만 했고 이번 구현에서는 macro에 직접 주입하지 않았다. 2차 라운드에서 source bundle builder를 공통화해야 한다.
자체평가
- 정확성: 4.6/5 — macro는 실제 Telegram 해석 4건을 context에 넣고 message_id까지 확보했다.
- 완성도: 4.4/5 — 4개 감사와 macro 샘플은 완료. 나머지 3개 구현은 요청 범위상 권고로 분리.
- 검증: 4.7/5 — compile/bash 검증, collector 실행, analyst 실행, Telegram 전송 확인.
- 최소 변경: 4.2/5 — macro 중심 최소 변경이지만, 전송 본문 가시화를 위해 sender와 runner 가드까지 손댔다.
- 종합: 4.5/5