# Bộ nhớ Grok Build giữa các phiên: cài đặt và hạn chế

> Cách bật bộ nhớ, nơi lưu ghi chú và cách /flush, /remember, /dream cùng /memory hoạt động. Thứ tự ưu tiên cài đặt, cách kiểm tra và xóa mục ghi nhớ.

Source: https://ailoot.ai/blog/vi/grok-build-memory/
Canonical: https://ailoot.ai/blog/vi/grok-build-memory/
Language: vi
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-111
Revision: sha256-cc671cecf5fda29afb1cf5e4559faa654b20043cf4d62d3bfd02583ef679d7db


Grok Build, tác nhân dòng lệnh của xAI, có bộ nhớ dùng giữa các phiên: tác nhân có thể ghi nhớ quy ước của dự án, các quyết định và những bước gỡ lỗi đã thành công, rồi thêm chúng vào ngữ cảnh của phiên mới mà không cần nhắc lại. Tính năng này tắt theo mặc định và đang ở giai đoạn thử nghiệm — bạn có thể bật bằng một cài đặt duy nhất.

Mô tả này dựa trên hướng dẫn chính thức trong kho lưu trữ `xai-org/grok-build`, tính đến ngày 20 tháng 9 năm 2026. Tác giả bài viết gốc không chạy sản phẩm: cơ chế hoạt động được mô tả dựa trên tài liệu, không phải từ việc tự kiểm thử.

[Thông tin thực tế về cách làm việc với Ailoot có trong tài liệu hướng dẫn](https://ailoot.ai/docs/).

## Bộ nhớ mang lại điều gì trong Grok Build?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Điểm chính của phần này

Không có bộ nhớ, một phiên Grok Build mới sẽ không nhận được thông tin từ các phiên trước: cả những quy ước bạn đã giải thích lẫn những quyết định bạn đã đưa ra, trừ khi chúng được ghi lại trong tệp hướng dẫn của kho lưu trữ. Khi bật bộ nhớ, tác nhân sẽ tìm kiếm các ghi chú đã lưu và tự động thêm những ghi chú liên quan vào ngữ cảnh của phiên mới. Ghi chú được lưu dưới dạng các tệp Markdown thông thường mà bạn có thể đọc và chỉnh sửa.

</div>

Ví dụ, trong một phiên, bạn giải thích với tác nhân rằng dự án dùng thụt lề hai dấu cách, các lần di trú cơ sở dữ liệu được chạy bằng một lệnh riêng và một mô-đun cụ thể xử lý thanh toán. Trong phiên mới, bạn phải cung cấp lại thông tin này.

Khi bật bộ nhớ, Grok Build có thể:

- nhớ lại những quy ước của dự án mà bạn đã giải thích trước đó;
- sử dụng các bước gỡ lỗi đã có hiệu quả;
- duy trì các quyết định kiến trúc trong những phiên sau;
- tránh hỏi lại những điều đã được trả lời.

Tính năng này đang ở giai đoạn thử nghiệm và tắt theo mặc định. Hành vi của tác nhân sẽ không thay đổi cho đến khi bạn bật tính năng.

## Cách bật bộ nhớ

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Điểm chính của phần này

Để bật cho một lần chạy, hãy đặt biến môi trường `GROK_MEMORY=1`. Để duy trì trạng thái bật, hãy thêm phần `[memory]` với `enabled = true` vào `~/.grok/config.toml`. Để các ghi chú đã lưu được thêm vào khi bắt đầu làm việc, hãy khởi động phiên mới bằng `/new` sau khi bật bộ nhớ.

</div>

**Một lần, cho một lần chạy:**

```bash
GROK_MEMORY=1 grok
```

Biến này chỉ áp dụng cho lần chạy hiện tại. Lệnh `export GROK_MEMORY=1` giữ biến trong shell hiện tại và bật bộ nhớ cho mọi lần chạy `grok` tiếp theo từ shell đó — cho đến khi phiên terminal kết thúc hoặc bạn chạy `export GROK_MEMORY=0`.

**Bật lâu dài qua tệp cấu hình.** Thêm nội dung sau vào `~/.grok/config.toml`:

```toml
[memory]
enabled = true
```

**Trong một phiên mà không cần khởi động lại:** mở `/memory` rồi nhấn `t`.

Công tắc này chỉ áp dụng cho phiên hiện tại và không được ghi vào cấu hình. Bạn có thể dùng nó để bật hoặc tắt bộ nhớ. Tắt bộ nhớ sẽ xóa quyền truy cập vào các công cụ bộ nhớ, nhưng không xóa các tệp trên đĩa; bật lại sẽ mở quyền truy cập vào kho lưu trữ. Công tắc này không thể ghi đè việc tắt bộ nhớ bắt buộc trên toàn tiến trình bằng `GROK_MEMORY=0`: `/memory` sẽ không khả dụng trong toàn bộ phiên.

Nếu cài đặt được chỉ định ở nhiều nơi, thứ tự ưu tiên như sau:

- `GROK_MEMORY=0` bắt buộc tắt bộ nhớ cho toàn tiến trình và có mức ưu tiên cao nhất.
- Giá trị `enabled = false` được chỉ định rõ trong cấu hình sẽ tắt bộ nhớ, kể cả khi một cài đặt từ xa được quản lý bật bộ nhớ.
- Có thể bật bộ nhớ bằng `GROK_MEMORY=1`, bằng `enabled = true` trong cấu hình hoặc bằng một cài đặt từ xa được quản lý.
- Nếu không có cài đặt nào được chỉ định, bộ nhớ sẽ tắt.

Ghi chú được thêm vào ở lượt đầu tiên của một phiên. Nếu bạn bật bộ nhớ giữa lúc đang làm việc và muốn tác nhân bắt đầu sử dụng thông tin dự án đã lưu, hãy chạy `/new`. Bạn có thể kiểm tra bộ nhớ đã bật hay chưa trong kết quả của `grok inspect`.

## Grok Build ghi lại những gì và lưu ở đâu?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Điểm chính của phần này

Ghi chú được lưu trong `~/.grok/memory/` dưới dạng các tệp Markdown: một `MEMORY.md` dùng chung cho mọi dự án, một `MEMORY.md` riêng cho từng dự án và nhật ký phiên. Bản tóm tắt tự động khi kết thúc phiên được ghi mà không gọi mô hình; ghi chú chi tiết được tạo bằng `/flush` và `/remember`, còn `/dream` nhóm các mục rời rạc theo chủ đề.

</div>

Cấu trúc thư mục `~/.grok/memory/`:

| Vị trí | Phạm vi | Nội dung |
|----|----|----|
| `~/.grok/memory/MEMORY.md` | Toàn cục | Thông tin thực tế và tùy chọn cho mọi dự án của bạn |
| `~/.grok/memory/` + thư mục dự án có mã băm + `/MEMORY.md` | Dự án | Quy ước và ngữ cảnh cho một kho lưu trữ cụ thể |
| `~/.grok/memory/` + thư mục dự án có mã băm + `/sessions/` | Phiên | Bản tóm tắt và nhật ký của từng phiên riêng lẻ |

Tên thư mục dự án được thêm một mã băm ngắn của mã định danh kho lưu trữ. Hệ thống dùng remote `origin` theo định dạng “organization/repository” để nhận diện, hoặc dùng đường dẫn thư mục nếu không có kho lưu trữ Git. Vì vậy, các bản sao clone và worktree (bản sao làm việc riêng của các nhánh Git) thuộc cùng một kho lưu trữ sẽ dùng chung bộ nhớ dự án: những gì tác nhân nhớ ở một bản sao cũng có thể dùng ở bản sao khác.

Có bốn cách tạo mục ghi nhớ:

1.  **Tóm tắt tự động khi kết thúc phiên.** Khi phiên kết thúc, Grok Build lưu một bản tóm tắt dịch vụ ngắn vào nhật ký hằng ngày: số lượng tin nhắn, tối đa năm lượt trao đổi có nội dung đầu tiên, cùng ngày và giờ. Bản tóm tắt được tạo từ siêu dữ liệu mà không gọi mô hình hay gây trì hoãn. Các phiên rất ngắn sẽ bị bỏ qua: nếu có ít hơn ba lượt trao đổi có nội dung hoặc văn bản của bạn chưa đến 50 byte thì không tạo mục ghi nhớ. Bản tóm tắt không gồm các công cụ đã dùng, đường dẫn tệp hoặc lệnh. Có thể tắt tóm tắt tự động bằng cài đặt `session.save_on_end = false`.
2.  **`/flush`—ghi chú chi tiết theo yêu cầu.** Với lệnh này, mô hình tóm tắt những điểm quan trọng nhất từ phiên hiện tại: các quyết định, quy luật, bước gỡ lỗi và phát hiện về API. Bản tóm tắt được ghi vào nhật ký có ngày và lập chỉ mục để dùng trong các phiên sau. Tài liệu khuyến nghị chạy `/flush` trước khi nén ngữ cảnh, khi kết thúc một phiên gỡ lỗi thành công và sau khi phát hiện các quy luật quan trọng.
3.  **`/remember`—yêu cầu ghi nhớ điều gì đó một cách tường minh.** Nhập `/remember always open PR links after sending` hoặc nói với tác nhân “hãy nhớ rằng...”. Trước khi ghi mục này, một bảng duyệt sẽ mở ra: ghi chú chỉ được lưu sau khi bạn xác nhận, và thông báo `Memory saved to ~/.grok/memory/MEMORY.md` xuất hiện trong luồng. Thông tin về dự án được lưu trong `MEMORY.md` của dự án; thông tin dùng chung cho mọi dự án được lưu trong tệp toàn cục.
4.  **`/dream`—hợp nhất.** Lệnh này nhóm các nhật ký và ghi chú rời rạc theo chủ đề, đồng thời loại bỏ mục trùng lặp để tìm kiếm chính xác hơn. Giống như `/flush`, mô hình thực hiện việc hợp nhất — mô hình đọc các mục đã tích lũy và viết lại theo chủ đề, vì vậy bạn nên định kỳ xem lại kết quả bằng `/memory`. Ngoài ra còn có chế độ tự động: theo mặc định, Grok Build kiểm tra điều kiện khi khởi động và mỗi giờ một lần, rồi bắt đầu hợp nhất khi đã trôi qua ít nhất 24 giờ và tích lũy được ít nhất 5 phiên. Có thể cấu hình các ngưỡng trong phần `[memory.dream]` của tệp cấu hình.

Việc tìm kiếm ghi chú dùng chỉ mục SQLite: theo mặc định, hệ thống sử dụng tìm kiếm toàn văn FTS5; nếu đã cấu hình mô hình embedding thì sẽ bổ sung tìm kiếm vector ngữ nghĩa.

## Bộ nhớ được đưa vào phiên mới như thế nào?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Điểm chính của phần này

Ở lượt đầu tiên của phiên, Grok Build tìm trong bộ nhớ các mục liên quan đến dự án rồi tự động thêm chúng vào ngữ cảnh — bạn không cần nhắc tác nhân. Tìm kiếm được thực hiện lại sau khi tự động nén ngữ cảnh. Các mục phiên cũ hơn được đánh dấu để kiểm tra độ mới.

</div>

Lần đưa vào ngữ cảnh ban đầu sử dụng ngưỡng chọn `min_score = 0.9`, có thể thay đổi trong phần `[memory.initial_injection]`. Sau khi tự động nén ngữ cảnh, tác nhân tìm kiếm bộ nhớ lần nữa để khôi phục thông tin có thể đã bị loại khỏi ngữ cảnh cùng với các lượt trao đổi cũ.

Bạn cũng có thể hỏi trực tiếp tác nhân: “Bạn nhớ những gì?” Tác nhân sẽ nhóm câu trả lời theo nguồn: tùy chọn toàn cục, kiến thức về dự án và lịch sử phiên.

Các mục phiên có dấu hiệu về độ mới. Nhật ký phiên càng cũ thì dấu nhắc càng rõ: “Hãy kiểm tra xem thông tin này còn hiện hành không trước khi dựa vào nó.” Các tệp `MEMORY.md` toàn cục và của dự án không có dấu nhắc như vậy: nội dung của chúng được dự định dùng lâu dài, vì vậy bạn cần tự theo dõi độ chính xác.

## Xem, chỉnh sửa và xóa ghi chú như thế nào?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Điểm chính của phần này

Lệnh `/memory` mở phần tổng quan về mọi tệp bộ nhớ kèm bản xem trước. Bạn có thể chỉnh sửa tệp bằng bất kỳ trình soạn thảo văn bản nào — các thay đổi sẽ được áp dụng trong lần tìm kiếm tiếp theo. Yêu cầu “quên...” không được đảm bảo; để xóa chắc chắn một mục cụ thể, hãy chỉnh sửa tệp.

</div>

Lệnh `/memory` trong một phiên mở cửa sổ hiển thị tất cả các tệp bộ nhớ, được nhóm theo phạm vi: toàn cục, dự án và phiên (theo thứ tự thời gian đảo ngược). Danh sách tệp ở bên trái, còn bản xem trước chỉ đọc của tệp được chọn ở bên phải.

Các phím hữu ích trong phần tổng quan:

| Phím | Tác vụ |
|----|----|
| `↑`/`↓` hoặc `j`/`k` | Di chuyển trong danh sách |
| `/` | Lọc danh sách |
| `y` | Sao chép đường dẫn của tệp được chọn |
| `x` | Xóa ghi chú được chọn (nhấn lần nữa để xác nhận) |
| `t` | Bật hoặc tắt bộ nhớ |
| `Esc` | Đóng cửa sổ |

Cửa sổ này có thể xóa từng ghi chú và tệp phiên riêng lẻ; không thể xóa các chỉ mục `MEMORY.md` được tạo (toàn cục và theo dự án).

Cách thứ hai là chỉnh sửa trực tiếp các tệp. Chúng nằm trong `~/.grok/memory/` và có thể mở bằng bất kỳ trình soạn thảo nào. Các thay đổi trong thư mục được theo dõi: tệp được tạo hoặc sửa đổi sẽ được lập chỉ mục lại, còn tệp bị xóa sẽ được loại khỏi chỉ mục trong lần tìm kiếm tiếp theo.

Yêu cầu “quên về snake_case” không được đảm bảo: mô hình tìm và xóa các mục phù hợp nhưng có thể bỏ sót một số mục. Để chắc chắn xóa, hãy mở tệp (bạn có thể dễ dàng sao chép đường dẫn bằng `y` trong `/memory`) và xóa mục đó theo cách thủ công. Bạn có thể xóa toàn bộ bộ nhớ từ dòng lệnh: `grok memory clear` để xóa bộ nhớ dự án, `grok memory clear --global` để xóa bộ nhớ toàn cục và `grok memory clear --all` để xóa cả hai.

## Bộ nhớ khác gì với tệp hướng dẫn của kho lưu trữ?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Điểm chính của phần này

Bạn tạo một tệp hướng dẫn như CLAUDE.md hoặc AGENTS.md rồi đặt trong kho lưu trữ — tệp được chia sẻ với nhóm qua Git. Tác nhân Grok Build duy trì các ghi chú bộ nhớ và lưu chúng trong `~/.grok/memory/`, bên ngoài kho lưu trữ: đây là dữ liệu cá nhân và không được chia sẻ qua Git.

</div>

Hướng dẫn trong kho lưu trữ được chia sẻ với mọi người làm việc trên dự án và có thể xem trong mã cũng như lịch sử thay đổi. Bộ nhớ tích lũy qua các phiên, được lưu trên máy của bạn và không tự được công bố.

Bộ nhớ không thay thế tệp hướng dẫn. Các quy tắc chung của dự án mà toàn nhóm và mọi tác nhân cần tuân theo vẫn nên được đặt trong kho lưu trữ. Chúng tôi có hướng dẫn riêng về cách dùng một tệp hướng dẫn cho Claude Code, Codex và Cursor: [Dùng AGENTS.md và CLAUDE.md cùng nhau](https://ailoot.ai/blog/vi/agents-md-claude-md-one-instruction-file/). Bộ nhớ lưu giữ ngữ cảnh cá nhân: tùy chọn của bạn, những gì đã thử và quyết định đã được đưa ra.

Claude cũng phân biệt theo cách tương tự: bài viết [Bộ nhớ Claude và CLAUDE.md](https://ailoot.ai/blog/vi/claude-memory-claude-md-auto-memory/) giải thích bộ nhớ khác CLAUDE.md như thế nào. Để so sánh chính các công cụ, xem [Grok Build hay Claude Code](https://ailoot.ai/blog/vi/grok-build-vs-claude-code/).

## Hạn chế và cách kiểm tra bộ nhớ có hoạt động không

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Điểm chính của phần này

Tính năng này đang ở giai đoạn thử nghiệm: lệnh và cài đặt có thể thay đổi. Để ghi chú được thêm vào lượt đầu tiên sau khi bật bộ nhớ, hãy bắt đầu phiên mới bằng `/new`. Một số mục do mô hình tạo ra, vì vậy hãy định kỳ xem lại ghi chú và yêu cầu tác nhân không ghi nhớ thông tin bí mật.

</div>

Hãy lưu ý các hạn chế sau:

- **Trạng thái thử nghiệm.** Lệnh, ngưỡng và hành vi có thể thay đổi trong các phiên bản sau; nếu có điều gì không hoạt động như mong đợi, hãy kiểm tra hướng dẫn về bộ nhớ trong kho lưu trữ.
- **Lần đưa vào ngữ cảnh ban đầu trong phiên mới.** Sau khi bật bộ nhớ, hãy bắt đầu làm việc bằng `/new` để ghi chú đã lưu được thêm vào ở lượt đầu tiên.
- **Mô hình quyết định điều gì quan trọng.** Mô hình tạo bản tóm tắt `/flush` và chọn nội dung đưa vào ghi chú. Mỗi một hoặc hai tuần, hãy mở `/memory` và xem lại những gì đã tích lũy; xóa mọi thứ không cần thiết.
- **Đừng yêu cầu tác nhân ghi nhớ bí mật.** Khóa, token và mật khẩu không nên nằm trong ghi chú dài hạn: các tệp trong `~/.grok/memory/` được lưu dưới dạng văn bản thuần. Nếu thông tin nhạy cảm bị ghi lại, hãy xóa bằng cách chỉnh sửa tệp.
- **Bộ nhớ dự án được chia sẻ giữa các bản sao của kho lưu trữ.** Nếu tác nhân ghi nhớ điều gì đó trong một bản clone nhưng thông tin đó đã lỗi thời ở bản clone khác, hãy tính đến thư mục dùng chung khi dọn dẹp.

Nếu bộ nhớ không hoạt động:

1.  Kiểm tra kết quả `grok inspect` để xác nhận bộ nhớ đã được bật.
2.  Kiểm tra xem `GROK_MEMORY=0` hoặc cấu hình có đang tắt bộ nhớ không.
3.  Để chẩn đoán, chạy `RUST_LOG=debug GROK_LOG_FILE=/tmp/grok.log grok` rồi kiểm tra các dòng về bộ nhớ trong `/tmp/grok.log`.

## Tóm tắt ngắn

Có thể bật bộ nhớ Grok Build bằng `GROK_MEMORY=1` hoặc bằng `[memory] enabled = true` trong `~/.grok/config.toml`. Để ghi chú được thêm lần đầu sau khi bật, hãy bắt đầu phiên mới bằng `/new`. Tác nhân ghi chú vào `~/.grok/memory/`: tóm tắt phiên không cần gọi mô hình, tóm tắt chi tiết bằng `/flush`, mục ghi nhớ tường minh bằng `/remember` sau khi bạn xác nhận và các chủ đề được sắp xếp bằng `/dream`. Xem và dọn dẹp ghi chú qua `/memory` và bằng cách chỉnh sửa tệp trực tiếp. Tính năng này đang ở giai đoạn thử nghiệm, vì vậy hãy đối chiếu ngưỡng và lệnh với hướng dẫn chính thức, đồng thời định kỳ xem lại ghi chú.

<div class="section" role="doc-bibliography" aria-label="Sources">

### Nguồn

- Grok Build, hướng dẫn “Cross-Session Memory” chính thức (hướng dẫn người dùng, chương 13): <https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/13-memory.md>
- Grok Build, kho lưu trữ xAI trên GitHub: <https://github.com/xai-org/grok-build>

</div>





[Mở Ailoot](https://ailoot.ai/).

## Câu hỏi thường gặp

### Vì sao ghi chú chưa xuất hiện sau khi bật bộ nhớ?

Ghi chú được thêm ở lượt đầu của phiên mới. Mở phiên mới sau bật và xem trạng thái bằng grok inspect; tiến trình khởi động với GROK_MEMORY=0 không thể bật bằng công tắc trong phiên.

### Tắt bộ nhớ có xóa tệp không?

Không. Tắt bỏ quyền công cụ bộ nhớ nhưng để ghi chú Markdown trên đĩa. Xem hoặc sửa riêng ghi chú đã lưu nếu cần bỏ một mục.


## Ailoot · Công ty và danh mục dự án của công ty

Ailoot dựa trên kinh nghiệm vận hành tích lũy, cơ sở khách hàng lớn, dịch vụ ổn định và việc kiểm soát KPI liên tục.

Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.

Ailoot áp dụng kinh nghiệm vận hành này để cung cấp quyền truy cập API vào các tính năng AI trong sản phẩm của khách hàng, tác tử, ứng dụng và quy trình tự động hóa.
