TomeVault Instruction Corpus (2026-07)
요약
AI 코딩 에이전트를 위한 지침 파일(CLAUDE.md, .cursorrules 등)의 구조적 속성을 측정한 TomeVault Instruction Corpus 데이터셋을 소개합니다. 229,375개의 파일 인스턴스를 대상으로 크기, 형식, 라이선스 및 결정론적 규칙 세트의 유효성을 분석한 데이터를 제공합니다.
핵심 포인트
- AI 코딩 에이전트용 지침 파일의 구조적 메타데이터 제공
- 229,375개의 파일 인스턴스를 포함한 2026-07 에디션
- 파일의 크기, 형식, 라이선스 및 로드 가능성 측정
- 내용이나 소유자 정보 대신 재현 가능한 구조적 속성에 집중
TomeVault Instruction Corpus
AI 지침 파일(CLAUDE.md, AGENTS.md, SKILL.md, .cursorrules 및 관련 컨벤션)에 대한 비식별 구조적 측정 데이터입니다.
2026-07 에디션. 229,375개 파일. 스키마 버전 1.0.0. CC BY 4.0 라이선스.
이것은 무엇인가
팀들이 AI 코딩 에이전트(AI coding agents)를 위한 지침을 저장소(repositories)에 직접 커밋하는 사례가 점점 늘어나고 있습니다. CLAUDE.md, AGENTS.md, SKILL.md, .cursorrules 및 수십 개의 형제 컨벤션들은 이제 일반적인 소스 제어 아티팩트(source-controlled artefacts)가 되었지만, 이에 대해 측정되는 것은 거의 없습니다.
이 데이터셋은 당사의 파이프라인이 가져오고(fetched) 파싱(parsed)한 각 지침 파일에 대해 하나의 행(row)을 할당하며, 해당 파일의 구조적 속성을 담고 있습니다. 크기, 형식, 라이선스, 더 이상 존재하지 않는 모델을 명시하는지 여부, 그리고 결정론적 규칙 세트(deterministic ruleset)가 해당 파일을 로드하도록 요청받은 에이전트가 작성자의 의도대로 동작할 것이라고 판단하는지 여부 등을 포함합니다.
이 데이터셋에는 파일 내용, 소유자 이름, 저장소 이름 및 URL이 포함되어 있지 않습니다. 여기에 포함된 모든 측정값은 아래에 설명된 방법으로부터 재현 가능합니다.
파이프라인이 가져오고, 변환하고, 본문(BODY)을 유지(RETAINED)한 각 지침 파일 인스턴스(FILE INSTANCE)당 하나의 행이 존재합니다. 하나의 행은 파일이며, 저장소(repository)나 소유자(owner)가 아닙니다. 즉, 하나의 저장소는 흔히 여러 개의 행을 기여하며, 널리 포크(forked)된 파일은 포크당 한 번씩 나타납니다. 이 테이블에서 도출된 모든 수치는 명시적으로 중복 제거(de-duplicates)하지 않는 한 파일의 수입니다. 두 가지 제외 기준이 범위를 더 좁힙니다: 결정론적 보안 등급(deterministic security grade)이 'fail'인 행, 그리고 파이프라인이 본문을 저장하지 않고 추적만 하는 행입니다. 후자는 측정할 수 없으므로 통과(passing)로 계산되지 않고 제외됩니다. 본문 유지(retained-body) 요구 사항은 세 가지 필터 중 가장 큰 비중을 차지하므로, 이것은 우리가 추적하는 전체에 대한 전수 조사(census)가 아니라 측정 가능한 하위 집합(measurable subset)입니다.
이것이 알려줄 수 없는 것
누군가 이 데이터를 기반으로 구축하기 전에 세 가지 한계점을 명시할 가치가 있습니다.
행(row)은 파일 하나를 의미하며, 프로젝트나 팀을 의미하지 않습니다. 400번 포크(fork)된 인기 있는 지시문 파일(instruction file)은 400개의 행으로 기여합니다. 직접 중복을 제거하지 않는 한, 여기서의 모든 수치는 파일 인스턴스(file instances)의 수이며, 이 둘 사이의 차이는 매우 큽니다.
관찰 창(observation window)은 생태계의 것이 아니라 우리의 것입니다. ingested_week 컬럼은 우리의 크롤러(crawler)가 파일을 처음 발견한 시점을 기록하며, 이는 파일이 작성된 시점이 아닙니다. 해당 컬럼을 통해 그려진 성장 곡선은 채택(adoption)이 아닌 우리의 크롤링을 설명합니다.
구조적 점검(Structural checks)은 품질 판단이 아닙니다. 파일이 여기의 모든 점검을 통과하더라도 에이전트(agent)에게 잘못된 지시를 내릴 수 있습니다. 로드 가능성(loadability) 컬럼이 측정하는 것은 지시문이 에이전트에게 온전하게 도달하는지 여부이며, 이는 해당 지시문이 유용한지 여부보다 더 좁고 테스트 가능한 질문입니다.
컬럼 (Columns)
| 컬럼 | 타입 | 의미 |
|---|---|---|
format | string | 파이프라인(pipeline)에 의해 감지된 이 파일이 따르는 지시문 파일 컨벤션 (claude_md, agents_md, skill_md, cursorrules, cursor_mdc, gemini_md, copilot_instructions, windsurf_rules, 기타). |
| ... |
방법 (Method)
파일은 공개 리포지토리(public repositories)를 크롤링하여 발견되며, 가져온 후 형식(format)별로 분류됩니다. 이번 릴리스의 모든 측정값은 언어 모델(language model)이 아닌 결정론적 규칙 세트(deterministic rulesets)로부터 도출되므로, 동일한 입력은 항상 동일한 행을 생성합니다.
로드 가능성(Loadability) 결과는 우리 제품이 실행하는 것과 동일한 규칙 세트인 loadability-v1.1 버전에서 도출됩니다. has_broken_reference 컬럼은 파일이 오래된 경로 점검(stale-path check) 또는 참조 이식성 점검(reference-portability check) 중 하나라도 발생할 경우 true가 됩니다. 이는 파일이 사라진 무언가를 가리키거나, 파일이 이동할 때 함께 이동하지 못할 무언가를 가리키고 있음을 의미합니다.
사용 중단 모델(Retired-model) 플래그는 모델 식별자(model identifiers)와 그 생명주기 상태(lifecycle status)를 수동으로 큐레이션한 목록에서 가져오며, 마지막 업데이트는 2026-06-23입니다. deprecated, superseded 또는 retired로 표시된 식별자만 플래그가 지정됩니다. 매칭은 전체 토큰(whole-token) 단위로 이루어지므로, gpt-4는 gpt-4o 내부의 문자열과 일치하지 않습니다.
라이선스 분류 (Licence classification)는 당사의 데이터 수집 (ingestion)을 제어하는 것과 동일한 정책 모듈을 재사용하므로, 여기에 표시된 준수 수치와 당사의 집행 (enforcement)은 정의상 동일한 것입니다.
이번 릴리스의 aggregate.json에는 동일한 스냅샷(snapshot)을 기반으로 계산된 해당 월의 주요 지표 (headline metrics)가 포함되어 있습니다.
알려진 편향 (Known biases)
model_is_retired를 names_a_model과 함께 읽으십시오. 대부분의 파일은 모델 이름을 전혀 명시하지 않으며, 모델 이름을 명시하지 않은 파일은 오래된(stale) 데이터일 수 없습니다. 전체 코퍼스 (corpus) 중 은퇴한 모델을 명시하는 비율과, 모델 이름을 명시한 파일 중 은퇴한 모델을 명시하는 비율은 매우 다른 숫자입니다. 오직 첫 번째만이 코퍼스에 대한 진술입니다. 두 번째를 마치 첫 번째인 것처럼 발표하는 것은 문제를 10배(an order of magnitude) 이상 과장하는 것이며, 저희는 여러분이 그렇게 하지 않기를 바랍니다.
큐레이션된 모델 목록에는 활성 식별자 (live identifiers)보다 무효 식별자 (dead identifiers)가 더 많이 포함되어 있습니다. 이러한 구조는 누군가가 얼마나 부주의했는지와는 무관하게 모든 조건부 노후화율 (conditional staleness rate)을 부풀립니다.
발견 (Discovery)은 균일하지 않습니다. 커버리지 (Coverage)는 크롤러 (crawler)가 공개 저장소 (public repositories)를 통해 도달할 수 있는 범위를 반영합니다. 비공개 저장소 (Private repositories), 자체 호스팅 플랫폼 (self-hosted platforms) 및 아카이브 내부의 파일들은 누락되어 있으며, 누락된 인구 집단이 이 집단과 유사할 것이라고 가정할 근거는 없습니다.
보안 실패 파일은 제외되었습니다. 결정론적 보안 등급 (deterministic security grade)이 fail인 행들은 내보내기 (export) 전에 제거되었습니다. 따라서 남은 인구 집단은 원시 코퍼스 (raw corpus)보다 약간 더 깨끗합니다.
라이선스 분포는 필터링되었으며, 이는 생태계 전체의 분포가 아닙니다. 저장소 라이선스가 당사의 수집 정책 (ingestion policy)을 통과하지 못한 파일들은 이 인구 집단에 전혀 도달하지 않으므로, 구조적으로 허용적 라이선스 (permissive licences)가 과도하게 많이 표현되어 있습니다. 또한 소스 플랫폼에서 보고하지 않은 경우, 행의 작은 일부에는 SPDX 식별자 (SPDX identifier)가 포함되어 있지 않습니다. 이 열의 형태나 null 슬라이스 (null slice)의 크기 모두로 더 넓은 생태계에서 무허가(unlicensed) 또는 카피레프트 (copyleft)가 얼마나 되는지에 대한 어떠한 주장도 뒷받침할 수 없습니다. 이 데이터셋에서 준수율 (compliance rate)을 도출하지 마십시오.
ingested_week는 상위 단계(upstream)에서 파일이 작성된 주가 아니라, 당사의 파이프라인(PIPELINE)이 해당 파일을 처음 관찰한 ISO 주(week)를 의미합니다. 이 시리즈는 파이프라인의 관찰 창(observation window)을 설명하며, 생태계의 성장으로 제시되어서는 안 됩니다. 이 컬럼(column)으로부터 채택 곡선(adoption curve)을 도출하는 것은 잘못된 사용입니다.
삭제 및 동의
이번 릴리스(release)에는 삭제를 요청한 소유자(owner)에게 속한 모든 파일이 제외되었습니다. 소유자는 소유자(OWNER) 수준에서 제외됩니다. 내보내기 도구(exporter)는 먼저 opted_out = 1인 행을 하나라도 가진 모든 소유자를 수집한 다음, 해당 소유자들에게 속한 모든 행을 삭제합니다. 행(row) 수준의 필터링은 이미 삭제를 요청한 소유자의 삭제되지 않은 나머지 행들을 유출할 수 있기 때문입니다.
2026-07 에디션(Edition)은 해당 근거에 따라 16명의 소유자에 걸친 275개의 파일을 제외했습니다.
향후 에디션에서 삭제되기를 원하시면 oli@tomevault.io로 연락해 주십시오. 데이터셋에는 소유자 이름이나 리포지토리(repository) 이름이 포함되어 있지 않으므로, 삭제는 기반이 되는 행을 삭제함으로써 효력이 발생하며, 이후의 에디션에는 단순히 해당 행들이 포함되지 않게 됩니다.
인용하기
일반 텍스트:
TomeVault (2026). The TomeVault Instruction Corpus, edition 2026-07. https://tomevault.io/standards/state-reports
BibTeX:
@dataset{tomevault_instruction_corpus_2026_07,
title = {The TomeVault Instruction Corpus},
author = {TomeVault},
...
수정 사항은 날짜가 지정된 새로운 에디션으로 배포됩니다. 출판된 에디션은 제자리에서 수정되지 않으므로, 귀하가 인용하는 수치는 귀하가 확인하는 도중에 변하지 않습니다.
전체 데이터셋, 방법론 및 컬럼 정의는 https://tomevault.io/standards/state-reports에서 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기