피드로 돌아가기
토스 기술블로그Backend
원문 읽기
Embracing the Software 3.0 Era
Andrej Karpathy의 Software 3.0 개념을 LLM 에이전트 아키텍처로 구현하면서 Slash Commands, Sub-agents, Skills, MCP를 기존 계층화 아키텍처 패턴으로 매핑한 설계 방식
AI 요약
Context
LLM은 강력한 기능을 제공하지만 단독으로는 코드베이스를 읽거나 명령을 실행하거나 데이터베이스에 접근할 수 없다. 따라서 LLM 기능을 실제 업무에 연결하기 위해 필요한 도구와 환경 체계가 필요하다.
Technical Solution
- Slash Commands를 Controller 계층으로 설계: 사용자 입력의 진입점 역할을 하며
/review,/refactor와 같은 워크플로우를 트리거한다. - Sub-agents를 Service 계층으로 구성: 여러 Skills를 조율하여 전체 워크플로우를 완성하고 각 Sub-agent는 독립적인 컨텍스트를 유지한다.
- Skills를 단일 책임 원칙(SRP) 컴포넌트로 구현: 각 Skill은 "코드 리뷰", "테스트 생성", "문서 작성" 같은 하나의 명확한 작업만 수행한다.
- MCP를 Infrastructure/Adapter 계층으로 추상화: 외부 시스템(데이터베이스, API)으로의 연결을 관리하며 내부 로직이 외부 구현 방식을 알 필요가 없도록 한다.
- CLAUDE.md를 프로젝트 헌법으로 정의: 기술 스택, 코딩 컨벤션, 빌드 명령처럼 자주 변하지 않는 프로젝트 규범을 저장한다.
- HITL(Human-In-The-Loop)을 Setup 단계에서 활용:
/setup커맨드는 자명한 부분은 자동화하고 테스팅 프레임워크 선택같은 모호한 부분에서만 사용자에게 입력을 요청한다.
Impact
아티클에서 정량적 수치가 명시되지 않음.
Key Takeaway
Software 3.0 에라의 LLM 에이전트 설계는 이미 검증된 계층화 아키텍처 원칙(Controller-Service-Repository 패턴)을 따르면 새로운 기술도 기존 엔지니어링 직관으로 이해하고 구축할 수 있다. 또한 사전 정의보다는 애매한 지점에서 사용자에게 물어보는 방식으로 설계하면 시스템의 유연성과 적응성을 높일 수 있다.
실천 포인트
LLM 에이전트를 개발하는 팀에서 Slash Commands-Sub-agents-Skills 구조를 Controller-Service-Domain Component 계층과 명시적으로 매핑하면, 기존 계층화 아키텍처 경험을 직접 적용하여 에이전트 설계의 인지 부하를 줄이고 일관성 있는 구조를 유지할 수 있다.