GitHub 코드에서 실행 근거가 있는 에이전트 스킬을 대규모로 합성하는 Code2Skill

Grounded Skill Synthesis from Code at Scale for Agentic Intelligence

HF Daily2609.05571

Yongqi Tong, Pan Wang, Hang Wang2026-09-04조회 6

무엇인가

이 논문은 에이전트가 장기 작업을 수행할 때 필요한 재사용 가능한 절차 지식을 어떻게 대규모로 확보할지 다룬다. 기존 스킬 합성은 크게 두 갈래인데, 궤적 기반 방법은 특정 환경과 상호작용해야 하고 생성한 모델, 태스크 분포, 도구, 하네스에 묶이며 품질이 에이전트 경험에 의해 제한된다. 문서 기반 방법은 상호작용 없이 텍스트에서 스킬을 만들 수 있지만 실행 가능한 근거와 검증이 부족하다. 저자들은 소스 코드가 사전 에이전트 경험 없이도 실행, 평가, 검증, 유지보수, 버전 관리가 가능한 기반을 제공한다고 보고, 저장소에 축적된 절차 지식을 검증 가능한 스킬로 바꾸는 문제를 제기한다.

어떻게 동작하나

제안 방법 Code2Skill은 네 단계의 자동 파이프라인이다. 먼저 2026년 4월 14일까지 접근 가능한 GitHub 저장소 중 별 500개 이상을 유지한 19,769개 저장소를 소스 풀로 삼고, 함수, 메서드, CLI 진입점, 파일 수준 컴포넌트를 파싱한다. LLM 태거가 재사용 의도, 운영 구조, 실행 제약이 보이는 단위를 고른 뒤 사소하거나 프로젝트 로컬이거나 근거가 약한 흔적을 제거한다. 다음으로 추출기가 선택된 소스 단위와 구조적 문맥을 원자 스킬, 복합 스킬, 반복 패턴 스킬이라는 세 유형의 레코드로 바꾼다. 원자 스킬은 한 함수나 메서드 안의 단일 연산, 복합 스킬은 여러 연산을 조율하는 순서 있는 워크플로, 반복 패턴 스킬은 단일 연산이나 워크플로를 넘어서는 상위 수준 구현을 담는다. 각 레코드는 적용 조건, 실행 단계, 불변식, 실패 사례, 안티골, 근거를 분리해 담고 출처와 생성 메타데이터를 유지한다.

무엇과 다른가

검증은 소스 본문을 보지 않는 재구성으로 이뤄진다. 재구성기는 스킬 레코드만 보고 코드를 다시 생성하고, 소스를 아는 판정기가 재구성과 원본 구현을 비교한다. 충분히 일관된 재구성은 바로 수용하고, 나머지는 조정자에게 보내 스킬 레코드가 근거 없는지 재구성 과정이 실패한 것인지 구분한다. 수용된 레코드는 최종 상태, 판단 근거, 재구성 결과, 저장소·파일·심볼·소스 스팬 수준 출처를 보존한다. 이후 특징 태깅으로 검색용 뷰를 만들고, 목적 인덱싱으로 저가치 후보를 걸러 비슷한 목적의 레코드를 묶어 대표를 선택한다. 이 변환들은 증거 아카이브를 훼손하지 않는다.

어떻게 쓰나

이 파이프라인을 적용한 결과가 1,006,822개 수용 레코드를 가진 CodeSkillBank다. 저장소 풀은 중앙값 별 3,133개, 병합된 풀 리퀘스트 82개였고, 78.3%가 별 1,000개 이상, 46.9%가 병합 PR 100개 이상, 66.0%가 직전 1년 안에 푸시된 저장소였다. 사람 주석에서는 최종 CodeSkillBank의 스킬 설명 92%가 정확하다고 판정됐고, 80%의 레코드가 보존할 가치가 있다고 평가됐다. 직접 수용된 레코드 중 84%는 올바른 재구성을 뒷받침했다. 반면 거부 표본은 설명 정확도 32%, 보존 가치 28%, 올바른 재구성 0%였다. 저자들은 이를 근거로 수용 레코드가 원본 동작에 충실하고 재사용 가치가 높다고 주장한다.

전제와 한계

실험은 DS4-Flash, Qwen3.5, Qwen3.6, Gemini 2.5 Pro, GPT 5.2 등 여러 모델과 BigCodeBench, SWE-bench Verified, TerminalBench, LongCLI-Bench, AgentBench-OS, AIME 2026, HMMT 2025, GPQA 여덟 벤치마크에서 이뤄졌다. 기본 에이전트 루프는 모델이 초안을 쓰고 리뷰어가 검사한 뒤 수정하는 구조이며, 스킬은 정해진 단계에서 검색되어 문맥으로 주입된다. 계산 효율을 위해 기본 실험 검색 풀은 전체 검색 레코드의 10%를 무작위로 샘플링했다. 72개 프로토콜 일치 평가 중 57개에서 CodeSkillBank가 성능을 개선했고, 여덟 벤치마크 평균은 2.26~7.39점, 상대적으로 6.0~20.7% 올랐다. 전체 매크로 평균은 42.90에서 47.90으로 11.7% 상대 개선됐고, SWE-bench Verified의 아홉 비교는 모두 개선됐다. 궤적 기반 스킬 뱅크와의 비교에서는 Trace2Skill, ExpeL, SkillRL-Bank를 같은 다운스트림 인터페이스에서 평가했을 때 Code2Skill이 공유된 일곱 벤치마크 모두에서 1위였고 평균 49.5점을 기록했다. 각 벤치마크에서 최고 궤적 기반 베이스라인보다 6.6~13.3점 높았고, 벤치마크별로 가장 좋은 베이스라인을 오라클처럼 골라도 평균 40.1점에 그쳐 Code2Skill보다 9.5점 낮았다. 참고로 평균 점수는 Trace2Skill 31.0, ExpeL 27.9, SkillRL-Bank 32.8이었다.

스킬을 어디에 넣을지도 비교했다. 생성 시점 프롬프트는 검색된 스킬을 첫 패스 프롬프트에 붙이고 기본 리뷰와 수정 단계를 제거한다. 계획 시점 안내는 에이전트가 계획을 세울 때 같은 레코드를 제공한다. 생성 후 비평은 초안이 생긴 뒤에만 스킬을 보여주고 리뷰와 수정에 사용한다. 계획 시점 안내는 DS4-Flash와 Qwen3.5에서 네 벤치마크 모두, 총 여덟 평가 모두 개선됐다. 생성 시점 프롬프트는 DS4-Flash의 네 공유 벤치마크를 모두 개선했고 AIME와 TerminalBench에서 큰 이득을 냈지만 Qwen3.5에서는 덜 일관됐다. 생성 후 비평은 72개 중 57개를 개선했고 모든 모델과 추론 모드에서 여덟 벤치마크 평균을 올렸다. 검색 설계에서는 BigCodeBench Instruct-Hard에서 DS4-Flash와 Qwen3.5를 대상으로 깊이 k를 1, 3, 10으로, 전체 레코드와 요약 렌더링을, 수용 레코드와 목적 인덱스 대표를 비교했다. k를 1에서 10으로 늘리면 평균 렌더링 문맥이 2.1K에서 17.8K 문자로 커졌지만 추가 효용은 작았다. Qwen은 33.10에서 34.50으로 1.40점 올랐고 DS4-Flash는 무스킬 기준선 이하였다. k=3에서 요약 렌더링은 평균 스킬 문맥을 6,352자에서 707자로 88.9% 줄였고, Qwen은 전체 레코드 점수를 유지했으며 DS4-Flash는 28.40에서 31.80으로 올랐다. 목적 인덱싱은 전체 레코드 문맥을 약 6.4K에서 5.0K로 줄였지만 통과율 효과는 혼합적이었다.

강화학습에서는 같은 Qwen3-32B SWE-World 체크포인트에서 동일한 코딩 RL 학습·평가 프로토콜을 쓰고, 스킬을 정책 프롬프트, 보상 측 검증, 생성 후 리뷰에 노출하는 조건을 비교했다. 학습 스텝 150에서 네 가지 CodeSkill 인터페이스 모두 무스킬 대조군을 앞섰다. 정책 및 보상 측 통합은 31~32%에 도달했고, 생성 후 리뷰는 무스킬 대조군보다 14점 향상됐다. 저자들은 정책·보상 측 접근이 해결률을 7~8점 올린 반면 생성 후 리뷰는 14점을 올렸다고 설명한다. 다만 이 실험은 단일 체크포인트만 보고 반복 시드나 학습 곡선이 없어 학습 속도, 수렴, 최종 정책 성능의 차이를 입증하지는 못한다고 밝힌다. AI 생성 코드 확장 실험에서는 수용 아카이브에서 25개 테스트된 구현을 뽑고, GPT-5.1로 인터페이스에 맞는 AI 구현을 만들어 둘 다 같은 공개·숨은 테스트를 통과시켰다. 각 구현에서 구현 방법과 검증 방법을 설명하는 레코드를 하나씩 추출해 인간 코드와 AI 코드가 각각 50개 스킬 뱅크를 이루게 했다. 같은 400개 LiveCodeBench 하위 집합에서 DS4-Flash로 평가한 통과율은 인간 코드 93.00%, AI 코드 93.50%였다. 두 뱅크는 16개 태스크에서 서로 달랐고 인간 코드만 7개, AI 코드만 9개를 풀었다. 저자들은 작은 평균 차이로 두 소스의 동등성을 입증하지는 않지만 AI 코드 뱅크가 동일하지 않은 지침을 제공한다고 본다.

개발자 관점에서 이 논문은 에이전트 스킬을 태스크 궤적이나 문서 요약이 아니라 유지보수되는 코드 저장소에서 대규모로 만들 수 있다는 설계를 제시한다. 특히 스킬을 계획 단계나 생성 후 리뷰에 넣는 방식이 첫 패스 생성에 직접 넣는 방식보다 안정적이었고, 전체 레코드보다 요약 렌더링이 문맥 비용을 크게 줄이면서 효용을 유지했다는 점은 실무에서 검색 깊이와 프롬프트 크기를 정할 때 참고할 만하다. 다만 Code2Skill은 실행 가능한 테스트나 형식 명세가 있다고 가정하지 않으며, 재구성 기반 일관성 검사는 테스트 기반 검증을 대체하는 것이 아니라 저장소 수준 필터로 쓰인다. 또한 소스 풀이 별 500개 이상의 GitHub 저장소로 제한되고, 기본 실험은 전체 검색 레코드의 10%만 사용했으며, 최종 뱅크도 사람 주석에서 80%만 보존 가치가 있다고 평가됐다. RL 통합 결과는 단일 체크포인트에 기반하고, 인간 코드와 AI 코드의 동등성은 입증되지 않았다는 전제를 확인해야 한다.