최신 LLM·TTS·인접 기술 동향을 에이전트에게 위임해서 "이번 주 새로 뜬" 항목을 수집·정리·축적한다. 사용자는 자연어로 트리거하고, 에이전트가 SKILL.md 절차에 따라 스캔·요약·DB 저장·보고서 생성까지 수행한다.
상태: 실험 단계 (
contrib/experimental/tech-radar/). 자동 등록된 슬래시 커맨드 없음 — 에이전트가 트리거 키워드를 듣고 호출. Cron 자동화 미지원 (요약 단계가 에이전트 세션을 필요로 함).
세 가지 운영 모드:
| 모드 | 트리거 예시 | 소요 시간 |
|---|---|---|
| Daily 증분 | "오늘자 tech radar 돌려줘", "최신 기술 조사" | ~10–30분 |
| 기간 지정 | "2026-03-01 ~ 2026-04-01 범위로 스캔" | 30분~1시간 |
| Bootstrap 백필 | "지난 1년치 한 달씩 채워줘" | 세션당 ~1시간 × 12–24회 |
"tech radar 돌려줘" / "신기술 찾아줘" / "기술 레이더 업데이트"
→ 에이전트가 자동으로:
"2026-03-01부터 2026-04-01까지 tech radar" "지난 3개월간 TTS 모델 변화 훑어줘"
→ 동일 흐름이되 지정 윈도우만 스캔.
"tech radar bootstrap 시작 — 2024-05부터 2026-04까지 월별로"
→ 에이전트가:
/tmp/tech-radar/ 산출물에서 자동 재개⚠️ Bootstrap 시에만 popularity 필터(다운로드·스타 임계) 적용을 사용자가 명시적으로 승인할 수 있다. Daily에서는 전량 enrich가 규칙.
에이전트가 보고서 최상단 "🎯 이번 레이더 추천" 섹션을 발췌해 답변한다. 보통 8개 항목 × 한 줄 헤드라인 + TTS 접목 가설.
contrib/experimental/tech-radar/reports/YYYY-MM-DD-HHMM.md
harness-radar base)| 테이블 | 들어있는 것 |
|---|---|
tech_items | 스캔된 모든 원본 관찰 (모델 1개·repo 1개·뉴스 1건 = 1행) |
scout_runs | 매 run의 윈도우·카운트·report_path + 보고서 전문(95k 이하) |
technologies | 같은 기술의 통합 레코드 (현재 비활성, 마이그레이션 대기) |
NocoDB 접근 방법은 nocodb-guide.md 참고.
보고서 전문 저장:
scout_runs.report_markdown에 본문이 그대로 저장된다. 단, NocoDB LongText는 100k char 하드캡이라 95k 초과 보고서는 컬럼이 비어있고 로컬 파일만 갖는다. 한국어 대형 보고서는 자동으로 로컬 전용.
"tech radar 최근 run 보여줘" / "이번 달 누적 추천 정리"
→ 에이전트가 scout_runs 조회 + reports/ 폴더 읽어서 요약.
기간 미지정 시 마지막 성공 run의 window_end부터 자동 계산.
같은 항목이 두 번 들어와도 NocoDB 단계에서 source_id로 upsert → 중복 안 쌓임.
WebFetch/WebSearch로
직접 훑어 정규화. 시즌별 학회 accepted 리스트도 여기서 처리규칙 기반 점수가 아니라 메인 에이전트가 TTS팀 관점으로 enriched 풀에서 선정. 선정 기준은 SKILL.md §Phase 2-4에 명시 (category 필터 + TTS 접목 가능성). 다른 관점(예: "데이터 도구만"·"평가 벤치만")이 필요하면 요청 시 추가 지시 가능.
세션이 끊겨도 /tmp/tech-radar/raws-<ts>.json·enriched-partial-*.json이
남아 다음 세션 에이전트가 이어서 처리 가능. 사용자는 "어디까지 됐나?" 정도만
물어보면 된다.
--notify)은 stub — 현재 미구현.technologies 통합 테이블 비활성 — 같은 기술의 cross-source 통합 보기는
마이그레이션 후 활성 예정. 지금은 tech_items 단위 원본 관찰만 신뢰.| 증상 | 의미 / 대응 |
|---|---|
| "raws_path: /tmp/.../raws-XXX.json" 후 멈춤 | Phase 2 진행 중. subagent 10개 병렬 → 5–15분 소요 정상 |
| "enriched JSON 스키마 위반 N건" 경고 | 일부 항목 기본값 fallback. 보통 문제 없음. 심하면 재-dispatch 자동 |
| "report_markdown skip (95k char 초과)" | 로컬 파일만 저장됨. report_path로 열어 보기 |
| "scout_runs.window_end 없음" → 풀 스캔 시도 | 첫 run이거나 DB 초기화 직후. 기간 지정 권장 |
| GitHub 결과가 ~300건에서 끊김 | API 페이지 한계. 월 chunk로 재실행 |
일반 사용자가 직접 할 일은 없다. 처음 세팅하는 경우만:
# 1. 의존성
pip install -r contrib/experimental/tech-radar/requirements.txt
# 2. NocoDB base/table 생성
python contrib/experimental/tech-radar/scripts/setup_nocodb.py --dry-run
python contrib/experimental/tech-radar/scripts/setup_nocodb.py
# → 출력된 base_id·table_id를 config.yaml `nocodb:` 섹션에 반영
# 3. (선택) 기존 reports/*.md를 NocoDB로 백필
python contrib/experimental/tech-radar/scripts/migrate_add_report_markdown.py
python contrib/experimental/tech-radar/scripts/backfill_reports.py
필요 시크릿 (tools._lib.secrets.get_secret이 자동 획득):
| 시크릿 | 필수 | 용도 |
|---|---|---|
nocodb/api_token | 필수 | NocoDB 쓰기 |
github/api_token | 선택 | GitHub rate limit 완화 |
huggingface/api_token | 선택 | HF rate limit 완화 |
| 종류 | 위치 |
|---|---|
| 스킬 절차 (에이전트가 따르는 룰북) | contrib/experimental/tech-radar/SKILL.md |
| 설계 문서 (왜 이렇게 만들었나) | contrib/experimental/tech-radar/DESIGN-v3.md |
| 진입점 (사용자가 직접 부를 일은 거의 없음) | contrib/experimental/tech-radar/run.py |
| 보고서 출력 | contrib/experimental/tech-radar/reports/ |
| NocoDB 가이드 | nocodb-guide.md (harness-radar base) |
| 주간 분석 리포트 예시 | contrib/reports/YYYY-MM-DD-tech-radar-week-analysis.md |