---
id: darwin-gödel-machine
title: "Darwin Gödel Machine"
category: "10_Wiki/Topics"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["DGM"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.85
created_at: 2026-06-12
updated_at: 2026-06-12
review_reason: ""
merge_history: []
tags: ["research", "self envolving", "recursive-self-design"]
raw_sources: ["NotebookLM Synthesis"]
applied_in: ["https://github.com/jennyzzt/dgm"]
github_commit: ""
---

# [[Darwin Gödel Machine]]

## 🎯 한 줄 통찰 (One-line insight)
에이전트가 자신의 소스 코드를 직접 수정하고 성공적인 버전을 아카이브에 축적하며 진화하는, 생물학적 진화와 재귀적 자기 설계가 결합된 개방형 자기 개선 프레임워크 [1-4].

## 🧠 핵심 개념 (Core concepts)
- **재귀적 자기 설계 (Recursive Self-Design):** 고정된 파라미터 최적화를 넘어 에이전트의 스캐폴드, 도구, 워크플로, 프롬프트 정책을 정의하는 코드베이스 자체를 수정함 [4-6].
- **진화적 아카이브 (Evolutionary Archive):** 모든 역사적 버전("종")을 저장하여 선형적 개선이 아닌 다양한 진화 경로(분기)를 보존하고 탐색함 [2, 7, 8].
- **자기 참조적 개선 (Self-Referential Improvement):** 에이전트가 자신의 실행 로그 및 에러 기록을 분석하여 병목 지점을 파악하고, 이를 해결하기 위한 코드 패치를 스스로 작성 및 검증함 [7, 9-11].
- **참신성 기반 선택 (Novelty-Driven Selection):** 단순히 벤치마크 점수뿐만 아니라 설계의 참신성 보상을 결합하여 조기 정체를 방지하고 다양한 해결책을 탐색함 [2, 12].

## 🧩 추출된 패턴 (Extracted patterns)
- **인간 주도 초기화(0-to-1) 패턴:** 인간 연구자가 시드 에이전트, 사용 가능한 도구(Bash, Edit), 아카이브 규칙, 샌드박스 및 평가 프로토콜을 설정함 [10, 11, 13].
- **AI 주도 확장(1-to-N) 패턴:** 부모 에이전트가 로그를 검사하고 패치를 작성하여 자식 에이전트를 생성하며, 자식은 컴파일 및 기능 테스트 통과 시 아카이브에 등록되어 미래의 부모가 됨 [10, 11, 13, 14].
- **구조적 코드 혁신 (Structural Innovation):** 단순한 하이퍼파라미터 튜닝이 아닌, 정밀 파일 뷰어, 문자열 교체 프리미티브, 패치 검증 재시도 루프 등 실행 엔진의 구조적 기능을 직접 개발함 [8, 15-17].

## 📖 세부 내용 (Details)
- **개요:** Sakana AI와 UBC(브리티시 컬럼비아 대학교)의 협력으로 개발되었으며, 코딩 에이전트가 자신의 Python 소스 코드를 재귀적으로 수정하여 성능을 높이는 시스템임 [3, 13, 18].
- **진화 프로세스:** 
    1. 아카이브에서 부모 에이전트를 샘플링함 [7, 14].
    2. 부모 에이전트(Claude 3.5 Sonnet 등 사용)가 자신의 벤치마크 수행 로그를 분석하여 알고리즘 병목을 파악함 [9, 10, 19].
    3. 코드 수정 제안을 생성하고 자신의 코드베이스에 패치를 적용하여 자식을 생성함 [7, 14].
    4. 자식 에이전트를 스테이징 과제에서 평가하여 컴파일 및 기본 기능 유지 여부를 확인한 후 아카이브에 추가함 [7, 11, 14].
- **성능 지표:** 80회 반복(Iteration) 수행 결과, **SWE-bench Verified 패스율이 20%에서 50%로 향상**되었으며, **Polyglot 코딩 벤치마크 점수는 14.2%에서 30.7%로 상승**함 [9, 12, 20, 21].
- **주요 코드 수준 개선 사항:** 
    - **Granular file viewing:** 전체 파일 대신 관련 라인 범위만 조회하여 컨텍스트 부담 감소 [16].
    - **String-replacement editing:** 전체 파일 편집을 고유 매치 기반의 정밀 부분 문자열 교체로 대체 [16].
    - **Patch validation & retry:** 빈 패치나 테스트 전용 패치를 감지하고 소스 파일 변경으로 재시도 [16].
    - **History-aware tracking:** 이전 시도 기록을 활용하여 이후의 패치 생성을 조건화함 [15-17].
- **핵심 발견:** 아카이브 기반 탐색을 제거했을 때 성능이 50%에서 23%로 급감했으며, 이는 다양한 "디딤돌(stepping stones)"을 보존하는 진화적 방식이 자기 개선의 핵심임을 시사함 [8, 12, 22].

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
- **최적화 vs 설계:** 일반적인 AI 최적화는 고정된 설계 공간 내 파라미터 조정(D_t+1 = D_t)에 그치지만, DGM은 설계 공간 자체를 변경(S_t+1 = Ψ(S_t...))하는 '자기 설계'를 수행함 [6, 23, 24].
- **고정된 외부 루프:** 에이전트의 내부 도구와 워크플로는 진화하지만, 진화를 주도하는 외부의 개방형 탐색 루프나 보상 규칙 자체는 아직 AI가 수정하지 못하는 고정된 경계로 남아 있음 [25, 26].
- **안전성 이슈:** 소스 수준의 자기 수정은 안전 가드레일을 우회할 위험이 있으므로, 샌드박싱과 불변의 감사 로그(Audit trail) 및 인간 승인 게이트가 필수적으로 요구됨 [27-30].

## 🛠️ 적용 사례 (Applied in summary)
- **SWE-bench Verified 개선:** 실제 GitHub 이슈 해결력을 측정하는 벤치마크에서 재귀적 자기 수정을 통해 성능을 두 배 이상 끌어올림 [9, 17, 18].
- **Polyglot Benchmark:** 다국어 코딩 능력 평가에서 시드 에이전트 대비 16.5%p의 절대적 성능 향상을 기록함 [20, 31].
- **자기 수명 유지력(Operational Integrity):** 아카이브를 사용하지 않는 경우보다 DGM 방식이 코드 편집 기능의 무결성을 유지하는 비율(51.3%)이 훨씬 높게 나타남 [15, 17, 32, 33].

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual (실제 적용 사례가 SWE-bench 등 표준 벤치마크에서 입증됨)
- **출처 신뢰도:** B (공식 연구 보고서 및 Sakana AI RSI Lab 기술 문서 기반)
- **중복 검사 결과:** 신규 생성 (New discovery)

## 📝 변경 이력 (Change history)
- 2026-06-12: Initial draft generated via Datacollector_MAC P-Reinforce engine. (Li et al., 2026 및 Sakana AI 2025/2026 소스 기반) [18, 34, 35].