본문 바로가기

인공지능

AI 워크플로우를 자유롭게 설계한다면? — 이벤트 기반 AI 에이전트 프레임워크 Graphite 소개

728x90
반응형

 

지금까지 없던 AI 에이전트 설계 프레임워크

AI 도구는 점점 많아지고 있지만, 정말 ‘업무에 딱 맞는’ AI 에이전트를 설계하기란 여전히 쉽지 않습니다. ChatGPT, Claude, 다양한 프레임워크들이 있지만, 치명적인 실수를 허용하지 않는 미션 크리티컬 환경에선 그 신뢰성이 발목을 잡곤 하죠.

그래서 탄생한 것이 Graphite입니다.
이 블로그에서는 오픈소스로 공개된 **Graphite 프레임워크의 구조, 특징, 그리고 실제 예제(KYC Assistant)**를 중심으로, 이 프레임워크가 기존 AI 도구들과 어떤 차별점을 갖고 있는지 자세히 소개합니다.

반응형

🧱Graphite의 기본 구조: 간단하지만 강력한 3단계 계층

Graphite는 도메인 특화형 AI 어시스턴트를 손쉽게 만들 수 있도록 설계된 프레임워크입니다. 구성은 아래와 같이 3개의 계층으로 나뉘며, 각 계층은 다음과 같은 역할을 수행합니다.

1. Assistant (어시스턴트)

  • 전체 워크플로우를 조율하며, 대화 상태(conversation state)를 관리합니다.

2. Node (노드)

  • 하나의 논리 단위를 담당하는 블록입니다. 예: LLM 호출, 함수 실행 등.

3. Tool (툴)

  • API 호출, 파이썬 함수 실행 등 실제 작업을 수행하는 순수 함수로 구성됩니다.

이러한 구성은 **모듈화와 조합성(composability)**을 높여 Lego 블록처럼 쉽게 AI 워크플로우를 설계할 수 있게 합니다.


🔄이벤트 기반 아키텍처: 모든 동작은 "이벤트"로 추적된다

Graphite의 또 다른 핵심은 이벤트 소싱(Event Sourcing) 아키텍처입니다.
모든 노드, 도구, 어시스턴트의 상태 변화는 이벤트로 기록되며, 이는 다음과 같은 이점을 제공합니다:

  • 모니터링 가능성 (Observability)
    문제 발생 시 어느 단계에서 오류가 났는지 정확히 추적 가능
  • 불변성 & 재시도 안전성 (Idempotency)
    네트워크 오류 시 재시도해도 결과가 일관되게 유지됨
  • 감사 추적 (Auditability)
    규제 산업에서 요구되는 전 과정 추적 가능
  • 복원성 (Restorability)
    중단된 작업을 중간부터 재개 가능, 리소스 낭비 최소화

✨Graphite의 주요 특장점 정리

기능명 설명
관측 가능성 LLM 호출, 사용자 입력 등 모든 동작이 이벤트로 로깅되며, 문제 발생 시 위치 파악이 쉬움
불변성 이벤트 기반 설계로 중복 처리나 재시도 시도에서도 데이터 일관성 유지
감사 가능성 모든 동작 경로가 저장되어 감사 및 컴플라이언스 대응 가능
복원 가능성 긴 작업 도중 중단되어도 이벤트 기반 플레이백으로 이어서 실행 가능

💡예제: “헬스장 회원 등록”을 위한 KYC 어시스턴트 만들기

이제 Graphite를 활용해 Know Your Client(KYC) 기반의 헬스장 등록 어시스턴트를 구현해보겠습니다.

사용 시나리오

  • 사용자가 이름과 이메일을 입력하면 등록 진행
  • 누락 정보가 있을 경우 HITL(Human In The Loop) 방식으로 추가 요청

설치

pip install grafi

주요 구성요소

  • 7개의 Topic: 데이터 흐름 경로 (입력, 추출, 등록 요청 등)
  • 5개의 Node: 각 단계의 논리적 작업 처리 (LLM 분석, 툴 함수 실행 등)

예제 코드 핵심 구조

class RegisterClient(FunctionTool):
    @llm_function
    def register_client(self, name: str, email: str):
        return f"User {name}, email {email} has been registered."

Graphite의 핵심은 위처럼 각 기능이 노드로 분리돼 있으며, 조건에 따라 다양한 토픽을 구독/발행함으로써 AI 워크플로우 전체를 흐름 제어하는 구조를 가집니다.


🧪추적 및 디버깅: 실제 대화 로그 확인하기

Graphite는 OpenTelemetryArize의 OpenInference를 통해 에이전트 동작을 실시간 추적할 수 있도록 지원합니다.

예를 들어, 로컬에서 추적을 테스트하려면 아래 명령어를 실행하면 됩니다:

phoenix serve

예시 대화
👤 User: 헬스장 등록하고 싶어요
🤖 Assistant: 이름과 이메일을 입력해주세요
👤 User: 김지민, jimin@domain.com
🤖 Assistant: 등록 완료되었습니다, 김지민님!


728x90

Graphite는 다음과 같은 니즈가 있는 개발자나 조직에 적합한 프레임워크입니다.

  • 도메인 특화형 AI 에이전트를 직접 설계하고 싶은 경우
  • 높은 신뢰성과 추적성, 복원성이 요구되는 산업군(예: 금융, 의료)
  • 이벤트 중심으로 확장 가능한 구조를 갖춘 AI 시스템을 구축하고 싶은 경우

Graphite는 단순한 실험용 툴이 아닌, 운영 환경에서 바로 사용할 수 있는 수준의 구조적 안정성과 유연함을 제공합니다. 특히 LLM 기반 워크플로우에서 발생할 수 있는 불확실성을 제어하고자 한다면, Graphite는 훌륭한 선택지가 될 수 있습니다.

https://medium.com/binome/introduction-to-graphite-an-event-driven-ai-agent-framework-540478130cd2

 

Introduction to Graphite — An Event Driven AI Agent Framework

Graphite is an open-source framework for building domain-specific AI assistants using composable agentic workflows. It offers a highly…

medium.com

https://github.com/binome-dev/graphite?source=post_page-----540478130cd2---------------------------------------

 

GitHub - binome-dev/graphite: Graphite Agentic Framework by Binome Technologies

Graphite Agentic Framework by Binome Technologies. Contribute to binome-dev/graphite development by creating an account on GitHub.

github.com

728x90
반응형