← 전체 글
AI와 에이전트 개발자 CRM 게시됨 · · 작성자 ObjectStack Team

업무 앱은 몇 토큰일까? 완전한 CRM 전체가 150k 미만

완전한 CRM은 150k 토큰 미만의 타입 메타데이터로 구성됩니다. 비즈니스 로직은 100k 미만, UI는 약 50k이며, 번들 레퍼런스 CRM은 여전히 약 16k입니다.

업무 앱은 몇 토큰일까? 완전한 CRM 전체가 150k 미만
  • AI 에이전트

요약: 완전한 CRM은 150,000 토큰 미만의 타입 메타데이터로 구성할 수 있습니다. 모든 객체·워크플로·액션·권한을 담은 비즈니스 로직은 100,000 미만, 선언형 UI는 약 50,000을 더합니다. 번들 app-crm 레퍼런스는 더 작아서 31개 파일, 1,792줄, 약 16,000 토큰입니다. 이 16k는 레퍼런스 샘플의 수치이지 제품 수준의 완전한 CRM 상한이 아닙니다. 둘 다 200k 컨텍스트 윈도우에 들어갑니다. 이것이 컨텍스트 크기의 소프트웨어(context-sized software)입니다. AI 에이전트는 앱 전체를 담고 추론하고 리팩터링하며, 사람은 diff를 리뷰합니다.

직접 세어 보세요

16k는 완전한 제품의 벤치마크가 아닙니다. 오픈소스 ObjectStack 프레임워크에 동봉된 CRM 레퍼런스를 재현 가능한 방법으로 센 값입니다:

git clone https://github.com/objectstack-ai/objectstack
find objectstack/examples/app-crm/src -name '*.ts' -not -name '*.test.ts' \
  | xargs cat | wc -l
# → 31개 파일, 1,792줄 ≈ 16k 토큰 (토큰당 약 4자 기준)
시스템파일줄 수≈ 토큰200k 컨텍스트에 들어가나?
CRM 예제 (app-crm) — 객체, 뷰, 대시보드, 플로, 권한, 번역311,792~16k예 — 12배 여유
HotCRM — 완전한 마켓플레이스 CRM: 15개 객체, 17개 플로, 4개 대시보드, 2개 AI 코파일럿, 4개 언어132~18,000합계 150k 미만 (비즈니스 로직 100k 미만 + UI 약 50k)예 — 50k 넘는 여유
전통적인 수작업 CRM 코드베이스수천30만–100만+수백만아니요 — 어림도 없음

같은 제품 카테고리의 유용한 두 척도입니다. 약 16k인 레퍼런스 샘플과 150k 미만인 완전한 CRM입니다. 둘 다 컨텍스트 크기이며, 전통적인 코드베이스는 그렇지 않습니다.

왜 토큰이 올바른 단위가 되었나

50년 동안 우리는 소프트웨어를 코드 줄 수로 쟀습니다. 구속 조건이 인간 독자였기 때문입니다. 독자가 바뀌었습니다. AI 에이전트가 시스템을 안전하게 바꾸려면 먼저 시스템을 읽어들여야 하고, 이것이 모든 코드베이스를 두 가지 상태로 가릅니다:

  • 시스템 > 컨텍스트. 에이전트는 grep하고, 표본을 뽑고, 추측합니다. 수정은 국소적인데 실수는 전역적입니다. 모든 변경이 열쇠 구멍 너머로 하는 고고학이 됩니다.
  • 시스템 ≤ 컨텍스트. 에이전트는 모든 것 — 모든 객체, 모든 권한 규칙, 모든 의존성 — 을 한 번에 읽습니다. *“이걸 바꾸면 뭐가 깨질까?”*가 희망 사항이 아니라 답할 수 있는 질문이 됩니다. 데이터 모델, 권한, API, UI를 가로지르는 개념 하나를 통일해서 바꾸는 일도 하나의 일관된 diff입니다.

이건 점진적 개선이 아니라 상태 전환입니다. 그리고 경계선은 당신의 컨텍스트 윈도우가 있는 곳에 그어집니다.

비즈니스 로직이 100k 토큰 미만에 머무는 이유

압축 트릭이 아니라 삭제 덕분입니다. 엔터프라이즈 애플리케이션은 두 가지가 뒤엉킨 것입니다:

  • 결정. 어떤 객체가 존재하는지, 어떻게 연결되는지, 누가 어떤 필드를 볼 수 있는지, 리드가 전환되면 무슨 일이 일어나는지. 이것이 당신의 비즈니스 온톨로지이며, 진정으로 환원 불가능합니다 — 당신 말고는 아무도 결정할 수 없습니다.
  • 배관. 테이블, CRUD 엔드포인트, 목록·상세 화면, 권한 미들웨어, 감사 기록. 이것은 지금껏 작성된 모든 업무 앱에서 사실상 동일하고 — 즉 유도 가능합니다.

ObjectStack의 베팅은 산출물에 결정만 남기고 배관은 전부 런타임이 유도하게 하는 것입니다. 번들 레퍼런스 CRM에서는 그 1,792줄이 바로 결정 목록 — 타입이 있고 Zod로 검증되는 메타데이터입니다. 데이터베이스 스키마, REST API, 렌더링된 UI, MCP 도구는 부팅 때마다 거기서 계산됩니다. 유도 가능한 것은 저장되지 않으므로 표류하지 않습니다. 완전한 HotCRM에서도 이 분리는 비즈니스 로직을 100k 토큰 미만으로 유지하고, 선언형 UI가 약 50k를 더해 앱 전체를 150k 미만에 둡니다.

압축되지 않는 것

경계에 대한 정직함이 홍보보다 중요합니다:

  • 새로운 알고리즘. 가격 최적화 엔진이나 맞춤 매칭 엔진은 진짜 코드이고 앞으로도 그렇습니다. 포맷에는 비상구가 있습니다 — 액션과 플러그인은 평범한 TypeScript입니다.
  • 픽셀 단위 맞춤 경험. 스키마 기반 UI는 엔터프라이즈 패턴을 아주 잘 렌더링하지만, 브랜드를 정의하는 마케팅 사이트나 게임을 만드는 방식은 아닙니다.
  • 특이한 통합. 30년 된 SOAP 서비스로 가는 커넥터는 여전히 커넥터 코드입니다.

그래서 이 주장은 “모든 것이 메타데이터가 된다”보다 좁고 — 그래서 더 강합니다: 엔터프라이즈 소프트웨어의 대부분을 이루는 CRUD+워크플로 코어는 유도 가능하고, 정말 중요한 잔여물 — 온톨로지 — 는 컨텍스트에 들어갑니다.

소프트웨어가 컨텍스트 크기가 되면 무엇이 달라지나

  1. 리뷰가 진짜가 됩니다. 1,792줄은 코드 리뷰입니다. 30만 줄은 의식(儀式)입니다. 사람이 diff 전체를 읽을 수 있고, 검증 게이트와 런타임의 권한·감사 강제가 그 뒤를 받칩니다.
  2. 유지보수가 썩지 않습니다. 시스템 전체가 컨텍스트에 들어가면 에이전트는 보이는 부분만 땜질하는 대신 전체를 리팩터링합니다. 변경할 때마다 조금씩 더 위험해지는 엔터프라이즈 소프트웨어 특유의 엔트로피 곡선이 평평해집니다.
  3. 온톨로지는 당신 것입니다. 정의는 Apache-2.0 오픈 포맷이며 저장소 안의 평범한 파일입니다 — 사람이 읽을 수 있고, 어떤 에이전트든 쓸 수 있고, 런타임 간에 이식됩니다.

루프를 돌려 보세요

코딩 에이전트를 ObjectStack으로 향하게 하세요. 스캐폴드에 AGENTS.md와 스킬 번들이 들어 있어, 에이전트는 처음부터 이 포맷의 규칙을 읽은 상태로 시작합니다:

npm create objectstack@latest my-app && cd my-app
npx os dev --ui   # 앱은 이미 실행 중 — 다음 변경을 에이전트에게 말하기만 하면 됩니다

저장소보다 브라우저가 좋다면, ObjectOS가 같은 아이디어의 운영형입니다 — 온라인으로 만들고 질문하기, AI Builder·권한·감사 내장.