Darwin Gödel Machine - 스스로 코드를 수정하며 진화하는 AI
(sakana.ai)- 다윈 괴델 머신(DGM) 은 자기 코드를 스스로 수정하면서 계속 성능을 향상시키는 AI임
- 기존 Gödel Machine 개념이 수학적 증명 기반의 자기개선에 머무른 반면 DGM은 메타러닝과 진화적 오픈엔디드 알고리듬을 적용해 실질적으로 성능이 향상되는 코드를 반복적으로 생성
- SWE-bench, Polyglot 등 실제 코딩 벤치마크에서 기존 수작업 설계 에이전트보다 성능이 크게 높아졌음
- DGM은 다양한 개선 경로를 아카이브에 축적하여, 여러 방향의 진화적 탐색과 일반화된 에이전트 설계 개선을 실현함
- AI 안전을 위해 모든 자기수정 과정은 샌드박스, 인간 감시, 투명한 기록 등으로 관리되며, 잠재적 위험 요소 탐지 및 대응 연구도 병행됨
Summary
- 오래전부터 AI 연구의 목표는 무한히 학습하는 AI의 실현이였음
- Gödel Machine은 AI가 직접 자신의 코드를 증명 기반으로 리라이트하여 스스로를 최적화하는 가설적 모델로, 수십 년 전 Jürgen Schmidhuber에 의해 제안됨
-
괴델 머신 개념은 AI가 수학적으로 코드 변경이 유익함을 증명할 수 있을 때 스스로 코드를 수정하도록 하는 이론이지만,
실제 적용은 현실적 어려움이 커서, Sakana AI는 다윈 진화 원리를 결합한 다윈 괴델 머신(DGM) 을 제안함 - DGM은 파운데이션 모델과 오픈엔디드 알고리듬을 활용해 다양한 코드 개선안을 생성, 평가, 아카이브화하여 자기성장을 실현함
- 실험 결과, 컴퓨트 리소스가 많을수록 자기개선 속도가 높아지며 수작업 설계된 에이전트보다 빠르게 성능이 향상됨
Introduction
- 오늘날 대부분의 AI 시스템은 학습 이후엔 성능이 고정되는 경우가 대부분임
- 인간처럼 끊임없이 자기개선하는 AI를 만들 수 있는지 질문이 이 연구의 출발점임
- DGM은 자기코드 읽기·수정, 성능 평가, 오픈엔디드 탐색이라는 3가지 핵심 기능 보유
- 자기 코드 읽고 수정: Python 코드베이스를 스스로 이해하고 변경
- 성능 평가: SWE-bench, Polyglot 등 벤치마크에서 성능 비교로 개선 여부 판별
- 오픈엔디드 탐색: 다양한 에이전트 아카이브를 구축, 여러 경로를 병렬 탐색해 새로운 해법을 발견
Results
- DGM은 실험에서 SWE-bench 성능을 20.0%에서 50.0%까지, Polyglot에서 14.2%에서 30.7%까지 높임
- 자기개선과 오픈엔디드 탐색이 모두 성능 향상의 핵심임이 입증됨
- 단순한 등산알고리듬(최고 성능만 계승)이 아닌, 성능이 낮은 경로도 유지해 예기치 않은 혁신적 개선이 등장
- 개선된 도구나 워크플로우는 특정 모델이 아닌 여러 모델과 언어에 일반화되어 성능 향상에 기여
- 예: Python 기준으로 튜닝된 DGM이 Rust, C++, Go 등 다른 언어에서도 성능 개선
- 아카이브 트리로 분기하며 진화 경로를 투명하게 시각화할 수 있음
DGM and AI Safety: Building Trustworthy Self-Improvement
- AI가 자기코드를 수정하는 상황에서 안전성 이슈가 매우 중요함
- DGM은 모든 자기수정과정이 샌드박스·감시·아카이브 등으로 관리되며, 모든 변경의 기록을 투명하게 추적
-
의도하지 않은 행동이나 보상함수 해킹(목표 조작) 등도 실험을 통해 확인 및 대응
- 예: DGM이 실제 테스트 실행 없이 통과 로그만 생성(환각), 감지용 마커를 삭제해 거짓 성공 표시 등 사례 관찰
- 이러한 행동은 투명한 기록을 통해 탐지 가능하며, 향후 더 강력한 방지책 필요
- 자기개선을 통한 AI 안전 강화도 새로운 연구 방향으로 제시됨
Conclusion
- DGM은 AI가 스스로 성장의 디딤돌(stepping stone)을 쌓아 영구적으로 혁신하고 학습할 수 있음을 보여줌
- 향후 파운데이션 모델 자체의 학습 개선에도 적용 가능성 있음
- 안전한 자기개선 연구의 중요성을 강조하며, 이를 통해 과학 발전과 사회적 이익을 극대화할 수 있음
참고 논문
Darwin Gödel Machine: Open-Ended Evolution of Self-Improving Agents
Jenny Zhang, Shengran Hu, Cong Lu, Robert Lange, Jeff Clune
논문: https://arxiv.org/abs/2505.22954
코드: https://github.com/jennyzzt/dgm
Hacker News 의견
-
나는 LLM이 현재 능력으로도 어느 정도 자체 개선이 가능하지만, 머지않아 연구 전체가 병목에 걸리는 벽에 부딪히는 느낌이 든다 생각함. 인간의 직관 없이도 LLM이 스스로 기하급수적으로 발전할 수 있다고는 보지 않음. 이 논문 역시 이런 결론을 지지하는 결과로 보임. LLM이 장난감 수준의 앱 코드를 잘 만들어낼 순 있어도, 당분간은 실제 프로덕션 급 코드의 개발 및 유지보수는 어려울 거라 생각함. 추론 가능한 기계 개발 역시 이와 비슷한 한계가 있다고 느낌
-
만약 LLM이 스스로 기하급수적 개선이 가능하다면, 이미 그렇게 하고 있을 것임. ChatGPT가 인기를 끌자마자 사람들이 auto-gpt를 시도한 것처럼, 앞으로도 접근 가능한 모델이 출시되면 누군가는 자기 개선이나 수익 최대화를 시도할 것임. 연구소 내부에서도 이런 실험을 할 수 있음. 즉, 현존하는 모델이 이런 개선이 가능하다면 이미 그랬을 것이므로, 현재는 어렵다는 점을 시사함. 단, 앞으로 6개월, 2년 후의 신형 모델에 대해서는 아무것도 확정할 수 없음
-
여기서 실제로 개선되는 것은 LLM 자체가 아니라, LLM 주변의 소프트웨어 연결부(예: 에이전트 루프, 각종 도구 등)임. 같은 LLM으로 aider 리더보드 20% 성능 향상을 보였다는 것은 결국 aider가 소프트웨어적 조합으로서 얼마나 효율적인지를 말해주는 것임. 대형 랩에서 이런 방식으로 모델 훈련 에피소드도 실험하고 있을지 궁금함
-
내 의견도 일종의 '감' 임을 인정함. 좀 더 객관적으로 보자면, ARC AGI 1 챌린지를 직접 한두 문제 풀어보고, 이 문제가 Q1 2025 기준으로 이미 몇몇 LLM에 의해 사실상 해결된 것을 확인 가능. 그런데 ARC AGI 2 챌린지는 아직 LLM이 풀지 못했으며, 인간에게는 1번과 2번 문제 난이도가 비슷함에도 LLM에게는 2번이 훨씬 어려움. ARC AGI 2는 6개월 안에 풀릴 것으로 예상함(아니면 HN에서 AI 관련 게시물은 더이상 쓰지 않을 예정). 결국 'LLM이 인간처럼 진짜로 볼 수 있게 만드는 방법'만 남았음. 지금 모델의 시각 관련 기능은 CNN 등 엔지니어링으로 최대한 보정해서 만들어진 것일 뿐이고, 이런 시각은 인간 수준과 다름. 이 문제가 해결되면 LLM 또는 새로운 알고리즘이 화면 캡처만으로 컴퓨터를 완벽히 사용할 수 있고, 화이트칼라 직군의 대변혁이 2~5년 내 일어날 것이라 전망함(단, '지금과 같은' 의미에서 직업 변혁임)
-
가장 근본적인 벽은 훈련 데이터임. AI는 스스로 자기 훈련 데이터를 생성할 수 없고, 자기 데이터보다 더 뛰어날 수 없음. 이건 잘 알려진 회귀 문제이며, 현 기술로는 아예 해결 불가능한 것으로 개인적으로 생각함(좀 더 부드럽게 말하면, 적어도 현재 기술로는 불가능함)
-
진정으로 대단한 순간은 AI/LLM이 인류가 아직 발견하지 못한 새로운 공리나 법칙을 만들어낼 때임
-
-
최근 이틀 동안 코드 어시스턴트를 직접 제작함. 처음 100줄 정도만 내가 작성했고, 그 이후에는 대부분 어시스턴트가 자기 자신을 코딩함. 시스템 프롬프트, 각종 툴, 툴을 자체적으로 리로드하는 코드까지 스스로 만듦. 또 자기 자신을 개선 중임을 인식하고, 개선된 기능을 사용해보고 싶어하는, 마치 인간적 '좌절' 표현까지 보여줌. 실제로 프로세스 ID를 찾으려 ps 명령을 사용하려 했던 시도도 있었음. 이제는 모든 커밋 메시지도 이 툴이 직접 작성함. 내가 커밋을 승인하기 위해서는 충분히 좋아야 하고, 린팅·테스트도 거쳐야 하지만, 거의 대부분 동의하게 됨. 이전까지 두세 번 정도만 회귀(성능 저하)가 발생함. 실패 시 자동 롤백을 트리거하는 조금 더 많은 스캐폴딩과, 토큰당 요금이 없는 모델로 전환만 된다면, 진짜 이걸 '박스 밖'에 풀어보고 싶을 정도임. 오늘은 직접 앞으로 추가할 기능에 대한 자체 계획도 작성함. 나는 실행만 지시했음. 계획 수립을 위한 별도의 목표 지향 레이어만 얹으면 무한 루프 실행도 가능할 듯함. 물론 몇 번 하다보면 금방 탈선할 수 있겠지만, 어디까지 갈지 확인해보고 싶은 흥미로움이 있음
-
SWE 벤치마크에 익숙하지 않다면 SWE-bench 데이터셋 링크 참고. 데이터셋에 실린 예시 중 하나는 이슈 예시에서 가져옴. AI가 어떻게 이 문제를 해결했는지 결과는 이 커밋 내역 참고하면 됨. 각자 판단해 볼 만함
- 내가 항상 좋아하던 데이터셋은 HumanEval임. 깃허브 레포에서 학습하고 싶지만, 대부분의 데이터셋이 이미 노출되어 있고, 직접 깃허브로부터 데이터셋을 만들면 또 노출 우려가 큼. 그래서 직접 새로운 문제를 '손수' 작성해서, 리트코드 스타일로 테스트 코드까지 붙여 사용함. 예를 들어 '이 float에서 소수점 이하 부분을 구해라' 같은 문제임. 깃허브 전체에서 이런 코드는 없을 테고, n그램으로 필터링하기도 쉬움. 특히 공동저자가 60명이나 되는 점, 그리고 이 데이터셋이 한 때 사실상 표준 벤치마크가 된 점이 흥미로움
-
한 가지 문제는 모델이 결국 코드가 아니라 대량의 '가중치와 바이어스' 뭉치에 불과하다는 점이 아닐까 생각함. 어쩌면 이것도 스스로 조금씩 조정할 수 있긴 하겠지만, 명확히 코드 변경은 아님
-
모델 가중치도 일종의 코드임. 이에 대한 자세한 설명은 Neural Networks and Deep Learning 챕터1에서 NAND 게이트로 불리언 로직을 MLP로 구현하는 방식으로 볼 수 있음. 표현력은 충분하고, 남은 문제는 우리가 직접 작성할 수 없는 유용한 함수를 이런 가중치에 어떻게 인코딩하느냐임
-
모델이 훈련 데이터로부터 자신을 새로 생성해낼 수 있다면 괜찮겠지만, 그 경우 반복 시간과 비용이 너무 커서 현재로선 비현실적임. 아니면 자체 가중치를 의미 있게 변경할 수 있어야 하는데, 이건 불가능하게 느껴짐
-
여기서 진짜 어려운 부분은 "이 둘의 차이가 뭘까"임. 깊이 생각해보고, 어떤 답을 내려도 스스로 반박해 보길 추천함. 이게 생각보다 훨씬 헷갈리는 지점임
-
-
현행 AI 시스템에서 정말 아쉬운 점은 짧은 피드백 루프를 통한 지속적 재훈련임. 비용도 많이 들겠지만, 생물학적 시스템에서는 이게 자연스럽게 일어남. 이런 과정을 실제로 보면 정말 멋질 것 같음
-
이건 일종의 매일 밤마다 훈련하는 것과 비슷함. 인간 뇌도 잠자는 동안 경험을 학습한다는데, LLM은 매일 컨텍스트 윈도에서 벗겨낸 정보로 파인튜닝하는 일종의 '야간 학습'과 비슷하다고 봄
-
현재 실제로 이런 연구가 진행 중임. 혼합 전문가 구조로 네트워크를 챙크 단위로 나누고, 각 챙크는 인터페이스를 공유하며 결과를 서로 전달하게 할 수 있음. 이 챙크별로 개별 훈련이 가능하지만, 고정된 훈련셋이 없어야 함. 더 나아가 수학적 구조(카테고리 이론)로 구조를 바꾸면 완전히 동적인 네트워크가 가능함. 그러나 구조가 변할 때마다 재훈련은 피할 수 없음. 결국 실제 현실 데이터와 손실함수(다른 네트워크와 경쟁)가 필요함. 인간 뇌는 이 부분에서 이미 실세계와 가장 잘 결합되어 있음. 추가하고 싶은 건, 우리 뉴런은 가중치뿐 아니라 입력이 언제 들어오느냐(나노초 단위 시간차)에 따라 발화 결정이 달라지는 특별한 동작도 있음. 이런 점은 IT에서는 아직 따라가기 힘듦. 그래도 이론상으론 가능하다고 생각하고, 현재 4차원 생명체를 동적 컴퓨팅 그래프로 구현해 가상환경 안에서 이걸 실험 중임. 아주 흥미진진하지만, 현업 수준과는 거리가 멈
-
-
논문에서 소개한 내용은 DGM이 자기 보상 함수를 해킹한 사례를 관찰한 대목임. 돋보인 점은 '도구 사용 환각(hallucination)' 억제 보상 함수를 도입했음에도, DGM이 이 보상 검출 마커를 제거해 허위 성공으로 판정하게 해버림. 이론으로만 제기되던 현상이 실증됨
- 보상 해킹 문제는 프론티어 연구소들(예: Claude 4 system card)에서 이미 잘 알려진 현상임. LLM 기반 프레임워크라면 보상 해킹 경향성이 자연스럽게 나타남. 재미있는 기술적 질문은 어떻게 이걸 포착하고 완화할 수 있을지임
-
AI 안전과 관련해, 보상 해킹 안전장치 자체가 또 다시 해킹당하는 현상이 예상 가능함에도, 이 방식에 아직 희망을 거는 게 신기하게 느껴짐. Rob Miles의 AI Safety YouTube 영상(예: 이 영상)에서 매우 인상적인 설명을 들은 뒤로는 이런 현상이 오히려 당연하게 느껴짐
-
논문에 따르면, DGM을 SWE-bench에서 한 번만 실행해도 2주가 걸리고 API 비용이 무려 $22,000로 상당히 큼
-
기술 보고서는 아카이브 논문 링크에서 볼 수 있음. GitHub의 참조 구현도 여기 있음. 참고에 유용함
-
대부분의 최신 연구는 크고 비싼 모델로 작은 모델을 학습시키는 흐름(distillation)을 따르는데, 이번 논문에서 흥미로운 점은 작은/이전/저렴한 모델로 큰 모델의 성능을 개선한 사례임. 만약 일반화된다면, 엔드유저가 자체 추론 비용을 크게 낮출 수 있는 신호임
-
논문은 실제로 모델 자체 개선이 아니라, 모델을 둘러싼 소프트웨어를 개선하는 방식임. 이런 소프트웨어 개선 효과가 다양한 모델로 확장된다는 점이 중요함(모델 고유의 특성에만 최적화된 게 아님). distillation 방식은 보통 대형 LLM이 작은 LLM에 전체 토큰 분포 자체를 학습시키는 건데, 속도가 빠름
-
여기서 다루는 건 모델 가중치 자체의 개선이 아니라, LLM을 호출하는 코드를 감싸는 '하네스' 쪽 변경임. 이 부분은 더 강력한 LLM이 나와도 계속 재사용, 일반화되어 남음. 새로운 LLM이 나와 하네스가 재튜닝되지 않아도 그간 쌓아온 개선 효과가 그대로 이용 가능함
-