feat: add find-something skill - general purpose search pipeline
This commit is contained in:
@@ -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회 재시도, 실패 시 로그 기록 |
|
||||||
|
| **결과 없음** | 대안 검색 키워드로 재검색 제안 |
|
||||||
|
| **검증 실패** | 실패 사유 명시 및 대안 정보 제안 |
|
||||||
@@ -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
|
||||||
@@ -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) 기준 적용
|
||||||
@@ -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회 재시도 |
|
||||||
@@ -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. **다중 소스 우대** — 여러 소스에서 확인된 결과 우선
|
||||||
@@ -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. **모순 정보 플래그** — 소스 간 모순 시 양측 모두 표시
|
||||||
@@ -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. **추가 탐색 제안** — 주제와 관련된 추가 탐색 지점 제시
|
||||||
Reference in New Issue
Block a user