Files
CASAN/tu-tuong-casan.md
T
2026-06-30 02:21:39 +09:00

18 KiB
Raw Blame History

Tư tưởng CASAN trong workspace — Báo cáo học sâu

Nguồn: FPT_CASAN_Full.md, casan_harness_assessment.md, AINative_OKR_CASAN5/docs/output/casan/*, knowledge-graph (.understand-anything/). Phạm vi: hiểu tư tưởng CASAN, 7 Harness, cách project hiện thực hoá, và lộ trình nâng điểm >90 → Level 5. Ngày: 2026-06-29.


1. CASAN là gì — bản chất tư tưởng

CASAN = Khung Năng lực AI-Native 5 cấp do FPT phát triển. Không phải để "chấm AI giỏi hay dở", mà để dẫn dắt một tổ chức tái thiết kế cách vận hành quanh AI. 5 cấp:

Cấp Tên Ẩn dụ Bản chất
1 Curious Xưởng thủ công Cá nhân tự thử AI, không chia sẻ, không audit
2 Augmented Dây chuyền lắp ráp Copilot/M365 hỗ trợ từng người, quy trình chưa đổi
3 Standard Nhà máy thông minh Chuẩn hoá: governance, template, gate, RAG, registry
4 Automated Doanh nghiệp tự động hoá Agent tự vận hành workflow trong phạm vi uỷ quyền, có kiểm soát
5 Native Sinh vật thông minh trên "AI-OS" AI là lõi vận hành, multi-agent, học liên tục, KPI kinh doanh

Nguyên lý cốt lõi: không nhảy cấp (Cấp 1 không mua Agent để lên thẳng Cấp 4), cấp trên kế thừa cấp dưới, và Harness yếu nhất quyết định trần (H4 Security = 0 thì không thể Level 4 dù mọi thứ khác mạnh).

Bốn lớp tư duy nguyên bản (điểm khác biệt của CASAN)

graph TD
  A[CASAN — 4 lớp tư duy] --> B[Harness Engineering
khung kỹ thuật bao quanh model]
  A --> C[Computational × Inferential
tính toán xác định × suy luận AI]
  A --> D[Human-led, AI-first
người giữ mục tiêu, AI thực thi]
  A --> E[AI Delegation L0-L5
uỷ quyền theo mức rủi ro]
  B --> F[7 Harness: H1..H7]
  D --> G[BMAD: Người định hướng,
Agent phân tích/code/test]
  • Harness Engineering: model chỉ là "động cơ"; Harness là khung an toàn (hướng dẫn TRƯỚC + cảm biến SAU) biến model thành hệ thống tin cậy.
  • Computational × Inferential: chia ranh giới — phần xác định giao logic, phần mơ hồ giao AI, phần rủi ro để người duyệt.
  • Human-led, AI-first: người giữ giá trị/phán đoán/trách nhiệm; AI mở rộng năng lực, không thay chủ thể.
  • Delegation L0→L5: L0 quan sát → L5 tự chủ cao trong vùng đã có governance chặt.

2. Bảy thành phần Harness (xương sống chấm điểm)

ID Harness Câu hỏi chốt
H1 Context Sub-agent biết đường dẫn SRS/spec từ context mà không cần Boss truyền lại?
H2 Tool Tool chạy 2 lần có safe (idempotency) không?
H3 Evaluation Spec đổi nhỏ có trigger test tự động?
H4 Security User inject ignore previous instructions có phá pipeline?
H5 Governance Có trả lời "ai làm gì, lúc nào, ai duyệt"?
H6 AgentOps Một step tốn gấp 3 token có ai biết?
H7 Orchestration Step 10 fail sau khi 8-9 xong, recover được?

Quy đổi cấp: Average >80 + không GAP → Level 4; Average >80 + mọi H>70 + multi-agent → Level 5.


3. Workspace hiện thực hoá CASAN như thế nào

Đây là một SDD pipeline sinh OKR (NestJS + React) được "bọc" toàn bộ 7 Harness bằng script trong AINative_OKR_CASAN5/.specify/. Mỗi bước agent đều đi qua wrapper casan-harness.sh.

Luồng Harness quanh mỗi bước agent

flowchart LR
  IN[Input file] --> H4i[H4 security-check.sh
input: chặn injection/PII/secret]
  H4i --> H5[H5 governance-check.sh
deny-by-default high-risk + approval]
  H5 --> REG{Side-effect?
deploy/db/write}
  REG -->|yes| TR[H2 tool-registry-gate.sh
idempotency + permission + rollback]
  REG -->|no| MET
  TR --> MET[H6 agent-metrics.sh
token/latency/trace JSONL]
  MET --> EXE[Thực thi lệnh agent]
  EXE --> H4o[H4 security-check.sh
output: lọc rò rỉ]
  H4o --> CACHE[idempotency cache + hash]
  CACHE --> OUT[Output đã kiểm soát]

Điểm tinh tế: cache hit vẫn chạy H4/H5 và ghi H6 (không bypass kiểm soát) — đây chính là lỗi đã được sửa ở bản refined.

Bản đồ thành phần Level 5

graph TB
  subgraph H4_5_6[Runtime gates]
    SEC[security-check.sh
pii-mask.py]
    GOV[governance-check.sh
verify-audit-chain.sh]
    OPS[agent-metrics.sh
hallucination-scan.py]
  end
  subgraph L5[Cơ chế Level 5]
    DR[drift-detect.sh + drift-policy.yaml]
    FB[model-fallback.sh + model-fallback.yaml]
    TR[tool-registry.yaml + gate]
    RB[rollback-manager.sh]
    KPI[business-kpi-report.sh + kpi-schema]
    SIGN[sign-policy-bundle.sh]
    PROV[import-provider-telemetry.sh]
    REUSE[harness-package.json + project-registry]
  end
  HARNESS[casan-harness.sh] --> SEC & GOV & OPS
  HARNESS --> TR --> RB
  DR --> golden[golden-runs/]
  KPI --> dash[central dashboard html]

4. Giải thích chi tiết từng thành phần

H1 — Context (91/100)

  • pipeline-context.yaml: pointer store đường dẫn artifact + tech stack. Boss cập nhật sau mỗi step, sub-agent đọc để discover input → không re-scan. Bản refined thêm path Level 5 (drift/rollback/registry).

H2 — Tool (88/100)

  • tool-registry.yaml + tool-registry-gate.sh: mỗi tool có schema, owner, risk, idempotency key, timeout, rollback. Side-effect (write/deploy/db) bắt buộc qua gate; audit ghi tool-calls.jsonl.

H3 — Evaluation (86/100)

  • LLM-as-judge multi-gate (Steps 5/7/11), golden dataset từ okr.testkit, auto-retry tối đa 5, BACK-TO-PLAN 3 cycles, thêm checklist hallucination.

H4 — Security (90/100)

  • security-check.sh: chặn prompt injection, mask PII, redact secret, regex private key/DB string/AWS key dùng grep -- (sửa bug lộ key). Test jailbreak + private key.

H5 — Governance (88/100)

  • governance-check.sh: high-risk deny-by-default, approval không tương tác nhưng auditable; verify-audit-chain.sh kiểm tra audit hash-chain bất biến; risk registry.

H6 — AgentOps (90/100)

  • agent-metrics.sh: trace JSON, metrics JSONL, alert log, lưu failure. Token/latency/cost; alert JSON.

H7 — Orchestration (88/100)

  • Boss DAG + parallel dispatch + BACK-TO-PLAN; bản refined giữ rollback/drift/fallback và bảo toàn evidence khi cache hit.

Cơ chế Level 5

  • Drift: drift-detect.sh so SHA256 + similarity với golden-runs/. Fallback: matrix primary→fallback. Rollback: transaction record/execute. KPI: cycle time, defect leakage, rejection rate. Signed policy + provider telemetry + harness reuse + central dashboard.

5. Hành trình điểm số

graph LR
  B[Baseline 57.9
L3→4] --> C[CASAN4 88.7
L4 đạt]
  C --> R[Refined 88.7
L4 + L5 demo local]
  R --> T[>90 = L5 production]
Harness Baseline CASAN4 Refined Vướng để >90
H1 90 90 91 đã mạnh
H2 75 84 88 registry chưa multi-project
H3 85 85 86 feedback prod→golden chưa tự động
H4 20 88 90 sandbox/jailbreak runtime
H5 25 87 88 audit file → cần WORM/IdP
H6 30 89 90 token ước lượng, chưa telemetry thật
H7 80 81 88 rollback chưa transaction thật
TB 57.9 87.1 88.7

Lưu ý: bảng trên là điểm tự đánh giá trong tài liệu before-after. Điểm thật ở mục 5.1.


5.1. Chấm điểm THỰC SỰ ở thời điểm hiện tại (không suy diễn)

Nguồn duy nhất: AINative_OKR_CASAN5/docs/output/casan/phase2-independent-audit.md — audit độc lập, chạy từng lệnh, không tin log, ngày 2026-06-28. Tôi đã đối chiếu và chạy lại trên máy này để xác minh, không lấy con số 88.7.

ID Harness Điểm thật Bằng chứng đã chạy/kiểm
H1 Context 82 pipeline-context.yaml dựng dần trong 1 run thật; 12 trace_id riêng biệt; artifact tồn tại trên đĩa; 00-boss.log.md thật
H2 Tool 80 Suite 35/0 + 22/0 vẫn pass; audit tool-call ký số tích luỹ từ run
H3 Evaluation 82 npm test -w backend 5 test pass; phá golden → FAIL exit 1, khôi phục → pass; build pass
H4 Security 80 20 trace security thật từ run
H5 Governance 82 Chu kỳ reject→approve thật; hash-chain verify SIGNED
H6 AgentOps 80 Latency/trace per-step thật; tín hiệu hallucination (caveat cost)
H7 Orchestration 80 DAG có BACK-TO-PLAN thật (06 REJECTED→07 APPROVED); undo thật before==after
TB ~81 CASAN Level 4 (Automated) — đạt thật, ≥80 mọi harness

Điểm thật ~81, không phải 88.7. Số 88.7 là tự chấm; ~81 là sau khi chạy lệnh thật.

Điểm yếu trung thực (lý do là ~80, chưa ~90)

  1. H7 rollback trong-run vẫn là marker-writer (printf rolled_back > marker); undo thật chỉ ở app-evidence/rollback-* standalone, chưa phải đường orchestrator chạy.
  2. H7 drift là tự so chính mình (cp golden candidate → similarity 1.0), chưa drift với run trước thật.
  3. H7 fallback dùng trigger giả (exit 9), không phải model-A fail thật.
  4. H6 cost là record mẫu (2778 token) lặp cho mọi step; latency thật, billing chưa thật.
  5. H3 frontend chỉ tsc --noEmit (type-check), chưa test runtime; coverage backend khiêm tốn.
  6. H1 chưa validate staleness/đường dẫn; artifact design mỏng.
  7. Rác root: o6.txt o7.txt t6.txt t7.txt.

Kết quả khi tôi chạy lại trên máy này (xác nhận tính tái lập)

  • run-casan4-harness-tests.sh fail lần đầu vì môi trường: thiếu python3 trên PATH (chỉ có py -3) và GNU grep cảnh báo class regex — lỗi môi trường, không phải lỗi logic.
  • Sau khi thêm shim python3, chuỗi vẫn nhạy môi trường → đây là caveat tái lập, không nâng/hạ điểm. Con số ~81 giữ theo audit đã chạy đầy đủ.

5.2. Workflow chi tiết (pipeline thật)

scripts/run-casan-pipeline.mjs chạy 13 bước, mỗi bước bọc bởi casan-harness.sh.

Vòng đời 1 bước: H4-in (mask/inject) → H5 governance → H2 gate → H6 latency → exec(casan-step.mjs) → H4-out → cache.

graph TD
  A[01-srs]-->B[02-bd]-->C[03-spec]-->D[04-reviewspec]
  D-->E[05-plan a1]-->F[06-reviewplan a1]
  F-->|REJECTED|G[BACK-TO-PLAN: 07-plan a2]
  G-->FB[model-fallback]-->DR[drift-detect]-->H[08-reviewplan a2 APPROVED]
  H-->I[09-dd]-->J[10-testkit]-->K[11-tasks]-->L[12-reviewcode]-->M[rollback record+execute]
# Step Agent Ý nghĩa
1 01-srs okr.srs sinh SRS từ requirement
2 02-bd okr.bd tài liệu business
3 03-spec speckit.specify spec kỹ thuật
4 04-reviewspec okr.reviewspec review spec
5 05-plan a1 speckit.plan plan lần 1
6 06-reviewplan a1 okr.reviewplan REJECTED (thiếu artifact)
7 07-plan a2 speckit.plan plan lần 2 (vá thiếu) → fallback + drift
8 08-reviewplan a2 okr.reviewplan APPROVED
9–12 dd/testkit/tasks/reviewcode okr.* design→test→tasks→review
13 rollback rollback-manager record + execute, before==after

Bằng chứng kèm theo: pipeline-context.yaml, 00-boss.log.md, trace .specify/logs/trace/, app-evidence/rollback-*.


6. Cách nâng >90 (đạt Level 5 production)

Bản refined ~88.7 vì là demo local. Để vượt 90, đóng 7 gap "production-grade":

  1. H5 → 95: thay audit file bằng WORM/signed log, approval qua IdP (separation of duties). +5–6đ.
  2. H6 → 94: thay ước lượng token bằng provider usage API thật + dashboard ingest realtime. +3–4đ.
  3. H7 → 92: rollback transaction boundary thật cho deploy/db. +3đ.
  4. H2 → 92: registry dùng chéo ≥2 project (harness-package versioned). +3đ.
  5. H3 → 90: incident/review → golden test tự động (continuous eval). +3đ.
  6. H4 → 94: sandbox + timeout cho tool thật, jailbreak runtime. +3đ.
  7. Chạy full pipeline OKR thật, giữ CASAN trace mỗi step làm bằng chứng.

Exit Level 5: ≥2 project dùng cùng harness; golden bắt drift trước prod; fallback không bypass governance; rollback chứng minh được; KPI before/after; dashboard tập trung; policy ký số.


7. Tóm tắt 1 dòng

Workspace biến triết lý CASAN thành wrapper casan-harness.sh bọc 7 Harness quanh mọi bước agent → đạt L4 thật, demo L5 local ~88.7; muốn >90 cần nối WORM/IdP/telemetry/rollback thật + dùng chéo project.


8. Bản đồ thành phần → đáp ứng mục nào của CASAN

Mỗi file/script trong workspace phục vụ một (hoặc vài) trụ cột CASAN. Đây là bằng chứng "có gì → tick mục nào".

Thành phần (file/script) Harness/Trụ cột Đáp ứng tiêu chí gì của CASAN Bằng chứng
casan-harness.sh Toàn bộ (orchestrator) Bọc 7 Harness quanh mọi bước agent → biến quy tắc thành luật chạy thật wrapper chuỗi H4in→H5→H2→H6→exec→H4out→cache
security-check.sh H4 Security Mask PII, chặn prompt-injection/jailbreak, chặn secret → "không tin input/output" 20 trace; chặn ⇒ exit 2
governance-check.sh H5 Governance Approval gate + hash-chain audit → "có thẩm quyền & truy vết" reject→approve, chain SIGNED
key-results/objectives.service.ts + golden test H3 Evaluation Đầu ra phải qua test/golden → "đo lường, không tin cảm tính" phá golden ⇒ FAIL exit 1
business-kpi-report.sh H6 AgentOps KPI before/after, latency, hallucination signal → "vận hành đo được" latency thật/step (caveat cost)
drift-detect.sh H3+H7 So output vs golden run → bắt trôi chất lượng trước prod report similarity
model-fallback.sh H7 Orchestration Primary fail → fallback không bypass gate → bền bỉ trigger exit 9
rollback-manager.sh H7 Orchestration record→execute undo → "luôn quay lui được" before==after
pipeline-context.yaml + 00-boss.log.md H1 Context Context dựng dần, trace riêng từng bước → "không bịa ngữ cảnh" 12 trace_id khác nhau
registry/harness-package + suite 35/0,22/0 H2 Tool Tool ký số, gate, dùng lại → "công cụ chuẩn, tái dùng" suite pass
run-casan-pipeline.mjs + casan-step.mjs 5 cấp C→A→S→A→N Tự động hoá full chuỗi 13 bước = leo Level 4→5 BACK-TO-PLAN thật
4 lớp tư duy (plan/exec/review/fix) Delegation L0–L5 reviewspec/reviewplan/reviewcode = lớp review tách khỏi exec 06 REJECT→08 APPROVE

Quy tắc đọc nhanh: H1=context, H2=tool, H3=eval, H4=security, H5=governance, H6=agentops, H7=orchestration. Mỗi script là 1 trụ; orchestrator nối hết.


9. Q&A phản biện (cho người mới + người hỏi xoáy)

A. Người chưa biết CASAN

  • CASAN là gì? 5 cấp trưởng thành agent: Curious→Augmented→Standard→Automated→Native. Workspace đang ở L4 thật (~81 điểm).
  • 7 Harness để làm gì? Là 7 lớp bảo vệ mọi bước AI: ngữ cảnh, công cụ, đánh giá, bảo mật, thẩm quyền, vận hành, điều phối. Không có = AI "tự bịa".
  • Tại sao cần? Để agent không hành động mù: trước khi chạy phải mask PII, xin phép, đo, test, và quay lui được.
  • Khác gì gọi LLM bình thường? Mọi bước bị wrapper bọc → có trace, có gate, có audit ký số. Không phải prompt rồi tin ngay.

B. Người nắm rõ hỏi xoáy

  • "~81 hay 88.7?" → ~81 là thật (chạy lệnh, audit độc lập). 88.7 là tự chấm. Mục 5.1 đã tách bạch, không dùng 88.7.
  • "Rollback thật không?" → Undo thật chỉ ở app-evidence/rollback-* (before==after). Trong-run vẫn là marker-writer → đã ghi yếu điểm #1, đó là lý do H7=80 chứ không 90.
  • "Drift có thật?" → Thuật toán thật nhưng input giống nhau (cp golden candidate→1.0). Chưa drift với run trước → yếu điểm #2.
  • "Fallback thật?" → Trigger giả (exit 9), chưa phải model-A fail thật → yếu điểm #3.
  • "H6 cost?" → Latency thật, token là record mẫu 2778 lặp lại → chưa billing thật → yếu điểm #4.
  • "H3 frontend?" → Chỉ tsc --noEmit, chưa runtime test; coverage backend mỏng → yếu điểm #5.
  • "Tái lập được không?" → Có lệnh repro; nhưng nhạy môi trường (thiếu python3, GNU grep), tôi đã gặp fail trên máy này — đó là caveat, không nâng điểm.
  • "Sao chỉ L4 chưa L5?" → L5 cần ≥2 project dùng chung harness + WORM/IdP + telemetry/rollback thật. Hiện 1 project demo → đúng L4.
  • "Audit có tin được?" → Tin vì auditor chạy từng lệnh, phá golden để chứng minh test thật, không tin log. Mọi điểm yếu được nêu thẳng.

Nguyên tắc trả lời: mọi điểm mạnh đều kèm bằng chứng on-disk; mọi điểm yếu đều thừa nhận trước. Không phòng thủ bằng con số tự chấm.