사람함께에이전트▾
사람 — 직접 정하고 책임지는 비즈니스 규칙과 흐름. 직접 읽어보세요.
함께 — 개념은 알아두고, 세부 규칙은 에이전트가 따릅니다.
에이전트 — 에이전트가 따르는 규칙과 레퍼런스. 필요할 때 찾아보세요.
아키텍처 개요
고객이 주문 하나를 넣기까지, 왜 frontend 저장소와 backend 저장소와 모바일 프로젝트와 인프라 차트가 따로 필요할까요? Akan은 그 대신 동작에서 출발합니다. 고객이 화면을 보고, 액션을 수행하면, 비즈니스 규칙이 무엇이 일어나야 하는지 결정하고, 데이터가 바뀌며, 다른 클라이언트에 알림이 갈 수 있고, 같은 앱이 web, mobile, cloud, edge로 패키징됩니다.
이 페이지는 지도이지 영토가 아닙니다. 아래의 각 영역은 서로 다른 종류의 결정을 담당하고, 그 결정들이 제자리에 있는 한 제품 구조는 읽히는 상태로 남습니다. 모든 영역에 공통으로 적용되는 규칙은 세 가지입니다:
동작이 먼저
비즈니스 동작을 먼저 작성하고, API와 상태 연결 코드는 생성된 helper로 줄입니다.
하나의 service, 여러 클라이언트
SSR web, CSR web, admin, partner, mobile 같은 모든 클라이언트 표면이 하나의 비즈니스 service 계층을 공유합니다.
배포는 나중에
배포 형태는 제품 요구가 생긴 뒤에 고릅니다. local에서 시작하고, 이후 cloud, edge, hybrid로 넓힙니다.
하나의 앱, 여러 표면
Akan은 화면이 하나뿐인 제품보다 표면이 여럿인 제품을 위해 설계되었습니다. 스토어 고객 페이지, 관리자 콘솔, 파트너 클라이언트, 모바일 앱, 엣지 장비 워크플로우는 서로 다른 인터페이스를 보여주면서 같은 규칙과 같은 데이터를 공유합니다.



핵심은 모든 클라이언트를 똑같이 보이게 만드는 것이 아닙니다. 서로 다른 클라이언트가 각 사용자군에 맞는 워크플로우를 보여주면서도 같은 비즈니스 진실을 재사용하게 만드는 것입니다.
주요 런타임 대화
거의 모든 Akan 기능은 인터페이스와 비즈니스 service 사이의 대화 하나입니다. 인터페이스는 유용한 콘텐츠를 보여주고 의도를 수집하며, 비즈니스 service는 안전한 요청을 받아 규칙을 판단하고 데이터를 바꾸며, 필요하면 백그라운드나 실시간 후속 작업을 일으킵니다.
요청 하나의 전 구간
사용자
화면페이지와 clientcomponent
Helpersfetch · st · Model· usePage
signal
service
document
SSR 첫 화면을 읽고,
입력·클릭·필터
의도
fetch.endpoint(args)
검증을 통과한 작업만
조회와 쓰기
문서
결과
타입이 붙은 응답
st 상태
재렌더
endpoint · slice · internal — guard와 경계가 여기서 실행됩니다
규칙 · 외부 API · DI · 백그라운드 · realtime
schema · query · sort · 메서드 · static
사용자
화면페이지와 clientcomponent
Helpersfetch · st · Model· usePage
signal
service
document
사용자 → 화면SSR 첫 화면을 읽고,입력·클릭·필터
화면 → Helpers의도
Helpers → signalfetch.endpoint(args)
signal → service검증을 통과한 작업만
endpoint · slice · internal — guard와 경계가 여기서 실행됩니다
service → document조회와 쓰기
규칙 · 외부 API · DI · 백그라운드 · realtime
document → service문서
schema · query · sort · 메서드 · static
service → signal결과
signal → Helpers타입이 붙은 응답
Helpers → 화면st 상태
화면 → 사용자재렌더
첫 화면을 빠르게 띄우는 것은 SSR이고, 입력·클릭·필터·채팅·지도·카메라·로컬 상태는 client component가 이어받습니다. st는 응답이 도착할 클라이언트 상태를 들고, Model namespace는 모델 사용을 타입으로 묶으며, usePage는 서버와 클라이언트 양쪽에서 i18n을 해결합니다. 이 대화가 실제로 어디서 실행되는지 — 프로세스 하나인지, cloud cluster인지, edge 노드인지, mobile package인지 — 는 runtime과 infra의 결정이지 위 코드의 변경이 아닙니다.
아키텍처 영역
세부 아키텍처 문서는 각 영역을 더 깊게 설명합니다. 이 overview는 지도를 작게 유지합니다. 각 영역은 서로 다른 종류의 결정을 담당하고, 그 결정들이 올바른 위치에 있을 때 제품 구조가 명확해집니다.
UI 아키텍처→
첫 화면을 설계하고 무엇을 클라이언트에서 돌릴지 정합니다.
UI 구성→
목록, 상세 화면, 생성·수정 폼을 만듭니다.
비즈니스 서비스→
서버 규칙, API, 큐, cron, 실시간 작업을 씁니다.
런타임과 인프라→
local, cloud, edge, 데이터베이스, 배포 형태를 고릅니다.
네이티브 앱 아키텍처→
CSR 클라이언트를 iOS·Android·데스크톱 앱으로 패키징합니다.
CSS와 스타일링→
테마 토큰, 폰트, 일관된 컴포넌트 스타일을 정합니다.
UI 레시피 레이어→
같은 카드·버튼 모양을 매번 다시 만들지 않습니다.
인페이지 에이전트→
AI 에이전트가 화면을 읽고 조작하게 합니다.
무언가를 만들기 전에 모든 아키텍처 문서를 먼저 읽을 필요는 없습니다. 지금 마주한 결정에서 시작해, 그 결정을 담당하는 페이지로 가면 됩니다.