Community연구 & 데이터 분석github.com

mleswell-ai/research-synthesis

여러 출처의 증거를 의사 결정에 바로 사용할 수 있는 완전히 추적 가능한 보고서로 종합합니다. 질문을 구성하고, 각 출처를 평가하며, 증거를 클레임 기반 원장에 기록하고, 출처 간 클레임을 구축하며, 각 클레임의 확실성 수준을 계산하고, 결론을 스트레스 테스트하며, 모든 인용을 검증합니다.

research-synthesis란 무엇인가요?

이 스킬은 리서치 종합, 증거 종합, 문헌 검토(체계적, 범위 지정, 신속) 또는 증거 요약이 필요할 때 사용됩니다. 단순한 문서 요약이나 빠른 사실 확인이 아닌, 여러 출처의 증거를 통합하여 하나의 질문에 답하는 종합 보고서를 생성합니다. 주요 기능으로는 질문 프레이밍, 출처 평가, 증거 원장(ledger) 관리, 클레임 구축, 확실성 등급 평가, 결론 스트레스 테스트, 인용 검증 등이 포함됩니다. 워크플로우는 9단계(프레임 → 수집 → 평가 → 추출 → 구축 → 등급 → 분석 → 작성 → 재확인)로 구성되며, 각 단계는 순차적으로 진행되어야 합니다. CLI 도구(ledger.py)를 사용하여 증거 원장을 관리하고, 확실성 한계(ceilings)와 핵심 근거(keystones)를 계산하며, 최종 보고서를 생성합니다. 신속, 표준, 체계적 세 가지 모드를 지원하며, 질적 데이터나 기존 종합 검토 감사에도 사용할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mleswell-ai/research-synthesis-skill/tree/HEAD/skills/research-synthesis

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

연구 종합 (Research synthesis)

종합(synthesis)은 어떤 단일 출처로도 답할 수 없는 질문, 즉 증거 집단이 지지하는 바, 누구도 확신할 수 있는 정도, 출처 간 의견 차이와 그 이유, 그리고 당면한 결정에 따른 결과에 답합니다. 요약 목록은 종합이 아닙니다.

세 가지 질문 (The three questions)

출력의 모든 진술은 세 가지 질문을 통과해야 합니다. 전체 방법과 ledger.py 도구는 답변을 확인 가능하게 만들기 위해 존재합니다.

  1. 이것이 정확히 어디서 왔는가? 읽은 출처의 특정 위치. 답은 로케이터(locator) 입니다.
  2. 몇 번의 별도 관찰이 있었는가? 하나의 연구를 반복한 10개의 기사는 한 번의 관찰입니다. 답은 계통(lineages) 의 수입니다.
  3. 그것이 우리에게 어느 정도의 확신을 허용하는가? 증거의 구조는 확실성에 상한(ceiling) 을 설정합니다. 판단은 그보다 낮아질 수만 있습니다.

절대 바뀌지 않는 규칙 (Rules that do not bend)

  • 읽은 것만 인용하세요. 어떻게 읽었는지 기록하세요(full-text, abstract-only, secondary-citation); 전체 텍스트 미만으로는 확신 있는 주장을 할 수 없습니다.
  • 참고문헌, 저자, 연도, 그림 또는 인용문은 기억에서 가져오지 않습니다. 찾을 수 없으면 인용하지 않습니다.
  • 모든 그림과 인용문에는 읽는 동안 캡처된 로케이터가 있습니다.
  • 출처가 보고하는 것(발견, finding), 그것이 의미하는 바(해석, interpretation), 그리고 취해야 할 조치(권고, recommendation)는 분리되어 유지되며, 마지막 두 가지는 그 아래에 있는 발견보다 결코 확실할 수 없습니다.
  • 주장에 반하는 증거는 지지하는 증거와 함께 기록됩니다.
  • "증거가 불충분하다"는 합법적인 답변입니다. 증거의 부재는 부재의 증거가 아닙니다.

모드 선택 (Choose a mode)

확실하지 않을 때는 더 가벼운 모드를 취하고 그렇게 말하세요.

모드사용 시기출처검색출력
신속(Rapid)제한된 답변, 주로 제공된 자료 기반약 3~10개없음 또는 경량채팅 내 간략 문서 (assets/brief-template.md)
표준(Standard)실제 결정이 달려 있음약 10~30개구조화, 기록됨전체 보고서 (assets/report-template.md)
체계적(Systematic)방법론이 재현 가능해야 함프로토콜에 따름철저함, 기록됨, 집계됨전체 보고서, 프로토콜 및 표

두 가지 변형:

  • 1차 질적 데이터 (인터뷰, 개방형 설문 응답, 피드백, 티켓): 동일한 워크플로우; 먼저 references/qualitative-data.md를 읽으세요.
  • 평가할 기존 종합: 아래 "타인의 종합 감사"로 이동하세요.

워크플로우 (Workflow)

이것을 작업 노트에 복사하고 진행하면서 체크하세요. 순서가 중요합니다. 각 단계는 다음 단계에 필요한 것을 생성하며, 단계를 건너뛰면 알려진 실패가 발생합니다 (references/failure-modes.md).

- [ ] 1 프레임(Frame)       읽기 전에 질문, 결정, 범위, 기준 고정
- [ ] 2 수집(Gather)       원장 시작; 검색 기록 또는 제공된 말뭉치 목록화
- [ ] 3 평가(Weigh)        모든 출처 선별, 평가, 계통 부여
- [ ] 4 추출(Extract)      로케이터와 함께 증거를 원장에 입력
- [ ] 5 구축(Build)        출처 간 주장 작성; 모순 해결 또는 설명되지 않음으로 표시
- [ ] 6 등급(Rate)         각 상한 이하로 확실성 판단, 이유 제시
- [ ] 7 분석(Break)        핵심 근거 검토, 대안 설명 시도, 주장 수정
- [ ] 8 작성(Write)        결정과 연결하여 답변을 먼저 제시
- [ ] 9 재확인(Re-read)    워크시트 확인; `check` 및 `report` 깔끔함; 루브릭 통과

1 프레임 (Frame)

각각 한두 줄로 확정: 질문은 "아니오" 또는 "상황에 따라 다르다"로 답할 수 있는 형태로; 그것이 지원하는 결정과 누가 사용하는지; 범위(모집단 또는 맥락, 기간, 장소, 출처 유형); 그리고 포함 및 배제 기준.

기준은 읽기 전에 고정하세요. 결과를 본 후 조정된 기준은 종합이 작성자가 예상한 결과를 확인하게 만드는 방법입니다. 변경해야 한다면 변경 사항과 이유를 기록하세요.

사용자에게 최대 두 세 가지 질문만 하고, 답변이 작업을 변경할 수 있는 경우에만 질문하세요(보통 결정, 범위 경계, 모드). 사용자가 답변을 원하지 않으면 진행하고 출력 상단에 가정을 나열하세요.

질문 프레임워크, 검토 유형 및 프로토콜 개요: references/scoping-and-protocol.md.

2 수집 (Gather)

원장을 시작하세요. 이는 오늘 날짜도 고정하며, 날짜를 추정해서는 안 됩니다:

python scripts/ledger.py new ledger.json --question "..." --purpose "..." --mode standard --corpus searched

--corpus는 supplied, searched 또는 mixed입니다. 원장은 프로토콜, 고려된 모든 출처, 모든 주장과 그 증거를 보유하는 하나의 JSON 파일입니다. 이는 종합의 작업 메모리입니다: 디스크에 저장하고 최신 상태로 유지하세요. 필드 및 채워진 예시: references/evidence-ledger.md 및 examples/flexible-start/.

제공된 말뭉치: 모든 항목에 소스 ID(S1, S2, ...)를 부여하고 보고서에서 종합이 제공된 자료만 다룬다고 명시하세요.

검색:

  • 분야의 어휘를 배우기 위해 짧고 광범위한 질의로 시작한 다음 좁히세요.
  • 모든 질의를 원장에 기록하세요: 위치, 질의, 날짜, 결과 수.
  • 원본으로 가세요. 기사가 연구를 보고할 때, 연구를 찾아 인용하세요; 얻을 수 없으면 기사를 인용하고 secondary-citation을 기록하세요.
  • 의도적으로 null 결과, 반대 발견, 미출판 또는 회색 자료를 검색하세요. 출판된 증거는 긍정적 결과를 과대 대표합니다.
  • 참고문헌 목록을 거슬러, 인용을 따라 앞으로 추적하세요.
  • 새 검색이 대부분 알려진 출처를 반환하거나 모드의 예산이 소진될 때 중단하세요. 어느 쪽인지 명시하세요.

대규모 또는 분리 가능한 작업이고 하위 에이전트를 사용할 수 있는 경우: references/parallel-research.md.

3 평가 (Weigh)

각 후보에 기준을 적용하세요. 제외된 출처는 이유와 함께 원장에 남아 있습니다.

포함된 각 출처에 대해 기록:

  • 평가(high, moderate, low, very-low)와 구체적인 우려사항. 명성이 아닌 이 질문에 대한 적합성을 평가하세요: references/source-appraisal.md;
  • 계통(L1, L2, ...). 출처가 하나의 기원으로 추적될 때 동일한 계통을 공유합니다: 연구와 그 사전 인쇄본, 언론 보도 및 후속 조치; 하나의 데이터 세트에 대한 여러 논문; 하나의 보고서를 재진술한 페이지들. 확실성은 인용 수가 아닌 계통 수에 달려 있습니다.

4 추출 (Extract)

각 출처에 대해 질문과 관련된 것을 증거 항목으로 기록하세요: 출처 ID, 로케이터, 종류(quote, paraphrase, data) 및 텍스트. 모집단과 맥락, 그리고 그것이 전이될 수 있는 범위를 제한하는 모든 것을 포함하세요. 기본적으로 의역(paraphrase)하고, 결정적인 단어만 인용하세요. 편리한 것이 아니라 출처가 보고하는 것을 기록하세요.

5 구축 (Build)

출처 전체에서 작업하고, 한 번에 하나의 출처만 작업하지 마세요.

  1. 질문과 증거에 맞는 방법 선택: 질적 또는 혼합 증거에는 주제별 종합(thematic synthesis); 다양한 양적 증거에는 효과의 구조화된 요약을 포함한 서사 종합(narrative synthesis); 연구들이 평균이 의미를 가질 만큼 충분히 유사할 때만 메타 분석(meta-analysis). references/synthesis-methods.md
  2. 증거를 내용별로 그룹화: 출처별이나 공유 어휘별이 아닌, 그것이 말하는 바에 따라.
  3. 각 그룹을 주장(claim)으로 작성: 틀릴 수 있는 문장. "피드백 시기"는 주제입니다. "지연된 피드백이 유지 과제에서는 즉각적인 피드백보다 우수했지만 절차적 과제에서는 그렇지 않았다"는 주장입니다.
  4. 증거를 양방향으로 첨부: 지지하는 항목과 반박하는 항목.
  5. 항목의 reconciled 필드에서 각 모순 해결: 모집단, 측정, 용량, 시간 범위, 비교, 연구 설계 품질 또는 이해관계의 차이. 설명할 수 없는 것이 없으면 unexplained를 작성하세요. 해결되지 않은 모순은 상한을 낮춥니다.
  6. 유의미한 연구와 비유의미한 연구를 절대 집계하지 마세요. 방향, 크기 및 범위를 보고하세요. 효과를 보고하거나 비교하기 전에 references/quantitative-evidence.md를 읽으세요.
  7. 정직하게 집계: "참가자 14명 중 9명", "5건의 시험 중 3건"이지 "대부분"이 아닙니다.

결정에 필요한 만큼의 주장을 가지고 그 이상은 가지 마세요. 독자가 마음속에 담을 수 없다면 그룹화가 완료되지 않은 것입니다.

6 등급 (Rate)

python scripts/ledger.py ceilings ledger.json

이 명령은 각 주장에 대해 기록된 증거가 전달할 수 있는 가장 높은 확실성과 이를 제약하는 요소(단일 계통, 전문을 읽은 확실한 자료 없음, 해결되지 않은 모순, 권고 아래의 약한 주장)를 출력합니다.

그런 다음 판단하세요. 각 주장의 certainty를 상한 이하로 설정하고, 비뚤림 위험, 비일관성, 간접성, 부정확성 및 누락된 증거 가능성에 대해 낮추고, 이를 설정하게 된 이유를 한 문장의 rationale로 명명하세요. 주장을 일치시키도록 표현하세요:

확실성표현
높음(High)"X는 Y를 증가시킨다"
중간(Moderate)"X는 아마도 Y를 증가시킨다"
낮음(Low)"X는 Y를 증가시킬 수 있다"
매우 낮음(Very low)"X가 Y를 증가시키는지 불분명하다"

규칙, 질적 및 비연구 증거, 작업 예시: references/certainty.md.

7 분석 (Break)

독자가 하기 전에 결론을 깨보세요.

python scripts/ledger.py keystones ledger.json

핵심 근거(keystone) 는 주장이 의존하는 계통입니다: 이를 제거하면 주장이 증거를 잃거나 더 이상 명시된 대로 평가될 수 없습니다. 그런 다음 최종 결론이 의존하는 각 주장에 대해:

  • 핵심 근거: 각 핵심 근거 출처를 전체로 다시 읽으세요. 그것이 맞다면 또 무엇이 참이어야 하며, 그것이 어디에서 보이는가?
  • 대안 설명: 동일한 증거에 대한 최선의 대안 설명을 작성하세요(우연, 선택, 교란, 측정, 역인과, 이해관계가 있는 출처). 둘을 구분할 관찰을 명명하고 그것을 찾으세요.
  • 반전: 원장만을 사용하여 반대를 기대하는 사람이 쓸 최종 결론을 초안하세요. 그 초안이 방어 가능한 곳마다 주장은 과장된 것입니다.
  • 전이: 증거가 결정 대상과 유사한 환경에서 비롯되었는가? 그렇지 않으면 간접적인 것으로 취급하고 등급을 낮추세요.
  • 침묵: 주장이 사실이라면 어떤 증거가 존재해야 하며, 그것을 검색했는가?

이 과정에서 밝혀낸 것을 원장에 넣으세요 (새로운 반박 항목, 변경된 등급, 더 좁아진 주장). 아무것도 발견되지 않는 것은 사실일 때 허용 가능한 결과입니다. 하위 에이전트가 있는 경우, 이 단계를 원장만 제공받은 새로운 독자에게 넘기세요.

8 작성 (Write)

답변을 먼저 제시하세요. 보고서는 일곱 부분으로 구성됩니다 (신속 브리프는 방법을 생략할 수 있음):

  1. 최종 결론: 2~4문장의 답변, 확실성을 전달하는 표현 사용.
  2. 결정에 대한 의미: 해석 및 권고 사항, 레이블 포함, 정직한 경우 "행동하지 마라" 및 "증거가 이것을 결정할 수 없다" 포함, 그리고 결론을 바꿀 것이 무엇인지 포함.
  3. 발견: 주장별로 하나의 부제목, 주장으로 작성, ID([C1]), 확실성: 줄과 이유, 증거 및 인용([S3, S7]), 그리고 누구에게 적용되는지.
  4. 증거가 일치하지 않는 부분과 그 이유.
  5. 격차와 한계: 증거의, 그리고 이 종합의.
  6. 수행 방법: 질문, 기준, 검색, 집계, 평가, 방법.
  7. 출처: ID별로 인용된 모든 출처.

증거가 허용하는 곳에서는 단호하게, 그렇지 않은 곳에서는 평이하게 말하세요. 모든 문장을 동등하게 회피하면 강한 발견과 약한 발견의 차이가 숨겨지는데, 이는 독자가 가장 필요로 하는 것입니다.

9 재확인 (Re-read)

python scripts/ledger.py worksheet ledger.json

워크시트는 로케이터에서 다시 읽어야 하는 증거를 나열합니다: 모든 그림, 모든 인용문 및 핵심 근거의 모든 것. 각 출처를 열고 비교하세요. 그런 다음 결과를 기록하세요:

python scripts/ledger.py mark ledger.json confirmed C1.s1 C1.s2
python scripts/ledger.py mark ledger.json mismatch C2.s1 --note "Table 3 gives 0.03, not 0.30"

확인하기 전에 원장과 보고서의 불일치를 수정하세요. 다시 읽지 않고 항목을 확인으로 표시하는 것은 잘못된 인용을 잡는 유일한 검사를 무력화시킵니다.

그런 다음 검사를 실행하고, 보고된 것을 수정하고, 둘 다 깔끔해질 때까지 반복하세요:

python scripts/ledger.py check ledger.json
python scripts/ledger.py report report.md ledger.json

python scripts/ledger.py explain <CODE>는 규칙이 존재하는 이유를 설명합니다. 신속 모드 외부에서는 필수 증거가 확인되지 않은 상태에서 report가 실패합니다. 부록의 경우 python scripts/ledger.py tables ledger.json은 증거 표를 렌더링하고, trace ledger.json C1은 모든 주장의 출처까지의 경로를 보여줍니다.

마지막으로, 초안을 references/quality-rubric.md에 대해 평가하고 합격 기준 미만인 모든 것을 수정하세요.

종합 업데이트 (Updating a synthesis)

새로운 증거가 도착하면, 기존 원장에 출처를 추가하고, as_of를 새 날짜로 설정하고, 추출한 다음 ceilings와 keystones를 다시 실행하세요: 새로운 계통이 상한을 높일 수 있고, 새로운 모순이 상한을 낮출 수 있습니다. protocol.deviations 아래에 변경된 사항을 기록하고, 보고서에 어떤 결론이 이동했는지와 그 이유를 명시하세요.

타인의 종합 감사 (Auditing someone else's synthesis)

  1. 그 의미하는 질문, 기준 및 방법을 재구성하세요.
  2. 결론이 의존하는 출처부터 시작하여 인용을 출처와 대조 확인하세요. 읽지 않은 출처가 "실제로" 말하는 것을 주장하지 말고, 확인되지 않음으로 보고하세요.
  3. references/quality-rubric.md로 평가하고 references/failure-modes.md에 대해 테스트하세요.
  4. 평결을 먼저 보고한 다음, 무엇이 유효한지, 무엇이 뒷받침되지 않는지, 그리고 그것을 고칠 특정 변경 사항을 중요도 순으로 보고하세요.

참고 파일 (Reference files)

파일읽어야 할 때
references/scoping-and-protocol.md질문 구성, 검토 유형 선택, 프로토콜 작성
references/source-appraisal.md출처 평가 또는 계통 할당
references/evidence-ledger.md원장 편집, 필드 이해
references/synthesis-methods.md종합 방법 선택
references/quantitative-evidence.md효과 크기, 방향, 범위 보고를 위한 양적 데이터 작업
references/certainty.md등급 규칙, 질적 증거, 작업 예시
references/failure-modes.md워크플로우 중단 또는 건너뛰기로 인한 알려진 실패
references/quality-rubric.md초안 평가
references/parallel-research.md하위 에이전트를 이용한 대규모 또는 분리 가능한 검색
references/qualitative-data.md인터뷰, 개방형 응답, 피드백, 티켓 작업
assets/brief-template.md신속 브리프 서식
assets/report-template.md전체 보고서 서식
examples/flexible-start/채워진 원장 예시

워크플로우 요약 다이어그램

flowchart TD
    A[1. 프레임] --> B[2. 수집]
    B --> C[3. 평가]
    C --> D[4. 추출]
    D --> E[5. 구축]
    E --> F[6. 등급]
    F --> G[7. 분석]
    G --> H[8. 작성]
    H --> I[9. 재확인]
    I --> J{검사 통과?}
    J -- 아니오 --> I
    J -- 예 --> K[완료]

관련 스킬