From ffb3bd9b593d7740caf9839cc4e100c307406dbc Mon Sep 17 00:00:00 2001 From: Hana Date: Sat, 13 Jun 2026 01:51:44 +0900 Subject: [PATCH] feat: add find-something skill - general purpose search pipeline --- skills/find-something/SKILL.md | 118 +++++++++++ skills/find-something/config.yaml | 157 +++++++++++++++ .../pipeline/01-requirement-parsing.md | 111 +++++++++++ .../pipeline/02-search-execution.md | 143 ++++++++++++++ .../pipeline/03-result-collection.md | 126 ++++++++++++ .../pipeline/04-result-validation.md | 130 ++++++++++++ .../pipeline/05-report-generation.md | 187 ++++++++++++++++++ 7 files changed, 972 insertions(+) create mode 100644 skills/find-something/SKILL.md create mode 100644 skills/find-something/config.yaml create mode 100644 skills/find-something/pipeline/01-requirement-parsing.md create mode 100644 skills/find-something/pipeline/02-search-execution.md create mode 100644 skills/find-something/pipeline/03-result-collection.md create mode 100644 skills/find-something/pipeline/04-result-validation.md create mode 100644 skills/find-something/pipeline/05-report-generation.md diff --git a/skills/find-something/SKILL.md b/skills/find-something/SKILL.md new file mode 100644 index 0000000..e5bebf5 --- /dev/null +++ b/skills/find-something/SKILL.md @@ -0,0 +1,118 @@ +--- +name: find-something +description: "인터넷에서 사용자가 요청한 모든 대상을 찾고 신뢰성을 검증하는 범용 검색 파이프라인 스킬입니다. USE FOR: find anything, search information, lookup, 검색, 정보 찾기, 자료 조사, 문서 검색, 인물 검색, 장소 검색, 코드 검색, 데이터 검색. DO NOT USE FOR: 상품 구매 대행, 배송 추적, 가격 추적." +version: 2.0.0 +author: Find Something System +tags: [search, find, information, validation, pipeline, general] +dependencies: [websearch, webfetch] +--- + +# Find Something + +인터넷에서 사용자가 요청한 모든 대상을 찾고, 수집된 정보의 신뢰성을 검증하는 범용 검색 파이프라인 스킬입니다. 상품, 문서, 코드, 인물, 장소, 뉴스, 데이터 등 찾을 수 있는 모든 것이 대상입니다. + +## 전체 파이프라인 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ FIND-SOMETHING PIPELINE │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ [Step 1: 요구사항 분석] │ +│ │ │ +│ ▼ │ +│ 사용자 입력 → 대상 유형 분류 → 키워드 추출 → 검증 기준 설정 │ +│ │ +│ [Step 2: 검색 실행] │ +│ │ │ +│ ▼ │ +│ 웹 검색 → 유형별 맞춤 검색 → 결과 통합 │ +│ │ +│ [Step 3: 결과 수집] │ +│ │ │ +│ ▼ │ +│ 중복 제거 → 신뢰도 평가 → 기본 필터링 → 결과 목록 │ +│ │ +│ [Step 4: 결과 검증] │ +│ │ │ +│ ▼ │ +│ 정확성 확인 → 최신성 확인 → 출처 검증 → 검증 결과 │ +│ │ +│ [Step 5: 리포트 생성] │ +│ │ │ +│ ▼ │ +│ 결과 요약 → 대안/추가 정보 제안 → 최종 리포트 │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +## 파이프라인 단계 + +| 단계 | 파일 | 설명 | +|------|------|------| +| 1 | `pipeline/01-requirement-parsing.md` | 요구사항 분석, 대상 유형 분류, 검색 키워드 생성 | +| 2 | `pipeline/02-search-execution.md` | 유형별 검색 전략 실행 (웹/문서/코드/이미지 등) | +| 3 | `pipeline/03-result-collection.md` | 검색 결과 통합, 중복 제거, 신뢰도 평가 | +| 4 | `pipeline/04-result-validation.md` | 정보의 정확성, 최신성, 출처 신뢰성 검증 | +| 5 | `pipeline/05-report-generation.md` | 리포트 생성 및 추가 정보 제안 | + +## When to Use + +- 사용자가 특정 정보나 대상을 찾고 있을 때 +- 문서, 코드, 인물, 장소, 뉴스 등 다양한 유형의 검색이 필요할 때 +- 검색 결과의 신뢰성과 정확성이 중요할 때 +- 여러 소스의 정보를 종합해야 할 때 +- 주제에 대한 심층 조사가 필요할 때 + +## 실행 규칙 + +1. **단계 순차 실행** — 각 단계는 이전 단계의 출력이 필요 +2. **유형별 전략 적용** — 대상 유형에 따라 검색/검증 전략을 달리함 +3. **에러 시 재시도** — 네트워크 오류 시 최대 3회 재시도 +4. **중간 결과 저장** — 각 단계 완료 시 결과 저장 +5. **출처 명시** — 모든 정보의 출처를 반드시 표기 + +## 데이터 흐름 + +``` +사용자 요구사항 (텍스트) + │ + ▼ +[01-requirement-parsing] + │ + ├─> 대상 유형 (문자열) + ├─> 검색 키워드 (배열) + └─> 검증 기준 (객체) + │ + ▼ +[02-search-execution] + │ + ├─> 웹 검색 결과 (배열) + ├─> 유형별 검색 결과 (배열) + └─> 통합 원시 결과 (배열) + │ + ▼ +[03-result-collection] + │ + └─> 필터링된 결과 목록 (배열) + │ + ▼ +[04-result-validation] + │ + ├─> 검증된 결과 (배열) + └─> 검증 상태 (객체) + │ + ▼ +[05-report-generation] + │ + └─> 최종 리포트 (마크다운) +``` + +## 에러 핸들링 + +| 상황 | 처리 방법 | +|------|-----------| +| **검색 실패** | 해당 소스 건너뛰고 다음 소스로 진행 | +| **네트워크 오류** | 최대 3회 재시도, 실패 시 로그 기록 | +| **결과 없음** | 대안 검색 키워드로 재검색 제안 | +| **검증 실패** | 실패 사유 명시 및 대안 정보 제안 | diff --git a/skills/find-something/config.yaml b/skills/find-something/config.yaml new file mode 100644 index 0000000..42ca33a --- /dev/null +++ b/skills/find-something/config.yaml @@ -0,0 +1,157 @@ +# Find Something - 파이프라인 파라미터 + +# 파이프라인 설정 +pipeline: + max_retries: 3 + timeout_seconds: 30 + save_intermediate_results: true + +# 검색 설정 +search: + sources: + web_search: true + news_search: true + document_search: true + code_search: false + image_search: false + + max_results_per_source: 15 + max_total_results: 50 + + 검색엔진: + - name: google + enabled: true + priority: 1 + - name: naver + enabled: true + priority: 2 + language: ko + - name: bing + enabled: true + priority: 3 + + 대상_유형별_소스: + product: + priority_sources: ["web_search", "shopping_mall"] + document: + priority_sources: ["web_search", "document_search"] + code: + priority_sources: ["code_search", "web_search"] + person: + priority_sources: ["web_search", "news_search"] + place: + priority_sources: ["web_search", "image_search"] + news: + priority_sources: ["news_search", "web_search"] + general: + priority_sources: ["web_search"] + +# 결과 수집 설정 +collection: + deduplication: + title_similarity_threshold: 0.8 + url_match_exact: true + content_similarity_threshold: 0.7 + + trust_score_weights: + source_count: 0.3 + source_authority: 0.25 + recency: 0.2 + consistency: 0.15 + information_completeness: 0.1 + + filtering: + min_trust_score: 0.4 + require_source: true + +# 검증 설정 +validation: + accuracy_check: + enabled: true + require_multiple_sources: true + + recency_check: + enabled: true + max_age_days: + news: 7 + general: 365 + reference: 730 + + source_authority: + enabled: true + trusted_domains: + - wikipedia.org + - naver.com + - gov.* + - edu.* + - or.kr + blocked_domains: [] + + cross_reference: + enabled: true + min_sources: 2 + +# 리포트 설정 +report: + format: markdown + + include_summary: true + include_detailed_results: true + include_alternatives: true + include_sources: true + + alternatives: + max_count: 3 + min_trust_score: 0.5 + +# 대상 유형별 설정 +target_types: + product: + validation: + stock_check: false + spec_match: true + price_consistency: true + source_authority: true + + document: + validation: + accuracy_check: true + recency_check: true + source_authority: true + cross_reference: true + + code: + validation: + accuracy_check: true + recency_check: true + source_authority: false + cross_reference: false + + person: + validation: + accuracy_check: true + recency_check: true + source_authority: true + cross_reference: true + + place: + validation: + accuracy_check: true + recency_check: false + source_authority: true + cross_reference: true + + news: + validation: + accuracy_check: true + recency_check: true + max_age_days: 7 + source_authority: true + cross_reference: true + + general: + validation: + accuracy_check: true + recency_check: false + source_authority: false + cross_reference: false diff --git a/skills/find-something/pipeline/01-requirement-parsing.md b/skills/find-something/pipeline/01-requirement-parsing.md new file mode 100644 index 0000000..e7d2c8a --- /dev/null +++ b/skills/find-something/pipeline/01-requirement-parsing.md @@ -0,0 +1,111 @@ +# Step 1: 요구사항 분석 + +## 개요 + +사용자로부터 요청을 받아 찾고자 하는 대상의 유형을 분류하고, 검색에 필요한 키워드와 검증 기준을 추출합니다. + +## 입력 + +사용자로부터 다음 정보를 수집합니다: + +| 항목 | 필수 | 설명 | +|------|------|------| +| **검색어/질문** | O | 찾고자 하는 대상이나 궁금한 내용 | +| **대상 유형** | X | 상품, 문서, 코드, 인물, 장소, 뉴스, 일반 | +| **세부 조건** | X | 추가 필터 조건 (날짜, 언어, 지역 등) | +| **기대 범위** | X | 결과의 깊이 (간략/상세/심층) | + +## 처리 과정 + +### 1단계: 대상 유형 분류 + +사용자 입력에서 찾고자 하는 대상의 유형을 자동 분류합니다: + +| 유형 | 키워드 예시 | 검색 전략 | +|------|-------------|-----------| +| **상품** | 상품, 제품, 가격, 구매, 쇼핑 | 웹 + 쇼핑몰 | +| **문서/정보** | 문서, 자료, 정보, 방법, 뜻, 개념 | 웹 + 문서 | +| **코드** | 코드, 함수, 라이브러리, API, 에러 | 코드 검색 + 웹 | +| **인물** | 인물, 사람, 프로필, 연예인, CEO | 웹 + 뉴스 | +| **장소** | 장소, 위치, 여행, 맛집, 카페 | 웹 + 이미지 | +| **뉴스/이슈** | 뉴스, 소식, 이슈, 최신, 트렌드 | 뉴스 + 웹 | +| **일반** | 분류 불명 | 웹 검색 | + +### 2단계: 검색 키워드 생성 + +추출된 정보를 기반으로 검색 키워드를 생성합니다: + +| 키워드 유형 | 형식 | 예시 | +|-------------|------|------| +| **기본 검색** | [핵심어] | "양자 컴퓨터 상용화" | +| **상세 검색** | [핵심어] [세부 조건] | "양자 컴퓨터 상용화 2024 IBM" | +| **대안 검색** | [핵심어] [관련어] | "양자 컴퓨터 vs 슈퍼컴퓨터 차이" | + +### 3단계: 검증 기준 설정 + +유형에 따라 검증 기준을 자동 설정합니다: + +```yaml +validation_criteria: + document: + accuracy_check: true + recency_check: true + source_authority: true + cross_reference: true + + person: + accuracy_check: true + recency_check: true + source_authority: true + cross_reference: true + + news: + accuracy_check: true + recency_check: true + max_age_days: 7 + source_authority: true + cross_reference: true + + general: + accuracy_check: true + recency_check: false + source_authority: false + cross_reference: false +``` + +## 출력 + +```json +{ + "requirement_id": "req_001", + "original_input": "양자 컴퓨터 상용화 현황과 주요 기업 동향", + "parsed": { + "target_type": "document", + "core_topic": "양자 컴퓨터 상용화", + "sub_topics": ["현황", "기업 동향"], + "conditions": { + "recency": "최신", + "depth": "상세" + }, + "language": "ko" + }, + "search_keywords": { + "basic": ["양자 컴퓨터 상용화"], + "detailed": ["양자 컴퓨터 상용화 현황 기업"], + "alternative": ["양자 컴퓨터 시장 동향", "양자 컴퓨터 IBM 구글"] + }, + "validation_criteria": { + "accuracy_check": true, + "recency_check": true, + "source_authority": true, + "cross_reference": true + } +} +``` + +## 규칙 + +1. **최소 1개 키워드** — 검색어는 반드시 1개 이상 추출 +2. **유형 자동 분류** — 명시적이지 않은 경우 키워드로 추론 +3. **유형별 전략 연결** — 분류된 유형에 따라 2단계 검색 전략 결정 +4. **검증 기준 기본값** — 유형 미지정 시 일반(general) 기준 적용 diff --git a/skills/find-something/pipeline/02-search-execution.md b/skills/find-something/pipeline/02-search-execution.md new file mode 100644 index 0000000..b0de637 --- /dev/null +++ b/skills/find-something/pipeline/02-search-execution.md @@ -0,0 +1,143 @@ +# Step 2: 검색 실행 + +## 개요 + +생성된 검색 키워드와 대상 유형에 따라 최적의 검색 전략을 실행합니다. + +## 검색 전략 + +| 유형 | 1차 검색 | 2차 검색 | 3차 검색 | +|------|----------|----------|----------| +| **문서/정보** | 웹 검색 (`websearch`) | 심층 웹 검색 | 위키/참고 사이트 | +| **상품** | 웹 검색 (`websearch`) | 쇼핑몰 검색 | 가격 비교 | +| **코드** | 코드 검색 | 기술 문서 검색 | Stack Overflow | +| **인물** | 웹 검색 (`websearch`) | 뉴스 검색 | SNS/프로필 | +| **장소** | 웹 검색 (`websearch`) | 이미지 검색 | 리뷰 사이트 | +| **뉴스/이슈** | 뉴스 검색 (`websearch`) | 웹 검색 | 심층 분석 | +| **일반** | 웹 검색 (`websearch`) | 대안 키워드 검색 | - | + +## 1차 검색: 웹 검색 엔진 + +### 검색 전략 + +``` +검색 쿼리: [기본 키워드] + [세부 조건] +예시: "양자 컴퓨터 상용화 현황 2024" +``` + +### 검색 대상 + +| 검색엔진 | 특징 | 사용 시점 | +|----------|------|-----------| +| **Google** | 가장 광범위한 결과 | 기본 검색 | +| **Naver** | 한국어 콘텐츠 특화 | 한국어 검색 시 | +| **Bing** | 뉴스/이미지 검색 강화 | 뉴스 검색 시 | + +### 수집 정보 + +- 제목, URL, 요약/스니펫 +- 게시일 +- 출처 도메인 +- 관련 키워드 + +## 2차 검색: 유형별 맞춤 검색 + +### 문서/정보 + +``` +목표: 심층 정보 획득 +방법: +1. 사이트 지정 검색 ("site:wikipedia.org [키워드]") +2. 관련 문서 검색 ("[키워드] filetype:pdf") +3. 전문 자료 저장소 검색 +``` + +### 코드 + +``` +목표: 코드 스니펫, 문서, 해결책 획득 +방법: +1. GitHub 검색 ("[언어] [기능]") +2. Stack Overflow 검색 ("[에러/질문] site:stackoverflow.com") +3. 공식 문서 검색 ("[라이브러리] documentation") +``` + +### 인물 + +``` +목표: 인물 정보, 프로필, 활동 내역 획득 +방법: +1. 프로필 검색 ("[인물명] profile") +2. 뉴스 검색 ("[인물명] news") +3. 인터뷰/기고문 검색 +``` + +### 장소 + +``` +목표: 위치 정보, 리뷰, 방문 정보 획득 +방법: +1. 위치 정보 검색 ("[장소명] 위치") +2. 리뷰 검색 ("[장소명] 리뷰") +3. 주변 정보 검색 ("[장소명] 주변 맛집") +``` + +### 뉴스/이슈 + +``` +목표: 최신 뉴스 및 이슈 분석 +방법: +1. 뉴스 검색 ("[키워드] news | 뉴스") +2. 시계열 검색 ("[키워드] 지난주/이번달") +3. 분석 기사 검색 +``` + +## 검색 실행 규칙 + +1. **유형별 전략** — 대상 유형에 맞는 검색 소스 우선 사용 +2. **단계별 실행** — 1차 → 2차 순서로 실행 +3. **결과 통합** — 모든 검색 결과를 통합하여 전달 +4. **에러 시 건너뛰기** — 검색 실패 시 다음 단계로 진행 +5. **부족 시 확장** — 결과가 3건 미만이면 대안 키워드로 재검색 + +## 출력 + +```json +{ + "search_id": "search_001", + "keyword": "양자 컴퓨터 상용화", + "target_type": "document", + "results": { + "web_search": [ + { + "source": "google", + "url": "https://example.com/quantum-computing", + "title": "양자 컴퓨터 상용화 현황", + "snippet": "2024년 양자 컴퓨터 상용화가 본격화되면서...", + "published_date": "2024-10-15", + "domain": "example.com" + } + ], + "type_specific": [ + { + "source": "wikipedia", + "url": "https://en.wikipedia.org/wiki/Quantum_computing", + "title": "Quantum computing - Wikipedia", + "snippet": "Quantum computing is a type of computation...", + "type": "reference" + } + ] + }, + "total_results": 12, + "search_timestamp": "2024-10-20T09:00:00Z" +} +``` + +## 에러 핸들링 + +| 상황 | 처리 방법 | +|------|-----------| +| **검색엔진 차단** | 다른 검색엔진으로 변경 | +| **사이트 접속 불가** | 해당 사이트 건너뛰기 | +| **결과 없음** | 키워드 수정 제안, 유형 재분류 | +| **네트워크 오류** | 최대 3회 재시도 | diff --git a/skills/find-something/pipeline/03-result-collection.md b/skills/find-something/pipeline/03-result-collection.md new file mode 100644 index 0000000..cf676f5 --- /dev/null +++ b/skills/find-something/pipeline/03-result-collection.md @@ -0,0 +1,126 @@ +# Step 3: 결과 수집 + +## 개요 + +각 검색 소스에서 수집한 결과를 통합하고, 중복을 제거하며, 기본 필터링을 수행합니다. + +## 처리 과정 + +### 1단계: 결과 통합 + +여러 검색 소스의 결과를 하나의 목록으로 통합합니다: + +``` +웹 검색 결과 (8건) ++ 유형별 검색 결과 (5건) += 통합 결과 (13건) +``` + +### 2단계: 중복 제거 + +동일한 내용을 여러 소스에서 발견한 경우 하나로 통합합니다. + +#### 중복 기준 + +| 기준 | 방법 | +|------|------| +| **URL 일치** | 동일 URL | +| **제목 유사도** | 텍스트 유사도 80% 이상 | +| **내용 유사도** | 본문 요약 유사도 70% 이상 | + +#### 통합 규칙 + +```json +{ + "result": "원본 결과 정보", + "sources": [ + {"source": "google", "url": "..."}, + {"source": "naver", "url": "..."} + ], + "best_snippet": "가장 완전한 요약", + "source_count": 2 +} +``` + +### 3단계: 신뢰도 평가 + +각 결과의 신뢰도를 평가합니다: + +| 요소 | 가중치 | 평가 기준 | +|------|--------|-----------| +| **소스 수** | 30% | 여러 소스에서 확인된 정보 | +| **출처 권위** | 25% | 공식/신뢰 도메인, 기관, 전문 매체 | +| **최신성** | 20% | 정보의 게시/수정일 | +| **정보 일관성** | 15% | 다른 결과와의 일관성 | +| **정보 완전성** | 10% | 충분한 상세 정보 포함 | + +#### 신뢰도 점수 계산 + +``` +trust_score = ( + source_count_score * 0.3 + + source_authority_score * 0.25 + + recency_score * 0.2 + + consistency_score * 0.15 + + information_completeness_score * 0.1 +) +``` + +### 4단계: 기본 필터링 + +다음 기준으로 기본 필터링을 수행합니다: + +| 필터 | 기준 | 처리 | +|------|------|------| +| **최소 신뢰도** | 신뢰도 0.4 미만 | 제외 (출처 불명) | +| **출처 없음** | 출처 URL 없음 | 제외 | +| **명백한 오정보** | 확인된 가짜 뉴스/정보 | 제외 | +| **블랙리스트 도메인** | 설정된 차단 도메인 | 제외 | + +## 출력 + +```json +{ + "collection_id": "col_001", + "search_id": "search_001", + "target_type": "document", + "results": [ + { + "result_id": "res_001", + "title": "양자 컴퓨터 상용화 현황 및 전망", + "sources": [ + { + "source": "google", + "url": "https://example.com/quantum-commercialization", + "domain": "example.com", + "trust_level": "medium" + }, + { + "source": "naver", + "url": "https://blog.naver.com/...", + "domain": "blog.naver.com", + "trust_level": "medium" + } + ], + "trust_score": 0.82, + "published_date": "2024-10-15", + "snippet": "양자 컴퓨터 상용화가 2024년부터 본격화되면서 IBM, 구글 등의 주요 기업들이...", + "relevance": 0.95 + } + ], + "summary": { + "total_found": 13, + "after_dedup": 9, + "after_filter": 7, + "trust_score_range": {"min": 0.45, "max": 0.92} + }, + "collection_timestamp": "2024-10-20T09:05:00Z" +} +``` + +## 규칙 + +1. **중복 제거 우선** — 통합 전 중복 제거 수행 +2. **신뢰도 기반 정렬** — 높은 신뢰도 순으로 정렬 +3. **출처 명시** — 각 결과의 출처 정보 반드시 포함 +4. **다중 소스 우대** — 여러 소스에서 확인된 결과 우선 diff --git a/skills/find-something/pipeline/04-result-validation.md b/skills/find-something/pipeline/04-result-validation.md new file mode 100644 index 0000000..4da2f0c --- /dev/null +++ b/skills/find-something/pipeline/04-result-validation.md @@ -0,0 +1,130 @@ +# Step 4: 결과 검증 + +## 개요 + +수집된 결과 목록에 대해 정보의 정확성, 최신성, 출처 신뢰성을 종합적으로 검증합니다. + +## 검증 항목 + +| 검증 항목 | 방법 | 기준 | +|-----------|------|------| +| **정확성** | 다중 소스 교차 확인, 사실 여부 확인 | 2개 이상 소스에서 일치 | +| **최신성** | 게시/수정일 확인 | 유형별 최대 허용 기간 이내 | +| **출처 권위** | 출처 도메인/기관의 신뢰도 평가 | 신뢰 도메인 우대, 불명 출처 감점 | +| **정보 일관성** | 결과 간 모순 여부 확인 | 모순되는 정보 플래그 표시 | + +## 검증 단계 + +### 1단계: 정확성 확인 + +다중 소스 교차 검증을 통해 정보의 정확성을 확인합니다: + +| 상태 | 기준 | 처리 | +|------|------|------| +| **VERIFIED** | 3개 이상 독립 소스 일치 | 신뢰도 상승 | +| **CORROBORATED** | 2개 소스 일치 | 신뢰도 유지 | +| **SINGLE_SOURCE** | 1개 소스만 존재 | 주의 표시 | +| **CONTRADICTED** | 소스 간 모순 | 추가 확인 필요 플래그 | + +### 2단계: 최신성 확인 + +정보의 게시일/수정일이 유형별 허용 기준 내인지 확인합니다: + +| 유형 | 최대 허용 기간 | 비고 | +|------|----------------|------| +| **뉴스/이슈** | 7일 | 속보성 정보 | +| **일반 정보** | 1년 | 변동 가능한 정보 | +| **참고 자료** | 2년 | 준영구적 정보 | +| **역사/기준** | 제한 없음 | 고정된 사실 | + +### 3단계: 출처 검증 + +출처의 신뢰도를 평가합니다: + +| 출처 등급 | 예시 | 점수 | +|-----------|------|------| +| **공식 기관** | .gov, .edu, 국제기구 | 1.0 | +| **신뢰 매체** | 위키피디아, 공신력 있는 언론 | 0.8 | +| **전문 사이트** | 기술 블로그, 전문 매체 | 0.6 | +| **개인/커뮤니티** | 블로그, 포럼, SNS | 0.3 | +| **불명/차단** | 출처 없음, 블랙리스트 | 0.0 | + +### 4단계: 종합 검증 결과 산출 + +각 검증 항목의 결과를 종합합니다: + +``` +overall_status = { + VERIFIED: 모든 검증 통과 (trust_score >= 0.7) + CONDITIONAL: 일부 검증 통과 (0.4 <= trust_score < 0.7) + QUESTIONABLE: 검증 실패 (trust_score < 0.4) +} +``` + +## 검증 결과 분류 + +| 결과 | 의미 | 조치 | +|------|------|------| +| **VERIFIED** | 모든 검증 통과 | 신뢰할 수 있는 정보로 표시 | +| **CONDITIONAL** | 조건부 통과 | 주의 사항 명시 후 표시 | +| **QUESTIONABLE** | 검증 실패 | 실패 사유 표시, 추가 확인 권장 | + +## 출력 + +```json +{ + "validation_id": "val_001", + "collection_id": "col_001", + "results": [ + { + "result_id": "res_001", + "validation_result": "VERIFIED", + "validation_details": { + "accuracy": { + "status": "VERIFIED", + "details": "3개 독립 소스에서 정보 일치 확인", + "supporting_sources": 3, + "contradicting_sources": 0 + }, + "recency": { + "status": "PASS", + "details": "게시일 2024-10-15, 5일 전", + "published_date": "2024-10-15", + "age_days": 5, + "max_allowed_days": 365 + }, + "source_authority": { + "status": "PASS", + "details": "신뢰 매체 등급, 점수 0.8", + "authority_score": 0.8, + "top_domain": "example.com" + } + }, + "overall_score": 0.85 + } + ], + "summary": { + "total_validated": 7, + "verified": 4, + "conditional": 2, + "questionable": 1 + }, + "validation_timestamp": "2024-10-20T09:10:00Z" +} +``` + +## 에러 핸들링 + +| 상황 | 처리 방법 | +|------|-----------| +| **정보 부족** | "추가 확인 필요"로 표시 | +| **소스 간 모순** | 모든 관점 표시, 모순 플래그 | +| **날짜 정보 없음** | 최신성 검증 건너뛰기 | +| **출처 확인 불가** | "출처 미확인"으로 표시 | + +## 규칙 + +1. **다중 소스 우선** — 단일 소스 정보는 CONDITIONAL 이하 +2. **최신성 유형별 적용** — 유형별 허용 기간 준수 +3. **출처 등급 명시** — 모든 정보의 출처 등급 표시 +4. **모순 정보 플래그** — 소스 간 모순 시 양측 모두 표시 diff --git a/skills/find-something/pipeline/05-report-generation.md b/skills/find-something/pipeline/05-report-generation.md new file mode 100644 index 0000000..7411b10 --- /dev/null +++ b/skills/find-something/pipeline/05-report-generation.md @@ -0,0 +1,187 @@ +# Step 5: 리포트 생성 + +## 개요 + +검증된 결과 목록을 바탕으로 최종 리포트를 생성합니다. 검증 결과 요약, 상세 정보, 추가 정보 제안, 출처 목록을 포함합니다. + +## 리포트 구성 + +### 1. 검색 결과 요약 + +| 항목 | 내용 | +|------|------| +| **검색 주제** | 사용된 검색 키워드 | +| **대상 유형** | 문서/코드/인물/장소/뉴스/일반 | +| **총 검색 결과** | 수집된 전체 결과 수 | +| **검증 결과** | VERIFIED/CONDITIONAL/QUESTIONABLE 건수 | +| **검색 시점** | 검색 실행 시간 | + +### 2. 상세 결과 + +각 검증된 결과에 대해 다음 정보를 표시합니다: + +```markdown +### [결과 제목] - [검증결과] + +- **출처**: [출처명](URL) +- **게시일**: [날짜] +- **요약**: [핵심 내용 요약] + +**검증 결과** +| 항목 | 결과 | 상세 | +|------|------|------| +| 정확성 | ✅/⚠️/❌ | 다중 소스 확인 결과 | +| 최신성 | ✅/⚠️/❌ | 게시일 기준 | +| 출처 권위 | ✅/⚠️/❌ | 출처 등급 | +``` + +### 3. 검증 결과 표시 + +| 검증 항목 | 결과 | 상세 | +|-----------|------|------| +| 정확성 | ✅/⚠️/❌ | 다중 소스 일치 여부 | +| 최신성 | ✅/⚠️/❌ | 유형별 허용 기간 내 여부 | +| 출처 신뢰성 | ✅/⚠️/❌ | 출처 등급 평가 | +| 정보 일관성 | ✅/⚠️/❌ | 결과 간 모순 여부 | + +### 4. 추가 정보 제안 + +검증 결과가 부족하거나 더 깊은 탐색이 필요한 경우 추가 정보를 제안합니다: + +| # | 제안 주제 | 이유 | +|---|-----------|------| +| 1 | 관련 주제 | 추가 탐색이 도움되는 주제 | +| 2 | 심층 자료 | 더 상세한 정보가 있는 자료 | +| 3 | 반대 관점 | 균형 잡힌 이해를 위한 다른 시각 | + +### 5. 출처 목록 + +모든 참조 출처를 목록으로 제공합니다: + +- [출처명](URL) - [출처 등급] - [게시일] + +## 리포트 형식 + +```markdown +# 검색 리포트: [검색 주제] + +## 검색 요약 +- **검색 주제**: [키워드] +- **대상 유형**: [유형] +- **총 검색 결과**: [건수]건 +- **검증 결과**: VERIFIED [건수]건, CONDITIONAL [건수]건, QUESTIONABLE [건수]건 +- **검색 시점**: [날짜] + +--- + +## 검증된 결과 + +### 1. [결과 제목] - ✅ VERIFIED + +**기본 정보** +- **출처**: [출처명](URL) +- **게시일**: [날짜] +- **신뢰도**: [점수]/100 + +**핵심 내용** +[결과의 핵심 내용 요약] + +**검증 결과** +| 항목 | 결과 | 상세 | +|------|------|------| +| 정확성 | ✅ VERIFIED | 3개 독립 소스 일치 | +| 최신성 | ✅ PASS | 게시 후 5일 (허용 365일) | +| 출처 권위 | ✅ PASS | 신뢰 매체 (0.8) | + +--- + +### 2. [결과 제목] - ⚠️ CONDITIONAL + +**기본 정보** +- **출처**: [출처명](URL) +- **게시일**: [날짜] +- **신뢰도**: [점수]/100 + +**핵심 내용** +[결과의 핵심 내용 요약] + +**검증 결과** +| 항목 | 결과 | 상세 | +|------|------|------| +| 정확성 | ⚠️ SINGLE_SOURCE | 1개 소스만 확인 | +| 최신성 | ✅ PASS | 게시 후 30일 | +| 출처 권위 | ✅ PASS | 전문 사이트 (0.6) | + +**주의사항**: 단일 출처 정보입니다. 추가 확인을 권장합니다. + +--- + +## 추가 정보 제안 + +| # | 제안 주제 | 이유 | +|---|-----------|------| +| 1 | [관련 주제 1] | [이유] | +| 2 | [관련 주제 2] | [이유] | + +--- + +## 출처 목록 + +| # | 출처 | 등급 | 게시일 | +|---|------|------|--------| +| 1 | [출처명](URL) | 신뢰 매체 | 2024-10-15 | +| 2 | [출처명](URL) | 공식 기관 | 2024-09-20 | + +--- + +## 참고사항 +- 검색 결과는 특정 시점을 기준으로 합니다. +- 정보의 정확성은 검증 당시 기준입니다. +- 최종 판단은 추가 확인 후 진행해 주세요. +``` + +## 출력 + +```json +{ + "report_id": "rpt_001", + "validation_id": "val_001", + "target_type": "document", + "report_type": "full", + "content": { + "summary": { + "search_keyword": "양자 컴퓨터 상용화 현황", + "target_type": "document", + "total_found": 13, + "validated": 7, + "verified": 4, + "conditional": 2, + "questionable": 1 + }, + "results": [...], + "suggestions": [ + { + "topic": "IBM 양자 컴퓨터 로드맵", + "reason": "주요 기업의 구체적 계획 확인" + } + ], + "sources": [ + { + "name": "출처명", + "url": "https://...", + "grade": "trusted_media", + "published": "2024-10-15" + } + ] + }, + "generated_at": "2024-10-20T09:15:00Z" +} +``` + +## 규칙 + +1. **검증 결과 반영** — 검증 결과를 정확하게 표시 +2. **출처 명시** — 모든 정보의 출처를 반드시 표기 +3. **주의사항 표시** — CONDITIONAL/QUESTIONABLE 결과에 주의사항 포함 +4. **다양한 관점** — 모순되는 정보가 있으면 양측 모두 제시 +5. **추가 탐색 제안** — 주제와 관련된 추가 탐색 지점 제시