virtual-insanity
← 리포트 목록

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개 샘플

변경 파일

  1. ~/.hermes/workspace/scripts/shared/analyst_context.py
  2. Telegram 소스 루트를 ~/knowledge + ~/knowledge-agent 둘 다 읽도록 확장.
  3. _daily.md 같은 통합 digest는 제외하고 개별 텔레그램 노트만 선별.
  4. macro 키워드(CPI, PCE, 물가, 유가, 금리, 국채, RRP, TGA, 유동성, 연준 등)와 해석형 marker(핵심적 본문 요약, 전문가 (In)sight, 의미, 영향, 딜레마, 전망, 시사점, 해석)로 score 산정.
  5. provenance path와 mtime을 context에 남김.

  6. ~/.hermes/workspace/scripts/pipeline/macro_collector.py

  7. ctx.add_telegram_interpretations(limit=4) 추가.
  8. 결과적으로 context-macro.jsontelegram_interpretations가 생성됨.

  9. ~/.hermes/workspace/scripts/analyst_common_sender.py

  10. macro Telegram 본문에 <b>📡 수집 해석</b> 섹션 추가.
  11. 어떤 텔레그램 글이 어떤 판단에 쓰였는지 message에 표시.

  12. ~/.hermes/workspace/scripts/analyst_runner.sh

  13. 이번 실행 중 기존 prompt가 ~/knowledge/500 시그널/510 매크로/260416_macro_시그널.md를 생성한 것을 확인했다.
  14. task 원칙상 ~/knowledge는 읽기 전용이어야 하므로, 이후 analyst 실행부터는 운영 오버라이드에 “knowledge 볼트 쓰기 금지, memory 하위만 생성/갱신” 가드를 추가했다.

핵심 변경 라인

  • analyst_context.py:60-65 — Telegram source root 확장.
  • analyst_context.py:173-244load_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

  1. 전문가들의 마켓 인사이트 — “유가가 인플레이션에 미치는 영향은 도대체 얼마나 될까? — CPI 6%의…”
  2. 전문가들의 마켓 인사이트 — “[경제/정치] 유가 급등과 연준 정책 전망…”
  3. 전문가들의 마켓 인사이트 — “[Statista] 연준 전망: 견조한 성장, 단기적 인플레이션 상승”
  4. 전문가들의 마켓 인사이트 — “[채권] 국채는 정말 안전한가? 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_id 5, status success.

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개 개선 권고

  1. fundamental
  2. context-fundamental.json 생성 단계에 산업별 source bundle 추가.
  3. 우선순위: DART/실적 → 뉴스레터 → NEPCON → 블로그/Ranto → Telegram.
  4. 출력 JSON에 knowledge_context_used 필드를 표준화.

  5. technical

  6. raw 뉴스는 직접 signal로 쓰지 말고 “이벤트 annotation”으로만 붙인다.
  7. 예: 호르무즈/유가/금리 글은 차트 신호의 원인 후보로만 표시.

  8. pm

  9. raw source를 직접 읽기보다 upstream 3개 analyst의 telegram_interpretation_used, knowledge_context_used를 종합.
  10. PM은 “어떤 source가 어떤 포지션 결론에 영향을 줬는지”만 표시.

8. 검증

  • python3 -m py_compile 통과:
  • shared/analyst_context.py
  • pipeline/macro_collector.py
  • analyst_common_sender.py
  • bash -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