설계 의도의 문법
건축가는 무엇으로 설계를 논하는가
건축 해커톤에서 개발한 GIM은 건축 설계의 초기 아이디어 구상을 지원하는 프로토타입이다. GIM에서는 LLM이 프로젝트의 대지와 프로그램, 자연어로 표현된 설계 맥락을 읽고 각 건축가 페르소나의 초기 제안을 구성한다.
GIM은 여러 건축가 페르소나의 제안을 비교하고 수정하기 위한 공통 설계 표현을 사용한다. 그 표현의 단위는 건축가가 초기 아이디어를 서로 설명하는 방식에서 정리했다.
매스 모델이 전달하는 공간 관계
건축가는 초기 설계 단계에서 매스 모델을 매개로 아이디어를 공유한다. 모델의 각 덩어리를 가리키며 공간의 용도와 성격, 위계, 인접 관계, 비워진 영역과 연결 방식을 설명하고 함께 확인·수정한다.
대화에서 공유되는 내용은 각 공간의 특징과 공간 사이의 관계다. 매스 모델과 공간 다이어그램은 이를 각각 입체와 도식으로 드러내 설계 의도를 전달한다.
공간 관계의 그래프 구조
요소의 특징을 정의하고 요소들을 연결하며, 연결의 성격을 기록하는 자료구조가 그래프다. 공간은 노드로, 공간 사이의 연결은 방향과 강도, 배치 이유를 가진 관계로 표현할 수 있다. 매스 모델과 공간 다이어그램을 통해 공유되는 내용은 그래프의 노드와 관계 구조에 대응한다.
이 대응을 바탕으로 GIM에서는 LLM 기반 건축가 페르소나들이 공간 그래프를 작성·수정하며 설계를 논의한다. 사용자는 그래프가 매스와 다이어그램으로 표현된 결과를 확인한다.
스키마의 세 가지 구성 원칙
페르소나의 제안을 같은 기준으로 비교하고 3D 형상으로 해석할 수 있도록 공간 그래프의 스키마를 세 가지 원칙으로 구성했다.
첫째, 노드의 모델링 유형을 Solid, Void, Core, Connector로 구분했다. 이 유형 체계는 서로 다른 제안을 같은 기준에서 비교하고 각 요소에 일관된 모델링 규칙을 적용한다. Connector는 두 공간 사이에 형상으로 생성되는 연결 요소이며, 관계는 노드 사이의 배치 규칙이다.
둘째, 노드의 규모와 위계, 관계의 연결 강도를 상대값으로 기록했다. “더 크게”, “작은 공간”, “강하게 연결”과 같이 초기 설계에서 사용하는 표현을 구체적인 치수가 정해지기 전에도 유지하기 위한 기준이다. 토론 과정에서 페르소나는 이 값을 수정하며 공간 구성을 조정한다.
셋째, 각 노드와 관계에 내러티브와 판단 근거를 기록했다. 공간을 선택한 이유와 설계 태도를 형상 정보에 연결하고, 이후의 설계 설명과 3D 매스 해석, 생성 이미지의 방향에 사용한다.

건축가 포럼
실제 건축가 열세 명의 설계 태도와 어휘를 참고해 각각의 건축가 페르소나를 정의했다. 각 페르소나는 같은 프로젝트 조건을 독립적으로 해석하고, 패널은 제안·상호 비평·수렴의 세 단계를 거치며 공간 구성과 관계를 조정한다.
수렴 단계에서 각 페르소나가 전체 설계안을 제출하면 Graph Builder가 이를 하나의 공간 그래프로 통합한다. 아래 실행 결과는 서로 다른 프로그램과 페르소나 조합에서 만들어진 공간 그래프, 3D 매스와 생성 이미지를 함께 보여준다.






(이하 기술 설명에서 ‘건축가’는 LLM으로 구현한 GIM의 건축가 페르소나를 가리킨다.)
시스템의 작동 구조
공간 그래프가 패널 토론에서 만들어지고 3D 매스로 해석되는 과정을 시스템의 처리 순서에 따라 살펴본다.
1. 건축가의 발화에서 3D 매스까지
GIM은 건축가의 발화를 공간 그래프로 구조화한 뒤, 그래프를 고정된 모델링 규칙으로 해석한다.
Forum Engine은 각 건축가의 판단을 구조화된 응답으로 수집한다. Graph Builder는 수렴된 응답에서 공간과 관계를 통합해 하나의 SpatialMassGraph를 만든다.
Mass Resolver는 그래프의 상대적인 규모와 공간 관계를 실제 치수, 위치와 형상 연산으로 변환한다. 설계 판단은 그래프에 남고, 3D 형상은 그래프를 해석한 결과가 된다.
2. 제안·비평·수렴의 토론 구조
같은 건축가 패널이 세 라운드를 거치며 다양한 초기안을 비교 가능한 최종 설계안으로 발전시킨다.
Proposal에서는 각 건축가가 같은 프로젝트 조건을 독립적으로 해석한다. Cross-Critique에서는 패널 전체의 제안을 공유받아 공간의 과잉과 누락, 모호한 관계와 정량 정보의 부족을 검토한다. Convergence에서는 공통으로 유지할 공간과 관계를 정리한다.
각 라운드의 출력은 수정된 전체 설계안이다. 따라서 토론이 진행될수록 설계 논리와 실제 그래프 후보가 함께 발전한다.
2+. 구조화된 건축가 발화
건축가의 한 번의 발화는 설계 논리와 완전한 그래프 제안을 함께 담는 ArchitectResponse다.
설계 논리에는 에이전트의 입장과 근거, 다른 안에 대한 비평과 수용한 조정점이 들어간다. 설계 제안에는 매스 개념, 구조 전략, 전체 공간 노드와 관계, 프로젝트 서사가 들어간다.
Forum Engine은 설계 논리와 주요 공간 관계를 요약해 다음 라운드에 공유한다. 수렴 단계가 끝나면 Graph Builder는 전체 설계 제안들을 비교해 공통 공간과 관계를 통합하고, 설계 논리는 그 결정의 근거로 보존한다.
예를 들어 “중앙 아트리움이 채광과 공공 동선의 중심이어야 한다”는 판단은 설계 논리에 기록된다. 같은 응답의 설계 제안에는 아트리움 Void와 이를 감싸는 업무 매스의 관계가 포함된다. 하나의 발화 안에서 건축적 주장과 모델링 데이터가 연결된다.
3. 공간 그래프: 설계의 공통 원본
SpatialMassGraph는 형상 생성, 설계 설명과 평가가 함께 참조하는 구조화된 설계 원본이다.
프로젝트 조건은 그래프가 만족해야 할 외부 기준을 제공한다. 노드와 관계는 무엇이 존재하고 어떻게 배치되어야 하는지를 정의한다. Narrative와 Provenance는 그 구성이 어떤 의도와 논의를 통해 결정되었는지 보존한다.
이 구조를 통해 한 번의 그래프 변경이 매스, 설계 설명과 평가에 함께 반영된다. 형상과 설명이 동일한 설계 상태를 참조하므로, 그래프가 토론과 모델링 사이의 공통 원본이 된다.
3+. MassNode와 MassRelation 스키마
공간 그래프의 핵심은 MassNode와 MassRelation이다. 노드는 공간 요소를 정의하고, 관계는 두 공간 사이에서 지켜야 할 규칙을 정의한다.
MassNode의 kind는 요소를 Solid, Void, Core, Connector로 구분한다. geometry에는 기본 primitive와 상대 규모, 층수, 층고, 목표 연면적 같은 정량 정보가 들어간다. 이 정보가 매스의 기준 치수를 결정한다.
variant_space는 비율, 크기, 높이, 거리와 각도를 어느 범위까지 조정할 수 있는지 정의한다. Resolver는 기준 형상을 우선하고, 관계와 프로젝트 조건을 충족하는 데 필요한 값을 이 범위 안에서 결정한다. 같은 그래프와 같은 해석 규칙은 같은 값을 선택한다.
MassRelation의 source와 target은 연결되는 두 노드와 관계의 방향을 나타낸다. rule은 위, 아래, 인접, 포함, 연결과 같은 공간적 의미를 정의하고, inverse_rule은 반대편 노드에서 같은 관계를 읽는 방법을 제공한다.
strength와 weight는 관계의 적용 우선순위를 정한다. constraints는 필요한 이격이나 연결·관통 같은 모델링 효과를 전달한다. rationale과 evidence에는 관계가 선택된 이유와 이를 지지한 건축가가 기록된다.
예를 들어 office_mass를 Solid, atrium_void를 Void로 정의하고 두 노드를 contains 관계로 연결하면, Resolver는 업무 매스가 아트리움을 포함하도록 배치하고 Solid에서 Void 영역을 제거한다. 관계의 근거에는 아트리움이 채광과 공공 동선을 조직한다는 설계 판단이 남는다.
4. 결정론적 매스 변환
Mass Resolver는 노드의 정량 정보로 치수를 계산하고, 관계 규칙으로 위치와 형상 연산을 결정한다.
치수 계산에서는 층수와 층고로 높이를 정하고, 목표 연면적과 층수로 층별 면적을 구한다. 평면 비율은 이 면적을 폭과 깊이로 나누는 기준이 된다. 정량 정보가 부족한 경우에는 노드의 상대 규모와 primitive별 기본값을 사용한다.
배치 단계에서는 이미 배치된 공간을 기준으로 관계를 해석한다. 이후 Connector의 길이와 회전, Void의 제거 연산을 추가하고, 최종 치수와 위치가 그래프의 관계를 만족하는지 확인한다.
ResolvedMassModel에는 각 매스의 primitive, dimensions, transform, 외피 정보와 Boolean 연산이 들어간다. 관계별로 적용한 전략과 충족 여부도 함께 기록된다.
같은 SpatialMassGraph + 같은 해석 규칙 = 같은 ResolvedMassModel
4+. 관계 규칙의 기하 해석
관계 해석기는 공간을 설명하는 언어를 좌표, 치수와 형상 연산으로 번역한다.
Resolver는 먼저 명시된 배치 기준을 찾고, 없으면 강도와 가중치가 높은 관계를 우선한다. 현재 배치할 노드가 관계의 반대편에 있다면 inverse_rule을 사용해 방향을 바꿔 읽는다.
수직 관계는 두 매스의 높이와 간격으로 Y 위치를 계산한다. 인접 관계는 폭과 이격값으로 평면 거리를 정하고, 포함 관계는 두 매스의 중심과 외곽 치수를 함께 조정한다. Connector는 연결된 두 공간의 중점, 거리와 방향으로 길이와 회전이 결정된다.
예를 들어 Podium contains Atrium Void라는 관계가 있다면 Atrium은 Podium 내부에 배치되고, Podium은 Atrium을 포함할 수 있는 치수를 확보한다. Atrium이 Void이므로 Podium에는 해당 영역을 제거하는 연산이 추가된다. 마지막으로 두 공간의 실제 치수와 위치를 비교해 포함 관계의 충족 여부를 기록한다.
현재 구현과 평가 범위
열세 건축가 페르소나의 설계 태도와 어휘는 YAML로 정의했다. Forum Engine은 OpenAI Responses API의 gpt-4.1을 사용해 제안·상호 비평·수렴 라운드를 실행한다.
해석된 매스는 Three.js에서 확인하고, 변형안은 스냅숏으로 비교하며, OBJ와 STL로 내보낼 수 있다. 확정한 매스를 gpt-image-1.5로 시각화할 때는 Geometry Lock 프롬프트로 형상 보존을 지시한다.
정량 평가는 매스에서 산정한 건축면적과 연면적을 바탕으로 초기 건폐율과 용적률, 필수 프로그램의 면적 충족 여부를 확인한다. 설계 아이디어의 건축적 가치는 사용자가 판단한다. 현재는 건축학과 학생들에게 제한적으로 배포해 사용자 반응을 살피고 있다.
GIM은 공간의 특징과 관계, 판단 근거를 하나의 그래프에 기록해 초기 설계 아이디어를 검토·수정 가능한 상태로 보존한다.