글 목록

AI 에이전트 시대, 설계 도구는 왜 더 중요해질까?

AI 개발의 최근 흐름과 함께, AST 기반으로 개발 자원의 관계를 즉시 파악하고 요구사항 추적성으로 의미를 이해하는 ERWeb의 핵심을 살펴봅니다.

AI와 함께 개발하는 방식이 빠르게 달라지고 있습니다.

함수 하나를 작성하거나 오류의 원인을 묻는 일에서 출발해, 이제는 AI에게 기능 구현을 맡기고 여러 파일과 작업을 연결해 수행하도록 하는 도구들이 등장하고 있습니다. 여러 AI 에이전트가 계획과 구현, 검토를 나누어 맡는 개발 방식도 구체화되고 있습니다.

Kiro는 요구사항과 설계, 작업 목록을 정리하는 명세 기반 개발 흐름을 제공하고 있으며, 최근에는 여러 에이전트의 작업을 순서와 반복, 병렬 실행으로 구성하는 워크플로를 발표했습니다. Kiro의 명세 기반 개발, Kiro workflows 소개

OpenAI 역시 에이전트가 맥락을 유지하고 도구를 사용하며 작업을 이어 가는 실행 기반을 기존 제품과 업무 흐름에 통합하는 방향을 설명하고 있습니다. OpenAI의 에이전트 플랫폼 소개

이러한 변화 속에서 중요한 질문이 생깁니다.

AI가 프로젝트의 일부를 수정할 때, 무엇이 연결되어 있는지와 왜 그렇게 만들어졌는지를 어떻게 파악할 수 있을까요?

개발 프로젝트에는 다양한 자원이 존재합니다. 코드와 화면, 이미지와 데이터, API와 쿼리, 그리고 이들을 만들게 된 요구사항이 있습니다. 하나의 기능은 이러한 자원들이 연결되어 동작합니다.

따라서 부분적인 수정에서도 연결된 자원과 의존 관계를 파악해야 합니다. 수정하려는 부분이 전체 안에서 어떤 역할을 하는지, 어떤 조건과 관계를 유지해야 하는지 이해할 수 있어야 합니다.

ERWeb에서 중요하게 다루는 핵심 중 하나는 모든 개발 자원의 관계를 AST를 기반으로, 컴파일러 수준에서 즉시 파악할 수 있다는 점입니다.

AST는 추상 구문 트리라는 뜻으로, 컴파일러가 프로그램의 구조를 분석할 때 사용하는 표현입니다. ERWeb은 AST 기반 분석을 바탕으로 개발 자원의 참조와 연결 관계를 파악합니다. 코드뿐 아니라 이미지와 데이터 등 개발에 필요한 자원들이 어디에서 사용되고 무엇과 연결되는지를 함께 다룹니다.

이 관계를 즉시 확인할 수 있으면, 작은 수정에서도 필요한 맥락을 찾아갈 수 있습니다.

개발자는 수정하려는 자원에서 출발해 연결된 자원과 사용 지점을 살펴볼 수 있습니다. AI 역시 해당 관계를 따라가며 작업에 필요한 정보를 참조할 수 있습니다. 프로젝트의 일부를 다루면서도 그 부분이 전체 안에서 어떤 역할을 하는지 이해할 기반이 생깁니다.

부분을 수정할 때 필요한 전체의 맥락을, 자원 사이의 연결을 통해 찾아가는 것입니다.

ERWeb의 또 다른 중요한 핵심은 요구사항의 추적성입니다.

자원의 관계를 파악하면 무엇이 연결되어 있는지 알 수 있습니다. 요구사항을 추적하면 그 연결이 어떤 목적과 조건을 위해 만들어졌는지 이해할 수 있습니다.

요구사항에는 기능의 목적과 업무 규칙, 동작 조건과 기대하는 결과가 담깁니다. 설계와 구현은 이러한 내용을 구체화한 결과입니다. 이 관계를 유지하면 개발 자원의 구조와 함께 그 구조가 만들어진 이유도 살펴볼 수 있습니다.

ERWeb은 사람이 이해하기 쉬운 구조로 요구사항과 개발 자원의 관계를 표현하고, 그 관계를 따라갈 수 있도록 합니다. 사람은 설계와 구현에서 연결된 요구사항을 확인하고, 요구사항에서 출발해 관련 자원을 살펴볼 수 있습니다.

이 구조는 LLM이 의미를 파악하는 데에도 중요한 기반이 됩니다.

LLM은 연결된 요구사항을 추적하면서 해당 기능이 존재하는 이유와 지켜야 할 조건을 함께 읽을 수 있습니다. 자원 사이의 관계에 업무적인 의미가 더해지므로, 수정하려는 부분의 역할을 더 정교하게 해석할 수 있습니다.

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

여러 AI 에이전트가 함께 개발하는 환경에서도 이러한 기반은 중요합니다.

작업을 나누어 수행하는 AI들은 같은 요구사항과 자원의 의미를 공유해야 합니다. 새로운 세션에서 작업을 이어 가는 AI도 프로젝트에 남아 있는 관계와 요구사항을 따라 필요한 맥락을 파악할 수 있어야 합니다.

사람에게 이해하기 쉬운 구조와 LLM이 추적할 수 있는 구조를 함께 갖추는 일은, 사람과 AI의 협업을 이어 가는 기반이 됩니다.

Unibase도 이 방향과 연결되어 있습니다.

ERWeb에서 개발 자원과 요구사항의 관계를 관리하고, Unibase에서는 필요한 로직을 표현해 지원되는 언어와 플랫폼의 코드로 변환합니다. Unibase 엔진은 작성된 소스의 문법과 의미를 분석하고 대상별 생성 규칙을 적용하며, 이 코드 변환 과정은 LLM 없이 수행합니다.

이렇게 관리하는 관계와 작성한 의도는 프로젝트가 발전하는 과정에서도 이어져야 합니다. 사용 중인 AI 도구가 바뀌거나 기술 환경이 달라져도, 어떤 문제를 해결하려 했는지와 각 자원이 어떤 역할을 하는지 다시 확인할 수 있어야 합니다.

저는 AI가 더 많은 개발을 맡게 될수록 이러한 기반의 가치가 커질 것이라고 생각합니다.

개발 자원의 관계를 즉시 파악하고, 부분적인 수정에 필요한 맥락을 찾아가며, 요구사항의 추적성을 통해 그 의미를 이해하는 것.

ERWeb은 사람이 프로젝트를 이해하는 구조와 AI가 작업에 활용하는 구조를 함께 연결해 나가고 있습니다.

댓글

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

GitHub에서 댓글 보기 (새 창)