← 최신 논문
🤖 AI

Can LLMs Build a MaxSAT Solver from Papers? The CoreForge Experience

이 논문은 대규모 언어 모델이 반복적인 워크플로를 통해 연구 논문으로부터 직접 기능적인 비가중 MaxSAT 솔버를 구축하는 데 성공적으로 기여할 수 있음을 보여주는 실험인 CoreForge에 대해 보고하며, 다만 결과물인 시스템은 여전히 인간의 지도와 검증을 필요로 하고 성능 면에서는 수작업으로 설계된 솔버에 뒤처져 있다는 점을 명시한다.

원저자: Ruben Martins

게시일 2026-07-17
📖 4 분 읽기☕ 가벼운 읽기

원저자: Ruben Martins

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 거대한 실타래처럼 엉킨 단서들을 풀어나가는 탐정이라고 상상해 보세요. 컴퓨터 과학의 세계에서 이 실타래는 "제약 문제(constraint problem)"라고 불립니다. 당신에게는 규칙 목록(예: "빨간 공은 왼쪽에 있어야 한다" 또는 "파란 공은 초록 공 옆에 있으면 안 된다")이 주어지며, 당신의 임무는 모든 규칙이 만족하도록 모든 것을 배치하는 것입니다. 때로는 모두를 만족시키는 것이 불가능할 수도 있는데, 이럴 때 목표는 가장 많은 사람을 만족시키는 배치를 찾는 것으로 바뀝니다. 이것이 바로 "MaxSAT 솔버(MaxSAT solver)"가 하는 일입니다. MaxSAT 솔버는 완벽한 해결책이 존재하지 않을 때 최선의 해결책을 찾아내는 아주 똑똑한 컴퓨터 프로그램, 즉 숙련된 퍼즐 해결사 역할을 합니다.

수십 년 동안 이러한 퍼즐 해결사를 만드는 것은 인간 전문가들의 몫이었습니다. 그들은 복잡한 연구 논문을 읽고, 깊은 수학적 이론을 이해하며, 솔버를 충분히 유용하게 만들 만큼 빠르게 만들기 위해 수백만 줄의 코드를 작성하고 아주 미세한 세부 사항들을 조정하는 데 수년을 보내야 했습니다. 하지만 최근, 새로운 종류의 디지털 조수가 도착했습니다. 바로 대규모 언어 모델(LLM)입니다. ChatGPT와 같은 도구의 두뇌인 이 AI들은 이야기, 시, 심지어 컴퓨터 코드까지 작성할 수 있습니다. 여기서 큰 의문이 생깁니다. AI가 연구 논문을 읽고, 인간이 단 한 줄의 코드도 직접 쓰지 않고도 작동하는 퍼즐 솔버를 처음부터 구축할 수 있을까요? 이 미스터리를 해결하고자 하는 것이 바로 "CoreForge" 프로젝트입니다.


CoreForge 실험: AI에게 퍼즐 솔버 구축법 가르치기

CoreForge라는 프로젝트에서 카네기 멜런 대학교의 연구원 루벤 마틴스(Ruben Martins)는 AI의 한계를 시험해 보기로 했습니다. 그는 AI에게 이미 존재하는 고장 난 퍼즐 솔버를 고치라고 요구하는 대신, 오직 연구 논문만을 지침서 삼아 기초부터 직접 구축하라는 도전 과제를 부여했습니다. 이것은 마치 로봇에게 유명한 셰프들이 쓴 요리책 한 더미를 건네주며, 가스레인지를 본 적도 없는 상태에서 레스토랑 주방을 만들고 5성급 요리를 만들어내라고 요구하는 것과 같습니다.

이 과정은 AI가 완벽한 프로그램을 단번에 내뱉는 "원샷(one-shot)" 마법이 아니었습니다. 그것은 인간과 기계 사이의 길고 반복적인 춤이었습니다. 인간 연구원이 연구 논문을 선택하면, AI와 주요 아이디어를 논의한 뒤, AI(구체적으로는 Codex라는 코딩 도구)에게 코드를 작성하도록 요청했습니다. 하지만 AI에게 자유가 허락된 것은 아니었습니다. 인간은 테스트를 실행하고, 버그를 확인하며, AI에게 실수를 수정하도록 요청했습니다. 그들은 마치 학생과 튜터가 어려운 수학 문제를 함께 풀어가는 것처럼, 작동하는 솔버를 얻을 때까지 이 과정을 계속해서 반복했습니다.

무엇을 만들었나?
그 결과물은 25,000줄 이상의 방대한 C++ 코드베이스였습니다. AI는 논문에 담긴 복잡한 수학적 아이디어들을 작동하는 소프트웨어로 성공적으로 번역해 냈습니다. AI는 다음과 같은 몇 가지 고급 전략을 구현했습니다:

  • 코어 가이드 최 optimization (Core-guided optimization): 솔버가 자신의 실수(이를 "코어"라고 부름)로부터 학습하여 같은 실수를 반복하지 않도록 하는 방법입니다.
  • 전처리 (Preprocessing): 퍼즐을 풀기 전에 미리 정리하여 문제를 더 쉽게 만드는 과정입니다.
  • 룩어헤드 (Lookahead): AI가 발명하는 데 도움을 준 새로운 기능으로, 솔버가 실제 해결책을 결정하기 전에 몇 번의 빠른 "연습 게임"을 통해 최선의 전략을 예측하는 기능입니다.

성공했는가?
이 이야기에서 가장 놀라운 부분은 AI가 속임수를 쓰지 않았다는 점입니다. 연구진은 솔버가 망가지는지 확인하기 위해 무작위의 혼란스러운 데이터를 던져 넣는 "퍼징(fuzzing)"을 포함하여 수천 번의 테스트를 수행했으며, 공식 경진대회의 벤치마크와 비교했습니다. 그 결과, 테스트된 구성에서 오답이 단 하나도 발견되지 않았습니다. 이 솔버는 수학적으로 정확했습니다. 단순히 짐작하는 것이 아니라, 실제로 퍼즐을 정확하게 풀어냈습니다.

하지만 충분히 빠른가?
여기에 함정이 있습니다. AI가 정확한 솔버를 만들기는 했지만, 가장 빠른 솔버는 아니었습니다. 수년간 다듬어진 인간 공학 기반의 솔버들과 비교했을 때, CoreForge는 더 느렸고 더 적은 수의 퍼즐을 해결했습니다. 이는 AI가 만든 자동차가 완벽하게 운전하고 절대 사고를 내지 않지만, 최고의 인간 제작 자동차가 시속 120마일로 달릴 때 겨우 시속 40마일로 달리는 것과 같습니다.

연구진은 AI가 높은 수준의 아이디어를 이해하고 이를 코드로 변환하는 데는 뛰어나지만, 솔버를 번개처럼 빠르게 만드는 "미세 조정(fine-tuning)"의 세부 사항에는 어려움을 겪는다는 것을 발견했습니다. AI는 때때로 직선 도로 대신 우회로를 택하는 것처럼 속도를 늦추는 불필요한 단계를 추가하기도 했습니다.

결론
CoreForge의 경험은 AI가 연구 논문을 바탕으로 복잡한 소프트웨어를 구축하는 데 분명히 도움을 줄 수 있지만, 아직 인간 엔지니어를 대체할 준비는 되지 않았음을 시사합니다. AI에게는 자신의 작업을 검토하고, 어떤 아이디어를 유지할지 결정하며, 느린 루프에 빠지지 않도록 도와줄 인간의 가이드가 필요합니다.

논문은 우리가 AI가 자율적으로 세계적인 수준의 솔버를 구축할 수 있는 단계에 도달한 것은 아니지만, 그 근처까지 가고 있다고 결론짓습니다. AI는 "요리책"을 읽고 "주방"을 만들 수 있음을 증명했습니다. 다음 단계는 AI에게 경쟁에서 이기기 위해 열기와 타이밍을 정확하게 조절할 줄 아는 마스터 셰프가 되는 법을 가르치는 것입니다. 현재로서는, 인간이 전략을 제공하고 AI가 코드 작성이라는 힘든 일을 도맡는 팀워크가 가장 좋은 결과를 가져옵니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →