FullAgenticStack이란 무엇인가?
요약
FullAgenticStack은 프론트엔드, 백엔드, 데이터 계층 전반에 에이전트가 통합된 진화된 아키텍처를 의미합니다. 단순한 AI-first를 넘어, 결정론적 규칙과 AI의 확률적 능력을 결합한 agentic-first 비전을 제시합니다.
핵심 포인트
- FullAgenticStack은 애플리케이션의 모든 계층을 관통하는 에이전트 중심 스택임
- 인증, 라우팅 등 핵심 운영은 예측 가능한 결정론적 방식으로 설계해야 함
- AI는 자연어 처리 및 인지적 지원 등 가치가 높은 영역에만 제한적으로 투입
- 단일 언어(TypeScript)를 넘어 각 역할에 최적화된 다중 언어 아키텍처 지향
아키텍처의 진화
2025년에 Full Agentic Stack에 관한 첫 번째 글을 썼을 때, 제 시스템은 훨씬 더 단순했습니다.
당시 저는 사실상 TypeScript 기반의 아키텍처로 작업하고 있었습니다. 핵심 아이디어는 이미 존재했습니다: 프론트엔드(frontend), 백엔드(backend), 그리고 데이터 계층(data layer)에서 에이전트(agents)를 사용하는 것이었습니다. 이러한 인식에서 용어가 탄생했습니다. 만약 Full Stack이 애플리케이션의 세 가지 주요 계층에서 작업하는 것이라면, 에이전트가 이 계층들을 관통하는 스택은 다른 이름이 필요했습니다: FullAgenticStack.
하지만 그 이후로 아키텍처는 크게 진화했습니다.
처음에는 AI가 자연스럽게 운영의 핵심을 차지하는 것처럼 보였습니다. 그 단계에서는 그것이 타당했습니다. 시스템이 더 작고, 더 직접적이며, AI-first 비전에 더 가까웠기 때문입니다. AI는 흐름의 중요한 부분을 해석하고, 결정하고, 생성하고, 조정하는 주요 엔진으로 사용되었습니다.
아키텍처가 성장함에 따라, 이러한 비전은 성숙해질 필요가 있었습니다.
오늘날 제 아키텍처의 운영 핵심은 반드시 AI에 의존할 필요가 없습니다.
이것은 중요한 전환점이었습니다.
스택이 성장함에 따라, 많은 책임(responsibilities)이 확률적(probabilistic)이어서는 안 된다는 점이 분명해졌습니다. 인증(Authentication), 라우팅(routing), 권한(permissions), 계약 검증(validation of contracts), 이벤트 소싱(event sourcing), 메시징(messaging), 멱등성(idempotency), 감사(auditing), 재시도(retry), 캐시(cache), 스냅샷(snapshot), 일관성 검사(consistency check), 정책 집행(policy enforcement), 그리고 워크플로우 실행(execution of workflows)은 예측 가능하고, 감사 가능하며, 검증 가능해야 합니다.
그렇기 때문에 아키텍처는 단순한 AI-first 비전에서 agentic-first 비전으로 진화했습니다.
이 비전에서 중심은 LLM이 아닙니다.
중심은 아키텍처 단위로서의 에이전트(agent)입니다.
에이전트는 AI를 사용할 수도 있지만, 반드시 사용할 필요는 없습니다. 에이전트는 규칙(rules), 이벤트(events), 계약(contracts), 정책(policies), 스키마(schemas), 상태 머신(state machines), 그리고 명시적 기능(capabilities)을 기반으로 결정론적(deterministic)일 수 있습니다. AI는 자연어(natural language), 모호성(ambiguity), 응답 생성(generation of response), 의미론적 분석(semantic analysis), 분류(classification), 그리고 인지적 지원(cognitive support)과 같이 실제로 가치를 더하는 곳에만 투입됩니다.
이러한 변화는 또 다른 진화와 함께 진행되었습니다: 스택(stack)이 더 이상 TypeScript에만 국한되지 않게 된 것입니다.
프로젝트의 발전과 VibeCoding SotA-Driven Development의 활용에 따라, 저는 아키텍처 내에서 각 언어가 수행하는 기술적 역할에 맞춰 여러 언어를 더욱 의도적으로 사용하기 시작했습니다.
TypeScript는 프론트엔드(frontend), SDK, 도구(tools), 자동화(automation) 및 통합(integration)을 위해 여전히 중요합니다. 하지만 TypeScript가 모든 것을 혼자 짊어질 필요는 없습니다.
아키텍처는 특정 책임을 가진 언어들을 위한 공간을 열어주기 시작했습니다: 시스템, 보안(security), 동시성(concurrency), 효과(effects), 형식 검증(formal validation), 에이전트(agents), 런타임(runtime), 메시징(messaging), 게이트웨이(gateway), 암호화(cryptography) 및 인프라(infrastructure)를 위한 더 강력한 언어들 말입니다.
이러한 변화는 기술적 미학 때문에 일어난 것이 아닙니다. 아키텍처가 성장했기 때문에 일어난 것입니다.
시스템이 단순했을 때는 하나의 주력 언어만으로 충분했습니다.
하지만 시스템이 에이전트(agents), 보안(security), 워크플로우(workflows), 메시징(messaging), 데이터(data), 증명(proofs), 런타임(runtime), 관측성(observability) 및 분산 운영(distributed operation)을 포함하게 되면서, 계층(layers)과 기술적 속성(technical properties)에 따라 책임을 분리하는 것이 더 자연스러워졌습니다.
VibeCoding SotA-Driven Development는 바로 이 점을 가능하게 했습니다: 최첨단 기술(state of the art)을 실질적인 개발 방향으로 사용하여, 단일 스택에 갇히지 않고 실험, 비교, 프로토타이핑 및 다중 언어 구현을 가속화하는 것입니다.
따라서 FullAgenticStack의 진화는 다음과 같이 요약될 수 있습니다:
첫 번째 단계:
TypeScript-first
AI-first
...
이러한 진화는 첫 번째 아티클을 부정하는 것이 아닙니다.
오히려 이 개념의 자연스러운 경로를 보여줍니다.
첫 번째 아티클이 에이전트(agents)가 프론트엔드(frontend), 백엔드(backend), 데이터를 관통하는 아이디어의 탄생을 기록했다면,
현재 단계는 아키텍처를 더 명확하게 정의합니다: 결정론적 코어(deterministic core), 보안(security), 감사(auditing), 관측성(observability), 워크플로우(workflows) 및 선택적 AI 사용을 갖춘 다중 계층의 에이전트(agents)를 의미합니다.
FullAgenticStack은 제가 풀스택(Full Stack) 애플리케이션의 각 계층에서 에이전트(agents)를 사용하고 있다는 것을 깨달았을 때 탄생했습니다.
하지만 에이전트(agents)가 반드시 LLM일 필요는 없다는 것을 깨달았을 때 비로소 성숙해졌습니다.
그리고 진지한 에이전트 아키텍처 (agentic architecture)는 무엇이 지능적이어야 하는지, 무엇이 결정론적 (deterministic)이어야 하는지, 그리고 무엇이 형식적으로 제어 (formally controlled)되어야 하는지를 분리할 필요가 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기