AI 에이전트가 같은 실수를 반복한다면? 이전 작업에서 배운 내용을 다음 작업에 적용할 수 있다면 얼마나 좋을까요? Acontext는 바로 이 문제를 해결하기 위한 오픈소스 플랫폼입니다.

memodb-io 팀이 공개한 Acontext는 AI 에이전트를 위한 컨텍스트 데이터 플랫폼입니다. 에이전트가 작업하면서 쌓은 경험을 자동으로 학습하고 재사용할 수 있게 해주는 시스템이죠. 단순한 컨텍스트 저장소를 넘어 에이전트의 ‘장기 기억’이 되어줍니다.
출처: Acontext GitHub Repository – memodb-io
저장-관찰-학습, 세 단계로 작동하는 메커니즘
Acontext의 핵심은 세 가지 기능으로 요약됩니다.
첫 번째는 저장(Store)입니다. 에이전트와 사용자의 대화 메시지를 Session에 저장하고, 에이전트가 생성한 파일이나 코드 같은 산출물은 Disk에 보관합니다. 일반적인 데이터베이스처럼 보이지만, 에이전트의 컨텍스트와 산출물에 특화된 구조죠.
두 번째는 관찰(Observe)입니다. 여기서 흥미로운 점이 등장하는데요. Acontext는 모든 Session마다 백그라운드에서 ‘Task Agent’를 자동으로 실행합니다.
Task Agent는 대화 내용을 분석해서 작업 목록과 진행 상황을 추출합니다. 예를 들어 사용자가 “GitHub 저장소에 스타 달아줘”라고 요청하면, Task Agent는 이걸 하나의 작업으로 인식하죠. 그다음 에이전트와 사용자의 대화를 계속 관찰하면서 진행 상황을 추적합니다.
에이전트가 “GitHub 페이지로 이동했습니다”라고 응답하면 이를 진행 상황에 기록하고, “로그인이 필요하네요”라고 하면 그것도 기록합니다. 사용자가 “Outlook 계정으로 로그인해줘”라고 말하면, Task Agent는 이를 ‘사용자 선호도’로 저장하죠. 마치 프로젝트 매니저가 작업 일지를 작성하듯이 말입니다.
세 번째는 학습(Learn)입니다. 작업이 완료되면 Acontext는 백그라운드에서 성공한 작업 패턴을 분석해 SOP(Standard Operating Procedure)를 추출합니다. 이 SOP는 ‘Space’라는 Notion 같은 구조에 저장되는데요. 폴더, 페이지, 블록으로 체계적으로 정리됩니다. 예를 들어 /github/basic_ops/ 경로에 create_repo, delete_repo 같은 스킬 블록이 저장되는 식이죠.
실제로 어떻게 사용할까?
Acontext를 시작하는 건 생각보다 간단합니다. 먼저 터미널에서 CLI를 설치합니다:
curl -fsSL https://install.acontext.io | shDocker가 설치되어 있다면, 작업 디렉토리를 만들고 서버를 실행하세요:
mkdir acontext_server && cd acontext_server
acontext docker up이 명령어는 .env 파일을 생성하고 OpenAI API 키를 요청합니다. 설정이 완료되면 API 서버(localhost:8029)와 대시보드(localhost:3000)가 실행됩니다.
이제 에이전트 코드에 통합해봅시다. Python SDK를 예로 들면:
pip install acontext
from acontext import AcontextClient
client = AcontextClient(
base_url="http://localhost:8029/api/v1",
api_key="sk-ac-your-root-api-bearer-token"
)
# Space 생성 (스킬을 저장할 공간)
space = client.spaces.create()
# Session 생성 및 Space 연결
session = client.sessions.create(space_id=space.id)
# 메시지 전송 (Task Agent가 자동으로 추적 시작)
client.sessions.send_message(
session_id=session.id,
blob={"role": "user", "content": "GitHub 저장소에 스타 달아줘"},
format="openai"
)메시지를 보내는 순간부터 Acontext가 백그라운드에서 작업을 추적합니다. 작업이 완료되면 자동으로 SOP를 추출해 Space에 저장하죠.
나중에 비슷한 작업이 필요할 때는 experience_search를 사용해 Space에서 관련 스킬을 검색할 수 있습니다. “GitHub 인증 구현이 필요해”라고 검색하면, 과거에 학습한 GitHub 로그인 패턴이 반환됩니다. Acontext는 빠른 임베딩 검색 모드와 전체 Space를 탐색하는 에이전틱 모드를 모두 지원합니다.
대시보드에서는 세션별 메시지, 작업 진행 상황, 산출물, 학습된 스킬을 시각적으로 확인할 수 있습니다. 에이전트의 성공률과 작업 단계 수를 추적하는 BI 기능도 제공하죠.
에이전트 신뢰성 문제의 새로운 접근
Acontext가 해결하려는 핵심 문제는 에이전트의 신뢰성입니다. 현재 대부분의 AI 에이전트는 상태를 기억하지 못하고 매번 처음부터 시작합니다. 같은 작업을 반복할 때마다 동일한 시행착오를 겪죠.
Acontext는 에이전트가 경험에서 학습할 수 있는 구조를 제공합니다. 성공한 작업 패턴을 자동으로 추출하고 재사용 가능한 형태로 저장하는 거죠. 개발자는 직접 프롬프트에 예시를 추가하거나 컨텍스트를 관리할 필요가 없습니다.
물론 한계도 있습니다. 학습 과정이 백그라운드에서 10-30초 지연되며, 모든 작업이 학습 대상이 되는 건 아닙니다. Acontext는 작업이 “충분히 복잡한지” 판단해 너무 단순한 작업은 스킵합니다. 또한 OpenAI API 키가 필수이며, GPT-4.1 이상의 모델을 권장합니다.
그럼에도 Acontext는 에이전트 개발에서 오랫동안 해결되지 않았던 문제에 대한 실용적 해법을 제시합니다. 에이전트가 점점 더 복잡한 작업을 수행하게 되는 지금, 이런 ‘자가 학습’ 메커니즘은 필수적인 인프라가 될 것으로 보입니다.
참고자료:

답글 남기기