피드로 돌아가기
Dev.toAI/ML
원문 읽기
제어권 확보와 보안을 위한 Framework 제거 및 Hand-rolled Core Loop 설계
Design Trade-offs: Why Hermes (and Many Popular Agents) Don't Use LangChain / LangGraph
AI 요약
Context
LangChain 등 범용 프레임워크의 추상화 계층으로 인한 세밀한 LLM 제어 불가 및 API 업데이트 대응 지연 발생. 과도한 의존성 트리로 인한 Supply-chain 보안 리스크와 복잡한 Stack trace로 인한 디버깅 효율 저하가 병목 지점으로 작용.
Technical Solution
- 단순한 while 루프 기반의 Hand-rolled Core Loop를 직접 구현하여 불필요한 추상화 제거
- OpenAI SDK만을 최소 의존성으로 유지하고 타 Provider 대응을 위한 자체 Transport/Adapter 레이어 설계
- Prompt Caching, Context Compression, Concurrent Tool Execution 등 핵심 기능을 모듈 단위로 직접 구현하여 제어권 확보
- pyproject.toml 내 모든 의존성 버전을 Exact-pinned 방식으로 고정하여 Supply-chain 공격 표면 최소화
- Provider별 최신 기능을 즉각 반영하기 위해 프레임워크의 통합 인터페이스 대신 개별 API Shape을 직접 처리하는 구조 채택
- Lazy Installation 방식을 도입하여 사용하지 않는 Provider 의존성 로드를 방지하는 최적화 수행
실천 포인트
- 프로토타입 단계 이후 세밀한 모델 제어가 필요한 시점에 프레임워크 제거 검토 - 외부 라이브러리의 추상화가 모델 벤더의 최신 기능 활용을 방해하는지 확인 - 보안이 중요한 프로젝트의 경우 의존성 범위를 최소화하고 버전을 엄격하게 고정 - Core Loop의 단순함을 인지하고 핵심 엔지니어링(Caching, Error Handling)에 집중 투자