Inductive Deductive Synthesis: Enabling AI to Generate Formally Verified Systems
본 논문은 분산 시스템에 대한 구현과 형식적 증명을 공동으로 생성하는 에이전트 기반 LLM 시스템인 귀납적 연역적 합성 (IDS) 을 소개하며, 이는 키-값 저장소 명세에 대해 인간 전문가와 최첨단 코딩 에이전트 모두에 비해 100% 성공률을 달성하고 시간과 비용을 크게 절감합니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
복잡한 분산 시스템, 예를 들어 여러 사람이 동시에 사용하는 디지털 은행이나 공유 메모장을 구축한다고 상상해 보세요. 인터넷이 얼마나 혼란스러워지더라도, A 가 메모를 작성하면 B 가 즉시 그것을 보고, 어떤 데이터도 손실되거나 뒤섞이지 않도록 보장해야 합니다.
전통적으로 이를 구축하는 두 가지 방법이 있습니다:
- "추측하고 확인하는" 방식 (현재의 AI): 스마트한 AI 에게 코드 작성을 요청합니다. AI 는 코드를 작성하고 몇 가지 테스트를 실행한 후 "괜찮아 보입니다!"라고 말합니다. 하지만 이는 다리를 한 대의 차로 주행하여 점검하는 것과 같습니다. 그 차는 견딜 수 있더라도 트럭이 지나가면 무너질 수 있습니다. 이는 모든 가능한 시나리오에 대한 안전성을 보장하지 않습니다.
- "수학적 증명" 방식 (전통적 전문가): 수학자와 엔지니어로 구성된 인간 팀을 고용합니다. 그들은 단순히 코드를 테스트하는 것을 넘어, 어떤 일이 발생하더라도 코드가 실패할 수 없음을 증명하는 형식적 수학적 증명을 작성합니다. 이는 극도로 안전하지만, 수년에 걸친 인간의 노력과 막대한 비용이 듭니다.
문제점:
해당 논문은 코덱스 (Codex) 나 클로드 (Claude) 와 같은 가장 똑똑한 현재의 AI 에이전트조차 "수학적 증명" 방식에서는 실패한다고 말합니다. 그들은 먼저 코드를 작성한 다음 나중에 그것을 증명하려고 시도합니다. 이는 벽돌이 이미 쌓인 후에 건축가가 건물이 무너지지 않을 것임을 증명해 달라고 요청하는 것과 같습니다. 너무 어렵고 그들은 막히게 됩니다.
해결책: 귀납적 연역적 합성 (IDS)
저자들은 IDS(Inductive Deductive Synthesis, 귀납적 연역적 합성) 라는 새로운 AI 시스템을 개발했습니다. IDS 를 단일 작업자가 아닌, 긴밀한 루프 안에서 협력하는 전문 건축가와 검사관들의 팀으로 생각하세요.
간단한 비유를 들어 작동 방식을 설명하겠습니다:
"건설과 검사" 루프
집 전체를 지은 다음에 검사하는 대신, IDS 는 집의 아주 작은 부분을 짓고 즉시 그 작은 부분이 수학적으로 타당한지 확인합니다.
- 연역적 팀 (건설자): 이 AI 에이전트들은 작은 코드 조각 (예: 문틀) 과 작은 증명 조각 (이 문틀은 튼튼하다는 수학적 문장) 을 작성해 봅니다.
- 검사관 (증명 보조 도구): Rocq 라는 엄격하고 눈을 깜빡이지 않는 로봇 검사관이 작업을 즉시 점검합니다.
- 수학이 맞지 않으면, 검사관은 "아니요, 이 문틀은 약합니다"라고 말하며 팀은 즉시 작업을 중단합니다. 약한 기초 위에 집의 나머지 부분을 짓는 시간 낭비를 하지 않습니다.
- 통과하면 다음 작은 부분으로 이동합니다.
- 귀납적 팀 (전략가): 때로는 건설자들이 막히게 됩니다. 그들은 같은 종류의 문을 계속 짓려고 하지만 수학적으로 작동하지 않습니다. 여기서 "귀납적" 부분이 등장합니다.
- 제안자: 전략가 AI 는 막힌 지점을 보고 "이봐요, 나무로 된 문을 짓지 말고 강철로 만들어 볼까요?"라고 말합니다. 새로운 국소적 해결책을 제안합니다.
- 재로더: 전체 전략이 잘못되었을 경우 (예: 늪지에 집을 짓려고 시도하는 것), 이 전략가는 "이 설계는 폐기합시다. 완전히 다른 청사진으로 다시 시작합시다"라고 말합니다.
이것이 큰 이슈인 이유
해당 논문은 이 시스템이 세 가지 이유로 게임 체인저라고 주장합니다:
- 속도: 이 시스템은 7 가지 복잡한 분산 시스템 문제를 약 6.8 시간 만에 해결했습니다. 인간 전문가 팀이 같은 일을 하려면 몇 달에서 몇 년이 걸렸을 것입니다. 이는 약 200 배 빠른 속도입니다.
- 성공률: 기존 최고의 AI 에이전트들은 이러한 문제 7 개 중 2 개만 해결할 수 있었습니다. IDS 는 모든 7 개를 해결했습니다.
- 성능: 코드가 정확할 뿐만 아니라 빠르기도 합니다. 어떤 경우 IDS 가 생성한 코드는 인간이 작성한 최고 버전보다 3 배 더 빠르게 실행되었습니다. 이는 AI 가 인간이 일반적으로 탐색하지 않는 더 많은 설계 옵션을 탐색하여 인간이 놓친 "최적점"을 찾았기 때문입니다.
단점 (한계점)
해당 논문은 IDS 가 아직 할 수 없는 것에 대해 매우 솔직합니다:
- 완벽한 레시피가 필요합니다: 시스템이 무엇을 해야 하는지에 대한 수학적 규칙인 초기 "명세"를 작성하려면 여전히 인간 전문가가 필요합니다. 레시피가 잘못되면 AI 는 원하는 것과 맞지 않는 완벽한 집을 짓게 됩니다.
- 아직 모든 것을 위한 마법의 지팡이는 아닙니다: 그들은 특정하게 "키 - 값 저장소"(데이터베이스의 한 유형) 에 대해 테스트했습니다. 운영 체제나 암호화와 같은 다른 것들에도 작동할 것이라고 믿지만, 아직 증명하지는 않았습니다.
결론
이 논문은 건설과 점검을 동시에 결합하는 AI 활용의 새로운 방식을 소개합니다. AI 에게 "코드를 작성하고 작동하기를 바라는" 대신, "작동함을 증명하며 코드를 작성하라"고 요청하는 방식입니다.
이는 "완벽하게 안전한" 소프트웨어를 만드는 과정을 느리고 비싼 인간의 마라톤에서 빠르고 자동화된 스프린트로 전환하여, 우리가 의존하는 소프트웨어 (은행 앱이나 클라우드 저장소 등) 를 훨씬 더 안전하고 신뢰할 수 있게 만들 수 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.