LangChain 1.0 Custom Middleware 활용 분석 보고서

GitHub에서 LangChain 1.0 Custom Middleware를 사용한 레포지토리들을 AI로 분석한 보고서

주의: 이 글은 GitHub에서 Custom Middleware를 사용한 레포지토리들을 찾아 AI에게 분석시킨 결과입니다. AI가 작성한 내용이므로 부정확할 수 있습니다. 정확한 정보가 필요하다면 각 프로젝트의 링크를 통해 직접 확인하시기 바랍니다.

LangChain 1.0 Custom Middleware 활용 분석 보고서

전체 통계 및 개요

분석 대상

  • 총 분석 프로젝트 수: 20개
  • 총 Star 수: 약 22,000+ (mcp-use 8,815, intentkit 6,500, Yuxi-Know 3,730 등)
  • 분석 기간: 2025년 LangChain 1.0 출시 이후

LangChain 1.0 Middleware 핵심 개념

LangChain 1.0에서 도입된 Middleware는 에이전트의 핵심 루프(모델 + 도구)를 세밀하게 제어할 수 있는 아키텍처입니다. 주요 Hook:

Hook 실행 시점 주요 용도
before_agent 에이전트 루프 시작 전 리소스 초기화, 상태 준비, 컨텍스트 주입
after_agent 에이전트 루프 종료 후 리소스 정리, 결과 저장, 팩트 추출
before_model 모델 호출 전 메시지 트리밍, 컨텍스트 편집
after_model 모델 호출 후 응답 검증, 비용 추적, 크레딧 확인
wrap_model 모델 호출 래핑 동적 프롬프트, 모델 교체, 도구 바인딩
wrap_tool 도구 호출 래핑 에러 처리, 승인 플로우, 출력 압축

주요 활용 패턴 통계

활용 패턴 프로젝트 수 비율
동적 시스템 프롬프트 주입 15 75%
도구 에러 처리 / 재시도 8 40%
토큰 비용 추적 6 30%
컨텍스트 메모리 관리 5 25%
Human-in-the-Loop 워크플로우 5 25%
실시간 UI 스트리밍 4 20%
샌드박스 실행 환경 3 15%
크레딧/과금 시스템 2 10%

산업별 분포

분야 프로젝트 수 대표 프로젝트
개발자 도구 / DevOps 6 openchoreo, daiv, open-ptc-agent
AI 에이전트 플랫폼 5 intentkit, Yuxi-Know, mcp-use
보안 / CTF 2 crAPI, SickHackShark
금융 / 비즈니스 2 ai-stock-picker, langchain-barber-agent
터미널 / CLI 3 linux-cop, langrepl, langchain_terminal_agent
기타 2 c64vibe, ai-discord-bot-PigPig

프로젝트별 상세 분석

OWASP/crAPI

  • Stars: 1,404
  • 링크: https://github.com/OWASP/crAPI
  • 레포 요약: API 보안의 10대 주요 위험을 교육하기 위해 의도적으로 취약하게 설계된 마이크로서비스 기반 API 애플리케이션. 안전한 환경에서 API 보안 취약점을 학습하고 실습할 수 있는 플랫폼 제공.
  • 미들웨어 사용 요약: before_model 훅을 활용한 truncate_tool_messages 미들웨어 구현. MCP 도구, SQL 데이터베이스 도구, RAG 검색 도구의 실행 결과가 LLM 토큰 제한을 초과하는 것을 방지. JSON 구조를 보존하면서 지능적으로 콘텐츠를 절단하고, 가장 긴 필드부터 우선 절단하여 정보 손실 최소화.

Shy2593666979/AgentChat

  • Stars: 176
  • 링크: https://github.com/Shy2593666979/AgentChat
  • 레포 요약: LangChain 1.0 기반 지능형 대화 시스템. 다중 Agent 협업, 지식베이스 검색, MCP 서버 통합, 실시간 대화 등을 지원하는 종합 AI 플랫폼. FastAPI + Vue 3 구성.
  • 미들웨어 사용 요약: EmitEventAgentMiddleware 클래스로 after_model, wrap_model, wrap_tool 세 가지 훅을 모두 활용. get_stream_writer()를 통한 실시간 WebSocket 이벤트 스트리밍으로 도구 실행 상태(START/END/ERROR)를 사용자에게 전달. MCP Agent에서는 wrap_tool_call로 사용자별 인증 정보를 동적 주입하여 멀티테넌트 환경 지원.

SickHackPark/SickHackShark

  • Stars: 18
  • 링크: https://github.com/SickHackPark/SickHackShark
  • 레포 요약: 텐센트 클라우드 해커톤 프로젝트. AI Agent 기반 CTF 네트워크 보안 경쟁 자동화 도구. 다중 Agent 아키텍처로 웹 보안 테스트(정보 수집, 취약점 스캔, 익스플로잇, flag 획득) 자동 수행.
  • 미들웨어 사용 요약: ImportantNotesMiddleware로 보안 테스트 중 발견한 중요 정보(취약점, flag 후보)를 구조화 저장. LongChainWakeUp은 장기 실행 시 연속적인 도구 호출에 빠지는 것을 방지하고, 일정 횟수 후 중요 정보 기록을 강제. YAML 설정 기반 동적 미들웨어 구성으로 메인/서브 에이전트에 개별 적용.

ThomasITU/arch-recon-agent

  • Stars: 0
  • 링크: https://github.com/ThomasITU/arch-recon-agent
  • 레포 요약: 코드베이스 아키텍처 재구성 에이전트. Module viewpoint, Component & Connector viewpoint, Allocation viewpoint 등 다양한 관점에서 시스템 아키텍처 문서화 자동화.
  • 미들웨어 사용 요약: PersistentPlanningMiddlewareTodoListMiddleware 확장. 스크래치패드(메모장) 기능으로 대화 스레드 간 컨텍스트 유지. @after_agent 데코레이터 사용한 clear_message 함수로 2단계 파이프라인(git_clone_agent -> arch_recon_agent) 간 메시지 정리.

Tunahanyrd/linux-cop

  • Stars: 0
  • 링크: https://github.com/Tunahanyrd/linux-cop
  • 레포 요약: Google Gemini AI와 LangChain v1.0 활용 지능형 리눅스 터미널 어시스턴트. 자연어 명령 처리, 5가지 성격 모드, 다국어 지원(영어/터키어), 셸 명령 및 Python REPL 실행.
  • 미들웨어 사용 요약: SystemInfoMiddlewarebefore_model 훅 구현. 첫 상호작용 시 fastfetch로 시스템 환경 정보 수집 후 SystemMessage로 주입. 캐싱으로 중복 실행 방지, 3초 타임아웃 설정, 15줄 제한으로 토큰 최소화.

aayush-aryal/ai-stock-picker

  • Stars: 2
  • 링크: https://github.com/aayush-aryal/ai-stock-picker
  • 레포 요약: AI 기반 주식 거래 및 예측 플랫폼. XGBoost, Bi-directional LSTM 활용 주식 예측과 LangChain RAG 시스템 통한 AI 주식 분석 어시스턴트 제공.
  • 미들웨어 사용 요약: @dynamic_prompt 데코레이터로 RAG 시스템 구현. prompt_with_context 미들웨어가 런타임 컨텍스트(source, ticker, year, quarter)를 기반으로 Chroma 벡터 스토어에서 뉴스 또는 실적 발표 데이터 검색 후 시스템 프롬프트에 동적 주입.

alpha-xone/langmiddle

  • Stars: 7
  • 링크: https://github.com/alpha-xone/langmiddle
  • 레포 요약: LangGraph 에이전트를 위한 프로덕션급 미들웨어 라이브러리. SQLite, PostgreSQL, Supabase, Firebase 지원. 시맨틱 메모리, 자동 요약, 팩트 추출/검색 기능.
  • 미들웨어 사용 요약: ContextEngineer 미들웨어로 before_agent에서 관련 메모리(core facts + context facts) 주입 및 대화 요약, after_agent에서 팩트 추출 및 스토리지 저장. ChatSaver로 채팅 히스토리 영속화. ToolRemover로 도구 메시지 필터링. 2단계 배치 검색, 관련성 점수 시스템(최신성 40% + 접근빈도 30% + 사용피드백 30%), 적응형 팩트 포맷팅 구현.

bbence84/c64vibe

  • Stars: N/A
  • 링크: https://github.com/bbence84/c64vibe
  • 레포 요약: AI로 Commodore 64 게임 생성하는 전문 에이전트. Chainlit 웹 인터페이스와 CLI 제공. C64 BASIC V2.0 코드 자동 생성, 구문 검사, 에뮬레이터 실행 지원.
  • 미들웨어 사용 요약: ChainlitMiddlewareTracerwrap_tool 훅 구현. 모든 도구 호출을 Chainlit UI에 Step으로 실시간 시각화. 도구별 입력/출력 포맷팅(BASIC 코드 구문 강조, 할일 목록 마크다운 테이블), Chainlit TaskList 컴포넌트로 인터랙티브 작업 목록 UI 제공.

crestalnetwork/intentkit

  • Stars: 6,500
  • 링크: https://github.com/crestalnetwork/intentkit
  • 레포 요약: 블록체인 상호작용, 소셜 미디어 관리, 커스텀 스킬 통합 등 다양한 기능의 AI 에이전트 프레임워크. LangGraph 기반, 확장 가능한 스킬 시스템과 다중 에이전트 지원.
  • 미들웨어 사용 요약: 4개 커스텀 미들웨어 구현. TrimMessagesMiddleware(before_model)로 토큰 기반 메시지 트리밍. DynamicPromptMiddleware(wrap_model)로 에이전트/컨텍스트 기반 동적 시스템 프롬프트 생성. ToolBindingMiddleware(wrap_model)로 public/private 컨텍스트에 따른 도구 선택 및 프로바이더별 최적화. CreditCheckMiddleware(after_model)로 도구 호출 전 크레딧 잔액 검증 및 StreamWriter로 실시간 피드백.

eosho/langchain-barber-agent

  • Stars: 6
  • 링크: https://github.com/eosho/langchain-barber-agent
  • 레포 요약: AI 구동 이발소 예약 시스템. 자연어 대화 인터페이스, FastAPI 백엔드, Human-in-the-Loop 승인 프로세스로 예약 생성/취소/수정 작업 수동 승인 요구.
  • 미들웨어 사용 요약: 8개 커스텀 미들웨어 구현. 도메인별 미들웨어(CustomerLookup, Booking, Availability, BarberInfo, ServiceCatalog)로 wrap_model_call 훅 사용해 시스템 프롬프트 동적 확장. BusinessRulesMiddleware(before_tool_call)로 예약 비즈니스 규칙(과거 날짜, 당일 예약 최소 통보, 영업시간 등) 검증. ConversationSummaryMiddleware(before_model)로 대화 이력 정리. UsageTrackingMiddleware(after_model)로 토큰 사용량 추적.

eosho/langchain_terminal_agent

  • Stars: 3
  • 링크: https://github.com/eosho/langchain_terminal_agent
  • 레포 요약: Human-In-The-Loop 터미널 어시스턴트. Bash 및 PowerShell 명령 실행. 정책 기반 안전장치, 인간 감독, 지속적인 셸 세션 관리.
  • 미들웨어 사용 요약: ShellSessionMiddlewarebefore_agent에서 셸 프로세스 초기화, after_agent에서 세션 종료. ShellPolicyMiddleware(after_model)로 명령어 정책 검증(화이트리스트/블랙리스트, 샌드박스 제한, 길이 제한) 및 토큰 사용량 로깅. @hook_config(can_jump_to=["end"])로 정책 위반 시 에이전트 즉시 종료 가능.

midodimori/langrepl

  • Stars: 153
  • 링크: https://github.com/midodimori/langrepl
  • 레포 요약: LLM 에이전트 구축/실행 대화형 터미널 CLI. Deep Agent 아키텍처, 멀티 프로바이더 LLM, 영구 대화 관리, MCP 서버 통합, 비용 추적.
  • 미들웨어 사용 요약: 7개 커스텀 미들웨어. TokenCostMiddleware(after_model)로 비용 계산. ApprovalMiddleware(wrap_tool)로 승인 모드별 자동 승인/거부 및 영구 규칙 저장. CompressToolOutputMiddleware(wrap_tool)로 대용량 출력 가상 파일시스템 저장. create_dynamic_prompt_middleware(@dynamic_prompt)로 런타임 템플릿 렌더링. PendingToolResultMiddleware(before_agent)로 중단된 도구 호출 복구. ReturnDirectMiddleware(before_model + @hook_config)로 조건부 에이전트 종료. SandboxMiddleware(wrap_tool)로 Bubblewrap 격리 실행.

letta-ai/learning-sdk

  • Stars: 31
  • 링크: https://github.com/letta-ai/learning-sdk
  • 레포 요약: 한 줄 코드로 모든 LLM 에이전트에 지속적 학습과 장기 메모리 추가하는 Drop-in SDK. 세션 간 컨텍스트 기억으로 stateful 에이전트 구현.
  • 미들웨어 사용 요약: @wrap_model_call 데코레이터로 add_letta_memory 미들웨어 구현. Letta의 learning() 컨텍스트 매니저로 모델 호출 래핑. LLM API 호출 인터셉트하여 관련 메모리 자동 주입, 대화 캡처 및 시맨틱 검색용 저장. 에이전트별 메모리 격리 지원.

mcp-use/mcp-use

  • Stars: 8,815
  • 링크: https://github.com/mcp-use/mcp-use
  • 레포 요약: Model Context Protocol(MCP) 풀스택 프레임워크. Python/TypeScript 양쪽에서 6줄 코드로 MCP 서버, 클라이언트, AI 에이전트 구축. LangChain 1.0 통합, 관찰성, 스트리밍, 멀티 서버 지원.
  • 미들웨어 사용 요약: @wrap_tool_call 데코레이터로 tool_error_handler 구현. 도구 실행 중 모든 예외(ValidationError, ConnectionError 등) 포착하여 에러 메시지를 LLM에게 반환. LLM이 올바른 입력으로 자동 재시도 가능. retry_on_error=True 설정으로 조건부 활성화.

natefleming/dao-ai

  • Stars: 11
  • 링크: https://github.com/natefleming/dao-ai
  • 레포 요약: YAML 기반 선언적 설정으로 멀티 에이전트 AI 시스템 구축/배포/관리하는 Infrastructure-as-Code 프레임워크. LangGraph 기반, Databricks 플랫폼 배포.
  • 미들웨어 사용 요약: DSPy 영감 받은 AssertMiddleware, SuggestMiddleware, RefineMiddleware(after_model)로 응답 검증/재시도/반복 개선. GuardrailMiddleware(after_model)로 LLM 기반 응답 평가. ContentFilterMiddleware(before_agent + after_model)로 금지 키워드 차단. SafetyGuardrailMiddleware(after_agent)로 최종 응답 안전성 평가. 다양한 검증 미들웨어(UserIdValidation, ThreadIdValidation, CustomFieldValidation)와 @dynamic_prompt로 동적 프롬프트 생성.

Chen-zexi/open-ptc-agent

  • Stars: 620
  • 링크: https://github.com/Chen-zexi/open-ptc-agent
  • 레포 요약: Anthropic의 Programmatic Tool Calling(PTC) 패러다임 구현. 코드 실행으로 도구 호출하여 컨텍스트 윈도우 85-98% 감소. Daytona 샌드박스, MCP 서버 통합.
  • 미들웨어 사용 요약: PlanModeMiddlewaresubmit_plan 도구 제공하여 2단계(계획-실행) 워크플로우 구현. ViewImageMiddleware(wrap_tool)로 이미지를 HumanMessage 콘텐츠 블록으로 변환하여 비전 모델 지원. BackgroundSubagentMiddleware(wrap_tool + after_agent)로 서브에이전트 백그라운드 비동기 실행 및 “waiting room” 패턴으로 결과 수집. ToolCallCounterMiddleware로 서브에이전트 도구 호출 메트릭 추적.

openchoreo/openchoreo

  • Stars: 586
  • 링크: https://github.com/openchoreo/openchoreo
  • 레포 요약: Kubernetes 내부 개발자 플랫폼(IDP). Backstage 기반 개발자 포털, 애플리케이션 CI/CD, GitOps, 관찰성 제공. CNCF 프로젝트 모듈화 프레임워크.
  • 미들웨어 사용 요약: RCA(Root Cause Analysis) 에이전트에 3개 미들웨어 적용. LoggingMiddleware(wrap_model)로 디버그 모드에서 전체 메시지 흐름 파일 로깅. TimingMiddleware(wrap_model + wrap_tool)로 모델/도구 호출 실행 시간 측정. OutputProcessorMiddleware(wrap_tool)로 관찰성 도구(로그, 메트릭, 트레이스)의 JSON 응답을 마크다운으로 변환, 메트릭 통계 분석 및 이상 탐지 수행.

srtab/daiv

  • Stars: 16
  • 링크: https://github.com/srtab/daiv
  • 레포 요약: GitLab/GitHub 통합 오픈소스 자동화 AI 어시스턴트. 이슈 자동 처리, 코드 리뷰 지원, 코드베이스 채팅. LangChain + LangGraph 기반 AI 에이전트 시스템.
  • 미들웨어 사용 요약: 9개 이상 미들웨어로 모듈화된 에이전트 구축. InjectImagesMiddleware(before_agent)로 마크다운/HTML 이미지 추출 및 멀티모달 콘텐츠 블록 변환. AgentsMDMiddleware(before_agent)로 프로젝트별 AGENTS.md 지침 주입. AnthropicPromptCachingMiddleware(wrap_model)로 OpenRouter Anthropic 모델 캐싱 지원. FileNavigationMiddleware, FileEditingMiddleware, SandboxMiddleware, WebSearchMiddleware, MergeRequestMiddleware 등으로 도구 그룹화 및 시스템 프롬프트 확장. SkillsMiddleware로 점진적 공개 방식 스킬 제공. PlanMiddlewareExecutorMiddleware로 Plan-and-Execute 패턴 구현.

starpig1129/ai-discord-bot-PigPig

  • Stars: 47
  • 링크: https://github.com/starpig1129/ai-discord-bot-PigPig
  • 레포 요약: LLM 기반 멀티모달 Discord 봇. 자연어 이해/생성, 비주얼 Q&A, AI 이미지 생성, 음악 재생, 지능형 채널 메모리, 자동 업데이트 시스템.
  • 미들웨어 사용 요약: DirectToolOutputMiddlewareafter_tools 훅 구현. @hook_config(can_jump_to=["end"])로 도구 실행 후 즉시 에이전트 종료. 2단계 에이전트(info_agent -> message_agent) 아키텍처에서 info_agent가 정보 수집만 수행하고 추가 모델 호출 없이 결과 반환하도록 보장.

xerrors/Yuxi-Know

  • Stars: 3,730
  • 링크: https://github.com/xerrors/Yuxi-Know
  • 레포 요약: LangGraph v1 + Vue.js + FastAPI + LightRAG 기반 RAG 지식 베이스와 지식 그래프 융합 인텔리전트 에이전트 플랫폼. 전체 에이전트 개발 도구 키트 제공.
  • 미들웨어 사용 요약: 4개 커스텀 미들웨어. AttachmentMiddleware(wrap_model)로 첨부 파일(PDF, 이미지) 컨텍스트 자동 주입. context_aware_prompt(@dynamic_prompt)로 런타임 컨텍스트에서 동적 시스템 프롬프트 생성. context_based_model(@wrap_model_call)로 런타임에 모델 동적 선택. DynamicToolMiddleware(wrap_model)로 MCP 도구 포함 런타임 도구 동적 선택 및 사전 로드.

결론 및 인사이트

핵심 발견사항

  1. wrap_model이 가장 인기 있는 Hook: 20개 프로젝트 중 15개(75%)가 동적 시스템 프롬프트 주입에 사용

  2. 에러 처리와 복원력이 중요: 도구 에러 자동 처리, 재시도 로직, 중단된 작업 복구 등 안정성 관련 미들웨어 다수

  3. 2단계/다중 에이전트 패턴 증가: 계획-실행, 정보수집-응답생성, 메인-서브에이전트 등 복잡한 워크플로우 구현에 미들웨어 활용

  4. 관찰성과 디버깅 중시: 로깅, 타이밍, 비용 추적, 실시간 UI 스트리밍 등 운영/디버깅 미들웨어 다수

  5. 보안과 승인 플로우: Human-in-the-Loop, 정책 기반 명령어 검증, 샌드박스 실행 등 안전한 에이전트 운영 패턴

권장 활용 사례

요구사항 권장 미들웨어 패턴
동적 컨텍스트 주입 @dynamic_prompt 또는 wrap_model
도구 에러 복원력 wrap_tool + 예외 처리
토큰 최적화 before_model + 메시지 트리밍/요약
비용 모니터링 after_model + usage_metadata 추적
사용자 승인 wrap_tool + interrupt 또는 HITL
리소스 관리 before_agent 초기화 + after_agent 정리
응답 품질 검증 after_model + LLM 판사 또는 규칙 기반 검증

Generated by LangChain Middleware Analyzer - 2025

Hugo로 만듦
JimmyStack 테마 사용 중