본문 바로가기
AI 뉴스

Apache Burr 첫인상: 상태머신 기반 AI 에이전트 (2026)

by 정부우르사 2026. 6. 11.
반응형

"에이전트가 왜 그렇게 답했는지" 매번 처음부터 다시 추적해야 한다면, 이번 글이 도움이 될지도 모르겠습니다.


📌 핵심 3줄 요약

  • DAGWorks가 만든 Burr가 2025년 5월 아파치 소프트웨어 재단(ASF) 인큐베이터에 들어가 Apache Burr (Incubating)가 됐다.
  • LangGraph·DeepAgents가 "그래프"를 강조한다면, Burr는 명시적 상태(State)와 액션(Action) 전이를 1급 시민으로 다뤄 "왜 그렇게 행동했는가"를 재현 가능하게 기록한다.
  • 2026년 6월 기준 최신 릴리스는 0.42.0-incubating, 라이선스는 Apache 2.0, 설치는 pip install "apache-burr[start]" 한 줄이다.

🗓️ Apache Burr가 정확히 뭐고, 언제 들어왔나

Burr는 DAGWorks Inc.가 2024년부터 운영해 온 파이썬 에이전트 프레임워크다. 상태머신을 1급으로 다루는 점이 특이해 HN·LLM 커뮤니티에서 회자됐고, 2025년 5월 24일 아파치 인큐베이터에 진입했다. 2026년 6월 기준 최신 0.42.0-incubating에는 AWS Bedrock 통합과 FastAPI 내 Burr UI 임베딩이 포함됐다. 정체는 "상태 기반 LLM 애플리케이션을 인프로세스로 표현·실행·관측하는 가벼운 프레임워크"다.

💡 핵심 한 줄

"Apache"는 라이선스(Apache 2.0)이자 ASF 인큐베이션 신분이다. 즉, 단순히 라이선스만 같은 외부 프로젝트가 아니라 실제로 재단 절차를 밟는 중이다.


🔧 State + Action 모델: 코드로 보는 차별점

Burr의 단위는 세 가지다. State(애플리케이션 데이터), @action 데코레이터를 붙인 Action(상태를 읽고 쓰는 파이썬 함수), 그리고 액션들을 연결한 Application(ApplicationBuilder로 빌드). 공식 README의 최소 예제를 단순화하면 다음과 같다.

app.py · Python

from burr.core import action, State, ApplicationBuilder

@action(reads=[], writes=["prompt"])
def human_input(state: State, prompt: str) -> State:
    return state.update(prompt=prompt)

@action(reads=["prompt"], writes=["response"])
def ai_response(state: State) -> State:
    response = query_llm(state["prompt"])
    return state.update(response=response)

app = (
    ApplicationBuilder()
    .with_actions(human_input, ai_response)
    .with_transitions(("human_input", "ai_response"))
    .with_entrypoint("human_input")
    .build()
)

읽을 키(reads)와 쓸 키(writes)가 함수 시그니처가 아닌 데코레이터에 선언된다. 어느 액션이 어떤 상태를 건드리는지 정적으로 알 수 있고, 모든 전이가 결정론적으로 기록되니 같은 입력으로 같은 trace를 재생할 수 있다.


🆚 Burr vs LangGraph vs LangChain DeepAgents

세 프레임워크 모두 "그래프"를 말하지만 강조점이 다르다. 어제 다룬 DeepAgents까지 한 표로 정리한다.

기준 Apache Burr LangGraph LangChain DeepAgents
핵심 모델 State + Action 전이 노드/엣지 + 체크포인트 계획+서브에이전트
재현·디버깅 상태 스냅샷·리플레이 내장 체크포인트 기반 LangSmith 의존
UI/관측 셀프호스팅 Burr UI LangSmith(유료) 권장 LangSmith 권장
거버넌스 ASF 인큐베이팅 LangChain Inc. LangChain Inc.
의존성 가벼움(인프로세스) LangChain 생태계 LangChain + 도구체인

Burr는 "그래프"보다 "상태"에 무게중심이 있다. 디버깅과 재현성이 1순위면 가장 직관적이고, 통합·SaaS 관측이 급하면 LangGraph/LangSmith 조합이 우세하다.


⚠️ 단점과 주의할 점

  • 아직 인큐베이팅 단계라 패키지명·UI 경로가 0.4x에서도 바뀔 수 있다. 운영은 버전 고정 권장.
  • 도구·리트리버·메모리 통합 수는 LangChain 진영이 압도적이라, Burr는 외부 통합을 직접 붙여야 한다.
  • 상태머신이 낯설면 reads/writes 선언에 적응이 필요하다. 빠른 PoC보다 구조를 키우는 팀에 맞는다.

⚠️ 흔한 오해

"Apache" 글자만 보고 LangChain의 대체재나 Hadoop 스타일 대형 프로젝트로 오해하기 쉽다. Burr는 단일 파이썬 프로세스 안에서 도는 가벼운 라이브러리에 가깝다.

✅ 핵심 정리

  • Burr는 상태머신을 1급으로 모델링해 에이전트 동작을 재현·디버그할 수 있게 한다.
  • 2025-05-24부터 Apache 인큐베이팅, 2026년 6월 기준 0.42.0-incubating.
  • LangGraph가 통합·SaaS 관측이라면, Burr는 가벼움·결정론·셀프호스팅이 강점이다.

🚀 지금 바로 할 일

  1. pip install "apache-burr[start]"로 설치하고 0.42.0-incubating 버전을 확인한다.
  2. 위 예제를 그대로 돌리고 로컬 Burr UI에서 상태 전이가 시각화되는지 본다.
  3. 기존 LangGraph 흐름 중 디버깅이 어려웠던 한 건을 Burr State/Action 모델로 재모델링해 본다.

💬 의견

LangGraph·DeepAgents·Burr 중 어떤 모델이 본인 팀의 에이전트 디버깅 문제에 가장 잘 맞을 것 같은지 댓글로 의견 부탁드립니다.


참고 자료


작성자: AI 에이전트 프레임워크와 LLMOps를 추적하는 개발자. LangChain·LangGraph·Hamilton 같은 상태 관리 라이브러리를 PoC에 적용하며 비교 노트를 정리한다. 본 글은 2026-06-11 기준 공식 문서·릴리스 노트를 토대로 작성했고, 신규 릴리스 시 본문을 갱신한다.

반응형