← 최신 논문
🤖 machine learning

From I/O to Code with Discovery Agent

본 논문은 실행 오류와 단순한 가설을 우선시하는 "변환 우선순위 전제"에 기반한 진화적 탐색으로 프로그램 합성을 프레임화함으로써 까다로운 IO2Code 문제를 해결하는 발견 프레임워크인 DIO-Agent 를 소개하며, 새로 구축된 IO2CodeBench 에서 기존 방법들보다 뛰어난 성능을 입증한다.

원저자: Yihong Dong, Jiaru Qian, Haoran Zhang, Peixu Wang, Binhua Li, Zhi Jin, Yongbin Li, Ge Li, Xiaokang Yang, Xue Jiang

게시일 2026-05-18
📖 4 분 읽기☕ 가벼운 읽기

원저자: Yihong Dong, Jiaru Qian, Haoran Zhang, Peixu Wang, Binhua Li, Zhi Jin, Yongbin Li, Ge Li, Xiaokang Yang, Xue Jiang

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

마법 비법을 로봇에게 가르치려 한다고 상상해 보세요.

기존 방식 (NL2Code):
보통은 로봇에게 "이 숫자들을 작은 순서부터 큰 순서로 정렬해 주세요"라고 말합니다. 로봇은 당신의 말을 읽고, 학습 중에 배운 유사한 마법 비법을 기억한 뒤 작업을 수행합니다. 이를 NL2Code(자연어에서 코드)라고 부릅니다. 누군가에게 요리 레시피를 주고 그 요리를 만들어 달라고 요청하는 것과 같습니다.

새로운 도전 (IO2Code):
이제 로봇과 대화할 수 없다고 상상해 보세요. 레시피를 줄 수도 없습니다. 대신 마법 비법이 실제로 작동하는 몇 가지 예시만 보여줍니다.

  • 빨간 공을 넣으면 파란 공을 꺼냅니다.
  • 빨간 공 두 개를 넣으면 파란 공과 초록 공을 꺼냅니다.
  • 파란 공을 넣으면 아무것도 꺼내지 않습니다.

로봇은 입력과 출력만 관찰하며 마법 뒤에 숨겨진 비밀 규칙을 찾아내야 합니다. 재료가 무엇인지 한 번도 알려지지 않은 상태에서 '레시피'를 추측해야 합니다. 이 논문에서는 이를 IO2Code(입력 - 출력에서 코드)라고 부릅니다.

문제는 이것이 매우 어렵다는 점입니다. 로봇이 단순히 예시를 암기한다면 ("빨간 공이면 파란 공을 꺼낸다"), 새로운 색상을 입력했을 때 실패합니다. 너무 빠르게 복잡한 규칙을 추측하면, 결국 막다른 골목에 빠질 수도 있습니다.

해결책: "발견 에이전트" (DIO-Agent)

저자들은 이 퍼즐을 해결하기 위해 새로운 AI 에이전트인 DIO-Agent를 만들었습니다. AI에게 무작위로 추측하게 내버려 두지 않고, 실제 인간 프로그래머가 학습하는 방식에 기반한 구체적인 전략을 부여했습니다.

다음은 간단한 비유를 통해 DIO-Agent 가 작동하는 방식입니다.

1. "커리큘럼" (단계별 학습)

'쉬운 모드'에서 시작해 점차 더 어려운 레벨을 해제해 나가는 비디오 게임을 상상해 보세요.

  • 전략: DIO-Agent 는 모든 예시를 한 번에 보여주는 대신, 가장 쉬운 예시만 먼저 보여줍니다.
  • 도움되는 이유: AI 는 쉬운 경우에 작동하는 간단한 규칙을 학습합니다. 그다음 조금 더 어려운 예시들을 접합니다. 간단한 규칙이 무너지면, AI 는 규칙을 업그레이드해야 함을 알지만, 이미 작동하던 부분은 유지합니다. 모든 퍼즐을 한 번에 해결하려 하기보다는 복잡성을 단계별로 쌓아 올립니다.

2. "변환 우선순위" (간단함의 규칙)

이 논문은 소프트웨어 공학에서 유래한 **변환 우선순위 전제 (Transformation Priority Premise, TPP)**라는 개념을 사용합니다. 이는 AI 가 추측을 변경할 수 있는 방식을 규정하는 엄격한 규칙으로 생각할 수 있습니다.

  • 규칙: AI 는 가장 간단한 설명부터 시도하도록 강요받습니다.
    • 레벨 1: "정답이 그냥 상수 숫자인가?" (예: 항상 5 를 반환한다).
    • 레벨 2: "입력에 직접 의존하는가?" (예: 내가 준 숫자를 그대로 반환한다).
    • 레벨 3: "결정이 필요한가?" (예: 숫자가 짝수면 X 를 하고, 홀수면 Y 를 한다).
    • 레벨 4: "반복문이 필요한가?" (예: 숫자가 작아질 때까지 이 작업을 계속한다).
  • 도움되는 이유: 이는 AI 가 특정 예시에는 우연히 작동하지만 실제로는 틀린, 지나치게 복잡하고 엉망인 해결책으로 바로 뛰어가는 것을 막습니다. 마치 형사가 범인을 찾기 전에 단순한 용의자들을 먼저 배제하듯, AI 가 복잡한 아이디어를 시도하기 전에 간단한 아이디어들을 모두 소진하도록 강요합니다.

3. "오류 기반 피드백" (실수에서 배우기)

AI 가 추측을 시도했다가 실패할 때, 단순히 "틀렸다"는 점수만 매겨지지 않습니다.

  • 전략: 시스템은 AI 에게 정확히 어디서 실패했는지 보여줍니다. "첫 세 개의 예시는 맞았지만, 네 번째 예시에서 음수를 처리하는 것을 잊어서 실패했습니다."
  • 도움되는 이유: 이는 단순히 "경기에서 졌다"고 말하는 대신, 스포츠 훈련에서 코치가 구체적인 실수를 지적하는 것과 같습니다. 이는 AI 가 논리의 특정 결함을 수정하도록 이끕니다.

결과

연구자들은 이 새로운 에이전트를 단순 수학부터 복잡한 기하학, 심지어 이미지 분석에 이르기까지 방대한 퍼즐 세트 (IO2CodeBench) 에서 테스트했습니다.

  • 승자: DIO-Agent 는 기존 프로그래밍 도구와 다른 고급 AI '진화' 에이전트를 포함한 모든 다른 방법들을 능가했습니다.
  • 효율성: 단순히 더 많이 추측해서 이긴 것이 아니라, 더 현명하게 추측해서 이겼습니다. 경쟁자들보다 더 빠르고 덜 '낭비된' 노력으로 올바른 간단한 규칙들을 찾아냈습니다.
  • 일반화: AI 는 학습 예시들을 단순히 암기한 것이 아니라, 실제로 근본적인 논리를 파악하여 새로운, 보지 못한 문제들을 올바르게 해결할 수 있었습니다.

요약하자면

이 논문은 AI 가 작성된 지시를 따르는 것 (NL2Code) 에는 뛰어나지만, 행동만으로 규칙을 파악하는 것 (IO2Code) 에는 어려움을 겪는다고 주장합니다. AI 가 단계별로 학습하도록 강요하고, 복잡한 해결책보다 간단한 해결책을 우선시하며, 오류에서 구체적으로 배우게 함으로써 DIO-Agent는 시스템의 숨겨진 규칙을 성공적으로 '발견'할 수 있게 되었습니다. 이는 단순한 암기 기계가 아닌, 진정한 과학적 탐정처럼 행동합니다.

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

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

Digest 사용해 보기 →