메모리를 가진 에이전트: Agno와 SurrealDB가 신뢰할 수 있는 AI 시스템을 가능하게 하는 방법
Source: Dev.to
SurrealDB CEO Tobie Morgan Hitchcock 은 최근 Agno 설립자이자 CEO Ashpreet Singh 와 SurrealDB 솔루션 엔지니어 Martin Schaer 를 초대해 라이브스트림을 진행했습니다. 이번 방송에서는 에이전트가 신뢰성 있게 기억하도록 만드는 방법을 논의했습니다. 대화에서는 프로덕션 수준 에이전트 시스템을 구축할 때 직면하는 현실, 원시 모델 성능보다 컨텍스트가 왜 더 중요한지, 그리고 Agno의 Agent OS와 SurrealDB가 현대적인 에이전트‑메모리 스택으로 어떻게 결합되는지를 다루었습니다. 이 글은 그 라이브스트림을 개발자와 팀을 위한 집중 Q&A 형태로 정리한 것으로, 에이전트가 단일 프롬프트에만 반응하는 수준을 넘어 더 많은 일을 수행하도록 하고자 하는 이들을 위한 내용입니다.
Agno란 무엇이며, SurrealDB와 왜 이렇게 잘 맞을까요?
Tobie: 아직 Agno를 사용해보지 않은 분들을 위해, 이것이 무엇을 하는지, 그리고 SurrealDB와는 어떻게 연결되는지 알려주세요.
Ashpreet:
-
Agno는 고성능 멀티‑에이전트 프레임워크입니다. 진지한 에이전트 시스템을 구축하고 싶다면, Agno는 한 번에 세 가지를 제공합니다:
- 하니스 – 언어 모델과 에이전트가 실행되는 환경.
- 런타임 – 자체 클라우드에 배포하여 데이터 제어권을 유지할 수 있습니다.
- 사용자 인터페이스 – 에이전트를 관찰하고 관리할 수 있게 해줍니다.
-
LLM으로 시스템을 구축할 때는 항상 두 가지 요소가 있습니다:
- 하니스 (Agno의 핵심) – 모델과 에이전트가 실행되는 환경.
- 컨텍스트 – 그 하니스에 제공하는 입력이며, 여기서 SurrealDB가 역할을 합니다.
-
Agno는 에이전트를 조정하기 위한 Agent OS를 제공합니다.
-
SurrealDB는 에이전트에게 적절한 정보를 제공하는 메모리 및 지식 레이어를 제공합니다.
-
처음부터 Agno와 SurrealDB의 통합은 이미 두 제품을 함께 사용하고 있던 사용자들에 의해 추진되었습니다. 그들은 멀티‑에이전트 워크플로우를 실행하고 동시에 메모리, 지식, 그래프 관계를 처리할 수 있는 데이터베이스가 필요했습니다. 이 조합이 바로 이번 파트너십의 핵심입니다.
에이전트를 구축할 때 팀이 겪는 어려움은 무엇인가요?
Tobie: 개발자와 기업이 Agno 위에서 구축할 때 가장 큰 과제는 무엇이라고 보십니까?
Ashpreet: 우리는 두 가지 큰 과제를 반복해서 보고 있습니다.
-
신뢰성 및 가시성 – 팀은 자신들이 만든 것이 실제로 작동하는지 알고 싶어합니다. 그들은 다음을 묻습니다:
- 시스템 성능은 어떠한가?
- 언제 라이브로 전환할 수 있는가?
- 이 특정 상호작용에서 무슨 일이 있었는가?
가끔 작동하는 것만으로는 충분하지 않습니다. 반복 가능한 동작과 이를 검사할 수 있는 방법이 필요합니다.
-
컨텍스트 – 언어 모델에서는 제어할 수 있는 주요 요소가 입력입니다. 컨텍스트가 잘못되었거나 잡음이 섞이면 출력은 예측할 수 없게 됩니다. 팀은 가장 관련성 높고 최신의 컨텍스트를 일관되게 제공하는 방법에 어려움을 겪고 있어, 사용자가 매번 좋은 경험을 얻을 수 있도록 해야 합니다.
답변이 단순히 더 큰 컨텍스트 윈도우인가요?
Tobie: 많은 개발자들이 모델에 더 많은 컨텍스트를 제공함으로써 이 문제를 해결하려고 합니다. 효과가 있을까요?
Ashpreet: 그렇지는 않습니다. 사람들은 거대한 컨텍스트 윈도우에 대해 기대하지만, 실제로는 모든 요청에 모든 정보를 보내고 싶지는 않습니다. 사용 가능한 토큰이 백만 개라면 백만 개를 모두 보내서는 안 됩니다. 필요한 것만 정확히 보내야 합니다.
여기서 중요한 두 가지 포인트:
- 작업에 가장 적합한 모델을 사용하는 것이 도움이 되지만, 그럼에도 불구하고 너무 많은 컨텍스트를 보내면 모델이 덜 집중하게 되고 비용이 증가합니다.
- 일관성은 크기에서 오는 것이 아니라, 모델에게 작업과 명확히 관련된, 범위가 좁은 정보를 제공함으로써 얻어집니다.
이때 적절한 메모리와 지식 아키텍처가 중요합니다. 많은 데이터를 저장하고 싶지만, 정확히 검색할 수 있어야 합니다. 이것이 이 스택에서 SurrealDB의 역할입니다: 구조화된 사실, 벡터, 관계, 그리고 히스토리를 한 곳에 보관하고, Agno가 제어된 방식으로 질의할 수 있게 합니다.
SurrealDB가 Agno의 Agent OS와 정확히 어떻게 통합되나요?
Tobie: Agno × SurrealDB 통합이 개발자에게 실제로 어떤 가치를 제공했나요?
Martin: 통합은 두 단계로 이루어졌습니다.
-
벡터 스토어 통합 – 처음에 SurrealDB를 지식용 벡터 스토어로 통합했습니다. 이를 통해 Agno 에이전트는 SurrealDB에 저장된 문서들을 대상으로 의미 검색을 수행하고 이를 지식 베이스로 활용할 수 있게 되었습니다.
-
네이티브 메모리 제공자 – 최근에는 SurrealDB를 Agent OS 내부의 네이티브 메모리 제공자로 병합했습니다. 이제 에이전트는 세션, 메모리, 지식 스냅샷, evals, 메트릭을 직접 SurrealDB에 저장할 수 있습니다. 각 에이전트 실행마다 데이터베이스에서 사용된 토큰 수, 소요 시간, 가져온 컨텍스트, 저장된 메모리를 확인할 수 있습니다.
실제로: Agno 에이전트는 SurrealDB를 장기 메모리와 자체 행동에 대한 분석의 진실된 소스로 동시에 사용합니다. 이를 통해 무엇이 실제로 일어났는지 확인할 수 있어 디버깅 및 에이전트 개선이 훨씬 쉬워집니다.
Agno는 “컨텍스트”와 “메모리”를 어떻게 생각하나요?
Tobie: 업계에서는 컨텍스트, 지식, 메모리, 뇌, 추론 등 다양한 용어를 사용합니다. Agno 안에서는 이들을 어떻게 생각하나요?
Ashpreet: 우리는 유행어를 피하고 모든 것을 컨텍스트로 생각하려고 합니다. 여기서 컨텍스트란 모델을 호출하는 프로그램에 제공되는 입력을 의미합니다. 이를 세 부분으로 나눌 수 있습니다.
-
작업 프롬프트 – 에이전트가 수행해야 할 작업에 대한 설명.
- 예시: “당신은 사용자 지원 티켓에 답변하고 친절하고 간결한 스타일로 응답해야 합니다.”
-
메모리 – 특정 사용자, 세션, 혹은 이전 상호작용에 대한 정보.
- 예시: “사용자는 뉴욕에 거주하며, 제품 X를 좋아하고, 이메일 커뮤니케이션을 선호합니다.”
- 여기서는 SurrealDB를 메모리 저장소로 자주 사용합니다.
-
지식 – 문서, 과거 티켓, 제품 매뉴얼, 연구 노트 등.
- SurrealDB는 벡터, 문서, 그래프를 활용한 백업 저장소 역할을 합니다.
중요한 설계 선택은 모델에 모든 정보를 항상 강제로 제공하지 않는다는 점입니다. 대신 에이전트에게 필요한 컨텍스트를 필요할 때 검색할 수 있는 도구를 제공합니다.
왜 SurrealDB가 에이전트 메모리와 컨텍스트에 적합한가?
Tobie: 많은 저장 시스템이 벡터를 저장할 수 있습니다. SurrealDB가 에이전트의 메모리 레이어로 유용한 이유는 무엇인가요?
Martin: 실제로 에이전트는 오직 임베딩만 필요로 하는 경우는 드뭅니다. 실제 워크로드는 한 번에 여러 종류의 데이터를 포함합니다.
- 팀은 구조화된 사실, 벡터, 그래프 관계, 그리고 시계열 데이터를 위해 SurrealDB를 사용합니다.
- 일반적인 패턴: 사용자와 계정을 저장하고, 그래프로 연결하며, 콘텐츠에 임베딩을 첨부하고, 타임스탬프가 있는 이벤트를 기록합니다.
검색 전략:
- 벡터 데이터에 대한 유사도 검색.
- 그래프 관계를 사용해 결과 정제 (예: 테넌트, 시간 창으로 필터링하거나 계정, 티켓, 문서와의 관계를 따라감).
- 시간 인식 – 각 청크를 월 또는 기간과 연결시켜, 관련된 시간대만 유지할 수 있습니다.
결과는 에이전트에게 보다 깔끔하고 관련성 높은 컨텍스트를 제공합니다. “상위 N 벡터 매치” 대신, 에이전트는 사용자의 실제 세계를 신중하게 선별한 조각을 보게 되어 정확도가 향상되고 시스템이 더 결정론적으로 동작합니다.
사람들은 오늘날 Agno와 에이전트 메모리를 가지고 실제로 무엇을 만들고 있나요?
Tobie: 프로덕션 환경에서 현재 잘 작동하고 있는 에이전트 사용 사례는 어떤 것이 있나요?
Ashpreet: 대부분의 성공적인 사용 사례는 꽤 실용적이며—때로는 지루하기도—but 실제 가치를 제공합니다.
공통 패턴
-
문서 처리 및 추출 파이프라인
- 청구서 처리, 계약서 분석, 반구조화 또는 시각 문서에서 핵심 필드 추출.
- 멀티모달: PDF, 이미지, 텍스트를 함께 처리.
-
내부 지식 어시스턴트
- 영업 콜 준비, 사고 요약, 관련 문서 제공, 특정 고객이나 기능에 대한 이력 정리.
-
지원 워크플로우
- 에이전트가 과거 티켓을 읽고, 사용자 이력을 파악하며, 스크린샷이나 차트를 검토한 뒤 응답 초안을 작성하거나 다음 행동을 제안합니다.
- 멀티모달 모델 + 강력한 메모리 레이어가 여기서 빛을 발합니다.
이러한 경우 대부분에서 SurrealDB가 지식과 메모리의 중앙 저장소 역할을 하며, Agno는 그 데이터 위에 놓인 에이전트를 조정하는 하네스와 도구를 제공합니다.
우리는 완전 자율적인, 전사 규모 에이전트에 가까워졌나요?
Tobie: 많은 조직이 모든 회사 데이터를 자유롭게 누비는 하나의 거대한 에이전트를 꿈꿉니다. 오늘날 그것은 얼마나 현실적인가요?
Ashpreet: 아직 그 단계에 이르지는 못했으며, 이에 대해 솔직히 말하는 것이 중요합니다.
- 현재 상황: 특정 워크플로에 대해 인상적인 데모와 매우 효과적인 에이전트가 가능합니다.
- 모든 데이터와 워크플로에 대한 완전 자율성은 아직 현재 생태계 범위를 넘어섭니다.
상황이 개선되는 방법
- 더 나은 모델 – LLM 능력의 지속적인 발전.
- 성숙해지는 하니스 및 시스템 – 예: Agent OS, SurrealDB와 같은 풍부한 메모리/데이터 레이어, 그리고 더 강력한 엔지니어링 관행.
실용적인 조언:
- 작고, 명확하게 정의된 문제를 매우 잘 해결하는 에이전트를 구축하세요.
- 견고한 하니스와 강력한 메모리 레이어를 확보한 뒤, 기술이 성숙함에 따라 해당 에이전트를 더 큰 워크플로로 확장할 수 있습니다.
개발자는 Agno와 SurrealDB를 어떻게 시작해야 할까요?
Tobie: 지금까지 채팅형 상호작용만 사용해 온 개발자를 위해, 메모리를 가진 에이전트에 첫 발을 내딛는 좋은 단계는 무엇인가요?
Ashpreet: 작게 시작하고, 자신에게 중요한 문제부터 시작하세요.
- 개인적이거나 내부적인 워크플로우 중에서 깊이 이해하고 있는 것을 선택하세요 (예: 메모 어시스턴트, 일일 메시지 요약, 혹은 회사 문서용 내부 도우미).
- Agno 문서와 SurrealDB 통합 요리책을 사용해 SurrealDB에 연결된 Agent OS를 구축하세요.
- SurrealDB가 여러분의 지식, 세션, 메트릭을 저장하도록 하세요.
- Agno가 에이전트와 도구들을 조정하도록 하세요.
Key tip: 첫 번째 버전을 과도하게 고민하지 마세요. 목표는 하네스, 메모리, 모델이 어떻게 상호작용하는지를 체험하는 것입니다. 반복하면서 개선은 단순히 더 큰 모델로 바꾸는 것보다 더 나은 검색 및 메모리 설계에서 오는 경우가 많다는 것을 알게 될 것입니다.
Agno와 SurrealDB를 통한 에이전트 메모리의 다음 단계는?
Tobie: 앞으로 에이전트 분야에서 Agno와 SurrealDB의 가장 흥미로운 점은 무엇인가요?
Ashpreet: 우리가 매우 기대하고 있는 아이디어 중 하나는 Agent OS를 네트워크화된 런타임으로 보는 개념입니다.
- Agent OS는 MCP 도구와 API 등 다양한 방식으로 에이전트를 노출할 수 있습니다.
- 기업 내부에서는 팀마다 소유하고 특정 도메인에 특화된 여러 에이전트 런타임을 상상해 볼 수 있습니다.
- 이러한 에이전트들은 서로 대화할 수 있으며, SurrealDB가 그 아래에서 공유되거나 범위가 지정된 메모리 레이어 역할을 합니다.
SurrealDB 로드맵
- 보다 풍부한 멀티모달 지원 – 텍스트와 함께 이미지, 오디오, 비디오를 처리합니다.
- 통합 추상화를 통해 사실, 벡터, 그래프, 시계열에 걸친 메모리를 관리합니다.
- 목표: 에이전트가 필요로 하는 정보 유형을 간단히 설명하면, Agno와 SurrealDB의 조합이 해당 컨텍스트를 가져오고 형태를 맞춰 제공합니다.
핵심 요점: 신뢰할 수 있는 에이전트는 강력한 하네스와 강력한 메모리 레이어가 필요합니다. Agno는 하네스에 집중하고, SurrealDB는 메모리를 제공합니다. 이 둘이 함께 더 능력 있고 상호 연결된 에이전트를 향한 길을 열어갑니다.
활용
SurrealDB는 메모리와 컨텍스트에 중점을 둡니다. 이 두 요소가 함께 팀이 “멋진 데모” 단계에서 실제로 기억하는 프로덕션‑급 에이전트로 전환하도록 돕습니다.
시작하기
-
SurrealDB 계정을 생성하세요 – 에이전트 메모리, 지식, 그리고 컨텍스트를 저장할 수 있는 즉시 사용 가능한 무료 환경을 제공합니다.
👉 -
Agno와 SurrealDB 통합을 확인하세요 – Agent OS가 메모리, 세션, 평가, 그리고 지식 검색에 SurrealDB를 어떻게 활용하는지 살펴보세요.
👉 -
Agno 내부의 새로운 SurrealDB 통합을 탐색하세요 – 쿠크북 예제를 활용해 에이전트를 생성하고, 메모리 워크플로를 테스트하며, 컨텍스트가 풍부한 동작을 실험해 보세요.
👉