Kho kiến thức theo phiên
Trang này trình bày “Kho kiến thức theo phiên”, “Lịch sử tổng hợp” và “Phiên đã lưu trữ”. Việc quản lý, chỉnh sửa và nhập tệp Markdown cục bộ được trình bày trong Cơ sở tri thức cục bộ.
Kho kiến thức theo phiên lưu kiến thức, quyết định, ràng buộc và bài học rút ra, được tổ chức theo cấp dự án → phiên → bài viết. Các bài viết do tác nhân tạo ra được lưu độc lập: chúng không thay đổi khi phiên nguồn thay đổi, và bạn có thể chỉnh sửa chúng thủ công. Kho kiến thức theo phiên thuộc về máy chủ VelaTerm mà bạn đang kết nối và được dùng chung cho mọi dự án và phiên trên máy chủ đó; khi kết nối tới máy chủ khác, bạn sẽ thấy kho kiến thức của máy chủ đó.
Kho này tách biệt với chức năng tìm kiếm nội dung phiên. Tìm kiếm phiên tìm văn bản trong các cuộc hội thoại gốc, còn kho kiến thức chỉ tìm trong các bài viết đã lưu. VelaTerm tổng hợp, lưu và hiển thị bài viết khi bạn yêu cầu; VelaTerm không tự động đưa bài viết vào các phiên mới.
Tổng hợp một phiên
- Nhấp chuột phải vào một phiên trong thanh bên hoặc vào thẻ của phiên đó và chọn “Tổng hợp vào kho kiến thức theo phiên”. Thao tác này cũng có cho các phiên đã lưu trữ.
- Chọn “Tác tử”: Claude, Codex, Grok Build, OpenCode, Pi hoặc OMP. VelaTerm dùng đường dẫn tệp thực thi được đặt trong Cài đặt ▸ Tác nhân, hoặc tìm chương trình trên PATH. Tác nhân không tìm thấy được hiển thị là “Chưa cài đặt hoặc cấu hình” và không thể chọn.
- Nếu muốn, chọn “Mô hình (không bắt buộc)” và “Mức độ suy luận”. “Mô hình mặc định” và “Mặc định của tác nhân” để cấu hình riêng của tác nhân quyết định. Danh sách mô hình giống với danh sách dùng khi tạo phiên, và các mức suy luận chỉ xuất hiện với những mô hình có hỗ trợ. VelaTerm ghi nhớ tác nhân, mô hình và mức suy luận bạn dùng gần nhất. Tác nhân cần được đăng nhập sẵn và có quyền dùng mô hình đã chọn.
- Nhấp “Tổng hợp và lưu”. Tác nhân được chọn nhận văn bản của phiên và xử lý văn bản đó theo cấu hình mô hình của chính tác nhân.
- Theo dõi tác vụ trong “Lịch sử tổng hợp”. Đóng hộp thoại không làm dừng tác vụ.
VelaTerm đọc bản ghi hội thoại của tác nhân nếu có. Nếu không, VelaTerm dùng bản ghi terminal của phiên (xem Sử dụng terminal) sau khi loại bỏ các mã điều khiển terminal. Khi không đọc được cả hai, VelaTerm báo “Phiên này chưa có hội thoại có thể đọc được.” Bản ghi terminal chứa văn bản hiển thị trên màn hình và có thể gồm cả nội dung được vẽ lại, nên tác nhân tổng hợp không nên coi phần đầu ra đó là sự thật đã được kiểm chứng.
Bản chụp nguồn lưu văn bản đã được đọc để tổng hợp. Tên dự án và tên phiên được lưu khi phiên được thêm lần đầu và không được cập nhật khi dự án hoặc phiên sau đó bị đổi tên, di chuyển, lưu trữ hoặc xóa ở nơi khác.
Tổng hợp lại một phiên sẽ đọc lại phiên đó và thay thế các bài viết đã được tạo từ phiên trước đây, kể cả những chỉnh sửa thủ công của bạn; điều này xảy ra ngay cả khi văn bản và thiết lập mô hình không thay đổi. Nếu phiên đã có một tác vụ chưa hoàn tất, tác vụ mới sẽ thay thế tác vụ đó. Khi tác vụ cũ đang chạy, tác vụ mới tự động bắt đầu sau khi tiến trình cũ đã dừng (“Tác vụ này sẽ tự động bắt đầu sau khi tác vụ trước đó của phiên này dừng lại.”); tác vụ cũ vẫn nằm trong lịch sử.
Cách hoạt động của quá trình tổng hợp
Quá trình tổng hợp gồm ba giai đoạn, được hiển thị làm tiến độ của tác vụ:
- Đang trích xuất chủ đề: phiên được đọc theo từng phần và kiến thức có thể tái sử dụng được trích xuất. Các chủ đề chỉ được hợp nhất trong phạm vi tác vụ này; bài viết của các phiên khác và các chỉnh sửa thủ công trước đó không được sử dụng.
- Đang hợp nhất kiến thức: các phần đóng góp cho từng chủ đề được kết hợp lại, giữ lại kiến thức, ràng buộc và các điểm chưa chắc chắn. Tác nhân được yêu cầu tính đến những chỗ được đính chính hoặc mâu thuẫn ở phần sau và không được tự đặt ra kết luận.
- Đang lưu bài viết: VelaTerm kiểm tra các trường, nguồn, liên kết và phiên bản, rồi thay thế các bài viết đã tạo từ phiên trong một giao dịch cơ sở dữ liệu duy nhất. Bài viết có cùng tiêu đề giữ nguyên định danh và nhận một bản sửa đổi mới. Những bài viết không còn được tạo ra sẽ bị xóa cùng lịch sử phiên bản của chúng, và các liên kết trỏ tới chúng cũng bị gỡ bỏ. Khi quá trình tổng hợp thành công nhưng không tìm thấy nội dung nào có thể tái sử dụng, các bài viết được tạo trước đó của phiên sẽ bị xóa (“Không trích xuất được kiến thức có thể tái sử dụng. Các mục đã tạo trước đó của phiên này đã được xóa.”). Khi kiểm tra thất bại, tác vụ bị hủy hoặc xảy ra xung đột phiên bản, các bài viết trước đó được giữ nguyên và không có kết quả dở dang nào được lưu.
Tác nhân trả về nội dung có cấu trúc, còn VelaTerm thực hiện mọi thay đổi trong cơ sở dữ liệu. Các bài viết liên kết với nhau, và danh sách “Liên kết đến bài viết này” được tính tự động. Bản chụp nguồn và lịch sử phiên bản vẫn còn ngay cả khi phiên gốc bị xóa.
Chất lượng của kiến thức được tổng hợp vẫn cần bạn tự đánh giá. Nếu có chỗ sai, hãy sửa bài viết hoặc khôi phục một bản sửa đổi trước đó; thao tác khôi phục tạo ra một bản sửa đổi mới và giữ lại phiên bản đã bị thay thế.
Lịch sử tổng hợp
“Lịch sử tổng hợp” liệt kê các tác vụ tổng hợp, 40 tác vụ mỗi trang. Mỗi tác vụ hiển thị tác nhân, mô hình (“Mô hình mặc định” khi không chọn mô hình nào), mức suy luận và thời gian; tác vụ đang chạy còn hiển thị giai đoạn hiện tại (“Đang trích xuất chủ đề”, “Đang hợp nhất kiến thức” hoặc “Đang lưu bài viết”). Trạng thái của tác vụ là “Chờ bắt đầu”, “Đang xử lý”, “Đang hủy”, “Hoàn tất”, “Thất bại” hoặc “Đã hủy”, và có thể mở “Bản chụp nguồn” cùng các bài viết được tạo ra ngay từ danh sách.
- “Hủy” dừng một tác vụ đang chờ hoặc đang chạy. Tác vụ đang chạy hiển thị “Đang hủy” cho đến khi tiến trình của tác nhân dừng hẳn. Việc hủy không xóa bản chụp nguồn.
- “Thử lại” khởi động lại một tác vụ thất bại hoặc đã hủy với cùng bản chụp nguồn, mô hình và mức suy luận. Lịch sử hiển thị các thiết lập lúc tác vụ được tạo; lựa chọn mặc định nghĩa là tác nhân tự quyết định, chứ không phải VelaTerm đã xác định một mô hình cụ thể.
Có thể tổng hợp song song nhiều phiên khác nhau. Mỗi phiên chỉ chạy một tác vụ tại một thời điểm, và khi gửi lại, chỉ tác vụ chờ mới nhất được giữ thay vì xếp thành hàng đợi. Các tác vụ đang chờ được lưu trong cơ sở dữ liệu và tiếp tục sau khi ứng dụng khởi động lại. Tác vụ đang chạy mà không báo cáo tiến độ trong hai phút sẽ được đánh dấu là bị gián đoạn (“Quá trình tổng hợp bị gián đoạn. Bạn có thể thử lại bằng bản chụp nguồn đã lưu.”). Thời gian chờ không được tính vào giới hạn thời gian của tác vụ.
Bạn có thể chỉnh sửa bài viết trong lúc quá trình tổng hợp đang chạy. Nếu có người sửa hoặc xóa các bài viết đã tạo từ phiên trong lúc tác vụ chạy, tác vụ sẽ báo xung đột phiên bản, các thay đổi của bạn được giữ lại, và bạn có thể thử lại sau đó. Các phiên khác nhau có thể dùng cùng tiêu đề bài viết; trong một phiên, tiêu đề phải là duy nhất.
Duyệt và quản lý bài viết
Mở kho kiến thức từ bảng bên phải (xem Cơ sở tri thức cục bộ) và mở rộng “Kho kiến thức theo phiên” theo dự án, phiên và bài viết. Nhấp vào một dự án hoặc phiên để liệt kê các bài viết, và nhấp vào một bài viết để đọc. Nút “Lên một cấp” quay về trang cấp trên.
- Trang danh sách có ô tìm kiếm (“Tìm trong tiêu đề và nội dung…”), bộ lọc nhãn (“Tất cả nhãn”), sắp xếp theo “Cập nhật gần đây” hoặc “Theo tiêu đề”, và nút làm mới. Tìm kiếm bao gồm tiêu đề, tóm tắt, nội dung chính và nhãn, hỗ trợ nhiều từ (phải khớp tất cả) và xếp kết quả khớp ở tiêu đề lên trước; mỗi kết quả còn liệt kê các bài viết liên quan trực tiếp. Khi không có kết quả khớp chính xác, kết quả gần đúng sẽ được hiển thị, giống như khi tìm trong cơ sở tri thức cục bộ.
- Bài viết của một phiên được hiển thị 40 bài mỗi trang; danh sách dự án và phiên không bị giới hạn này cắt bớt, và danh sách dài trong cây có nút “Tải thêm”.
- Trang bài viết hiển thị nội dung Markdown, “Bài viết liên quan”, “Liên kết đến bài viết này”, “Nguồn” và “Lịch sử phiên bản”. Bạn có thể sửa nội dung ngay tại chỗ và lưu bằng ⌘S / Ctrl+S, dùng “Chỉnh sửa” để sửa tiêu đề, tóm tắt và nhãn, hoặc chọn “Xuất Markdown”, “Sao chép vào sổ cục bộ” hay “Xóa”. Xóa một bài viết cũng xóa lịch sử phiên bản của bài viết đó nhưng vẫn giữ phiên nguồn và các bản chụp của phiên.
- “Bài viết mới” tạo bài viết thủ công; những bài viết này xuất hiện trong nhóm “Tạo thủ công”.
Cây cũng hỗ trợ các thao tác quản lý:
- Nhấp chuột phải vào một bài viết để đổi tên hoặc xóa; kéo bài viết vào một phiên khác để chuyển bài viết sang phiên đó.
- Nhấp chuột phải vào nhóm dự án hoặc nhóm phiên để đổi tên hoặc xóa các bài viết trong nhóm. Đổi tên nhóm cũng đổi tên dự án hoặc phiên thực tế. Xóa nhóm chỉ xóa các bài viết kiến thức của nhóm: “Xóa toàn bộ N bài viết trong nhóm này? Dự án hoặc phiên làm việc vẫn được giữ lại.”
- Kéo một phiên vào dự án khác sẽ chuyển phiên thực tế sang dự án đó.
- Không thể đổi tên các nhóm “Tạo thủ công”, “Các mục đã hợp nhất trước đây” và “Không rõ dự án nguồn”.
Trang bài viết, biểu mẫu chỉnh sửa, bản chụp nguồn, bản sửa đổi, hộp thoại tổng hợp và lịch sử tổng hợp đều có URL riêng, và dự án, phiên, nội dung tìm kiếm, bộ lọc, cách sắp xếp và trang đang chọn đều nằm trong URL.
Phiên đã lưu trữ
Phiên đã lưu trữ được quản lý trong kho kiến thức. “Phiên đã lưu trữ” xuất hiện trong cây kho kiến thức, cạnh “Kho kiến thức theo phiên”, và nhóm các phiên đã lưu trữ theo dự án gốc; nút “Phiên đã lưu trữ” ở đầu thanh bên cũng mở cùng vị trí này.
- Vùng chính liệt kê mọi phiên đã lưu trữ theo dự án. Một phiên khi được mở có hai thẻ: “Hội thoại” hiển thị toàn bộ cuộc hội thoại, còn “Bài viết kiến thức” hiển thị các bài viết được tạo từ phiên đó.
- “Tìm nội dung đã lưu trữ…” chỉ tìm trong toàn văn của các phiên đã lưu trữ và nhóm kết quả khớp theo phiên.
- Phiên đã lưu trữ khi được mở có các thao tác “Khôi phục thành phiên thường”, “Tổng hợp vào kho kiến thức theo phiên”, “Xuất toàn bộ ngữ cảnh dưới dạng Markdown” (với phiên Claude và Codex) và “Xóa vĩnh viễn (kèm bản ghi)”. Xóa vĩnh viễn có hiệu lực ngay lập tức, không có bước xác nhận.
- Lưu trữ, khôi phục và xóa một phiên không làm thay đổi các bài viết kiến thức hiện có, vì bài viết và bản chụp nguồn được lưu riêng. Phiên đã khôi phục có thể tiếp tục cuộc hội thoại của nó.
Dữ liệu từ các phiên bản trước
Khi VelaTerm nâng cấp dữ liệu cũ, các bài viết chỉ có một phiên nguồn được gán cho phiên đó. Các bài viết đã kết hợp nhiều phiên từ trước được giữ nguyên trong nhóm “Các mục đã hợp nhất trước đây”; chúng không bị tách ra và không bao giờ bị thay thế khi tổng hợp lại một trong các phiên đó. Các bài viết không có nguồn được đưa vào “Tạo thủ công”. Thông tin dự án còn tồn tại được điền một lần trong quá trình nâng cấp; các nguồn không xác định được dự án được liệt kê trong “Không rõ dự án nguồn” cùng tên phiên và bản chụp ban đầu.
Dữ liệu và giới hạn
Kho kiến thức theo phiên được lưu trong cơ sở dữ liệu SQLite của ứng dụng (các bảng memory_*), tách biệt với chỉ mục tìm kiếm phiên. Giao diện chỉ giữ những gì đang hiển thị và dữ liệu chưa lưu trong biểu mẫu; việc xác thực, kiểm tra phiên bản, phát hiện trùng lặp và mọi thao tác ghi đều diễn ra trên máy chủ.
- Một nguồn có thể chứa tối đa 2.000.000 ký tự, mỗi phần trích xuất tối đa 24.000 ký tự, mỗi đầu vào gửi cho mô hình tối đa 350.000 ký tự, và nội dung của một bài viết tối đa 200.000 ký tự.
- Mỗi lần gọi tác nhân có thể chạy tối đa 10 phút, và mỗi luồng đầu ra của lần gọi đó có thể tạo ra tối đa 8 MiB.
- Với OpenCode, Pi và OMP, văn bản truyền vào trong một lần gọi được giới hạn ở 128 KiB.
- Nếu tác nhân trả về đầu ra không khớp với cấu trúc mong đợi, VelaTerm sẽ yêu cầu lại, tối đa ba lần.
Mọi trường hợp vượt các giới hạn này đều thất bại với thông báo rõ ràng (“Nguồn, ngữ cảnh hoặc đầu ra vượt quá kích thước được hỗ trợ. Không có nội dung nào bị cắt bớt hoặc lưu.”); không có nội dung nào bị cắt bớt rồi lưu lại.
Quá trình tổng hợp được ghi vào logs/runtime-*.log trong thư mục dữ liệu ứng dụng. Khi chưa đặt VLX_LOG_DIR, VLX_MEMORY_LOG_DIR quy định thư mục nhật ký. VLX_MEMORY_LOG_LEVEL=error chỉ ghi lỗi, còn off tắt nhật ký của mô-đun này. Nhật ký ghi lại tác vụ và giai đoạn, số lượng đầu vào và đầu ra, thời lượng, số ký tự, giá trị băm SHA-256 và số liệu sử dụng token. Nhật ký không bao giờ ghi toàn bộ prompt, văn bản nguồn, câu trả lời của mô hình, thông tin xác thực hay đầu ra lỗi; tài liệu gốc được giữ trong các bản chụp nguồn.
Liên kết với đồ thị mã nguồn
Bài viết kiến thức có thể được liên kết với các ký hiệu trong mã, và “Tham chiếu mã nguồn” trên trang bài viết sẽ chuyển tới đồ thị mã nguồn. Khi tệp được liên kết thay đổi, bài viết cho biết cần rà soát lại; xác nhận đã rà soát không làm thay đổi nội dung bài viết. Tác nhân trong một phiên có thể truy vấn mã và bài viết bằng vkb. Xem Đồ thị mã nguồn và kho kiến thức.