arrow_back Trở về Hướng dẫn
Architecture Level 06

Cơ chế Defense-in-Depth: Phục Hồi Context

Cách PARA Workspace dùng 4 lớp bảo vệ độc lập để ngăn vi phạm rules sau khi AI bị cắt context — từ phát hiện thụ động đến guard header ngay trong file.

Cơ chế Defense-in-Depth: Tuân Thủ Rules Sau Truncation (v1.5.4)

AI Agent trong các hội thoại dài sẽ bị cắt context (truncation) — nền tảng loại bỏ context trước đó để giữ trong giới hạn token. Khi điều này xảy ra, agent âm thầm mất tất cả rules đã tải ở đầu phiên.

PARA Workspace triển khai chiến lược Defense-in-Depth 4 lớp để đảm bảo tuân thủ rules vẫn tồn tại sau truncation. Không lớp nào hoàn hảo đơn lẻ; sức mạnh nằm ở sự kết hợp và tính độc lập.


Vấn đề cốt lõi: Vòng lặp phụ thuộc

Rules hướng dẫn agent đọc lại rules khi mất context. Nhưng nếu agent mất context, nó cũng quên luôn rule bảo nó đọc lại rules:

Agent mất context → Quên rule "đọc lại rules" → Không đọc lại → Vi phạm rules

Vòng lặp phụ thuộc này là lý do cách tiếp cận đơn lớp thất bại. Mỗi lớp bên dưới xử lý vấn đề từ một góc khác.


4 Lớp Bảo Vệ

Lớp 1: Rule File — Giao thức Phục hồi Context

File: agent-behavior.md §4

Agent được hướng dẫn đọc lại .agent/rules.md khi phát hiện context suy giảm. Tín hiệu phát hiện:

  1. Thông báo truncation — nền tảng báo rõ context đã bị cắt
  2. Quên rules — agent không nhớ chi tiết rule cụ thể
  3. Hội thoại dài — phiên vượt quá độ dài thông thường

Chuỗi phục hồi: Phát hiện suy giảm → Đọc workspace rules.md → Đọc project rules.md (nếu has_rules: true) → Tải rule files cụ thể theo nhu cầu.

Bảng File-Level Guards ánh xạ pattern file với rule BẮT BUỘC đọc lại trước khi sửa:

Pattern fileBẮT BUỘC đọc lại trước khi sửa
artifacts/tasks/done.mdhybrid-3-file-integrity.md C2
artifacts/tasks/*.mdhybrid-3-file-integrity.md
.agent/rules/*.mdgovernance.md
kernel/, .para/governance.md

Mở rộng được: Rules project CÓ THỂ định nghĩa guards bổ sung trong Projects/<name>/.agent/rules.md.

Ưu điểm: Bao phủ trường hợp bypass workflow (sửa file trực tiếp). Tải hai tầng tiết kiệm ~90% token.

Nhược điểm: Thụ động — phụ thuộc vào việc agent nhận ra context đã mất (vòng lặp phụ thuộc).

Lớp 2: Output Workflow — Safety Block

File: /open Bước 8 — template báo cáo

Báo cáo /open chứa lời nhắc rules gọn (~40 tokens) đặt gần cuối output. Vị trí này có chủ đích:

/open report output:
  ┌─────────────────────────────────┐
  │  📋 Trạng thái dự án           │  ← Bị cắt đầu tiên (cũ nhất)
  │  📊 Tóm tắt backlog            │
  │  🛡️ SAFETY BLOCK              │  ← Tồn tại lâu nhất (mới nhất)
  └─────────────────────────────────┘

Nội dung Safety Block (3 dòng, dựa trên nguyên tắc):

🛡️ AN TOÀN (giữ qua truncation):
- Git: KHÔNG merge/branch/tag khi chưa có sự đồng ý.
- Governance: KHÔNG chỉnh sửa kernel/ hoặc .para/.
- Phục hồi: Nếu rules có vẻ thiếu → đọc lại .agent/rules.md

Tại sao chỉ /open? Các workflow khác có Lớp 3 (Pre-flight). /open là workflow khởi đầu phiên tạo context nền — output duy nhất tồn tại xuyên suốt phiên.

Ưu điểm: Tồn tại trong checkpoint summaries. Không cần agent nỗ lực.

Nhược điểm: Chỉ nhắc chung. Phụ thuộc nền tảng — chiến lược truncation khác nhau tùy nền tảng.

Lớp 3: Pre-flight Workflow — Step 0

Files: 7 workflows có side-effect

Lớp duy nhất phá vỡ vòng lặp phụ thuộc:

Agent chạy /push → Step 0 BUỘC đọc lại rules.md → Rules phục hồi → Thực thi an toàn

Step 0 là bước bắt buộc đầu tiên trong các workflow thực hiện side-effect:

WorkflowRủi ro side-effect
/pushGit commit, push
/releaseBump version, tag
/endThay đổi task files
/planTạo file plan
/docsTạo file tài liệu
/backlogThay đổi task
/retroThao tác lưu trữ (archive)

Tại sao nó hiệu quả: Agent đọc workflow file từ đĩa → thấy Step 0 → thực thi → rules được tải mới. Không phụ thuộc bộ nhớ agent.

Tại sao Step 0? Trước mọi bước khác. Nếu đặt ở Step 3, Steps 1-2 sẽ chạy không được bảo vệ.

Ưu điểm: Bảo vệ chủ động. Phá vỡ vòng lặp phụ thuộc. Tải mới từ đĩa.

Nhược điểm: Chỉ kích hoạt khi agent dùng workflow. Sửa file trực tiếp sẽ bypass.

Lớp 4: File Guard Headers ⭐

Files: Các file được bảo vệ trên toàn workspace

Lớp mạnh nhất — dựa trên Nguyên tắc Proximity: guard được nhúng ngay trong file mà agent phải mở trước khi sửa.

4 loại Guard:

LoạiPhạm viTemplate guard
TASKartifacts/tasks/<!-- ⚠️ APPEND-ONLY — /end or /backlog clean only (C2) -->
TASKartifacts/tasks/<!-- ⚠️ HOT LANE ONLY — No backlog tasks here (C1) -->
TASKartifacts/tasks/<!-- ⚠️ OPERATIONAL AUTHORITY — Mutations via /backlog only (C3) -->
KERNELkernel/, Resources/ai-agents/kernel/<!-- ⚠️ READ-ONLY SNAPSHOT — Do NOT modify (I9) -->
GOVERNED.agent/rules/<!-- ⚠️ GOVERNED — /para-rule only. Overwritten by para update -->
WORKSPACEAreas/Workspace/<!-- ⚠️ APPEND-ONLY — via /end only -->

Quy ước vị trí:

  • File có YAML frontmatter: guard đặt sau dấu đóng ---, trước # Title
  • File không có YAML: guard đặt sau # Title (dòng 3)

Tại sao đây là lớp mạnh nhất:

  1. Không phụ thuộc gì — không bộ nhớ, không workflow, không nền tảng
  2. Nguyên tắc Proximity — gần nhất với điểm vi phạm
  3. Ẩn khi render — HTML comments không ảnh hưởng giao diện
  4. Tiết kiệm token — ~10-13 tokens mỗi guard

Định nghĩa ở ràng buộc C6 trong hybrid-3-file-integrity.md.

Ưu điểm: Hoạt động ngay cả khi agent đã mất TOÀN BỘ context. Bao phủ kernel, rules, tasks, và workspace files.

Nhược điểm: Chỉ bảo vệ file có guard header. Dự án trước v1.5.4 cần migration.


Ma Trận Bao Phủ

Hành động                        L1   L2   L3   L4
───────────────────────────────  ──   ──   ──   ──
Agent chạy /push                 ⚠️   ✅   ✅   —
Agent chạy /end                  ⚠️   ✅   ✅   ✅
Agent sửa done.md trực tiếp      ✅   —    —    ✅  ← L4 là phòng tuyến cuối
Agent chỉnh file kernel          ✅   ✅   —    ✅
Agent sửa file rules             ✅   —    —    ✅
Yêu cầu tự do (không workflow)   ⚠️   —    —    ✅  ← Chỉ L4 bắt được

Mỗi lớp bắt những gì lớp trước bỏ sót, tạo lưới an toàn với khoảng trống tối thiểu.


Chi phí Token

Tổng footprint: ~300 tokens/phiên (~3-5% ngân sách phiên). Chi phí không đáng kể cho bảo vệ toàn diện.

LớpChi phí/phiênKhi nào
L1: Bảng File Guards~200 tokensĐọc rules index
L2: Safety Block~40 tokensTrong báo cáo /open
L3: Step 0 Pre-flight~30 tokensMỗi lần gọi workflow
L4: Guard Headers~10-13 tokens/fileKhi mở file được bảo vệ

File Map

LớpFile triển khai
L1agent-behavior.md §4, context-rules.md Rule 4, .agent/rules.md
L2/open Bước 8 — template báo cáo
L3Step 0 trong /push, /release, /end, /plan, /docs, /backlog, /retro
L4hybrid-3-file-integrity.md C6, guard headers trong kernel/, .agent/rules/, artifacts/tasks/, Areas/Workspace/

Tham Khảo


→ Học: Kiến trúc Rule Layers & Trigger Index → Học: Kiến trúc Hybrid 3-File → Học: Kiến trúc Kernel