다윈: 스스로 코드를 진화시키는 에이전트 기반 GPT 네트워크
초록
DARWIN은 여러 GPT 에이전트를 독립적으로 학습시키고, 서로의 학습 코드를 프롬프트로 수정하도록 하여 변이와 선택 과정을 구현한 진화형 프레임워크이다. JSON 기반 메모리와 양방향 인간‑기계 인터페이스를 통해 수정 이력을 저장하고, 필요 시 인간이 개입할 수 있다. nanoGPT를 실험 플랫폼으로 사용해 5세대에 걸쳐 퍼플렉시티 2.07 %와 MFU 1.26 % 개선을 보고했지만, 전체적인 성능 향상은 제한적이었다.
상세 분석
DARWIN은 기존 진화 알고리즘과 대형 언어 모델(LLM)의 코딩 능력을 결합하려는 시도로, 몇 가지 핵심 설계 선택이 눈에 띈다. 첫째, 변이 연산을 “프롬프트 기반 코드 수정”으로 구현한 점이다. 이는 전통적인 무작위 변이 대신 LLM이 의미론적·구조적 변이를 생성하도록 유도한다는 점에서 혁신적이다. 그러나 현재 구현은 OpenAI API 호출에 의존해 프롬프트 길이 제한을 극복하기 위해 파일을 청크 단위로 나누고, 전역 변수·파일 구조·이전 수정 요약을 메모리 파일에 저장한다. 이 접근은 메모리 관리와 컨텍스트 유지에 일정 수준의 성공을 보였지만, 청크 간 의존성을 완전히 파악하지 못해 구문 오류가 빈번히 발생한다는 실험 결과가 이를 뒷받침한다.
둘째, 컨테이너화와 격리 메커니즘이다. 각 에이전트를 독립 Docker 컨테이너에서 실행하도록 설계했으며, 중앙 제어 스크립트에 대한 루트 접근을 금지하는 프롬프트를 삽입한다. 현재는 수동 검증에 의존하고 있어 대규모 확장 시 자동화된 위험 탐지 모듈이 필수적이다. 이와 같은 안전 장치는 AGI 수준의 자기 개선 시스템에서 윤리적·보안적 위험을 최소화하려는 노력으로 평가된다.
셋째, 적합도 평가와 선택 과정이다. nanoGPT 기반의 Shakespeare 데이터셋을 이용해 퍼플렉시티와 MFU를 측정하고, 상위 4개 모델을 다음 세대로 전파한다. 실험에서는 5세대에 걸쳐 퍼플렉시티가 38.50→37.70, MFU가 0.397→0.392로 소폭 개선되었지만, 전체 오류율이 37.5 %에 달하고 해결된 오류 비율이 16.7 %에 불과했다. 이는 변이 단계에서 생성된 코드가 학습 파이프라인을 불안정하게 만들 가능성이 높음을 시사한다.
넷째, 지속적 메모리와 인간‑기계 인터페이스(HITL)이다. JSON 파일에 변이 이력·성능 메트릭·요청 사항을 기록함으로써 에이전트가 과거 경험을 활용하도록 설계했으며, 인간 운영자가 모델의 요청(데이터셋 확대, 파일 구조 재조정 등)에 응답할 수 있는 양방향 채널을 제공한다. 이 구조는 현재 실험에서는 제한적으로 사용됐지만, 복잡한 작업에 대한 인간 감독을 효율적으로 통합할 수 있는 토대를 제공한다.
전체적으로 DARWIN은 “LLM을 변이 연산자로 활용한다”는 아이디어를 구체화했지만, 실험 설계가 지나치게 단순(단일 작은 모델·단일 데이터셋)하고, 변이 품질·안정성 검증이 부족해 실제 성능 향상이 제한적이다. 향후 대규모 모델·다양한 벤치마크·자동화된 오류 탐지·정교한 프롬프트 엔지니어링이 결합된다면, 진화적 자기 개선 프레임워크로서의 잠재력을 충분히 발휘할 수 있을 것으로 보인다.
댓글 및 학술 토론
Loading comments...
의견 남기기