Show HN: Burr – GenAI 앱 구축 및 디버깅을 더 빠르게 만드는 프레임워크
요약
Apache Burr는 챗봇, 에이전트 등 결정 기반 애플리케이션을 개발하고 디버깅하는 과정을 간소화하는 프레임워크입니다. 이는 상태 기계(State Machine) 개념을 활용하여 복잡한 로직 흐름과 의사결정 과정을 명시적으로 모델링할 수 있게 합니다. Burr는 실시간 추적/모니터링 UI, 상태 지속성 플러그인 등을 제공하며, 개발자가 LLM 기반 애플리케이션의 전체 생명주기를 효율적으로 관리하고 프로덕션 수준으로 개선하는 데 도움을 줍니다. 이 프레임워크는 단순한 Python 함수로 상태 기계를 구축할 수 있게 하는 저추상화 라이브러리를 제공하며, 다양한 LLM 사용 사례(RAG 챗봇, 게임, 인터랙티브 어시스턴트 등)에 적용 가능합니다. 또한 기존의 인기 있는 LLM 프레임워크와 통합하여 개발자가 원하는 대로 확장성을 확보할 수 있습니다.
핵심 포인트
- 상태 기계 기반 모델링: 애플리케이션의 의사결정 흐름을 상태 기계(State Machine)로 명시적으로 정의하고 관리합니다.
- 통합 디버깅 및 모니터링: 실시간 추적/모니터링 UI를 제공하여 복잡한 LLM 에이전트의 실행 과정을 시각화하고 디버깅할 수 있습니다.
- 저추상화 Python API: 간단한 Python 함수만으로 상태 관리와 워크플로우 구축이 가능하며, 높은 유연성을 자랑합니다.
- 다양한 사용 사례 지원: 챗봇, RAG 시스템, 게임, 인터랙티브 어시스턴트 등 다양한 LLM 기반 애플리케이션에 적용할 수 있습니다.
- 확장성 및 통합 용이성: 기존의 인기 라이브러리와 플러그인 구조를 통해 원하는 기능을 쉽게 추가하고 커스터마이징 할 수 있습니다.
Apache Burr (incubating) 은 간단한 Python 구성 요소로 결정이 내려지는 애플리케이션 (챗봇, 에이전트, 시뮬레이션 등...) 을 개발하기 쉽게 만듭니다.
Apache Burr 는 LLM 을 사용하는 모든 애플리케이션에 잘 작동하며, 좋아하는 프레임워크와 통합할 수 있습니다. Burr 는 실시간으로 시스템을 추적/모니터링/트레이스할 수 있는 UI 를 포함하며, 메모리 등을 위한 플러그인 persisters (예: 상태 저장 및 로드) 도 제공합니다.
문서 링크. 빠른 (<3 분) 비디오 소개 여기. 긴 비디오 소개 및 워크스루프. 블로그 포스트 여기. 도움말/질문용 디스코드 참여 여기.
pypi 에서 설치:
pip install "burr[start]"
(poetry 를 사용하는 경우 문서를 참조하세요)
그런 다음 UI 서버 실행:
burr
이것은 Burr 의 telemetry UI 를 엽니다. 기본 데이터로 로드되어 있으므로 클릭할 수 있습니다.
또한 UI 가 캡처하는 것을 보여주기 위한 데모 채팅 애플리케이션도 포함되어 있으며, 실시간으로 변경되는 것을 볼 수 있습니다. 왼쪽의 "Demos" 사이드바를 누르고 chatbot 을 선택하세요.
채팅하려면 OPENAI_API_KEY 환경 변수가 설정되어 있어야 하지만 API 키가 설정되지 않은 경우에도 작동하는 방식을 확인할 수 있습니다.
다음으로, 코드 작성/실행 예제:
git clone https://github.com/apache/burr && cd burr/examples/hello-world-counter
python application.py
터미널에서 카운터 예제가 실행되고 UI 에서 트레이스가 추적되는 것을 보게 됩니다. 찾아보세요.
자세한 내용은 시작 가이드 참조.
Apache Burr 는 애플리케이션을 상태 기계 (즉, 그래프/플로우차트) 로 표현합니다. 상태 관리, 복잡한 결정 추적, 인간 피드백 추가 또는 Idempotent, 자기 지속성 워크플로우를 지정해야 하는 모든 것에 사용할 수 있습니다 (사용하고!).
핵심 API 는 간단합니다 -- Burr hello-world는 다음과 같습니다 (자신의 LLM 을 플러그인하거나 gpt-X 의 문서를 복사하세요):
from burr.core import action, State, ApplicationBuilder
@action(reads=[], writes=["prompt", "chat_history"])
def human_input(state: State, prompt: str) -> State:
...
Apache Burr 는 다음을 포함합니다:
- 단순한 Python 함수로 상태 기계 구축 및 관리가 가능하도록 (의존성 없는) 저 추상화 Python 라이브러리
- 내시각 및 디버깅을 위한 실행 telemetry 를 볼 수 있는 UI
- 상태를 지속, 트레이스 연결 및 다른 시스템과 통합하기 쉽게 만드는 일련의 통합 기능
Apache Burr 는 다양한 애플리케이션을 구동할 수 있으며:
- 단순한 gpt-like 챗봇
- 상태ful RAG 기반 챗봇
- LLM 기반 모험 게임
- 이메일 작성용 인터랙티브 어시스턴트
또한 시간 시리즈 예측 시뮬레이션 및 하이퍼파라미터 튜닝과 같은 다양한 (LLM) 사용 사례도 포함됩니다.
그리고 훨씬 더 많은 기능!
Hooks 와 다른 통합 기능을 사용하여 (a) 좋아하는 벤더 (LLM observability, 저장소 등...) 와 통합할 수 있고 (b) Apache Hamilton 과 같은 좋아하는 라이브러리에 위임하는 커스텀 액션을 구축할 수 있습니다.
Apache Burr 는 모델을 구축하는 방법, API 를 쿼리하는 방법, 데이터를 관리하는 방법을 알려주지 않습니다. 모든 것을 당신의 필요에 따라 확장하며 시스템의 논리를 따르기 쉽게 연결하는 데 도움을 줍니다. Burr 는 out of the box 에서 UI 를 Streamlit 에서 구축하고 상태 기계 실행을 관찰하기 위한 도구와 같은 다양한 통합 기능을 제공합니다.
시작 가이드를 위한 문서를 참조하고 예제를 따르세요. 그런 다음 개념을 읽으시고 자신의 애플리케이션을 작성하세요!
Apache Burr 는 다소 독특한 것을 시도하고 있지만, 유사한 공간을 차지하는 다양한 도구가 존재합니다:
| 기준 | Apache Burr | Langgraph | temporal | Langchain | Superagent | Apache Hamilton |
|---|---|---|---|---|---|---|
| 명시적으로 상태 머신 모델링 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| ... | ||||||
| Apache Burr 는 미국 3 차 부통령이자 Alexander Hamilton 의 적대자/살인자인 Aaron Burr 를 닮은 이름입니다. | ||||||
| (Apache) Hamilton 과의 연결고리는 무엇인가요? 우리는 Burr 와 Hamilton 이 조화를 이루며 그들의 차이점을 극복하여 연합을 더 잘하게 하는 세상을 상상합니다. 원래 Apache Burr 는 Apache Hamilton DAG( Directed Acyclic Graph ) 실행 간 상태 처리를 위한 harness 로 구축되었으나 (DAG 는 사이클이 없으므로), 다양한 응용 프로그램이 있음을 깨닫고 이를 광범위하게 출시하기로 결정했습니다. |
"여러 다른 LLM 프레임워크를 평가한 후, 그들 우아하면서도 포괄적인 상태 관리 솔루션은 AI 의사결정에 의해 구동되는 로봇을 배포하는 강력한 답변임을 증명했습니다."
Ashish Ghosh
CTO, Peanut Robotics
"물론 [LangChain] 을 사용할 수 있지만, 이것이 실제로 프로덕션 준비가 되었는지, '코드에서 프로덕션' 시간까지 개선하는지 [...], 우리는 LLM 앱 2 년 동안 해왔고 답은 아니오 [...] 모든 이러한 '모든 것 포함' 라이브러리는 이 문제점을 겪습니다 [...]. 솔직히 Burr 를 보십시오. 나중에 감사해하십시오."
Reddit 사용자 cyan2k
LocalLlama, Subreddit
"Burr 를 사용하는 것은 모듈형 AI 애플리케이션을 구축하고 싶다면 무조건입니다. 그것은 매우 쉽게 구축할 수 있으며, 특히 디버깅을 초보로 만드는 그들의 UI 를 사랑합니다. 그리고 항상 도와줄 준비가 된 팀은 그 위에 딸기입니다."
Ishita
Founder, Watto.ai
"나는 Burr 를 처음 접했고 나는 WOW, 이것이 정확히 이 필요성을 예측했을 때 구축하는 것처럼 보입니다. AI 만으로 인해 특이한 개념이 없음을 좋아합니다."
Matthew Rideout
Staff Software Engineer, Paxton AI
"Burr 의 상태 관리 부분은 상태 스냅샷 생성 및 디버깅, 재생성, 그리고 평가 사례 구축을 위해 정말 도움이 됩니다."
Rinat Gareev
Senior Solutions Architect, Provectus
"나는 지난 몇 달 동안 Burr 를 사용해 왔으며, 많은 에이전트 LLM 플랫폼 (예: LangChain, CrewAi, AutoGen, Agency Swarm 등) 과 비교하여 Burr 는 복잡한 행동을 설계하는 데 더 견고한 프레임워크를 제공합니다."
Hadi Nayebi
Co-founder, CognitiveGraphs
"LangChain 에서 Burr 로 전환은 게임 체인저였습니다!
시간 절약: Burr 를 시작하는 데 몇 시간이 걸렸는데, LangChain 을 탐색하려고 시도하며 하루와 주일을 보낸 것과 비교됩니다. 더 깔끔한 구현: Burr 로 인해 마침내 더 깔끔하고 고도화되고 안정적인 구현을 갖게 되었습니다. 복잡한 코드베이스와 싸우는 것이不再 필요했습니다. 팀 채택: 나는 내 동료들에게 Burr 를 제안했고, 우리는 전체 코드베이스를 전환했습니다. 그 이후로 매끄러운 여정이었습니다."
Aditya K.
DS Architect, TaskHuman
Apache Burr 는 안정적이고 잘 테스트되었지만, 우리의 로드맵에는 많은 도구/기능이 있습니다!"}
- FastAPI 통합 + 호스팅 배포 -- REST API 를 고려하지 않고 애플리케이션에 Apache Burr 을 프로덕션 환경에 쉽게 도입할 수 있도록 합니다.
- 코어 라이브러리의 다양한 효율성/사용성 개선 (자세한 내용은 계획된 기능 참조). 여기에는 다음이 포함됩니다:
- 재시도 + 예외 관리의 1 차 지원
- 인기 있는 프레임워크와의 더 긴밀한 통합 (LCEL, LLamaIndex, Apache Hamilton 등)
- 추가 메타데이터 포착 및 표출, 예를 들어 특정 시점에 대한 주석 등을 통해 미세 조정 등에 사용할 수 있도록 추출할 수 있습니다.
- pydantic 기반 타입 시스템 개선
상태 기계의 호스팅 실행을 위한 도구, 인프라 (Ray, modal, FastAPI + EC2 등) 와 통합.
더 많은 스토리지 통합. MySQL, S3 등의 기술과 더 긴밀한 통합을 통해 Apache Burr 을 사용 가능한 것 위에 실행할 수 있도록 합니다.
위 솔루션을 호스팅하지 않으려면 Burr Cloud 를 구축하고 있습니다. 관심사를 알려드리기 위해 여기에서 대기 목록에 가입하여 액세스를 받으세요.
우리는 기여자를 환영합니다! 개발 시작을 위해 개발자용 문서를 참조하세요.
핵심 기능, 통합 또는 예제를 기여한 사용자.
- Elijah ben Izzy
- Stefan Krawczyk
- Joseph Booth
- Nandani Thakur
- Thierry Jean
- Hamza Farhan
- Abdul Rafay
- Margaret Lange
작은 문서 수정, 디자인 제안 및 버그 발견에 기여한 사용자.
Apache Burr 는 Apache 2.0 라이선스를 따릅니다. 자세한 내용은 LICENSE 를 참조하세요.
우리는 새로운 기여자의 변경 사항을 매우 지지합니다! 크기가 큰 것 같든 작은 것 같든 잠재적 변경 사항을 논의하기 위해 이슈를 생성하거나 기존 것에 대한 주석을 남기기를 먼저 하세요. 좋은 첫 번째 기여는 좋아하는 Python 라이브러리와 예제 또는 통합을 만드는 것입니다!
기여하려면 기여 가이드, 개발자 설정 가이드 및 행동 강령을 확인하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기