콘텐츠로 이동

점수 체계

모든 시그널에는 숫자 필드 3 개와 카테고리 필드 2 개가 포함됩니다. 대시보드는 이들을 모두 표시합니다. 본 페이지에서는 각각의 의미와 각 숫자가 정확히 어떻게 계산되는지를 설명합니다.

단일 agent 의 점수 산정 방법

5 개의 전문 agent — SignalScopeSentimentPulseMacroMindSectorScanPolicyRadar — 가 각 뉴스 항목을 독립적으로 평가합니다. 각 agent 는 동일한 3 단계 파이프라인을 실행합니다:

1. 도메인 특화 도구로 증거 수집. Agent 의 prompt 는 점수 산정 이전에 자기 전문 분야와 관련된 도구를 호출하도록 강제합니다:

Agent 점수 산정 전 필수 호출 도구
SignalScope 지정학 / 제재 / 거시 이벤트 조회, RSS, 웹 검색
SentimentPulse Reddit 센티먼트, Stocktwits 매수/매도 비율, YouTube 센티먼트
MacroMind 중앙은행 금리, CPI, 환율, 원유 / 금
SectorScan 동일 섹터 및 공급망 관련 기업 조회
PolicyRadar 규제 문서, 중앙은행 성명, SEC / ASIC 집행 동향

2. 명시적인 보정표에 따라 점수 산정. 각 agent 의 prompt 에는 LLM 의 앵커로서 이 표가 그대로 기재되어 있습니다:

범위 의미
0.80 – 1.00 직접적이고 중대한 영향 (보유 종목 직접 언급, 파산, 큰 폭의 어닝 서프라이즈)
0.65 – 0.79 유의미한 간접 영향 (섹터 전반 움직임, 핵심 고객/공급사 영향)
0.40 – 0.64 보통 정도 관련성 (산업 트렌드, 예상 부합 거시 지표)
0.00 – 0.39 약한 시그널 (일반적 논평, 거리 먼 관계)

Prompt 에는 다음 문장도 그대로 적혀 있습니다:"DO NOT suppress scores out of caution — if a stock is directly named with clear impact, score it 0.75+." (조심스럽다고 점수를 낮추지 말 것 —— 종목이 명확한 영향과 함께 직접 언급된다면 0.75+ 를 부여하라). 이는 LLM 이 지나치게 보수적으로 평가하는 경향에 대한 의도적인 반편향입니다.

3. 자기 비판 (Reflexion 패턴). 각 agent 는 REVISE 노드를 실행하여 자신의 초안을 다시 읽고 두 번째 패스에서 점수를 조정할 수 있습니다. 최종 점수는 반성 후 점수이며, 초안 점수는 감사를 위해 draft_impact_score 로 별도 보존됩니다.

Agent 점수에 관한 중요한 주의 사항

  • 이는 LLM 의 판단이며 공식이 아닙니다. 동일한 뉴스라도 실행마다 점수가 약간 흔들립니다 (전형적 드리프트 ≈ ±0.03).
  • confidence_score 는 agent 가 자신의 판단에 얼마나 확신하는지를 측정합니다. 뉴스의 중요도와는 무관하며 impact 와는 독립된 차원입니다.
  • Agent 의 도구 호출이 실패하더라도 (예: 외부 API 다운) 점수는 매기지만 confidence_score 는 그에 맞춰 낮아져야 합니다.

시그널 단위 점수 집계 방식

5 개 agent 가 모두 실행된 후, 3 가지 다른 집계 규칙이 출력을 결합합니다. UI 에 표시되는 각 숫자에 사용되는 규칙은 다릅니다 — 가장 자주 받는 질문이자 핵심:

UI 의 필드 집계 규칙 이 규칙인 이유
시그널의 impact_score 성공한 agent 들 사이에서 max(agent.impact_score) 가장 큰 영향을 본 시각이 이깁니다. 단 한 명의 전문가라도 이를 큰 사건으로 본다면 시그널 전체를 큰 사건으로 처리 — 1 회 오경보 < 1 회 누락.
시그널의 confidence_score 성공한 agent 들 사이에서 mean(agent.confidence_score) 「확실성」에 대한 합의 — 4 명이 불확실하다면 5 번째 agent 가 확신하더라도 시그널 전체는 그 불확실성을 떠안습니다.
tickers_linked 의 각 종목 impact_score 해당 종목을 언급한 agent 들 사이에서, 각 agent 의 confidence_score 를 가중치로 한 가중평균 단일 종목에 대해서는 「가장 극단적 시각」이 아닌 「합의 영향도」가 필요합니다. 가중치 부여로 확신 있는 agent 에게 더 큰 발언권을 줍니다.

소스 코드 참조:시그널 단위 규칙은 agents/synthesis_engine.py:308-311, 종목별 규칙은 agents/synthesis_engine.py:218-251.

Degraded 모드. 5 개 agent 중 성공적으로 응답한 것이 3 개 미만이면 urgency 가 자동으로 한 단계 강등됩니다 (FLASH → ALERT, ALERT → NOTE, NOTE → FYI). 이는 축퇴 실행 시 한 명의 자신감 넘치는 agent 가 단독으로 점수를 끌어올리는 것을 방지하기 위함입니다.

Urgency (긴급도)

숫자가 아닌 버킷 라벨. 시그널이 어디로, 얼마나 시끄럽게 전달되는지를 제어합니다. 4 단계는 코드의 shared/utils.apply_urgency_thresholds 에 매핑되며, 각 시그널 카드에 다른 색깔의 배지로 렌더링됩니다 (빨강 / 주황 / 금색 / 회색).

Urgency 임계값 배지 전달 방식
FLASH impact ≥ 0.80 이고 event 가 flash 군 (제재, 파산, 금리 서프라이즈, 수출 금지, 지정학 충돌…) 빨강 Telegram + 브라우저 푸시, requireInteraction 상시 배너
ALERT impact ≥ 0.65 주황 Telegram + 브라우저 푸시
NOTE impact ≥ 0.40 금색 대시보드만 표시 (푸시 없음)
FYI impact < 0.40 회색 대시보드만 표시, 피드 하단에 위치

flash 이벤트 타입은 명시적으로 나열되어 있습니다:export_ban, sanctions, tariffs, rate_surprise, bankruptcy, trading_halt, geopolitical_conflict, fraud, earnings_shock, regulatory_action. impact 가 중간 정도인 시그널이라도 PolicyRadar 나 MacroMind 가 이 중 하나의 event_type 을 부여하면 FLASH 로 승격될 수 있습니다.

FLASH 가 드문 이유

대부분의 어닝 / 애널리스트 / 공급망 뉴스는 분명히 주목할 만한 경우라도 ALERT 가 상한입니다. FLASH 는 「지금 당장 깨어나라」는 사건 전용입니다. 피드에 FLASH 가 가득하다면 임계값 로직 교정이 깨진 것 — 이슈를 열어주세요.

Impact score

[0.0, 1.0] 범위의 숫자. 집계 규칙은 max (위 표 참조). 최종 사용자 해석:

  • 0.80 + — 다음 거래 세션에서 주가를 두드러지게 움직일 가능성이 큽니다. 드물며 주로 정책 또는 M&A.
  • 0.65 – 0.80 — 분명히 관련 있음, 읽을 가치 있음. ALERT 등급 시그널 대부분이 이 범위.
  • 0.40 – 0.65 — 점진적 뉴스, 흥미로운 배경, 단독으로는 가격을 움직이기 어려움.
  • 0.40 미만 — 채움. 워치리스트를 언급한 덕에 표시될 뿐 우선순위가 낮음.

UI 는 impact 막대를 색으로 구분합니다:0.70+ 빨강, 0.45–0.70 호박색, 0.45 미만 파랑.

Confidence score

마찬가지로 [0.0, 1.0] 범위. 집계 규칙은 성공한 agent 자기보고 confidence 의 mean. Confidence 는 뉴스의 중요도가 아니라 각 agent 가 자신의 평가에 얼마나 확신하는지를 측정합니다. 「고 impact + 저 confidence」는 합당함 (예: 루머 출처 M&A); 「저 impact + 고 confidence」도 합당함 (예: 예상 부합 정기 어닝 — 이미 가격에 반영).

두 점수는 독립적으로 해석하세요:

  • 고 impact + 고 confidence → 진짜 시그널, 책임감 있게 행동.
  • 고 impact + 저 confidence → 주목할 가치, 가설로 다룸.
  • 저 impact + 고 confidence → 노이즈이지만 잘 식별된 노이즈.
  • 저 impact + 저 confidence → 무시.

종목별 관련도

모든 시그널에는 tickers_linked 목록이 포함됩니다 — 뉴스 영향을 받는 종목마다 한 항목씩, 자체 impact 점수와 link_type 을 가집니다:

  • direct (직접) — 뉴스가 이 종목 또는 회사명을 명시적으로 언급.
  • sector (동일 섹터) — 뉴스는 인접 회사 또는 시장 이벤트에 관한 것이고, 섹터 / 공급망 agent 가 이 종목으로 전파.
  • chain (공급망) — SectorScan 이 추론한 핵심 고객 / 공급사 / 파트너 관계.
  • macro (거시) — 광범위한 자산 클래스 움직임 (모든 REITs, 모든 은행); 진정으로 섹터 전반인 이벤트 전용.

종목별 impact 는 max 가 아닌 가중평균 규칙을 사용합니다. 단일 종목에 대해서는 가장 극단적 시각이 아닌 합의 영향도가 필요하기 때문입니다. 대시보드는 이를 내림차순으로 정렬하므로 각 시그널에서 가장 관련도 높은 종목이 첫 번째 막대로 옵니다.

Signal type

Agent 는 각 시그널에 「이벤트 타입」을 나타내는 짧은 문자열을 부여합니다:earnings (어닝), guidance_change (가이던스 변경), m_and_a (M&A), policy_change (정책 변경), supply_chain (공급망), macro_event (거시 이벤트), routine_news (일반 뉴스), sentiment_surge (센티먼트 급증). urgency 배지 옆에 작은 저채도 알약으로 표시됩니다. 필터링과 향후 규칙 매칭에 사용됩니다.

관련 항목

  • Agents — 이 점수들을 생성하는 주체
  • Claw chat (RAG) — 동일한 점수가 검색 랭킹에 사용되는 방식