-
애플리케이션 로직이 전혀 없는 웹 서버를 구축해, LLM이 모든 요청을 처리하도록 한 실험
- 서버는 database, webResponse, updateMemory 세 가지 도구만을 사용해 CRUD 기능을 수행
- LLM이 SQL 스키마 설계, HTML·JSON 생성, 피드백 반영까지 스스로 수행하며 기본적인 연락처 관리 앱 구현
- 응답 속도는 30~60초, 비용은 전통적 웹앱 대비 100~1000배 높고, UI 일관성과 기억력 문제 존재
- 그럼에도 코드 없이 작동하는 완전한 CRUD 앱 구현 가능성을 보여, 코드 자체가 과도기적 개념일 수 있음을 시사
프로젝트 개요
-
nokode는 “애플리케이션 로직이 없는 웹 서버”로, 모든 요청을 LLM이 처리하는 구조
- 서버는 단순히 HTTP 요청을 받아 LLM에 “무엇을 해야 하는가?”를 묻는 형태
- 목표는 코드 생성 없이 LLM이 직접 애플리케이션 로직을 수행할 수 있는지 검증하는 것
- 실험 대상은 연락처 관리 앱(contact manager) 으로, 기본적인 CRUD 기능(입력, 조회, 수정, 삭제)을 포함
시스템 구성
- 백엔드는 단 3개의 도구로 구성
-
database: SQLite에서 SQL 실행, LLM이 스키마를 직접 설계
-
webResponse: HTML, JavaScript, JSON 등 적절한 형식으로 응답 생성
-
updateMemory: 사용자 피드백을 마크다운으로 저장해 다음 요청 시 참조
- 예시로 /contacts 요청 시 HTML 페이지, /api/contacts 요청 시 JSON 응답 생성
- 각 페이지에는 피드백 위젯이 포함되어, “버튼을 크게 해줘”, “다크 테마로 바꿔줘” 같은 요청을 즉시 반영
실험 결과
-
기능적으로는 작동 성공
- 폼 제출, 데이터 저장, UI 표시, API 응답 모두 정상 동작
- LLM이 예시 없이도 적절한 데이터베이스 스키마, 안전한 SQL, REST형 API, 반응형 레이아웃, 폼 검증, 에러 처리를 생성
-
성능 문제
- 요청당 30~60초 소요로 기존 웹앱(10~100ms) 대비 300~6000배 느림
- 요청당 $0.01~0.05 비용 발생으로 100~1000배 비쌈
- UI 색상·레이아웃 불일치, 이전 상태 기억 불가, 잘못된 SQL 생성 시 즉시 오류 발생
- “⚡ THINK QUICKLY” 같은 프롬프트 최적화 시도는 오히려 속도 저하
결론 및 시사점
- LLM이 애플리케이션 로직을 직접 수행할 수 있는 능력은 존재
- 문제는 속도, 비용, 일관성, 신뢰성 등 성능적 한계
- 그러나 이러한 한계는 정성적 문제보다 정량적 개선의 영역으로,
- 추론 속도는 매년 약 10배 향상
- 비용은 하락 추세
- 컨텍스트 길이 확장으로 기억력 개선 가능성
- 오류율 감소 추세
- 결과적으로, “AI가 코드를 작성하는 시대”보다 “AI가 직접 실행하는 시대” 가 더 가까울 수 있음
- 현재 남은 것은 HTTP 설정, 도구 정의, DB 연결 등 인프라 수준의 코드뿐이며,
장기적으로는 “의도와 실행만 존재하는 컴퓨팅” 으로의 전환 가능성 제시
실행 방법
-
npm install 후 .env 파일에 LLM 제공자와 API 키 설정
-
npm start 실행 후 http://localhost:3001 접속 (첫 요청 30~60초 소요)
-
prompt.md를 수정해 앱 종류나 기능을 변경 가능
-
/game, /dashboard, /api/stats 등 다양한 경로 시도 가능
- “make this purple”, “add a search box” 등 피드백 입력으로 즉시 반영
- 요청당 비용은 모델에 따라 $0.001~0.05 수준
-
MIT 라이선스로 공개