Grok Build의 세션 간 메모리: 설정과 한계
Markdown메모리를 활성화하는 방법, 메모가 저장되는 위치, /flush, /remember, /dream, /memory의 작동 방식. 설정 우선순위, 확인 및 항목 삭제 방법.
전체 글 읽기
xAI의 터미널 에이전트인 Grok Build에는 세션 간 메모리 기능이 있습니다. 프로젝트 규칙, 결정 사항, 성공적으로 적용한 디버깅 절차를 기억했다가 새 세션의 컨텍스트에 추가하므로 다시 알려줄 필요가 없습니다. 이 기능은 기본적으로 꺼져 있으며 실험 단계입니다. 설정 하나만으로 활성화할 수 있습니다.
이 설명은 2026년 9월 20일 기준 xai-org/grok-build 저장소의 공식 가이드를 바탕으로 작성했습니다. 원문 기사의 작성자는 제품을 직접 실행해 보지 않았으며, 작동 방식은 개인 테스트가 아니라 문서를 바탕으로 설명했습니다.
Ailoot 사용에 관한 실용적인 정보는 문서에서 확인할 수 있습니다.
Grok Build의 메모리는 어떤 기능을 제공하나요?
핵심 내용
메모리가 없으면 새로운 Grok Build 세션은 이전 세션의 정보를 전혀 받지 못합니다. 저장소의 지침 파일에 기록되어 있지 않은 한, 사용자가 설명한 규칙도 내린 결정도 전달되지 않습니다. 메모리를 활성화하면 에이전트가 저장된 메모를 검색해 새 세션의 컨텍스트에 관련 내용을 자동으로 추가합니다. 메모는 읽고 편집할 수 있는 일반 Markdown 파일로 저장됩니다.
예를 들어, 한 세션에서 프로젝트가 두 칸 들여쓰기를 사용하고, 데이터베이스 마이그레이션은 별도의 명령으로 실행하며, 특정 모듈이 결제를 처리한다고 에이전트에 설명했다고 해 보겠습니다. 새 세션에서는 이 정보를 다시 제공해야 합니다.
메모리를 활성화하면 Grok Build는 다음과 같은 작업을 할 수 있습니다.
- 앞서 설명한 프로젝트 규칙을 기억합니다.
- 이미 효과가 있었던 디버깅 절차를 활용합니다.
- 아키텍처 결정을 이후 세션에서도 참고합니다.
- 이미 답변한 내용을 다시 묻지 않습니다.
이 기능은 실험 단계이며 기본적으로 꺼져 있습니다. 활성화하기 전까지 에이전트의 동작은 달라지지 않습니다.
메모리를 어떻게 활성화하나요?
핵심 내용
한 번만 실행하려면 환경 변수 GROK_MEMORY=1을 설정합니다. 계속 활성화하려면 ~/.grok/config.toml에 enabled = true가 포함된 [memory] 섹션을 추가합니다. 저장된 메모를 작업 시작 시 불러오려면 메모리를 활성화한 뒤 /new로 새 세션을 시작합니다.
한 번만, 단일 실행에 적용:
GROK_MEMORY=1 grok
이 변수는 이번 실행에만 적용됩니다. export GROK_MEMORY=1 명령을 실행하면 현재 셸에 설정이 유지되어, 터미널 세션이 끝나거나 export GROK_MEMORY=0을 실행할 때까지 해당 셸에서 이후 실행하는 모든 grok에 메모리가 활성화됩니다.
설정 파일을 통해 영구적으로 적용: ~/.grok/config.toml에 다음 내용을 추가합니다.
[memory]
enabled = true
재시작 없이 세션 안에서 적용: /memory를 열고 t를 누릅니다.
이 전환은 현재 세션에만 적용되며 설정 파일에는 기록되지 않습니다. 메모리를 활성화하거나 비활성화할 때 사용할 수 있습니다. 비활성화하면 메모리 도구에 접근할 수 없지만 디스크의 파일은 삭제되지 않습니다. 다시 활성화하면 저장소에 다시 접근할 수 있습니다. GROK_MEMORY=0으로 프로세스 전체에서 메모리를 강제로 비활성화한 경우에는 이 전환으로 설정을 덮어쓸 수 없습니다. 세션 내내 /memory를 사용할 수 없습니다.
설정이 여러 위치에 지정된 경우 우선순위는 다음과 같습니다.
GROK_MEMORY=0은 프로세스 전체에서 메모리를 강제로 비활성화하며 우선순위가 가장 높습니다.- 설정 파일에서
enabled = false를 명시하면 관리형 원격 설정에서 메모리를 활성화하더라도 비활성화됩니다. GROK_MEMORY=1, 설정 파일의enabled = true또는 관리형 원격 설정으로 메모리를 활성화할 수 있습니다.- 아무 설정도 지정하지 않으면 메모리는 꺼져 있습니다.
메모는 세션의 첫 번째 턴에 추가됩니다. 작업 중간에 메모리를 활성화했고 에이전트가 저장된 프로젝트 정보를 사용하게 하려면 /new를 실행하세요. grok inspect 출력에서 메모리가 활성화됐는지 확인할 수 있습니다.
Grok Build는 무엇을 기록하며, 어디에 저장하나요?
핵심 내용
메모는 ~/.grok/memory/에 Markdown 파일로 저장됩니다. 모든 프로젝트에 적용되는 전역 MEMORY.md, 프로젝트별 MEMORY.md, 세션 로그가 있습니다. 세션 종료 시 자동으로 생성되는 요약은 모델 호출 없이 기록됩니다. 자세한 메모는 /flush와 /remember로 만들고, /dream은 서로 흩어진 항목을 주제별로 묶습니다.
~/.grok/memory/ 디렉터리 구조:
| 위치 | 범위 | 내용 |
|---|---|---|
~/.grok/memory/MEMORY.md | 전역 | 모든 프로젝트에 적용되는 사실과 선호 사항 |
~/.grok/memory/ + 해시가 포함된 프로젝트 디렉터리 + /MEMORY.md | 프로젝트 | 특정 저장소의 규칙과 맥락 |
~/.grok/memory/ + 해시가 포함된 프로젝트 디렉터리 + /sessions/ | 세션 | 개별 세션의 요약과 로그 |
저장소 식별자의 짧은 해시가 프로젝트 디렉터리 이름에 추가됩니다. 식별에는 “조직/저장소” 형식의 origin 원격 저장소를 사용하고, Git 저장소가 없으면 디렉터리 경로를 사용합니다. 따라서 같은 저장소의 클론과 worktree(Git 브랜치의 별도 작업 복사본)는 하나의 프로젝트 메모리를 공유합니다. 한 복사본에서 에이전트가 기억한 내용은 다른 복사본에서도 사용할 수 있습니다.
항목은 네 가지 방식으로 만들어집니다.
- 세션 종료 시 자동 요약. 세션이 끝나면 Grok Build는 짧은 시스템 요약을 일일 로그에 저장합니다. 여기에는 메시지 수, 실질적인 대화 중 처음 다섯 개까지, 날짜와 시간이 포함됩니다. 이 요약은 모델을 호출하거나 지연을 발생시키지 않고 메타데이터를 바탕으로 만들어집니다. 아주 짧은 세션은 건너뜁니다. 실질적인 대화가 세 번 미만이거나 사용자가 입력한 텍스트가 50바이트 미만이면 항목을 만들지 않습니다. 요약에는 사용한 도구, 파일 경로, 명령이 포함되지 않습니다.
session.save_on_end = false설정으로 자동 요약을 비활성화할 수 있습니다. /flush—요청에 따른 상세 메모. 이 명령을 사용하면 모델이 현재 세션에서 가장 중요한 내용인 결정 사항, 패턴, 디버깅 절차, API 관련 결과를 요약합니다. 요약은 날짜가 표시된 로그에 기록되고 이후 세션에서 검색할 수 있도록 색인됩니다. 문서에서는 컨텍스트를 압축하기 전에, 디버깅 세션을 성공적으로 마친 뒤, 중요한 패턴을 발견한 뒤에/flush를 실행할 것을 권장합니다./remember—기억해 달라는 명시적 요청./remember always open PR links after sending을 입력하거나 에이전트에게 “기억해 둬...”라고 말합니다. 항목을 기록하기 전에 검토 패널이 열립니다. 사용자가 확인한 뒤에만 메모가 저장되며 피드에Memory saved to ~/.grok/memory/MEMORY.md가 표시됩니다. 프로젝트 정보는 프로젝트의MEMORY.md에, 모든 프로젝트에서 공유할 정보는 전역 파일에 저장됩니다./dream—통합. 이 명령은 흩어진 로그와 메모를 주제별로 묶고 중복을 제거해 검색 정확도를 높입니다./flush와 마찬가지로 모델이 통합을 수행합니다. 누적된 항목을 읽고 주제별로 다시 정리하므로/memory에서 결과를 주기적으로 검토해야 합니다. 자동 모드도 있습니다. 기본적으로 Grok Build는 시작할 때와 한 시간마다 조건을 확인하고, 24시간 이상 지났으며 세션이 5개 이상 쌓였을 때 통합을 시작합니다. 임계값은 설정의[memory.dream]섹션에서 구성할 수 있습니다.
메모는 SQLite 색인을 통해 검색합니다. 기본적으로 전체 텍스트 FTS5를 사용하며, 임베딩 모델이 설정되어 있으면 의미 기반 벡터 검색도 추가됩니다.
새 세션에서 메모리는 어떻게 반영되나요?
핵심 내용
세션의 첫 번째 턴에서 Grok Build는 프로젝트와 관련된 항목을 메모리에서 검색해 컨텍스트에 자동으로 추가하므로 다시 알려줄 필요가 없습니다. 자동 컨텍스트 압축 뒤에도 검색이 다시 실행됩니다. 오래된 세션 항목에는 최신 여부를 확인하라는 표시가 붙습니다.
최초 주입에는 min_score = 0.9라는 선택 임계값이 사용됩니다. 이 값은 [memory.initial_injection] 섹션에서 변경할 수 있습니다. 자동 컨텍스트 압축 뒤에는 에이전트가 메모리를 다시 검색해 오래된 대화와 함께 컨텍스트에서 제거됐을 수 있는 정보를 복원합니다.
에이전트에게 직접 “무엇을 기억하고 있어?”라고 물어볼 수도 있습니다. 답변은 전역 선호 사항, 프로젝트 지식, 세션 기록처럼 출처별로 묶입니다.
세션 항목에는 최신 여부를 나타내는 표시가 있습니다. 세션 로그 항목이 오래될수록 “이 정보에 의존하기 전에 여전히 최신인지 확인하세요”라는 표시가 더 강조됩니다. 전역 및 프로젝트 MEMORY.md 파일에는 이런 표시가 붙지 않습니다. 이 파일의 내용은 장기간 사용을 위한 것이므로 정확성을 직접 확인해야 합니다.
메모를 확인하고 수정하거나 삭제하려면 어떻게 하나요?
핵심 내용
/memory 명령을 실행하면 미리보기와 함께 모든 메모리 파일을 살펴볼 수 있습니다. 텍스트 편집기에서 파일을 편집할 수 있으며, 변경 사항은 다음 검색 때 반영됩니다. “잊어...”라는 요청은 삭제를 보장하지 않습니다. 특정 항목을 확실히 삭제하려면 파일을 직접 편집하세요.
세션에서 /memory 명령을 실행하면 전역, 프로젝트, 세션 범위별로 묶인 모든 메모리 파일이 창에 표시됩니다. 세션 파일은 역순으로 정렬됩니다. 왼쪽에는 파일 목록이, 오른쪽에는 선택한 파일의 읽기 전용 미리보기가 표시됩니다.
개요 화면에서 사용할 수 있는 키:
| 키 | 동작 |
|---|---|
↑/↓ 또는 j/k | 목록 이동 |
/ | 목록 필터링 |
y | 선택한 파일의 경로 복사 |
x | 선택한 메모 삭제 (다시 눌러 확인) |
t | 메모리 활성화 또는 비활성화 |
Esc | 창 닫기 |
이 창에서는 개별 메모와 세션 파일을 삭제할 수 있지만, 생성된 MEMORY.md 색인(전역 및 프로젝트)은 삭제할 수 없습니다.
두 번째 방법은 파일을 직접 편집하는 것입니다. 파일은 ~/.grok/memory/에 있으며 원하는 편집기로 열 수 있습니다. 디렉터리의 변경 사항은 추적됩니다. 새로 만들거나 수정한 파일은 다시 색인되고, 삭제한 파일은 다음 검색 때 색인에서 제거됩니다.
“snake_case를 잊어”라는 요청은 삭제를 보장하지 않습니다. 모델이 일치하는 항목을 찾아 삭제하지만 일부를 놓칠 수도 있습니다. 확실히 삭제하려면 파일을 열어(/memory에서 y를 눌러 경로를 편리하게 복사할 수 있습니다) 항목을 직접 제거하세요. 명령줄에서 메모리를 모두 지울 수도 있습니다. 프로젝트 메모리는 grok memory clear, 전역 메모리는 grok memory clear --global, 둘 다 지우려면 grok memory clear --all을 실행합니다.
메모리는 저장소 지침 파일과 어떻게 다른가요?
핵심 내용
CLAUDE.md나 AGENTS.md 같은 지침 파일은 사용자가 작성해 저장소에 넣으며, Git을 통해 팀과 공유합니다. Grok Build 에이전트는 메모를 관리해 저장소 외부의 ~/.grok/memory/에 저장합니다. 메모는 개인용이며 Git으로 공유되지 않습니다.
저장소 지침은 프로젝트에서 일하는 모든 사람과 공유되며 코드와 변경 이력에서도 볼 수 있습니다. 메모리는 세션이 쌓이면서 늘어나고 사용자의 컴퓨터에 저장되며, 저절로 공개되지는 않습니다.
메모리는 지침 파일을 대체하지 않습니다. 팀 전체와 모든 에이전트가 따라야 할 일반적인 프로젝트 규칙은 저장소에 두는 것이 좋습니다. Claude Code, Codex, Cursor에서 지침 파일 하나를 함께 사용하는 방법은 별도의 가이드에서 설명합니다. AGENTS.md와 CLAUDE.md 함께 사용하기. 메모리는 선호 사항, 이미 시도한 방법, 도달한 결정 등 개인적인 맥락을 보존합니다.
Claude에서도 비슷하게 구분합니다. Claude 메모리와 CLAUDE.md 문서에서 메모리와 CLAUDE.md가 어떻게 다른지 설명합니다. 도구 자체를 비교하려면 Grok Build와 Claude Code를 참조하세요.
메모리의 한계와 작동 확인
핵심 내용
이 기능은 실험 단계이므로 명령과 설정이 바뀔 수 있습니다. 메모리를 활성화한 뒤 첫 번째 턴에 메모가 추가되게 하려면 /new로 새 세션을 시작하세요. 일부 항목은 모델이 만들기 때문에 메모를 주기적으로 검토하고 비밀 정보를 기억하지 않도록 요청하세요.
다음과 같은 한계를 유의하세요.
- 실험 단계. 향후 버전에서 명령, 임계값, 동작 방식이 바뀔 수 있습니다. 예상대로 작동하지 않으면 저장소의 메모리 가이드를 확인하세요.
- 새 세션의 최초 주입. 메모리를 활성화한 뒤에는 저장된 메모가 첫 번째 턴에 추가되도록
/new로 작업을 시작하세요. - 무엇이 중요한지는 모델이 결정합니다. 모델이
/flush요약을 만들고 메모에 넣을 내용을 선택합니다. 한두 주에 한 번씩/memory를 열어 누적된 내용을 검토하고 불필요한 항목을 삭제하세요. - 비밀 정보를 기억해 달라고 요청하지 마세요. 키, 토큰, 비밀번호는 장기간 보관하는 메모에 들어가면 안 됩니다.
~/.grok/memory/의 파일은 일반 텍스트로 저장됩니다. 민감한 정보가 기록됐다면 파일을 편집해 제거하세요. - 프로젝트 메모리는 저장소 복사본끼리 공유됩니다. 한 클론에서 에이전트가 기억한 내용이 다른 클론에는 오래된 정보라면, 정리할 때 공유 디렉터리를 고려하세요.
메모리가 작동하지 않는 경우:
grok inspect출력을 확인해 메모리가 활성화됐는지 확인합니다.GROK_MEMORY=0또는 설정이 메모리를 비활성화하고 있지 않은지 확인합니다.- 진단을 위해
RUST_LOG=debug GROK_LOG_FILE=/tmp/grok.log grok을 실행한 뒤/tmp/grok.log에서 메모리 관련 줄을 확인합니다.
간단한 요약
Grok Build 메모리는 GROK_MEMORY=1 또는 ~/.grok/config.toml의 [memory] enabled = true로 활성화할 수 있습니다. 활성화한 뒤 첫 실행에서 메모가 추가되게 하려면 /new로 새 세션을 시작하세요. 에이전트는 ~/.grok/memory/에 메모를 기록합니다. 모델 호출 없이 세션 요약을 만들고, /flush로 상세 요약을 작성하며, 사용자가 확인한 뒤 /remember로 명시적 항목을 저장하고, /dream으로 주제별 내용을 정리합니다. /memory와 직접 파일 편집으로 메모를 확인하고 정리할 수 있습니다. 이 기능은 실험 단계이므로 공식 가이드에서 임계값과 명령을 확인하고 메모를 주기적으로 검토하세요.
출처
- Grok Build, 공식 “Cross-Session Memory” 가이드 (사용자 가이드, 13장): https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/13-memory.md
- Grok Build, xAI의 GitHub 저장소: https://github.com/xai-org/grok-build
자세히 보기
Grok Build의 세션 간 메모리: 설정과 한계: 자주 묻는 질문
메모리를 켰는데 저장된 메모가 나타나지 않는 이유는 무엇인가요?
저장된 메모는 새 세션의 첫 턴에 추가됩니다. 활성화 후 새 세션을 시작하고 grok inspect로 보고된 상태를 확인하세요. GROK_MEMORY=0으로 시작한 프로세스는 세션 토글로 메모리를 켤 수 없습니다.
메모리를 끄면 파일도 삭제되나요?
아닙니다. 메모리를 비활성화하면 관련 도구에 접근하지 못하지만 Markdown 메모는 디스크에 남습니다. 항목을 없애려면 저장된 메모를 별도로 확인하거나 수정하세요.