← 최신 논문
💻 computer science

A Building as a Repository: KIR, a Typed Intermediate Representation for Agent-Authored Building Information Models

이 논문은 빌딩 정보 모델을 버전 관리되는 프로그램으로 취급하여 자율 에이전트가 작성한 건설 작업에서 발생하는 7가지 특정 실패 모드를 체계적으로 탐지하고 표현하는 타입형 중간 표현인 KIR을 소개하며, 직접적인 호스트 API 조작과 비교하여 오류 진단 및 코드 압축성 측면에서 상당한 개선을 입증한다.

원저자: Dmitry Kuklev

게시일 2026-09-16✓ Author reviewed
📖 5 분 읽기🧠 심층 분석

원저자: Dmitry Kuklev

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

우리의 도시 설계도가 단순한 정적 도면이 아니라, 지능형 소프트웨어 에이전트가 작성한 살아있는 지침서인 세상을 상상해 보십시오. 이 에이전트들은 건축가와 엔지니어가 매일 사용하는 복잡한 소프트웨어를 사용하여, 층별로, 방별로, 건물 모델을 레이어 단위로 구축하도록 설계되었습니다. 문제는 이 소프트웨어 프로그램들이 자율적인 기계가 아닌 인간의 손에 맞춰 만들어졌다는 점입니다. 이들은 종종 예측 불가능한 방식으로 명령에 반응합니다. 도구가 소리 없이 실패하거나, 왜 그런 선택을 했는지에 대한 기록 없이 결정이 내려지거나, 중요한 정보가 흔적도 없이 사라질 수도 있습니다. 인간 건축가가 실수를 하면 그 오류를 보고 맥락을 이해하여 수정할 수 있습니다. 하지만 이 환경에서 소프트웨어 에이전트가 실수를 하면, 무엇이 잘못되었는지, 무엇을 하려 했는지, 혹은 자신이 만든 건물이 주어진 설계와 실제로 일치하는지조차 알 수 없는 경우가 많습니다. 그 결과, 컴퓨터는 건물이 결함이 있거나 미완성임에도 불구하고 작업이 완료되었다고 주장하는 시스템이 발생합니다.

이것이 바로 연구자 드미트리 쿠클레프(Dmitry Kuklev)가 해결하고자 했던 문제입니다. 그는 단순하지만 심오한 질문을 던졌습니다: 만약 우리가 이 에이전트들에게 건물 소프트웨어와 직접 대화하는 로우 코드를 쓰라고 요구하는 대신, 컴파일러가 무언가를 짓기 전에 검사할 수 있는 명확하고 타입이 지정된 계획을 쓰라고 요구한다면 어떨까? 그 결과물은 KIR이라 불리는 새로운 시스템입니다. 이 시스템은 건물을 단순히 파일의 집합이 아니라, 읽고, 확인하고, 수정할 수 있는 명령어의 라이브러리처럼 버전이 관리되는 저장소 내의 프로그램으로 취급합니다. 핵심 아이디어는 에이전트가 벽을 세우거나 문을 배치하기 전에 반드시 자신이 무엇을 하려는지를 정확하게 먼저 기록해야 하며, 별도의 시스템이 그 계획이 타당한지, 참조가 명확한지, 그리고 그 결과가 알려진 것인지 검증해야 한다는 것입니다. 만약 계획이 모호하다면, 시스템은 진행을 거부하고 가능한 수정 사항 목록을 제시합니다. 이 접근 방식은 추측과 희망의 부담을 '앎'과 '검증'의 부담으로 전환합니다.

연구진은 아무도 알아차리지 못하는 사이에 건물 프로젝트가 잘못될 수 있는 일곱 가지 구체적인 방식을 처리할 수 있도록 이 시스템을 구축했습니다. 기존 방식에서는 에이전트가 특정 층 높이를 선택하려 할 때, 두 층의 이름이 비슷하면 소프트웨어가 그냥 첫 번째로 발견된 것을 선택하고 넘어가 버려, 에이전트는 자신이 잘못된 것을 선택했다는 사실을 인지하지 못한 채 작업을 계속할 수 있습니다. 새로운 시스템에서는 이러한 모호함이 즉시 포착됩니다. 시스템은 프로세스를 중단하고 정확한 문제점과 가용한 후보 목록을 담은 거부 기록을 제시하여, 에이전트가 의도적인 선택을 하도록 강제합니다. 마찬가지로, 에이전트가 값을 비워두고 소프트웨어가 기본값을 채워주기를 기대한다면, 새 시스템은 그 기본값이 어디에서 왔는지 정확히 기록합니다. 이는 값이 에이전트에 의해 작성되었는지, 매크로에 의해 계산되었는지, 아니면 소프트웨어 자체에 의해 제공되었는지에 대한 영구적인 로그를 유지합니다. 이를 통해 건설 과정에서 내려진 모든 결정의 출처, 즉 계보(provenance)를 생성합니다.

이 아이디어를 테스트하기 위해 연구진은 실제 건물 소프트웨어를 실행할 필요 없이 실험을 수행할 수 있는 통제된 환경을 만들었습니다. 그들은 에이전트의 타입 지정 계획을 받아 건물 모델의 스냅샷과 대조하여 검사하는 컴파일러를 구축했습니다. 한 실험에서 그들은 시스템을 망가뜨리기 위해 의도적으로 설계된 오류가 포함된 42개의 서로 다른 프로그램을 입력했습니다. 시스템은 이 결함 있는 프로그램 중 29개를 성공적으로 거부했으며, 무엇이 잘못되었는지 설명하는 상세한 진단 코드를 제공했습니다. 결정적으로, 시스템은 충돌하거나 예외 오류를 던지는 대신, 단순히 멈춰서 문제를 설명했습니다. 수용된 프로그램들의 경우, 시스템은 실제 건물 소프트웨어에서 실행될 방대한 양의 코드를 생성했습니다. 새로운 시스템에서 100줄의 명령어로 설명된 단 하나의 건물 설계가 호스트 소프트웨어용 코드로 번역될 때 거의 400만 자의 문자로 확장되었습니다. 이 거대한 차이는 밑바탕에 깔린 소프트웨어의 복잡성과, 에이전트와 기계 사이에 존재하는 압축적이고 인간이 읽을 수 있는 계획의 가치를 극명하게 보여줍니다.

또한 이 시스템은 건물 프로젝트의 상태에 대한 새로운 사고방식을 도입했습니다. 전통적인 시스템에서 트랜잭션은 성공하거나 실패하거나 둘 중 하나입니다. 이 새로운 시스템에는 '미확인(unconfirmed)'이라는 제3의 상태가 존재합니다. 만약 소프트웨어가 벽을 짓으라는 명령을 보냈는데 응답을 잃었거나 불분명하다면, 시스템은 그것이 작동했는지 추측하지 않습니다. 대신 해당 동작을 '미확인'으로 표시하고, 재시도하기 전에 특정 검증 단계를 요구합니다. 이를 통해 시스템이 존재하지 않을지도 모르는 건물 요소를 존재한다고 가정하는 것을 방지합니다. 연구진은 또한 완성된 건물 모델을 시스템의 언어로 다시 읽어 들이는 '역경로(reverse path)'를 구축했습니다. 이 과정은 모델의 모든 요소가 설명될 수 있는지 확인합니다. 만약 시스템이 이해하거나 표현할 수 없는 건물 조각을 만나면, 단순히 무시하는 것이 아니라 특정 실패 이유를 가진 '아톰(atom)'으로 기록하여, 번역 과정에서 건물의 어떤 부분도 유실되지 않도록 보장합니다.

이 시스템에 대한 평가는 엄격했습니다. 연구진은 수백 개의 층과 수천 개의 기둥이 있는 복잡한 구조물인 60층 타워를 시뮬레이션하여 테스트했습니다. 그들은 시스템이 단 11,000자 이상의 압축된 형식으로 전체 건물 계획을 생성할 수 있으며, 이것이 호스트 소프트웨어에 필요한 코드로 확장된다는 것을 발견했습니다. 또한 여러 에이전트가 동일한 건물을 편집하려고 할 때 발생하는 충돌을 처리하는 능력을 테스트했습니다. 시스템은 '비교 후 교체(compare-and-swap)' 방식을 사용하여, 두 에이전트가 동시에 동일한 부분을 수정하려고 할 때 시스템이 충돌을 감지하고 에이전트들이 이견을 해결할 때까지 병합을 거부하도록 합니다. 이는 여러 사람이 동일한 디지털 파일을 작업할 때 흔히 발생하는 데이터 손상을 방지합니다.

하지만 연구진은 아직 증명하지 못한 부분에 대해서도 신중하게 언급하고 있습니다. 시스템이 오프라인 테스트에서 완벽하게 작동하고 성공적으로 컴파일되는 코드를 생성하기는 하지만, 이 새로운 시스템을 사용하는 에이전트가 코드를 직접 작성하는 에이전트보다 더 잘 짓는지에 대한 통제된 비교 실험은 아직 수행하지 않았습니다. 그 실험은 계획되어 있으나 아직 완료되지 않았습니다. 현재의 결과는 시스템이 견고하며, 간과될 수 있는 오류를 잡아내고, 내려진 모든 결정에 대해 명확하고 조사 가능한 기록을 제공한다는 것을 보여줍니다. 이는 계획의 타당성, 실행의 성공, 그리고 최종 설계의 정확성을 각각 별도로 검증해야 하는 세 가지 별개의 요소로 다룹니다.

이 연구의 의의는 맹목적인 실행 모델에서 근거 기반의 건설 모델로의 전환에 있습니다. 건물을 읽고, 확인하고, 수정할 수 있는 프로그램으로 취급함으로써, 이 시스템은 자율 에이전트에게 자신의 행동에 대해 추론할 수 있는 능력을 부여합니다. 이는 시스템에 '실패의 어휘'를 제공하여, 단순히 실패하는 것이 아니라 "X 때문에 이 작업을 수행할 수 없다"라고 말할 수 있게 합니다. 이러한 접근 방식은 소프트웨어를 더 신뢰할 수 있게 만들 뿐만 아니라, 에이전트를 이용한 건설 과정을 투명하고 책임 있게 만듭니다. 연구진은 적절한 도구가 있다면 에이전트의 의도와 최종 결과 사이의 간극을 명확성과 정밀함으로 메울 수 있다는 것을 보여주었습니다. 이 작업은 컴퓨터가 자신이 무엇을 하고 있는지, 왜 하는지, 그리고 무엇을 달성했는지를 알 수 있는 시스템을 구축함으로써, 지능형 에이전트가 인간과 협력하여 우리 세상의 복잡한 구조물을 설계하고 건설할 수 있는 미래의 토대를 마련하는 시연입니다.

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

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

Digest 사용해 보기 →