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:
- Thông báo truncation — nền tảng báo rõ context đã bị cắt
- Quên rules — agent không nhớ chi tiết rule cụ thể
- 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 file | BẮT BUỘC đọc lại trước khi sửa |
|---|---|
artifacts/tasks/done.md | hybrid-3-file-integrity.md C2 |
artifacts/tasks/*.md | hybrid-3-file-integrity.md |
.agent/rules/*.md | governance.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:
| Workflow | Rủi ro side-effect |
|---|---|
/push | Git commit, push |
/release | Bump version, tag |
/end | Thay đổi task files |
/plan | Tạo file plan |
/docs | Tạo file tài liệu |
/backlog | Thay đổi task |
/retro | Thao 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ại | Phạm vi | Template guard |
|---|---|---|
TASK | artifacts/tasks/ | <!-- ⚠️ APPEND-ONLY — /end or /backlog clean only (C2) --> |
TASK | artifacts/tasks/ | <!-- ⚠️ HOT LANE ONLY — No backlog tasks here (C1) --> |
TASK | artifacts/tasks/ | <!-- ⚠️ OPERATIONAL AUTHORITY — Mutations via /backlog only (C3) --> |
KERNEL | kernel/, Resources/ai-agents/kernel/ | <!-- ⚠️ READ-ONLY SNAPSHOT — Do NOT modify (I9) --> |
GOVERNED | .agent/rules/ | <!-- ⚠️ GOVERNED — /para-rule only. Overwritten by para update --> |
WORKSPACE | Areas/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:
- Không phụ thuộc gì — không bộ nhớ, không workflow, không nền tảng
- Nguyên tắc Proximity — gần nhất với điểm vi phạm
- Ẩn khi render — HTML comments không ảnh hưởng giao diện
- 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ớp | Chi phí/phiên | Khi nào |
|---|---|---|
| L1: Bảng File Guards | ~200 tokens | Đọc rules index |
| L2: Safety Block | ~40 tokens | Trong báo cáo /open |
| L3: Step 0 Pre-flight | ~30 tokens | Mỗi lần gọi workflow |
| L4: Guard Headers | ~10-13 tokens/file | Khi mở file được bảo vệ |
File Map
| Lớp | File triển khai |
|---|---|
| L1 | agent-behavior.md §4, context-rules.md Rule 4, .agent/rules.md |
| L2 | /open Bước 8 — template báo cáo |
| L3 | Step 0 trong /push, /release, /end, /plan, /docs, /backlog, /retro |
| L4 | hybrid-3-file-integrity.md C6, guard headers trong kernel/, .agent/rules/, artifacts/tasks/, Areas/Workspace/ |
Tham Khảo
- Rule agent-behavior §4 — Context Recovery + File-Level Guards
- Rule hybrid-3-file-integrity C6 — File Guard Headers
- Rule context-rules Rule #4 — Đặc tả format File Guards
- Rule Layers & Trigger Index — Tải hai tầng + bảng bao phủ workflow
- Hybrid 3-File Architecture — Guard headers C6
→ 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