Bộ nhớ
Perch chạy đồng thời ba hệ thống bộ nhớ: tệp dự án bạn sở hữu, bộ nhớ tài khoản lâu dài được truy xuất bằng tìm kiếm kết hợp và bài học ghi nhận từ những lần bạn sửa sai. Đây là chức năng của từng hệ thống và cách chúng đến mô hình.
Phần lớn harness cho agent có một hệ thống bộ nhớ, thường là tệp bạn sửa thủ công. Perch chạy ba hệ thống, và chúng làm những việc thực sự khác nhau. Tệp dự án chứa quy tắc thường trực cho một phần công việc. Bộ nhớ lâu dài chứa những thông tin đúng về bạn xuyên suốt mọi công việc. Việc ghi nhận bài học biến những lần bạn sửa sai thành bộ nhớ mà bạn không phải viết lại.
Trang này trình bày cả ba, rồi đến phần quan trọng nhất: cách nội dung đó thực sự đến mô hình trong một lượt cụ thể, và cách bạn thấy chính xác những gì đã được đưa vào.
Tóm lược
Lớp thứ nhất: bộ nhớ dự án
Bộ nhớ dự án nằm trên ổ đĩa, trong thư mục bạn đang làm việc. Nó là markdown thuần, thuộc sở hữu của bạn, và bạn có thể đọc hoặc sửa bất kỳ phần nào mà không cần qua Perch.
| Đường dẫn | Nội dung |
|---|---|
.perch/PERCH.md | Sổ tay dự án. Chỉ dẫn thường trực mà Perch tuân theo trong mọi lượt ở thư mục này. |
.perch/memory/*.md | Các tệp bộ nhớ riêng, mỗi tệp chứa một thông tin hoặc ghi chú. |
.perch/rules/ | Quy tắc dự án, tách khỏi văn bản diễn giải để có thể áp dụng nghiêm ngặt. |
~/Documents/Perch/PERCH.md | Sổ tay toàn cục. Áp dụng trong mọi thư mục, không chỉ thư mục này. |
PERCH.md là nơi phù hợp cho bất kỳ điều gì bạn sẽ nói với đồng đội mới tham gia dự án: quy ước cho vụ việc này, định dạng đầu ra cho khách hàng này, các đường dẫn quan trọng, những thứ không bao giờ được chạm đến mà chưa hỏi. Perch đọc tệp này trong mỗi lượt ở thư mục đó và ưu tiên tuân theo nó hơn các mặc định của mình.
Perch có thể tự ghi vào các tệp này khi bạn yêu cầu ghi nhớ điều gì đó, nhưng kết quả luôn là tệp bạn có thể mở. Không có gì trong bộ nhớ dự án bị giấu khỏi bạn.
Bên cạnh các tệp, shell của ứng dụng máy tính cung cấp siêu dữ liệu phạm vi thư mục cho lượt đó: tên dự án, ghi chú của bạn, bản tóm tắt bộ nhớ và thư mục gốc ưu tiên. Nhờ đó, Perch biết mình đang ở dự án nào trước khi đọc bất kỳ tệp nào.
Lớp thứ hai: bộ nhớ lâu dài
Bộ nhớ lâu dài ở cấp tài khoản thay vì cấp thư mục. Nó chứa những thông tin vẫn đúng về bạn khi chuyển giữa dự án và nền tảng: vai trò, quy ước, cách trình bày kết quả bạn thích, những điều bạn đã nói với Perch một lần và không phải nhắc lại.
Nó không phải một khối được dán vào mọi prompt. Nó là tập các thẻ riêng, và mỗi lượt chạy một bước truy xuất để quyết định thẻ nào đáng với số token của chúng.
Cách truy xuất hoạt động
Perch tìm trong bộ nhớ lâu dài theo hai cách cùng lúc rồi kết hợp kết quả:
- Tìm kiếm ngữ nghĩa trên embedding, tìm những thẻ có cùng ý nghĩa với lượt hiện tại ngay cả khi cách diễn đạt khác nhau.
- Tìm kiếm từ khóa thưa, bắt đúng các thuật ngữ, tên và định danh mà embedding thường làm mờ khác biệt.
Hai danh sách đã xếp hạng được hợp nhất bằng phương pháp hợp nhất thứ hạng nghịch đảo, nên thẻ được cả hai phương pháp xếp hạng khá sẽ vượt thẻ chỉ được một phương pháp đánh giá rất cao. Điểm hợp nhất sau đó được điều chỉnh theo độ tin cậy của chính thẻ và độ mới của thời điểm viết, rồi những kết quả hàng đầu được đưa vào.
Nếu embedding không khả dụng, truy xuất giảm dần theo thứ tự thay vì thất bại: kết hợp, rồi chỉ ngữ nghĩa, rồi chỉ từ khóa thưa, rồi đơn thuần theo độ mới. Khả năng tìm lại giảm, nhưng lượt không bao giờ hỏng.
Mỗi thẻ chứa gì
Mỗi thẻ bộ nhớ lâu dài được đưa vào lượt đều có siêu dữ liệu riêng, giúp hệ thống có thể xem xét thay vì bí ẩn:
- Loại và phạm vi, cho biết loại bộ nhớ và mức độ áp dụng rộng đến đâu.
- Nhãn độ mới và cờ lỗi thời khi thẻ đã cũ đến mức không nên tin mà chưa kiểm tra.
- Điểm độ tin cậy, biểu thị bằng phần trăm.
- Cờ cắt ngắn, được đặt khi thẻ phải rút ngắn để vừa ngân sách bộ nhớ cho lượt đó.
- Lý do thẻ được truy xuất, được giữ lại từ bước tìm kiếm.
Lớp thứ ba: học từ những lần sửa sai
Hệ thống thứ ba là hệ thống bạn không bao giờ phải vận hành. Khi bạn sửa sai cho Perch, lần sửa đó được ghi nhận như một sự kiện. Bộ phận ghi nhận bài học đọc những sự kiện này và có thể đề xuất nội dung bộ nhớ lâu dài mới từ chúng.
Đây là khác biệt giữa công cụ nhớ những gì bạn nhập vào trang cài đặt và công cụ nhớ rằng nó đã được cho biết mình sai. Sửa sai cho Perch một lần là cách được thiết kế để dạy nó, và bạn không phải đi viết lại bài học ở đâu đó.
Cách bộ nhớ đến mô hình
Ba hệ thống bộ nhớ chỉ hữu ích nếu những gì chúng chứa thực sự đến ngữ cảnh mô hình, và điểm khó là ngữ cảnh có giới hạn. Perch xử lý điều này bằng các luồng có thứ tự trong ngân sách token.
Mỗi lượt, nội dung được biểu diễn thành các luồng có tên và đưa vào theo thứ tự cho đến khi hết ngân sách. Các luồng gồm bộ nhớ dự án, bộ nhớ lâu dài, bằng chứng từ luồng hội thoại, bằng chứng từ công cụ, tệp, công cụ, các skill được chọn và mô hình được chọn, với phần dự phòng cho đầu ra của chính mô hình để câu trả lời dài không bao giờ bị cắt ngắn bởi ngữ cảnh của nó.
Hai đặc điểm khiến cơ chế này đáng tìm hiểu:
- Việc đưa vào được thể hiện rõ. Khi thứ gì đó không được đưa vào lượt, đó là quyết định có lý do được ghi lại, không phải bị loại âm thầm.
- Mỗi phần đều có lý do. Mỗi phần ngữ cảnh được đưa vào có giải thích ngắn vì sao nó ở đó, còn các phần bị bỏ qua ghi lại lý do không được đưa vào.
Các luồng và việc thu gọn là hai cơ chế khác nhau
Xem Perch làm việc dựa trên gì
Vì mỗi phần được đưa vào đều có luồng, nhãn và lý do, ứng dụng máy tính có thể hiển thị toàn bộ. Khung Context Window hiển thị ngữ cảnh của lượt dưới dạng các dòng, mỗi thẻ bộ nhớ lâu dài là một dòng riêng có trạng thái, độ mới và độ tin cậy.
Đây là câu trả lời cho câu hỏi mà mọi công cụ agent cuối cùng đều gợi ra: “vì sao nó làm vậy”. Bạn có thể xem những gì mô hình thực sự được cung cấp.
Giữ quyền kiểm soát
Bộ nhớ dự án là các tệp thuần. Mở, sửa, xóa hoặc đưa chúng vào hệ thống quản lý phiên bản cùng phần còn lại của dự án. Bộ nhớ lâu dài có phạm vi theo tài khoản của bạn và theo bạn trên chat trên web, ứng dụng máy tính và CLI, nên những gì Perch học trên một nền tảng cũng có sẵn trên các nền tảng khác.
Khi thông tin mới hơn mâu thuẫn với thông tin cũ, Perch ưu tiên thông tin mới. Sửa sai cho Perch là cơ chế cập nhật, và nó được thiết kế đơn giản như vậy.

