OpenWiki Brains: AI 에이전트를 위한 능동적 메모리
TMThttps://www.langchain.com/blog/introducing-openwiki-brains-general-purpose-wiki-memory-for-agents
에이전트에게 능동적 메모리를 제공하는 프레임워크, OpenWiki Brains를 출시합니다.
기존 메모리 솔루션은 사용 과정에서 발견한 패턴이나 에이전트 지침의 명시적 변경을 바탕으로 메모리 파일을 갱신하면서 에이전트가 점차 나아지도록 해줍니다. OpenWiki Brains를 쓰면 에이전트가 접근 권한을 부여받은 도구, 채널, 파일을 통해 관련 컨텍스트를 직접 가져와 능동적으로 메모리를 쌓을 수 있습니다. 무언가를 기억하라고 일일이 말해줄 필요가 없습니다.
얼마 전 우리는 코드베이스 문서화를 위한 오픈소스 CLI로 OpenWiki를 선보였습니다. 저장소에서 실행하면 해당 코드베이스의 위키를 생성하고, 코드가 바뀌면 위키도 계속 최신으로 유지해 주는 도구였습니다.
OpenWiki 0.1.0에서는 이 개념을 코드 에이전트를 넘어 더 다양한 에이전트 워크플로로 확장합니다.
이제 OpenWiki는 에이전트를 위한 범용 브레인을 만들 수 있습니다. Gmail, Notion, git 저장소, Twitter/X, Hacker News, 웹 검색 같은 소스에 연결한 뒤, 그 정보를 에이전트가 메모리로 쓸 수 있는 로컬 위키로 바꿔줍니다. 이 위키를 자동으로 최신 상태로 유지할 수도 있어서, 직접 작성하거나 관리하지 않아도 에이전트가 신선한 컨텍스트를 활용할 수 있습니다.
목표는 여러분이 그 모든 컨텍스트를 일일이 챙겨 매 세션마다 복사해 넣지 않아도, 에이전트가 여러분의 업무, 프로젝트, 관심사, 연구에 대한 중요한 맥락을 알고 있게 하는 것입니다.
에이전트에게 위키 메모리가 필요한 이유
에이전트는 알맞은 컨텍스트가 있을 때 더 잘 동작합니다.
코딩 에이전트라면 그 컨텍스트는 보통 저장소입니다. 핵심 로직이 어디에 있는지, 파일들이 어떻게 연결되는지, 코드베이스가 어떤 패턴을 기대하는지 알아야 하죠. 애초에 OpenWiki를 만든 이유가 바로 그것이었습니다.
하지만 에이전트가 하는 일은 점점 코드에만 머물지 않습니다. 리서치, 기획, 글쓰기, 고객 업무, 개인 워크플로, 사내 도구까지 돕고 있죠. 이런 작업에서 유용한 컨텍스트는 여러 곳에 흩어져 있습니다.
Gmail이나 Notion, 북마크해 둔 글, Hacker News 스레드, git 저장소, 반복해서 하는 웹 검색 속에 있을 수 있습니다.
매번 에이전트에게 그 소스들을 검색하라고 시킬 수도 있지만, 느리고 결과도 들쭉날쭉합니다. 컨텍스트를 직접 적어둘 수도 있지만, 그러면 계속 최신으로 관리해야 하는 부담이 생깁니다.
OpenWiki Brains는 에이전트가 언제든 찾아볼 수 있는 든든한 참조처를 제공합니다. 연결된 소스들을 시간이 지나며 갱신되는 구조화된 위키로 바꿔주는 것이죠.
내장 메모리와 무엇이 다른가
이미 메모리를 갖춘 에이전트는 많습니다. Claude, ChatGPT, LangSmith Fleet을 비롯한 여러 어시스턴트는 여러분이 알려준 사실을 기억했다가 이후 대화에서 활용할 수 있습니다.
그런 메모리도 유용하며, OpenWiki Brain이 이를 대체할 필요는 없습니다.
한계는 내장 메모리가 대체로 수동적이라는 점입니다. 여러분이 명시적으로 알려준 정보, 또는 대화에서 에이전트가 추론할 수 있는 정보만 기억합니다.
이미 공유한 선호나 사실에는 잘 맞습니다. 하지만 매일 여러 도구에 걸쳐 변하는 컨텍스트에는 잘 맞지 않습니다.
Slack에서 중요한 프로젝트 업데이트가 있었다면 에이전트도 그 사실을 알 수 있어야 합니다. 관련 회의록이 Notion에 올라오면 반영할 수 있어야 하고요. 이메일로 유용한 스레드가 오거나 Twitter/X에서 무언가를 북마크했다면, 채팅에 직접 붙여넣지 않더라도 그 컨텍스트가 나중에 중요해질 수 있습니다.
OpenWiki Brain은 능동적 메모리입니다. 소스에 연결해 여러분이 관심 두라고 지정한 것과 맞는 정보를 찾아내고, 그 정보를 에이전트가 나중에 쓸 수 있는 위키에 기록합니다.
내장 메모리는 여러분이 말해준 것을 에이전트가 기억하도록 돕습니다. OpenWiki Brain은 여러분이 이미 일하고 있는 공간의 정보로 에이전트를 돕습니다.
이번 발표에서 OpenWiki Brain에 새로운 개념 두 가지를 소개합니다.
Personal Brain
Personal Brain은 OpenWiki 0.1.0의 핵심 신규 모드입니다.
연결한 소스를 바탕으로 로컬 위키를 만듭니다. 이 위키에는 진행 중인 프로젝트, 조사 중인 주제, 함께 일하는 사람이나 회사, 저장해 둔 링크, 관련 이메일, 노트 등 에이전트가 나중에 필요로 할 만한 정보가 담길 수 있습니다.
설정 과정에서 OpenWiki는 브레인이 무엇에 집중해야 할지 물어봅니다. 범용 개인 비서용 기본 프롬프트를 제공하지만, 원하는 대로 바꿀 수 있습니다.
예를 들어 진행 중인 프로젝트, AI 연구 주제, 고객 관련 맥락, 저장한 링크, Notion 워크스페이스의 최근 노트에 집중하라고 지정할 수 있습니다.
이 프롬프트는 OpenWiki가 새 정보를 수집할 때 무엇을 남길지 판단하는 기준이 됩니다.
커넥터
Personal Brain은 커넥터를 통해 동작합니다. 커넥터 덕분에 OpenWiki는 여러분의 정보가 이미 있는 곳들에서 컨텍스트를 끌어올 수 있습니다.
첫 커넥터 목록은 다음과 같습니다:
- Gmail
- Notion
- Git 저장소
- Twitter/X
- Hacker News
- 웹 검색
Slack 지원도 곧 추가될 예정입니다.
일부 커넥터는 정해진 방식대로 동작합니다. Gmail은 최근 이메일을 가져올 수 있습니다. Twitter/X는 최근 타임라인 데이터나 북마크를 가져올 수 있습니다. Hacker News는 최근 게시글을 가져올 수 있습니다. Git 저장소는 최근 커밋을 확인할 수 있습니다.
다른 커넥터들은 좀 더 에이전트다운 접근이 필요합니다. Notion과 웹 검색이 좋은 예입니다. "관련된 모든 것"을 한 번에 받아볼 수 있는 피드는 없으니까요. 이런 소스에 대해서는 OpenWiki가 수집 시점에 에이전트에게 도구를 쥐여줍니다. 무엇을 찾아야 할지 설명해 주면, 에이전트가 그 목표를 염두에 두고 검색합니다.
브레인을 최신으로 유지하기
로컬에서 돌아간다는 점이 "최신 유지"를 현실적으로 만들어 줍니다. 브레인이 여러분의 컴퓨터에 있기 때문에, OpenWiki는 여느 로컬 도구처럼 예약 작업을 돌려 커넥터에서 새 정보를 가져오고 디스크의 위키를 갱신할 수 있습니다. 따로 서버를 마련하거나 상시 실행 프로세스를 유지할 필요 없이, 정해둔 주기에 맞춰 실행되기만 하면 됩니다.
예약 실행이 시작되면 OpenWiki는 설정된 커넥터들을 차례로 돌며 새 정보로 위키를 업데이트합니다.
의도한 워크플로는 소스를 한 번만 설정해 두고, 이후에는 OpenWiki가 백그라운드에서 브레인을 관리하도록 맡기는 것입니다.
OpenWiki Code Brain
OpenWiki는 기존의 코드베이스 워크플로도 계속 지원하며, 이제 Code Brain이라고 부릅니다.
Code Brain은 git 저장소 안에서 실행되어 문서를 생성하고 openwiki 디렉터리에 기록한 뒤, 에이전트 지침 파일에 위키 참조를 추가합니다.
Code Brain과 Personal Brain은 푸는 문제가 달라서 분리되어 있습니다. Code Brain은 저장소 구조, git 히스토리, 파일 간 관계, 코딩 컨벤션에 집중합니다. Personal Brain은 연결된 소스 전반에 걸친 더 넓은 업무 맥락에 집중합니다.
프롬프트, 커넥터, 메모리 갱신 워크플로는 모두 다르지만 밑바탕의 아이디어는 같습니다. OpenWiki는 에이전트가 필요할 때 꺼내 쓸 수 있도록, 자동으로 생성되고 관리되는 컨텍스트를 제공합니다.
Markdown 우선
OpenWiki Brains는 현재 일반 Markdown 파일을 사용합니다.
Markdown은 읽기 쉽고, 들여다보기 쉽고, 에이전트가 탐색하기도 쉽습니다. 또한 브레인을 인터페이스 뒤에 감추지 않고 파일시스템에 그대로 드러나게 해줍니다.
포맷은 앞으로 발전해 갈 것으로 봅니다. 페이지 간 링크, 더 풍부한 지식 표현 포맷, Google의 Open Knowledge Format 같은 형식 모두 흥미로운 방향입니다. 지금으로서는 Markdown이 기존 에이전트 워크플로와 잘 맞는 단순한 출발점이 되어줍니다.
다음 계획
개선하고 싶은 영역이 몇 가지 있습니다.
첫째, 더 많은 커넥터입니다. Slack이 곧 추가되고, LangSmith 트레이스, Claude/Codex 로컬 세션 등 더 많은 소스를 시간을 두고 추가할 예정입니다.
둘째, 더 나은 검색입니다. 지금 브레인은 파일시스템 위의 위키입니다. 브레인에 대한 전문(full-text) 검색, MCP, 시맨틱 검색, 에이전트 기반 검색을 검토하고 있습니다.
셋째, 더 나은 포맷입니다. Markdown은 출발점으로는 훌륭하지만, 에이전트 메모리를 표현하고 관련 컨텍스트를 연결하는 더 좋은 방법을 계속 찾아보려 합니다.
이 모든 부분에 대해 커뮤니티의 피드백을 기다립니다.
직접 써보기
OpenWiki는 오픈소스이며 지금 바로 사용할 수 있습니다.
Code Brain으로 저장소 문서를 생성하고 관리할 수 있습니다. Personal Brain으로는 연결한 소스에서 범용 위키를 만들고 자동으로 최신 상태를 유지할 수 있습니다.
저장소는 여기에서 확인하세요: https://github.com/langchain-ai/openwiki
NPM으로도 사용해 볼 수 있습니다: https://www.npmjs.com/package/openwiki
npm install -g openwiki@latest
openwiki personal --init참고: OpenWiki를 에이전트 스킬로 이식한 openwiki-skill
[!NOTE]
이 섹션은 원문에 없는 내용입니다. 위 글의 OpenWiki를 코딩 에이전트 스킬로 이식한 GitHub 저장소를 안내하기 위해 덧붙였습니다.
JHSeo-git/openwiki-skill은 위 글의 OpenWiki v0.1.0을 Claude Code, Codex 같은 코딩 에이전트용 스킬로 이식한 저장소입니다. 원본 CLI는 프로바이더 API로 LLM을 구동하지만, 이 포트는 그 배관을 걷어냈습니다. 코딩 에이전트 자신이 이미 LLM이고 파일시스템과 git 도구를 갖추고 있으므로, 업스트림 시스템 프롬프트를 스킬 안에 그대로 담아 같은 워크플로를 에이전트가 직접 수행합니다. API 키도, 별도 런타임도, 설정도 필요 없습니다.
세 개의 스킬로 구성됩니다:
openwiki— 본문의 Code Brain에 해당합니다. 저장소의openwiki/디렉터리에 위키를 생성(init)하거나 갱신(update)합니다.openwiki/quickstart.md존재 여부로 모드를 자동 판단하고, git 이력을 근거로 변경된 부분만 최소한으로 고칩니다. "위키 만들어줘", "코드베이스 문서 갱신해줘" 같은 요청에 사용합니다.openwiki-personal— 본문의 Personal Brain에 해당합니다.~/.openwiki/wiki에 개인 지식 위키를 만들고 유지합니다. 업스트림의 내장 OAuth 커넥터(Gmail, Notion 등) 대신 사용자가 연결해 둔 MCP 서버, 웹 검색, 로컬 파일과 저장소를 증거 소스로 씁니다. "개인 위키 초기화해줘", "오늘 X 소스 내용 위키에 반영해줘" 같은 요청에 사용합니다.openwiki-ask— 위키 기반 질의응답입니다. 질문을 받으면 원본 소스를 뒤지기 전에 유지 중인 위키(저장소의openwiki/또는 개인 위키)에서 먼저 답을 찾고, 근거가 된 페이지를 인용합니다. 위키가 낡았거나 답을 담고 있지 않을 때만 원본 소스로 내려가 확인합니다. "X는 어떻게 동작해?", "위키 기준으로 설명해줘" 같은 질문에 사용합니다.
설치는 한 줄이면 됩니다:
npx skills add JHSeo-git/openwiki-skill산출물 구조는 본문 설명과 같습니다. quickstart.md를 진입점으로 섹션 페이지들이 연결되고, .last-update.json에 마지막 갱신 메타데이터가 기록됩니다. 위키 포맷이 업스트림과 호환되므로 이 스킬로 시작한 위키를 원본 CLI가 이어받을 수 있고, 그 반대도 가능합니다. API 키 없이 구독만으로 돌리는 예약 갱신(로컬 cron, 클라우드 루틴)과 CI 템플릿은 저장소의 automation 문서에서 다룹니다.