코드를 작성하지 않아도 LLM이 직접 실행하는 웹앱 실험

1 week ago 7

  • 애플리케이션 로직이 전혀 없는 웹 서버를 구축해, 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 라이선스로 공개

Read Entire Article