Blog

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

Markdown

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ớ.

Đọc toàn bộ bài viết

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.

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

Đ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.

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ớ

Đ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ớ.

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

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:

[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?

Đ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ủ đề.

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

Vị tríPhạm viNội dung
~/.grok/memory/MEMORY.mdToàn cụcThô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.mdDự ánQuy ướ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ênBả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?

Đ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.

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?

Đ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.

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ímTác vụ
↑/↓ hoặc j/kDi chuyển trong danh sách
/Lọc danh sách
ySao chép đường dẫn của tệp được chọn
xXóa ghi chú được chọn (nhấn lần nữa để xác nhận)
tBậ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ữ?

Đ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.

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. 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 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.

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

Đ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.

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ú.

Nguồn

Mở Ailoot.

Xem thêm chi tiết

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.

Tất cả bài viết