글 목록

작은 AI로 큰 앱을 만들기 위해, ERWeb은 무엇을 통합하는가?

ERWeb의 시각 모델·AI 협업·Unibase 변환·미리보기 통합이 제작 부담을 줄이는 방향과 작은 LLM의 작업 맥락, 문서화 프로그래밍과의 연결을 살펴봅니다.

이 글의 내용 5개 항목

AI가 코드를 작성하는 속도는 빨라졌습니다. 하지만 앱의 규모가 커질수록 개발에는 더 많은 맥락이 필요합니다. 화면에서 사용하는 데이터, API의 입력과 응답, 업무 규칙, 저장 구조, 테스트가 서로 연결되어 있기 때문입니다. 작은 부분을 수정할 때도 그 연결을 이해해야 합니다.

저는 ERWeb을 만들면서 프로젝트의 지식을 어디에 보존하고, 사람과 AI에게 어떤 형태로 제공할 것인지 고민하고 있습니다. 요구사항과 설계, 구현의 관계를 개발 환경이 유지한다면, AI는 그 구조를 따라 작업에 필요한 맥락을 찾아갈 수 있습니다. 이것이 작은 AI로도 큰 앱을 만들 수 있는 기반을 마련하려는 출발점입니다.

여러 제작 과정을 같은 프로젝트 안으로

소프트웨어 제작에는 다양한 도구가 필요합니다. 기획자는 요구사항을 정리하고, 디자이너는 화면과 사용자 흐름을 설계하며, 개발자는 데이터와 API, 처리 로직을 구현합니다. 각 단계에서 만든 결과를 연결하고, 변경 사항이 다른 결과물에도 반영됐는지 확인하는 일도 필요합니다.

ERWeb은 요구사항, ERD, Wireframe, API, 데이터, 구현과 테스트를 하나의 프로젝트 안에서 다루는 통합 제작 환경입니다. 시각적으로 설계한 내용을 AI와 함께 구체화하고, Unibase 소스를 대상 언어로 변환하며, 앱 미리보기와 검증까지 이어지는 흐름을 개발하고 있습니다.

이 통합의 가치는 작업 사이에서 생기는 부담을 줄이는 데 있습니다. 데이터 구조를 바꾸면 관련 화면과 API를 살펴보고, 요구사항을 수정하면 영향을 받는 설계와 테스트를 찾아갈 수 있어야 합니다. 같은 대상을 서로 다른 도구에 반복해서 정의하거나 자료를 옮기는 작업도 줄일 수 있습니다.

기능이 많아질 때 사용성이 어떻게 달라지는지는 그 기능들이 연결되는 방식에 달려 있습니다. ERD와 화면 설계, API 설계가 공통된 프로젝트 구조와 조작 방식을 공유한다면, 사용자는 익숙한 환경에서 다음 작업으로 이동할 수 있습니다. 여러 도구를 각각 배우고 연결하는 부담을 줄이는 통합은 접근성을 높이는 방법이 될 수 있습니다.

기획자와 디자이너가 시각적으로 표현한 의도를 개발자가 이어받고, AI도 같은 모델을 참조하는 환경. ERWeb이 지향하는 사용자 경험은 여기에 있습니다.

프로젝트의 지식과 AI의 작업 맥락

큰 앱에는 많은 지식이 쌓입니다. 기능이 존재하는 이유, 데이터의 의미, 인터페이스의 계약, 자원 사이의 의존 관계가 모두 개발에 필요한 정보입니다.

ERWeb에서는 이러한 정보를 요구사항과 모델, 자원 사이의 관계로 보존합니다. AST, 즉 프로그램의 구조를 표현하는 추상 구문 트리를 기반으로 참조 관계를 분석하고, 요구사항 연결을 통해 그 구조가 어떤 목적과 조건을 위해 만들어졌는지 확인하는 방향입니다.

자원의 관계는 작업에 필요한 맥락을 찾아주고, 요구사항은 그 맥락을 해석할 근거를 제공합니다.

작은 LLM을 활용하려는 구상에서도 이 구분이 중요합니다. 프로젝트 전체 구조는 개발 환경에 남겨 두고, AI에는 현재 작업과 관련된 요구사항, 인터페이스, 데이터 구조와 수정 대상을 제공합니다. 추가 정보가 필요하면 연결된 자원을 따라 조회하도록 합니다.

Unibase의 공통 언어 구조에 여러 모델링을 통합하려는 이유도 여기에 있습니다. 모델마다 따로 표현된 정보를 함께 해석할 수 있는 구조로 만들고, 자원의 정체성과 의존 관계, 계약을 유지하면서 AI가 매번 다뤄야 할 문맥과 작성 부담을 줄이려는 것입니다.

물론 작업의 영향이 넓으면 더 많은 맥락이 필요합니다. 중요한 것은 필요한 정보를 선택할 때 그 선택의 근거가 프로젝트에 남아 있다는 점입니다. 어떤 AI가 작업하든, 새로운 세션에서 개발을 이어 가든 같은 관계와 요구사항을 다시 확인할 수 있어야 합니다.

AI와 언어 엔진이 함께 맡는 일

이 흐름에서 AI는 요구사항을 해석하고 모델과 로직의 변경을 작성하는 역할을 맡습니다. 사람은 업무 정책과 설계 판단을 검토하고, 변경된 결과가 의도에 맞는지 확인합니다.

Unibase는 작성된 소스의 문법과 의미를 분석하고, 지원 범위에서 타입과 참조 관계 등을 검사합니다. 대상 언어로의 코드 변환은 엔진의 생성 규칙에 따라 수행하며, 이 변환 과정에는 LLM 호출이 필요하지 않습니다.

ERWeb은 이 작업들이 같은 프로젝트의 모델과 관계를 기준으로 이어지도록 하는 환경입니다. Codex나 Claude 같은 AI 에이전트는 MCP를 통해 지원되는 모델과 도구를 활용하는 협업 요소가 됩니다. 시각적 설계와 AI의 작업이 같은 개발 자원을 다루게 하는 것입니다.

생성된 결과는 미리보기와 실제 테스트로 확인합니다. 언어와 모델의 검사는 구조적인 문제를 찾는 데 도움을 주고, 실행 검증은 사용자가 기대한 동작이 나오는지 확인합니다. 발견한 문제를 관련 요구사항과 자원에 연결해 다시 수정하는 흐름까지 이어져야 합니다.

작은 AI의 작업을 명확한 범위로 구성하고, 언어 엔진과 검증 도구가 각자의 역할을 맡는 것. 이를 통해 더 큰 프로젝트를 다룰 수 있는 제작 기반을 만들고자 합니다.

문서화 프로그래밍과 이어지는 철학

이 방향은 오래전 도널드 크누스가 제안한 문서화 프로그래밍, Literate Programming과도 접점이 있습니다.

문서화 프로그래밍에서는 사람이 이해하기 좋은 순서로 설명과 코드 조각을 함께 작성합니다. 같은 원본에서 사람이 읽는 문서와 컴파일할 소스를 만들어 냅니다. 프로그램의 의도와 구현을 함께 전달하려는 접근입니다. 크누스의 설명, CWEB의 문서·코드 생성 방식

저는 이 철학을 ERWeb의 방향과 연결해 볼 수 있다고 생각합니다. 설명과 코드의 연결을 요구사항, 시각 모델, 데이터, API, 구현과 검증 사이의 관계로 확장하는 것입니다.

문서화 프로그래밍에서 독자가 설명을 읽으며 코드의 논리를 따라갔다면, ERWeb에서는 요구사항에서 관련 화면과 로직을 찾아가고, 구현에서 다시 그 목적과 검증 기준을 확인하는 흐름을 만들고자 합니다. 사람이 읽는 설명과 도구가 분석하는 구조가 함께 프로그램을 이해하는 기반이 됩니다.

설계 이유를 서술하는 일도 계속 중요합니다. 관계를 통해 무엇이 연결되어 있는지 확인하고, 설명을 통해 그 선택의 이유를 이해할 수 있어야 합니다. AI 역시 두 정보를 함께 활용할 때 변경의 의미를 더 정확하게 해석할 수 있습니다.

이 관점에서 ERWeb은 사람이 이해할 수 있는 프로그램을 만들려는 철학을 시각적 설계, AI 협업, 코드 변환과 실행 검증으로 확장하려는 시도입니다.

작은 AI로 큰 앱을 만드는 목표를 확인하기 위해

작은 LLM이 이러한 환경에서 어느 규모의 앱까지 만들 수 있는지는 실제 실험으로 확인해야 합니다. 필요한 문맥이 얼마나 줄어드는지, 변경이 올바르게 반영되는지, 실패를 수정하는 데 어떤 보조가 필요한지 함께 측정할 계획입니다.

기존 로컬 Ollama 실험에서는 ERWeb MCP를 통해 쇼핑몰 화면 모델을 작성하고 반복 수정한 뒤, 정적 UI를 실제 브라우저에서 확인했습니다. 이 과정에는 Codex의 상세한 지시와 실행 제어, 검증 보조, 외부 이미지 제작이 포함되었습니다. 업무 로직과 데이터 저장, 주문·결제까지 갖춘 대형 앱의 자율 제작이나 비용 우위를 입증한 단계까지는 나아가지 않았습니다.

이 실험은 모델 작성, 도구의 검사와 변환, 실행 결과의 피드백이 어떻게 이어지는지 살펴본 출발점입니다. 앞으로는 실행 가능한 업무 로직과 데이터 처리까지 범위를 넓히고, 사람과 다른 AI의 개입, 실패와 재시도, 시간과 비용을 함께 기록해야 합니다.

제가 ERWeb과 Unibase로 만들고 싶은 환경에서는 기획자와 디자이너, 개발자와 AI가 같은 프로젝트를 서로의 관점에서 이해할 수 있습니다. 사람은 목적과 설계를 판단하고, AI는 필요한 맥락을 따라 작업하며, 언어 엔진은 구조를 분석하고 코드를 변환합니다. 그리고 실제 실행 결과가 다음 판단의 근거로 남습니다.

ERWeb이 통합하려는 것은 이러한 작업 사이의 연결입니다. 그 연결을 유지하면서 작은 AI도 더 큰 프로젝트에 참여할 수 있는 기반을 만들어 가고 있습니다.

댓글

GitHub 계정으로 의견과 질문을 남겨 주세요. 댓글은 공개됩니다.

GitHub에서 댓글 보기 (새 창)