피드로 돌아가기
I built a mini agent framework in Python to understand how LangGraph actually works under the hood
Dev.toDev.to
AI/ML

Zero Dependency 기반의 Python Agent Framework 설계 및 구현

I built a mini agent framework in Python to understand how LangGraph actually works under the hood

Sajid Islam2026년 6월 23일10intermediate

Context

기존 Agent Framework의 불투명한 내부 동작과 추상화로 인한 디버깅 어려움 분석. 수동 도구 등록 과정에서 발생하는 런타임 에러와 설정값 검증 지연으로 인한 시스템 불안정성 해결 필요.

Technical Solution

  • __init_subclass__를 활용한 Tool 자동 등록 구조 설계로 수동 관리 누락 및 런타임 ToolNotFound 에러 원천 차단
  • Python Data Descriptor 기반의 ValidatedField 구현을 통한 할당 시점의 즉각적인 설정값 검증 체계 구축
  • ParamSpec과 Decorator 조합으로 Type Safety를 유지하며 실행 시간 측정 및 로깅 로직을 분리한 AOP 구조 적용
  • Protocol을 이용한 Structural Typing 도입으로 상속 관계 없이 인터페이스 준수만으로 도구 확장 가능하도록 설계
  • finally 블록 내 Metric 기록 로직 배치를 통한 실행 성공/실패 여부와 무관한 Observability 보장
  • ExecutionSession 컨텍스트 매니저를 통한 도구 실행 생명주기 및 세션 상태 관리 체계 수립

- 클래스 정의 시점에 런타임 레지스트리에 자동 등록이 필요한 경우 `__init_subclass__` 검토 - 런타임 에러 방지를 위해 실행 시점이 아닌 값 할당 시점에 검증하는 Data Descriptor 패턴 적용 - 프레임워크 확장성을 위해 강한 상속(Inheritance)보다 느슨한 계약인 `Protocol` 기반 설계 지향 - 공통 횡단 관심사(Logging, Metrics)는 `Mixin`과 `Decorator`를 통해 비즈니스 로직과 분리

원문 읽기