facts

이번에 공개된 NeoGraph는 C++17 기반의 에이전트 오케스트레이션 엔진이다. 기존 Python 기반 프레임워크의 성능 한계와 높은 서버 사양 요구치를 해결하기 위해 개발됐다. 설치는 PyPI를 통해 다음 명령어로 수행한다.

bash
pip install neograph-engine

가장 핵심적인 변화는 그래프 구조의 정의 방식이다. NeoGraph는 그래프를 Python 객체와 같은 코드가 아니라 JSON 형태의 데이터로 다룬다. 그래프 토폴로지는 DB의 한 행에 저장되는 JSON 덩어리로 정의되며, 이를 통해 엔진이 구동되는 상태에서 구조를 변경하는 것이 가능하다.

실제 운영 효율을 측정하기 위해 OpenAI의 gpt-4o-mini 모델을 사용해 1,000명의 고객을 동시에 처리하는 멀티테넌트 테스트를 진행했다. 측정 결과, RSS(Resident Set Size, 실제 물리 메모리 점유 공간)는 29MB였으며 에러는 0건으로 기록됐다.

how-it-works

NeoGraph의 작동 방식은 '코드 기반 정의'에서 '데이터 기반 정의'로의 전환에 있다. 일반적인 Python 프레임워크가 그래프를 객체로 정의하는 것과 달리, NeoGraph는 `graph_def`(JSON)를 통해 구조를 결정한다. 이 구조적 차이는 세 가지 구체적인 기능으로 이어진다.

첫째는 무배포 핫스왑이다. 에이전트의 그래프 토폴로지를 변경할 때 프로세스를 재시작하거나 코드를 재배포할 필요 없이, DB에 저장된 JSON 데이터만 교체하면 즉시 반영된다. 이 과정에서 진행 중인 대화 세션의 유실이 발생하지 않는다.

둘째는 자가진화 메커니즘이다. LLM이 사용자와의 대화 내용을 분석해 해당 사용자의 `graph_def` JSON을 직접 수정하도록 설계할 수 있다. 결과적으로 에이전트가 사용자 행동 패턴에 맞춰 스스로의 구조를 변경하는 최적화가 가능하다.

셋째는 엔진 오버헤드의 최소화다. 노드 1회 실행 시 발생하는 엔진 오버헤드를 측정한 결과는 다음과 같다.

| 프레임워크 | 엔진 오버헤드 (노드 1회) | NeoGraph 대비 |

| :--- | :--- | :--- |

| **NeoGraph** | **5.0 µs** | **1×** |

| Haystack | 140 µs | 28× |

| LangGraph | 643 µs | 128× |

| LlamaIndex | 1,565 µs | 313× |

| AutoGen | 3,127 µs | 625× |

이 수치는 LLM 호출 시 발생하는 외부 I/O 시간이 지배적인 일반 상황보다, 한 서버에서 수천 개의 요청을 처리해야 하는 멀티테넌트 환경이나 리소스가 제한된 엣지(Edge) 케이스에서 유효한 성능 차이를 만든다.

implementation-impact

개발자와 실무자가 인프라 설계 시 가장 크게 다르게 판단해야 할 지점은 프로세스 격리 방식과 메모리 비용이다.

기존 LangGraph와 같은 Python 기반 도구로 멀티테넌트 환경을 구축할 경우, 고객별로 프로세스를 분리해야 하므로 수십 GB의 메모리가 필요할 가능성이 높다. 반면 NeoGraph는 단일 프로세스 내에서 JSON 정의서만 다르게 적용해 수천 명의 고객을 처리할 수 있어, 메모리 점유율을 MB 단위로 낮출 수 있다.

따라서 고성능 오케스트레이션이 필요하거나, 엣지 디바이스처럼 가용 메모리가 극도로 제한된 환경에서 에이전트를 구동해야 하는 경우 NeoGraph가 대안이 된다. 특히 런타임 중에 에이전트의 로직을 빈번하게 수정해야 하는 서비스라면, 재배포 과정이 생략되는 JSON 기반 핫스왑 구조를 통해 운영 파이프라인을 단순화할 수 있다.

관련 소스 코드와 상세 내용은 GitHub(https://github.com/fox1245/NeoGraph) 및 PyPI(https://pypi.org/project/neograph-engine/)에서 확인할 수 있다.