안녕하세요.
제가 만든 에이전트 오케스트레이션 엔진 NeoGraph를 공유합니다.
C++17기반이구요 아래의 커맨드로 설치하실 수 있습니다.
pip install neograph-engine

왜 만들었나

Python기반의 LangGraph를 사용하다보면 성능이 아쉬울 때가 많았습니다. 서버 가동 시 필요로 하는 사양도 꽤 요구하기 때문에 가볍고 빠른 오케스트레이션 엔진이 있었으면 좋겠다고 생각할 때가 많았기 때문에 C++로 구현하여 성능향상을 노려보자는 흐름으로 이어지게 되었습니다.

특징?

그래프를 코드가 아니라 데이터로 다룹니다.

대부분의 Python 프레임워크는 그래프를 Python 객체로 정의합니다. NeoGraph는 그래프 구조 자체를 JSON으로 정의합니다. StateGraph 객체가 아니라, DB 한 줄에 들어가는 JSON 한 덩어리로 정의됩니다.

따라서 다음과 같은 것들이 가능해집니다.

  1. 무배포 핫스왑 - 에이전트 구조(그래프 토폴로지)를 바꾸려면 DB의 JSON 한 줄만 교체하면 됩니다.
    재배포도, 프로세스 재시작도, 진행중인 대화 유실도 없습니다.

  2. 멀티테넌트 - 고객마다 다른 에이전트 구조를 한 프로세스 안에서 돌릴 수 있습니다. 실제 OpenAI gpt-4o-mini로 1,000 고객 동시 처리 시 RSS 29MB, 에러 0건이었습니다. 같은 구성을 LangGraph로 하면 고객당 프로세스라 대략 수십GB 가량이 필요하다고 봅니다.

  3. 자가진화 에이전트 - LLM이 각 고객 대화를 보고 그 고객의 graph_def(JSON)을 다시 씁니다. 즉, 에이전트가 사용자 행동에 맞춰 "스스로 모양을 바꿉니다."

그리고 빠릅니다.

프레임워크 엔진 오버헤드 (노드 1회) NeoGraph 대비
NeoGraph 5.0 µs
Haystack 140 µs 28×
LangGraph 643 µs 128×
LlamaIndex 1,565 µs 313×
AutoGen 3,127 µs 625×

물론 측정 방식에 따라 다를 수도 있고, 실제 LLM 호출이 끼면 외부 I/O가 지배하니 체감 속도는 비슷해질
수 있습니다.
이 µs 숫자가 진짜 의미를 갖는 건 한 박스에 수천 요청이
날아오는 멀티테넌트/엣지 케이스라고 생각합니다.

GitHub: https://github.com/fox1245/NeoGraph
PyPI: https://pypi.org/project/neograph-engine/

피드백 환영합니다.

댓글과 토론