본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 20. 00:51

처음부터 시작하는 AI 시스템 설계: 제로 의존성 선언문

요약

외부 패키지 의존성 없이 Python 표준 라이브러리만을 사용하여 AI 시스템을 밑바닥부터 설계하는 프로젝트를 소개합니다. 프레임워크의 추상화 뒤에 숨겨진 저수준 커널, 메모리 버퍼, 네트워크 소켓 등의 원리를 직접 구현하며 시스템의 근본을 학습하는 것을 목표로 합니다.

핵심 포인트

  • 외부 패키지 의존성을 완전히 배제한 '제로 의존성' 원칙 준수
  • Python 표준 라이브러리만을 사용하는 순수 네이티브 런타임 환경 구축
  • 네트워크 소켓부터 신경망 그래프까지 상향식(Bottom-Up) 구성
  • 추상화된 프레임워크 대신 저수준 시스템 원리 이해 강조

처음부터 시작하는 AI 시스템 설계: 제로 의존성 선언문

Amin BouloumaSoftware Engineer

Connect with Amin Boulouma Official

방대하게 뻗어 나가는 패키지 의존성 트리(dependency trees)와 무거운 벤더 추상화(vendor abstractions)가 지배하는 시대에, 현대 소프트웨어 공학은 컴퓨터 과학의 기초적인 원시 요소(primitives)로부터 점점 더 멀어지고 있습니다. 우리는 프로토콜을 이해하기도 전에 프레임워크를 설치합니다. 선형 대수 엔진(linear algebra engines)을 파악하기도 전에 머신러닝(machine learning) 라이브러리를 배포합니다.

이러한 교육적, 구조적 격차를 해소하기 위해, AI Systems Design From Scratch 프로젝트는 엄격한 아키텍처 표준을 도입합니다. 즉, 절대적인 제1원칙(first principles)으로부터 복잡한 분산 시스템(distributed systems), 클라우드 인프라(cloud infrastructure), 그리고 인공지능(artificial intelligence) 모델을 구축하는 것입니다.

이 이니셔티브의 핵심 철학은 Richard Feynman의 유명한 관찰에 근거합니다:

내가 만들 수 없는 것은, 나는 이해하지 못한다.

제로 의존성 명령 (The Zero-Dependency Mandate)

진정한 시스템 수준의 학습을 강제하기 위해, 이 생태계는 **외부 패키지에 대한 의존성 제로 정책(zero-reliance policy on external packages)**을 엄격히 시행합니다.

  • 가상 환경 없음 (No Virtual Environments): 제3자 코드를 포함하는 requirements.txt, Pipfile, 또는 pyproject.toml 매니페스트(manifests)가 존재하지 않습니다.
  • 순수 네이티브 런타임 (Pure Native Runtime): 유일한 엔진 요구 사항은 오직 내장된 표준 라이브러리(Standard Library) 모듈만을 사용하는 Python 3.14.5의 깨끗한 설치입니다.
  • 상향식 구성 (Bottom-Up Composition): 상위 수준의 구성(예: 신경망 그래프(neural network graphs) 또는 자동화된 오케스트레이션 계층(orchestration layers))은 반드시 이 저장소(repository) 내부에서 완전히 구축된 기초 모듈을 엄격하게 임포트(import)하고 그 위에 구축되어야 합니다.

현대적인 프레임워크 추상화를 제거함으로써, 엔지니어들은 저수준 커널 추상화(low-level kernel abstractions), 메모리 버퍼(memory buffers), 네트워크 어댑터(network adapters), 그리고 수학적 연산(mathematical operations)과 직접 인터페이스하도록 강제됩니다.

아키텍처 심층 분석: 무엇이 구현되었는가?

아키텍처는 루트 애플리케이션 디렉토리인 src/ 외부에서 완전히 작동합니다. 이 프레임워크는 운영 책임을 서로 다른 엔지니어링 도메인(engineering domains)으로 분할하여, 핵심 인프라 유틸리티와 고급 컴퓨팅 엔진(computing engines) 사이의 균형을 맞춥니다.

1. 네트워킹 팩토리(Networking Factories) 및 API 계층

통신 채널을 제3자 프로토콜(third-party protocols)로 감싸진 마법 상자(magic box)로 취급하는 대신, 이 프로젝트는 로우 레벨 네트워크 소켓(network sockets)으로부터 애플리케이션 계층을 직접 구축합니다.

  • py_socket_server.py & py_socket_client.py: 로우 레벨 전송 스트림 디스크립터(transport stream descriptors), 네트워크 바인딩(network bindings), 그리고 전이중(full-duplex) TCP/IP 동기화 맵을 관리합니다.
  • py_REST_API.py & py_REST_API_CLI_client.py: 들어오는 요청 스트림을 수동으로 토큰화(tokenize)하고 표준 와이어 프레임(wire frames)을 인코딩하는 HTTP/1.1 준수 파싱 엔진(parsing engine) 및 라우팅 계층(routing layer)입니다.

2. 분산 스토리지(Distributed Storage) 및 메시징 추상화

이미 구축된 프로덕션 데이터베이스를 가져오는 대신, 이 프로젝트는 표준 라이브러리(standard-library) 구조를 사용하여 메모리 레이아웃(memory layouts)과 액세스 패턴(access patterns)을 모델링함으로써 스토리지 엔진을 모방합니다.

  • py_redis.py: 단일 스레드(single-threaded) 조회 사이클을 특징으로 하는 인메모리(in-memory) 키-값(key-value) 추적 매트릭스입니다.
  • py_sql_engine.py: 구문 파라미터(statement parameters), 트랜잭션 범위(transaction scopes), 그리고 쿼리 라이프사이클(query lifecycles)을 매핑하는 관계형 게이트웨이 에뮬레이션(relational gateway emulation)입니다.

3. 가상화(Virtualization), 컨테이너화(Containerization) 및 오케스트레이션(Orchestration)

  • py_container_manager.py: 프로세스 네임스페이스 격리(process namespace isolation) 메커니즘과 컨테이너 상태를 모델링하여 핵심 컨테이너 런타임 엔진(container runtime engine) 동작을 시뮬레이션합니다.
  • py_airflow.py: 비동기 작업 상태를 오케스트레이션하는 방향성 비순환 그래프(Directed Acyclic Graph, DAG) 작업 컴파일러 및 스케줄러 루프입니다.

시작하기: 빠른 시작 배포(Quick-Start Deployment)

플랫폼이 제로 의존성(zero dependencies)을 유지하기 때문에, 아키텍처를 초기화하고 스트레스 테스트(stress-testing)하는 데 외부 라이브러리 프로비저닝(provisioning)이 필요하지 않습니다.

1. 소스 트리 클론(Clone the Source Tree)

git clone https://github.com/aminblm/ai_systems_design_from_scratch.git
cd ai_systems_design_from_scratch

2. 인프라 구성 요소 실행 (Execute Infrastructure Components)

다음 명령줄 인터페이스 (CLI)를 통해 핵심 아키텍처 서브시스템 (subsystem)을 직접 실행하십시오:

# 인메모리 데이터 스토어 데몬 (in-memory data store daemon) 부팅
python3 src/py_redis.py

...

기술 로드맵 (The Technical Roadmap)

현재 이 플랫폼은 **71개의 개별 기술 (distinct technologies)**을 추적하는 목표 매트릭스 중 **17개의 완전히 구현된 시스템 모듈 (fully realized system modules)**을 기록하고 있습니다. 이 프레임워크를 고도의 회복 탄력성을 갖춘 클라우드 에뮬레이션 워크스페이스 (cloud emulation workspace)로 전환하기 위해, 현재의 개발 사이클은 다음과 같은 향후 마일스톤 (milestones)을 우선시합니다:

  • 네임스페이스 격리 체크리스트 (Namespace Isolation Checklists): 더욱 세밀한 시스템 수준의 프로세스 게이트 (process gates)를 활용할 수 있도록 로컬 컨테이너 매니저 (py_container_manager.py)를 개선합니다.
  • 카오스 엔지니어링 드라이버 (Chaos Engineering Drivers): 커스텀 TCP 네트워크 인터페이스 (network interfaces)에 의도적인 스트레스 테스트를 수행하기 위해 자동화된 결함 주입 (fault-injection) 스크립트를 도입하여, 시뮬레이션된 소켓 드롭 (socket drops) 상황에서의 상태 복구 및 에러 핸들링 (error handling)을 검증합니다.

제1원리 운동에 참여하십시오 (Join the First-Principles Movement)

이 리포지토리 (repository)는 가공되지 않은 코드를 직접 작성하고 프레임워크 계층 (framework layers)을 하나씩 벗겨내며 배우는 것을 선호하는 실무 소프트웨어 엔지니어, 인프라 아키텍트, 그리고 머신러닝 과학자들을 위해 구축되었습니다. 이 청사진 (blueprint)을 완전한 상태로 밀어붙이기 위해서는 기여 (contributions)가 필수적입니다. 메인 개발 브랜치 (main development branch)를 체크아웃하여 시스템 아키텍처 매트릭스 (architectural matrix)를 검토하거나, 기존 연결 블록의 엣지 케이스 (edge-case) 실패 여부를 감사하거나, 새로운 저수준 표준 라이브러리 프리미티브 (low-level standard library primitive) 구현을 제안해 주십시오.

Amin Boulouma 공식 연결하기

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0