AIDF-NEXA Training Program

Giới thiệu & Thiết lập

"Document-first, AI-assisted, Quality-assured"

Lịch trình hôm nay

Giờ Chủ đề TL
10:00 Chào mừng + Tự giới thiệu 10 ph
10:10 NEXA là gì? + Kiến trúc 20 ph
10:30 5 Giai đoạn + SoT + Cấu trúc dự án 20 ph
10:50 Kiểm tra nhanh 10 ph
🔄 NGHỈ GIẢI LAO 5 PHÚT
11:05 Thiết lập Claude Code 25 ph
11:30 Clone dự án + Khám phá 25 ph
11:55 Tổng kết + Hỏi đáp 5 ph

Phần 1: Lý thuyết (1h) + Phần 2: Thực hành (1h) | Học viên: 6 người (STNET: 1, MSR: 3, WBC: 2)

PHẦN 1: LÝ THUYẾT

10:00 - 11:00

Chào mừng

Tự giới thiệu (1 phút/người): Tên, Tổ chức, Vai trò, Kinh nghiệm AI

# Tên Email Tổ chức
1 石川 洋 hiroishikawa@stnet.co.jp STNET
2 森實 日菜 hina-morizane@mail.msr.co.jp MSR
3 熊谷 希良 kira-kumagai@mail.msr.co.jp MSR
4 土田 昂樹 koki-tsuchida@mail.msr.co.jp MSR
5 Tăng Ngọc Vân vantn@wbcvn.vn WBC
6 Vương Tiến Mạnh manhvt@wbcvn.vn WBC

Giảng viên: Khúc Anh Minh Lượng (ルオン)luongkam@fabbi.io

Toàn cảnh AI cho phát triển phần mềm

AI Models
GPT-4o, Claude, Gemini, DeepSeek...
= Bộ não nền tảng của tất cả

AI Assistants
ChatGPT, Perplexity, Google AI
= Giao diện chat

AI Coding Tools
GitHub Copilot, Cursor, Windsurf, Cline, Antigravity
= IDE Wrapper kết nối LLM vào IDE

AI Dev Frameworks
Code-gen: LangChain, CrewAI, AutoGen
Process mgmt: NEXA
= Rules + Quality Gate + Process

NEXA là gì?

Next-generation EXecution AI (ネクサ)

NEXA ≠ AI Model
NEXA ≠ IDE Plugin
NEXA = Framework

NEXA = đưa cho AI "sổ tay quy tắc" của mình, rồi kiểm tra kết quả

So sánh NEXA và Copilot/Cursor

Copilot / Cursor NEXA
Kiến thức LLM training data (internet) BD/DD của dự án (SoT)
Nghiệp vụ phổ thông Tốt (CRUD, Auth, REST...) Tốt + chuẩn hóa
Nghiệp vụ đặc thù Hallucination, tự sáng tạo Bắt buộc theo spec
Nghiệm thu Không có cơ chế Quality Gate theo thiết kế

LLM (GPT, Claude...) = bộ não có kiến thức từ toàn bộ internet
Copilot / Cursor = công cụ kết nối LLM vào IDE của bạn (wrapper)
→ Nghiệp vụ chung: OK. Nghiệp vụ riêng: hallucinate vì thiếu kiến thức dự án.
NEXA = cơ chế bắt buộc theo thiết kế DỰ ÁN + nghiệm thu bằng thiết kế đó.

Kiến trúc NEXA tổng quan

Chỉ cần nhớ 1 điều:

  👨 BẠN  ──────▶  🏗 NEXA  ──────▶  🧠 AI (Claude)
  Developer        Framework         LLM Model
                   (Fabbi IP)        (External)
Dùng AI trực tiếp Qua NEXA
Prompt Tự viết NEXA tối ưu hóa
Format Mỗi lần khác Chuẩn SI Nhật
CL Không kiểm soát Auto review
Tốc độ 1x Review time giảm 60%

NEXA = "Phiên dịch giữa Bạn và AI"
Chứa tri thức dự án + chuẩn Nhật + quản lý chất lượng
Kiến trúc chi tiết → xem Phụ lục E

3 Cấp độ sử dụng AI

Prompt đi đâu? — Chi tiết từng cấp độ

❌ Level 1 (ChatGPT): Chỉ 2 tầng — không context

👤 ──── prompt thô ────▶ 🧠 AI ──── generic output ────▶ 📄

⚠️ Level 2 (Vibecoding): 3 tầng — có code context

👤 ──▶ 💻 IDE+AI (đọc code) ──── prompt+context ────▶ 🧠 AI ──▶ 💻 Code

✅ Level 3 (NEXA): 5 tầng — đầy đủ

👤 ──▶ 💻 IDE+AI ──▶ 🏗 NEXA (templates+rules+engines)
                          │
                          ▼  meta-enhanced prompt
                       🧠 AI ──▶ 📄 Docs + 💻 Code + 🧪 Tests
                                      ↑ auto-reviewed ✅

2 tầng NEXA thêm vào:

Tầng thêm Vai trò Hiệu quả
🏗️ Meta-Layer Templates + Rules + Engines + Patterns Prompt được tối ưu
🔍 Auto-Review Quality gates + Ground truth comparison Chất lượng được đảm bảo

Lưu ý: "5 tầng" ở đây là luồng xử lý prompt — khác với 6 tầng kiến trúc (xem Phụ lục E)

3 Trụ cột của NEXA

NEXA FRAMEWORK Fabbi Core IP — Layer 4
📚
Methodology
方法論 / Phương pháp
• Templates
• V-Model
• SoT Rules
⚙️
Engine
エンジン / Công cụ
• Auto-review
• Test Gen
• Doc Gen
🤖
Intelligence
インテリジェンス / Thông minh
• Commands
• Skills
• Agents
✅ Project / Dự án (CLAUDE.md) ✅ 日本基準 / Chuẩn Nhật (V-Model) ✅ Standard Format / Tài liệu đúng format

Day 2 trở đi sẽ đi sâu vào từng trụ — hôm nay chỉ cần nhớ "bức tranh tổng thể" là được

5 Giai đoạn phát triển cơ bản

RD ────▶ BD ────▶ DD ────▶ CODE ────▶ TEST
Req Def   Basic Design   Detail Design   Impl   Unit Test
Phase Nội dung Without NEXA ❌ With NEXA ✅
RD Định nghĩa yêu cầu Tổng hợp yêu cầu thủ công, hay thiếu sót AI trích xuất + YAML có cấu trúc
BD Thiết kế cơ bản Tài liệu thiết kế mỗi người mỗi kiểu Template thống nhất + AI sinh
DD Thiết kế chi tiết Copy-paste nhiều, không nhất quán BD→DD tự động + kiểm tra nhất quán
CODE Triển khai AI sinh code → review thủ công Sinh code theo DD + tự động kiểm tra
TEST Unit Test Tester viết tay DD → tự động sinh test cases

※ Test = Unit Test — Integration Test, System Test là quy trình riêng

→ Tiếp: Điều gì xảy ra GIỮA các giai đoạn? Nếu lỗi chảy sang giai đoạn sau thì sao?

Tại sao cần Quality Gate?

Không có NEXA: chuỗi nhiễm bẩn SoT

BD sai tên màn hình → DD copy theo → Code implement sai → Test làm lại hết

QG của NEXA: trạm kiểm soát tự động bảo vệ SoT

Without NEXA ❌ With NEXA QG ✅
Không ai review BD AI tự kiểm tra coverage RD→BD
DD mâu thuẫn BD mà không biết Kiểm tra nhất quán BD⇄DD qua SoT
Code khác thiết kế → review thủ công Tự đo tỷ lệ tuân thủ DD, kiểm tra type
Test có cover thiết kế không? Không biết Tự sinh test cases từ DD + verify

Cốt lõi:
QG = kiểm tra tự động dựa trên SoT. Không phải mắt người, mà là kiểm tra theo quy tắc.

Quality Gate trong NEXA

Mỗi giai đoạn có "trạm kiểm soát" tại cổng ra:

RD ──[QG]──▶ BD ──[QG]──▶ DD ──[QG]──▶ CODE ──[QG]──▶ TEST
      ✅          ✅           ✅            ✅
   RD Review   BD Review    DD Review    Code Review
Quality Gate Kiểm tra gì? Công cụ
RD → BD Coverage yêu cầu, liên kết SoT docs-manager
BD → DD Tính nhất quán API, mapping màn hình-API code-reviewer
DD → CODE Tỷ lệ tuân thủ DD, khớp kiểu dữ liệu coder + tester
CODE → TEST Test coverage, tiêu chuẩn chất lượng tester

Day 2 で実践: /bd:review, /dd:generate, /tc:generate
Sẽ thực hành ở Day 2

Quality Gate = hiện thực hóa nguyên tắc "Design by Contract" của NEXA
Đã thi công theo bản vẽ chưa? Nghiệm thu bằng bản vẽ.

SoT — Khái niệm quan trọng nhất

SoT = Source of Truth = Tài liệu chính thức DUY NHẤT đã được xác nhận

⚠ SoT ≠ Output — Output có thể chưa final, SoT PHẢI đã xác nhận

Hệ phân cấp SoT — càng cao càng TRUTH:
  🔝 00_Input/          ← SoT toàn dự án (Thông tin từ khách hàng)
  📂 XX_Phase/90_Input/ ← SoT từng giai đoạn

4 Quy tắc:

# Quy tắc Chi tiết
1 Nguồn duy nhất Chỉ 1 bản chính thức
2 Phiên bản mới nhất Luôn dùng version cao nhất (vN)
3 Sao chép, không tham chiếu Copy vào 90_Input/, không ref ngoài
4 Không bao giờ sửa Input Không sửa file trong 90_Input/

Cấu trúc dự án

Điều 1: Thư mục theo giai đoạn

Thư mục Vai trò
00_DocumentMap/ GPS dự án
00_Input/ SoT toàn dự án
01_要件定義/ Định nghĩa yêu cầu
02_基本設計/ Thiết kế cơ bản
03_詳細設計/ Thiết kế chi tiết
04_実装/ CODE — frontend/ + backend/
05_テスト/ Unit Test

Điều 2: Cấu trúc 3 lớp mỗi giai đoạn

Phase/
├── 90_Input/    ← SoT (đã xác nhận)
├── 91_Output/   ← Kết quả tạo ra
└── 92_Analysis/ ← Đánh giá

Điều 3: File luật AI (CLAUDE.md, .cursorrules, .github/copilot-instructions.md)

Kiểm tra nhanh

Q1: SoT nằm ở đâu?

  • a) 91_Output/
  • b) 90_Input/ ✅
  • c) 92_Analysis/

Q2: Dev A dùng BD v2 để tạo DD. Sau đó BD v3 được duyệt. Dev A phải làm gì?
Tiếp tục dùng DD hiện tại

  • b) Copy BD v3 vào 90_Input, tạo lại DD ✅
    Sửa DD thủ công

Q3: File trong 91_Output/ và 90_Input/ khác nhau — file nào đúng?
vì đây là output mới nhất

  • b) vì đây là SoT đã xác nhận ✅
    Kiểm tra cả hai rồi merge

PHẦN 2: THỰC HÀNH

11:05 - 12:00

Thiết lập Claude Code — Tổng quan

Công cụ CLI để sử dụng AI trong terminal

Bạn sẽ nhận được:
Email mời từ trainer chứa thông tin đăng nhập
   Claude Code license (1 trong 6 tài khoản)
   Email + password để đăng nhập

Kiểm tra email trước khi bắt đầu!

Lưu ý:
Tài khoản do Fabbi cấp — không dùng tài khoản cá nhân

Bước 1 — Kiểm tra điều kiện tiên quyết

Mở Terminal và chạy từng lệnh:

# Kiểm tra Git
git --version          # Cần: 2.x+

# Kiểm tra Node.js
node --version         # Cần: 20+

# Kiểm tra npm
npm --version          # Cần: 10+

# Kiểm tra VS Code
code --version         # Bất kỳ version

# Kiểm tra Claude Code CLI
claude --version       # Cần: Latest

Nếu thiếu công cụ nào → báo trainer để được hỗ trợ cài đặt

Bước 2 — Cài đặt Claude Code CLI

# Cài đặt Claude Code CLI
npm install -g @anthropic-ai/claude-code

# Xác nhận thành công
claude --version

Nếu gặp lỗi:

Lỗi Giải pháp
Permission denied sudo npm install -g @anthropic-ai/claude-code
Command not found sau khi cài Đóng terminal, mở lại, chạy lại claude --version

Bước 3 — Đăng nhập Claude Code

# Bước 1: Chạy claude
claude

# Bước 2: Đăng nhập
#   - Chọn "Log in with email"
#   - Nhập email + password từ trainer

Kiểm tra thành công:

→ Go (nhap): "hello, who are you?"
→ Claude tra loi → THANH CONG!
→ Go /exit de thoat
Lỗi Giải pháp
Invalid credentials Kiểm tra lại email/password (hoa/thường)
Network error Kiểm tra internet, tắt VPN

Bước 4 — Clone dự án mẫu

# Clone dự án nexa-sample-1
git clone https://github.com/[org]/nexa-sample-1.git

# HOẶC copy từ local
cp -r /Volumes/TrainingShare/nexa-sample-1 ~/workspace/

# Vào thư mục + mở VS Code
cd ~/workspace/nexa-sample-1
code .

Kiểm tra clone thành công:

ls
# Phai thay cac thu muc sau:
#   00_DocumentMap/ 01_要件定義/ 02_基本設計/ 03_詳細設計/ ...
# Phai thay: CLAUDE.md

Bước 5 — Chạy Claude Code trong dự án

cd ~/workspace/nexa-sample-1
claude

# Thử các lệnh sau

# 1. Hỏi về dự án
"mô tả tổng quan về dự án này"

# 2. Tìm tài liệu
"tìm file BD của màn hình login (SCREEN-001)"

# 3. Xem trạng thái dự án
/kanban

Claude sẽ tự động đọc CLAUDE.md khi khởi động
Claude biết cấu trúc dự án và các luật chơi

Bước 6 — Khám phá dự án (tự làm, 10 phút)

# Câu hỏi Trả lời
1 Có bao nhiêu file BD trong 02_基本設計/91_Output/? _____
2 SoT cho giai đoạn DD nằm ở thư mục nào? _____
3 Phiên bản mới nhất của SCREEN-001 BD là bao nhiêu? v_____
4 04_実装/frontend/ dùng framework gì? _____
5 File CLAUDE.md có những gì? _____
6 Hỏi Claude "SoT của dự án này là gì?" So sánh với kết quả bạn tìm bằng VS Code. _____

Cách làm:

  • Dùng VS Code file tree để duyệt thư mục
  • HOẶC hỏi Claude "Có bao nhiêu file BD trong 02_基本設計/91_Output/?"
  • ★ Câu 6 BẮT BUỘC dùng Claude

Tổng kết & Hỏi đáp

Hôm nay bạn đã:

  • ✅ Hiểu NEXA là gì (AI execution platform, không phải AI coding tool)
  • ✅ Biết 5 giai đoạn: RD → BD → DD → CODE → TEST
  • ✅ Hiểu SoT (Source of Truth, nằm trong 90_Input/)
  • ✅ Cài đặt + đăng nhập Claude Code thành công
  • ✅ Clone dự án + khám phá cấu trúc
  • ✅ Chạy Claude Code trong dự án thực tế

Day 2 preview:

  • SoT management chi tiết
  • Templates & Prompts
  • Development workflow + Quality Gates

PHỤ LỤC

Kiến trúc NEXA v2 chi tiết

Kiến trúc 6 tầng:

Tầng Nội dung Owner
1. User Layer Roles: Engineer, AI Lead, PM User
2. Local Machine IDE + AI Client + Project Workspace User
3. DevOps (v3) Git + CI/CD + Quality Gates Shared
4. NEXA Framework Templates, Engines, KB, Commands, Skills, Agents ★ Fabbi (Core IP)
5. AI Runtime CLAUDE.md + System Prompt + MCP Servers External (設定可/cấu hình được)
6. LLM Claude (Primary), GPT-4, Local LLM External

Giá trị FabbiLayer 4 = "bộ não" dạy AI cách làm việc

Bảng thuật ngữ

Thuật ngữ 日本語 Tiếng Việt
NEXA FabbiのAI駆動開発フレームワーク Framework AI-Driven Development của Fabbi
SoT 各フェーズの唯一の正式ドキュメント Tài liệu chính thức duy nhất mỗi giai đoạn
RD 要件定義 Định nghĩa yêu cầu
BD 基本設計 Thiết kế cơ bản
DD 詳細設計 Thiết kế chi tiết
DocumentMap プロジェクトのGPS (ドキュメントマップ) Bản đồ tài liệu — GPS của dự án
CLAUDE.md プロジェクト内AIのルールファイル Tệp luật chơi cho AI trong dự án
90_Input SoTを格納するフォルダ Thư mục chứa SoT
91_Output 生成された結果を格納するフォルダ Thư mục chứa kết quả tạo ra
92_Analysis レビュー・分析を格納するフォルダ Thư mục chứa đánh giá, phân tích

Xử lý sự cố

Vấn đề Giải pháp
npm install -g permission denied sudo npm install -g @anthropic-ai/claude-code
command not found Đóng + mở lại terminal
Đăng nhập thất bại Kiểm tra lại email/password, báo trainer
git clone permission denied Dùng HTTPS thay SSH
VS Code không mở VS Code → Cmd+Shift+P → "Install code command in PATH"
Internet chậm/mất Sử dụng bản copy local từ trainer

Checklist cho Trainer

  • [ ] 6 Claude Code licenses đã tạo
  • [ ] Email mời với thông tin đăng nhập đã gửi cho học viên
  • [ ] Wifi ổn định, test thử Claude API
  • [ ] Dự án mẫu đã clone trên USB/local share (backup)
  • [ ] Máy chiếu/TV hoạt động
  • [ ] Mỗi học viên có laptop với Git, Node.js, VS Code

Câu chuyện NEXA

NEXA = Next-generation EXecution AI

"Execution" không chỉ là "chạy code" → thực thi TOÀN BỘ quy trình phát triển

"Next-gen" = vượt qua các AI coding tools (Copilot, Cursor) ở cấp độ dự án

Góc nhìn Cảm nhận
Khách hàng Nhật "AI làm nhanh" → bổ sung: Design by Contract + Traceability
So sánh Copilot/Cursor Cùng LLM, khác methodology: có bản vẽ internet vs bản vẽ dự án
Nhóm nhỏ Sweet spot — NEXA mạnh nhất ở đây
Rủi ro "AI viết code bừa" → phản bác: Quality Gate + Document-first

Timeline:

2024-Q4 → 2025-H1 → 2025-H2 → 2026-Q1 → 2026-Q2~  → 2026-Q4+
Idea       Foundation Engine     Expand    Production  Vision
SoT idea   12 tmpl   BD Review  28 cmds   CR Manager  Autonomous
9 Prims    DocMap    TC Gen     40+ skills CASCADE    SDLC

Metrics: DD 86% | UT 96.9% | Overall 89.6%

Cảm ơn!

Hẹn gặp lại vào Day 2
SoT chuyên sâu + Templates + Workflow

Xin chào tất cả mọi người! Chào mừng các bạn đến với chương trình đào tạo AIDF-NEXA Day 1. Hôm nay chúng ta sẽ cùng nhau tìm hiểu về NEXA Framework — một phương pháp phát triển phần mềm hỗ trợ bởi AI mà Fabbi đã xây dựng. Chúng ta sẽ đi từ lý thuyết cơ bản đến thực hành thực tế, cài đặt công cụ và khám phá dự án mẫu. Mục tiêu cuối ngày hôm nay: các bạn hiểu NEXA là gì, biết 5 giai đoạn phát triển, và tự chạy được Claude Code trong dự án. Hãy bắt đầu nào!

Đây là lịch trình cho buổi học hôm nay. Chúng ta có 2 giờ tổng cộng, chia làm 2 phần rõ ràng. Phần 1 từ 10 giờ đến 11 giờ là lý thuyết — chúng ta sẽ tìm hiểu NEXA là gì, 5 giai đoạn phát triển, và khái niệm SoT. Phần 2 từ 11 giờ 5 đến 12 giờ là thực hành — cài đặt Claude Code, clone dự án, và tự khám phá. Giữa 2 phần có 5 phút nghỉ giải lao. Nếu có câu hỏi trong quá trình học, cứ giơ tay — chúng ta sẽ giải đáp ngay hoặc để cuối buổi.

Bắt đầu Phần 1 — phần lý thuyết. Trong 1 giờ này, các bạn sẽ nắm được nền tảng tư duy của NEXA Framework. Đừng lo lắng nếu chưa hiểu hết ngay — chúng ta sẽ có bài tập thực hành để củng cố sau.

Trước khi bắt đầu, hãy để mọi người tự giới thiệu bản thân trong khoảng 1 phút mỗi người. Xin hãy chia sẻ: tên của bạn, bạn đang làm việc ở đâu, vai trò của bạn trong dự án, và kinh nghiệm với AI của bạn đến đâu. Điều này giúp tôi điều chỉnh nội dung phù hợp với trình độ của cả nhóm. Tôi sẽ bắt đầu trước: tôi là Lượng, trainer từ Fabbi, đã làm việc với Claude và AI-assisted development trong hơn 1 năm. Bây giờ mời bạn số 1 — Ishikawa-san.

Trước khi nói về NEXA, hãy nhìn toàn cảnh thị trường AI cho phát triển phần mềm. Hình bên phải cho thấy 4 nhóm chính: 1) AI Models (LLM) — GPT, Claude, Gemini, DeepSeek... đây là BỘ NÃO, nguồn kiến thức. Tất cả các tool khác đều phụ thuộc vào nhóm này. Không có LLM thì không có gì cả. 2) AI Assistants — ChatGPT, Perplexity, Google AI... là giao diện chat trực tiếp trên browser. Đơn giản nhất, ai cũng dùng được. Chỉ cần mở web và gõ câu hỏi. 3) AI Coding Tools — GitHub Copilot, Cursor, Windsurf, Cline, Antigravity... là WRAPPER — công cụ bọc LLM vào IDE. Tool khác nhau nhưng bộ não bên trong vẫn là cùng một LLM. Ví dụ: Cursor bên trong cũng gọi Claude hoặc GPT. 4) AI Development Frameworks — LangChain, CrewAI, AutoGen, và NEXA thuộc nhóm này. Khác biệt quan trọng nhất: không chỉ kết nối LLM vào IDE mà còn ÁP DỤNG QUY TẮC dự án và KIỂM TRA chất lượng output. Điểm mấu chốt: tool thay đổi liên tục — hôm nay Cursor, mai Windsurf — nhưng FRAMEWORK (cách tổ chức và kiểm soát AI) mới là giá trị lâu dài. Đó là lý do chúng ta học NEXA.

NEXA viết tắt từ Next-generation EXecution AI — đọc là "ネクサ" (Nekusa). Điều quan trọng nhất cần nhớ: NEXA KHÔNG PHẢI là một AI model như GPT hay Claude. NEXA cũng KHÔNG PHẢI là plugin IDE như Copilot hay Cursor. Nó là một FRAMEWORK — một hệ thống quy tắc và quy trình. Các bạn đã dùng ChatGPT rồi đúng không? Khi bạn hỏi ChatGPT "tạo API cho màn hình login" — nó tạo được, nhưng tạo theo kiểu GENERIC. Nó không biết dự án bạn dùng database gì, template format Nhật Bản như thế nào, hay quy chuẩn riêng của công ty. Hãy tưởng tượng ChatGPT như một thầy giáo rất giỏi — biết mọi thứ trên thế giới. Nhưng thầy giáo đó chưa bao giờ đến công ty bạn, chưa bao giờ đọc tài liệu dự án, chưa bao giờ biết template riêng của Fabbi. NEXA giải quyết vấn đề này. NEXA là cơ chế đưa cho "thầy giáo" đó toàn bộ bản thiết kế dự án (BD/DD), template chuẩn, và quy tắc chất lượng — TRƯỚC KHI thầy bắt đầu làm. Rồi sau khi thầy làm xong, NEXA kiểm tra lại output xem có đúng bản thiết kế không. Đó là toàn bộ ý tưởng. Đơn giản vậy thôi.

Điểm quan trọng cần phân biệt: LLM (GPT, Claude...) là BỘ NÃO — nó có kiến thức từ toàn bộ internet. Còn Copilot, Cursor, Antigravity... là CÔNG CỤ — chúng chỉ là wrapper kết nối bộ não đó vào IDE của bạn. Vì vậy với nghiệp vụ phổ thông — CRUD, authentication, REST API — LLM làm rất tốt vì kiến thức đã có sẵn từ training data. NHƯNG khi gặp nghiệp vụ đặc thù — format SI Nhật Bản, template riêng công ty, business logic khách hàng — thì LLM bắt đầu "bịa" (hallucination) vì không có kiến thức về dự án cụ thể. Context window cũng có giới hạn nên AI không nhớ hết spec. NEXA khác: bắt buộc AI theo thiết kế của DỰ ÁN (BD/DD), và nghiệm thu output bằng chính thiết kế đó qua Quality Gate.

Trước khi đi vào chi tiết, hãy nhìn bức tranh tổng thể trước — kiến trúc NEXA cực kỳ đơn giản. Hãy nhớ duy nhất một điều: NEXA nằm GIỮA bạn và AI. Khi bạn dùng AI trực tiếp — ví dụ mở ChatGPT rồi gõ "tạo BD cho màn hình login" — bạn tự viết prompt, output mỗi lần mỗi khác, không ai review. Khi bạn dùng NEXA — bạn cũng gõ câu đó, nhưng NEXA sẽ biến câu đó thành prompt chuẩn, thêm context dự án, thêm template tiếng Nhật, rồi mới gửi cho AI. Kết quả: output đúng format, nhất quán, và được auto-review. Thực tế dự án MSR-002: review time giảm 60%, DD accuracy 86%, UT completeness 96.9% — đây là con số thực từ dự án thật. Hãy nghĩ NEXA như "phiên dịch viên" giữa bạn và AI — nó biết dự án của bạn, biết chuẩn Nhật Bản, và biết cách kiểm tra chất lượng.

Trước khi xem NEXA cụ thể, hãy so sánh 3 cách dùng AI mà các bạn có thể đã biết. Cách 1 — ChatGPT trực tiếp: bạn mở browser, gõ câu hỏi. AI trả lời chung chung, không biết dự án của bạn, không biết format Nhật Bản. Prompt chỉ đi qua 2 tầng: bạn → AI. Cách 2 — Vibecoding với Cursor hoặc Claude-Code: AI biết thêm code hiện tại trong project. Code output tốt hơn, nhưng vẫn không tạo tài liệu, không theo template công ty. Prompt đi qua 3 tầng. Cách 3 — NEXA: cùng câu hỏi đó, nhưng prompt đi qua 5 tầng. NEXA thêm template chuẩn, rules chất lượng, pattern library, rồi auto-review kết quả. Output ra cả tài liệu, code, và test cases. Điểm mấu chốt: cùng 1 câu hỏi, nhưng đi qua càng nhiều tầng thì chất lượng càng cao. NEXA thêm 2 tầng quan trọng mà Cursor/Claude-Code không có.

Hãy nhìn kỹ hơn prompt đi qua đâu ở mỗi cấp độ. Level 1 — ChatGPT: prompt đi thẳng từ bạn đến AI, không có gì ở giữa. AI nhận được câu hỏi thô, trả lời chung chung. Level 2 — Vibecoding: IDE như Cursor hoặc Claude-Code tự động đọc code trong project rồi gửi kèm prompt cho AI. AI hiểu code hơn, nên output code tốt hơn. Nhưng nó chỉ biết CODE — không biết template tài liệu, không biết chuẩn Nhật Bản. Level 3 — NEXA: thêm 2 tầng quan trọng. Tầng Meta-Layer chứa templates, rules, engines, patterns — biến prompt thô thành prompt chuẩn. Tầng Auto-Review kiểm tra output trước khi trả cho bạn. Kết quả: cùng 1 câu hỏi "tạo API cho login", NEXA trả ra cả tài liệu BD/DD, code đúng pattern, test cases, và tất cả đã qua review. Đó là sức mạnh của 5 tầng so với 2-3 tầng. Lưu ý: đây là 5 tầng xử lý PROMPT, khác với 6 tầng kiến trúc hệ thống ở Phụ lục E.

⚠️ Trainer: slide này dùng inline HTML — cần flag --html khi build (đã set trong build.sh). Bây giờ nhìn kỹ hơn vào bên trong NEXA — có 3 trụ cột chính. Trụ 1 là PHƯƠNG PHÁP — bao gồm templates chuẩn, quy trình V-Model của Nhật, và quy tắc SoT mà chúng ta vừa học. Đây là "luật chơi" để tài liệu luôn đồng nhất. Trụ 2 là CÔNG CỤ — các engine tự động hóa như auto-review tài liệu, tự tạo test case, tự sinh tài liệu. Thay vì bạn review bằng tay 2 ngày, engine làm trong 2 giờ. Trụ 3 là THÔNG MINH — hệ thống commands, skills, và agents. Ví dụ khi bạn gõ "/dd:generate", NEXA biết phải làm gì, gọi AI đúng cách, và kiểm tra kết quả. 3 trụ này kết hợp lại tạo nên giá trị cốt lõi của Fabbi — đây là thứ mà Copilot hay Cursor KHÔNG có. Hôm nay chỉ cần nhớ bức tranh tổng thể — từ Day 2 trở đi chúng ta sẽ đi sâu vào từng trụ cột.

Đây là 5 giai đoạn phát triển CƠ BẢN trong quy trình NEXA. Mỗi phần mềm đều phải đi qua 5 bước này, từ trái sang phải. RD — Định nghĩa yêu cầu: Xác định hệ thống cần làm gì. Không có NEXA thì mọi người tự tổng hợp yêu cầu bằng tay, dễ thiếu sót. Với NEXA, AI trích xuất yêu cầu từ tài liệu đầu vào và xuất ra file YAML có cấu trúc — không bỏ sót. BD — Thiết kế cơ bản: Thiết kế giao diện và API ở mức tổng quan. Không có NEXA thì mỗi người viết tài liệu một kiểu, format khác nhau, không ai review được. Với NEXA, template thống nhất, AI sinh bản nháp, con người chỉ cần review và chỉnh sửa. DD — Thiết kế chi tiết: Đi sâu vào từng màn hình, từng API. Không có NEXA thì hay copy-paste từ BD rồi sửa, dẫn đến mất đồng bộ. Với NEXA, DD được tự động triển khai từ BD và AI kiểm tra tính nhất quán giữa các tài liệu. CODE — Triển khai: React cho frontend, Spring Boot cho backend. Không có NEXA thì AI sinh code rồi developer phải review từng dòng. Với NEXA, code được sinh ra THEO DD, tự động kiểm tra có khớp với thiết kế hay không. TEST — Ở đây là Unit Test, không phải Integration Test hay System Test. Không có NEXA thì tester phải viết test cases bằng tay. Với NEXA, test cases được tự động sinh từ DD — đảm bảo test đúng cái đã thiết kế. Nhìn cột "Without NEXA" và "With NEXA" — sự khác biệt là RÕ RÀNG. NEXA không thay thế con người, mà giúp mỗi bước NHANH hơn, CHÍNH XÁC hơn, và NHẤT QUÁN hơn.

Tại sao NEXA cần Quality Gate? Không phải vì lý thuyết quản lý dự án — mà vì một vấn đề CỤ THỂ. Hãy xem ví dụ: BD viết sai tên màn hình — ví dụ ghi "経費一覧" thay vì "経費精算一覧". Không có NEXA thì sao? DD copy tên sai đó sang. Code implement theo tên sai. Đến lúc test mới phát hiện — phải sửa lại từ DD trở đi. Chi phí ban đầu chỉ 1 đơn vị nếu phát hiện ở BD, nhưng lúc này đã thành 100 đơn vị trở lên. Với NEXA Quality Gate — mọi thứ khác hẳn: Từ RD sang BD: AI tự kiểm tra "BD đã cover hết yêu cầu từ RD chưa?" — không cần chờ ai review. Từ BD sang DD: NEXA kiểm tra SoT link — BD và DD có nhất quán không? Tên API, tên màn hình, kiểu dữ liệu có khớp không? Từ DD sang CODE: NEXA đo tỷ lệ code tuân thủ DD — không phải "cảm giác" mà là CON SỐ cụ thể. Từ CODE sang TEST: Test cases được sinh TỰ ĐỘNG từ DD — đảm bảo test đúng cái đã thiết kế, không thiếu, không thừa. Điểm mấu chốt: QG của NEXA KHÁC code review thông thường. Code review dựa vào mắt người — phụ thuộc kinh nghiệm, tâm trạng, thời gian. NEXA QG dựa vào SoT — kiểm tra theo QUY TẮC, tự động, nhất quán, không bỏ sót.

Vậy Quality Gate trong NEXA hoạt động như thế nào? Nhìn vào sơ đồ: giữa mỗi giai đoạn có một cổng kiểm soát — QG. Từ RD sang BD — Quality Gate kiểm tra xem BD đã cover hết yêu cầu từ RD chưa, SoT có đúng không. Từ BD sang DD — kiểm tra tính nhất quán API, mapping giữa màn hình và API có khớp không. Từ DD sang CODE — kiểm tra code có tuân thủ DD specification không, kiểu dữ liệu có khớp không. Từ CODE sang TEST — kiểm tra test coverage và tiêu chuẩn chất lượng. NEXA tự động hóa các kiểm tra này bằng agents chuyên dụng — docs-manager kiểm tra tài liệu, code-reviewer kiểm tra thiết kế, coder và tester kiểm tra code. Đây chính là hiện thực hóa nguyên tắc "Design by Contract" — thi công theo bản vẽ, nghiệm thu theo bản vẽ. Không có bản vẽ thì không nghiệm thu được.

SoT — Source of Truth — là khái niệm quan trọng nhất trong NEXA. Các bạn cần phân biệt rõ: SoT KHÁC với Output. Output là thứ AI hoặc con người tạo ra — nó có thể chưa đúng, chưa final, chưa được duyệt. SoT là thứ ĐÃ ĐƯỢC XÁC NHẬN, là "sự thật" chính thức duy nhất. Có một hệ phân cấp quan trọng: đứng đầu là 00_Input — đây là SoT của cả dự án, chứa thông tin trực tiếp từ khách hàng. Thông tin từ Client là truth cao nhất, không ai được phép "sáng tạo" khác đi. Tiếp đến, mỗi giai đoạn phát triển đều có SoT riêng nằm trong thư mục 90_Input. Khi 90_Input và 91_Output mâu thuẫn nhau — 90_Input luôn thắng. Có 4 quy tắc vàng: chỉ 1 bản chính thức, luôn dùng version mới nhất, copy chứ không link, và tuyệt đối không sửa file trong 90_Input. ⚠️ Anti-pattern thường gặp: BD đã update v3 nhưng 90_Input vẫn là v1 → DD sinh ra từ SoT cũ → mismatch. Đây là lỗi nguy hiểm nhất vì khó phát hiện — mọi thứ "trông có vẻ đúng" nhưng thực tế đã sai từ gốc.

Hình bên phải là cấu trúc thư mục thực tế của dự án MSR-002 — đây không phải lý thuyết mà là dự án các bạn sẽ thực hành. Điều 1 — Thư mục theo giai đoạn: Mỗi giai đoạn phát triển có thư mục riêng, đánh số từ 00 đến 18. 00_DocumentMap là GPS — bản đồ toàn bộ dự án. 00_Input là SoT gốc — thông tin từ Client, hợp đồng, yêu cầu ban đầu. Từ 01 đến 05 tương ứng với 5 giai đoạn RD, BD, DD, CODE, TEST mà ta vừa học. Các thư mục 06 trở đi là System Test, Deployment, Release, v.v. — quy trình đầy đủ của một dự án thực tế. Điều 2 — Cấu trúc 3 lớp: Bên trong MỖI giai đoạn đều có 3 thư mục con: 90_Input chứa SoT — tài liệu đã được xác nhận chính thức, đây là đầu vào chính thức. 91_Output chứa kết quả AI sinh ra — LƯU Ý: chưa phải SoT, cần review trước khi dùng. 92_Analysis chứa kết quả đánh giá và review. Điều 3 — AI Rule File: Mỗi coding agent đều có file cấu hình ở root dự án — CLAUDE.md (Claude Code), .cursorrules (Cursor), .windsurfrules (Windsurf), .github/copilot-instructions.md (Copilot). Khái niệm giống nhau: AI đọc file này ĐẦU TIÊN khi mở dự án để hiểu quy tắc code, scope, convention. Trong dự án này ta dùng CLAUDE.md vì sử dụng Claude Code. Nhìn ảnh bên phải — các bạn sẽ thấy thêm các thư mục như 15_品質管理, 16_構成管理, 17_変更管理 — đây là quản lý chất lượng, cấu hình, và thay đổi. NEXA không chỉ quản lý code mà quản lý TOÀN BỘ vòng đời dự án.

Được rồi, trước khi nghỉ giải lao, hãy kiểm tra nhanh xem chúng ta đã nắm được lý thuyết chưa. Câu 1: SoT nằm ở thư mục nào trong cấu trúc 3 lớp? — Đáp án là 90_Input, không phải 91_Output hay 92_Analysis. Câu 2: Đây là câu hỏi tình huống — khi BD mới được duyệt, bạn phải đồng bộ SoT trước rồi mới tạo lại DD. Không bao giờ sửa DD trực tiếp vì vi phạm SoT rule 4. Câu 3: Khi 91_Output và 90_Input khác nhau — 90_Input luôn đúng vì đó là SoT đã xác nhận. 91_Output chỉ là kết quả sinh ra, chưa chắc đã đúng. Nếu cả 3 câu đều đúng — tuyệt vời, các bạn đã sẵn sàng cho phần thực hành! Bây giờ nghỉ 5 phút.

Chào mừng trở lại sau giải lao! Bây giờ chúng ta chuyển sang phần thú vị hơn — thực hành. Trong 55 phút tới, các bạn sẽ tự tay cài đặt Claude Code, đăng nhập, clone dự án và khám phá cấu trúc thực tế. Hãy mở máy tính lên và chuẩn bị terminal — chúng ta làm từng bước một, không ai bị bỏ lại phía sau.

Claude Code là công cụ CLI — tức là bạn dùng nó trực tiếp trong terminal, không phải plugin trong VS Code. Đây là cách tiếp cận khác so với GitHub Copilot — Claude Code hiểu ngữ cảnh toàn bộ dự án, không chỉ file đang mở. Mỗi bạn sẽ nhận được một tài khoản từ Fabbi qua email — hãy kiểm tra hộp thư của bạn ngay bây giờ. Lưu ý quan trọng: không được dùng tài khoản Claude cá nhân của bạn cho việc này — dùng tài khoản Fabbi cấp để đảm bảo license đúng. Nếu chưa nhận được email, hãy báo tôi ngay để xử lý trước khi tiếp tục.

Bước đầu tiên là kiểm tra xem máy tính của bạn đã có đủ các công cụ cần thiết chưa. Hãy mở terminal lên và chạy từng lệnh một — tôi sẽ chờ mọi người làm xong. Chúng ta cần: Git 2.x trở lên, Node.js 20 trở lên, npm 10 trở lên, VS Code bất kỳ version nào, và Claude Code CLI. Nếu bạn thấy số version hợp lệ — tốt, tiếp tục. Nếu thấy lỗi "command not found" — hãy giơ tay để tôi hỗ trợ cài đặt. Đừng bỏ qua bước này vì nếu thiếu công cụ, các bước sau sẽ không chạy được.

Bây giờ chúng ta cài đặt Claude Code CLI bằng npm — lệnh chỉ có một dòng rất đơn giản. Chạy lệnh và chờ khoảng 30 giây đến 1 phút tùy tốc độ mạng. Sau đó chạy `claude --version` để xác nhận. Nếu gặp lỗi "Permission denied" — thêm `sudo` vào trước lệnh, đây là vấn đề quyền hạn trên macOS/Linux. Nếu sau khi cài xong mà gõ `claude` thấy "command not found" — đừng lo, chỉ cần đóng terminal và mở lại là được. Tôi sẽ đi vòng quanh kiểm tra cho từng người — ai xong trước thì đợi các bạn khác nhé.

Sau khi cài xong, gõ `claude` để khởi động và thực hiện đăng nhập. Khi được hỏi phương thức đăng nhập, chọn "Log in with email" và nhập thông tin từ email Fabbi gửi cho bạn. Để kiểm tra đã đăng nhập thành công, gõ câu hỏi bất kỳ bằng tiếng Anh như "hello, who are you?" — nếu Claude trả lời thì thành công rồi! Lưu ý: email và password phân biệt chữ hoa chữ thường — copy paste từ email thay vì gõ tay nếu có thể. Nếu đang dùng VPN, hãy tắt đi vì đôi khi VPN gây lỗi kết nối. Sau khi test xong, gõ `/exit` để thoát.

Bây giờ chúng ta clone dự án mẫu nexa-sample-1 về máy. Đây là dự án thực hành mà chúng ta sẽ làm việc trong suốt khóa đào tạo. Nếu có kết nối internet tốt, dùng git clone từ GitHub. Nếu mạng chậm hoặc không có, tôi có bản copy trên USB — hãy lấy từ đó. Sau khi clone xong, mở VS Code bằng lệnh `code .` trong thư mục dự án. Kiểm tra thành công bằng cách xem có đủ các thư mục 00 đến 05 và file CLAUDE.md không. Nếu thấy đủ các thư mục này — chúc mừng, bạn đã sẵn sàng cho bước tiếp theo!

Đây là bước thú vị nhất — chạy Claude Code ngay trong dự án thực tế và xem nó hiểu dự án như thế nào. Khi bạn chạy `claude` trong thư mục dự án, Claude sẽ tự động đọc file CLAUDE.md và hiểu ngữ cảnh dự án. Thử hỏi Claude bằng tiếng Nhật hoặc tiếng Việt đều được — "mô tả tổng quan về dự án này" và xem Claude trả lời gì. Sau đó thử tìm kiếm tài liệu — yêu cầu Claude tìm BD của màn hình login và xem nó định hướng trong cấu trúc thư mục như thế nào. Đây chính là sức mạnh của NEXA: AI hiểu cả dự án, không chỉ một file — và nó tuân theo luật chơi trong CLAUDE.md.

Bây giờ là 10 phút tự khám phá — mỗi người tự tìm câu trả lời cho 6 câu hỏi này. Bạn có thể dùng VS Code để duyệt thư mục thủ công, hoặc hỏi Claude trực tiếp — cả hai cách đều hợp lệ. Thực ra, cách tốt nhất là thử cả hai: dùng VS Code để hiểu cấu trúc trực quan, rồi hỏi Claude để xem AI trả lời như thế nào. Câu 6 là bắt buộc phải hỏi Claude — đây là bài tập quan trọng nhất vì nó xây dựng thói quen "hỏi Claude trước khi tìm thủ công". So sánh câu trả lời của Claude với kết quả bạn tìm bằng VS Code — nếu khác nhau, tại sao? Sau 10 phút, chúng ta sẽ cùng nhau đối chiếu câu trả lời — ai tìm ra nhanh nhất thì chia sẻ cách làm của mình nhé. Bắt đầu!

Chúc mừng các bạn đã hoàn thành Day 1! Hãy cùng nhìn lại những gì chúng ta đã làm được hôm nay. Từ lý thuyết: chúng ta hiểu NEXA không chỉ là tool viết code nhanh, mà là platform thực thi toàn bộ quy trình với 5 giai đoạn và khái niệm SoT. Từ thực hành: các bạn đã tự cài đặt Claude Code, đăng nhập, clone dự án và chạy Claude ngay trong ngữ cảnh thực tế. Đây là nền tảng quan trọng — mọi thứ ở Day 2, 3, 4 đều xây dựng trên những khái niệm này. Day 2 chúng ta sẽ đi sâu hơn vào SoT management, templates và workflow thực tế. Hẹn gặp lại! Bây giờ có ai có câu hỏi gì không?

Phần phụ lục này dành cho tham khảo — các bạn có thể xem lại sau buổi học. Bao gồm bảng thuật ngữ, hướng dẫn xử lý sự cố, checklist cho trainer, và câu chuyện về NEXA.

Đây là kiến trúc đầy đủ 6 tầng của NEXA v2 — chi tiết hơn bản tổng quan ở phần chính. Điểm mấu chốt: Fabbi sở hữu và kiểm soát hoàn toàn Layer 4 — NEXA Framework — đây là "bộ não" dạy AI cách làm việc theo chuẩn SI Nhật Bản.

Đây là bảng thuật ngữ để các bạn tra cứu khi cần. Trong quá trình làm việc với NEXA, các bạn sẽ gặp những từ này rất thường xuyên — hãy nhớ kỹ đặc biệt là SoT, RD, BD, DD vì chúng xuất hiện trong mọi lệnh và mọi tài liệu. Nếu quên nghĩa, quay lại slide này hoặc hỏi Claude: "SoT là gì trong NEXA?"

Slide này là hướng dẫn xử lý các sự cố thường gặp trong quá trình cài đặt. Nếu gặp vấn đề nào không có trong danh sách này, hãy báo ngay cho tôi — đừng mất quá 2 phút tự vật lộn một mình. Kinh nghiệm cho thấy 90% vấn đề cài đặt rơi vào một trong 6 trường hợp ở đây, nên hãy đọc kỹ trước. Lưu slide này lại để dùng khi cần sau buổi học.

Đây là checklist dành cho trainer — cần hoàn thành trước buổi học ít nhất 30 phút. Quan trọng nhất là kiểm tra license Claude Code và gửi email cho học viên — không có license thì không thể bắt đầu phần thực hành. Luôn có bản backup trên USB hoặc local share vì mạng internet trong phòng đào tạo đôi khi không ổn định. Test màn chiếu và kết nối API từ máy trainer trước giờ học để tránh mất thời gian xử lý sự cố khi đã bắt đầu.

Slide cuối cùng này kể câu chuyện về quá trình hình thành NEXA — từ ý tưởng đến thực tế. NEXA bắt đầu từ cuối 2024 với ý tưởng SoT và 9 nguyên tắc cơ bản. Đến 2025 H1 đã có 12 templates và DocumentMap. Đến giữa 2025, BD Review engine và TC Generation ra đời. Đầu 2026 mở rộng lên 28 commands và 40+ skills. Các con số metrics nói lên tất cả: DD coverage 86%, Unit Test 96.9%, Overall 89.6% — đây là kết quả thực tế từ dự án thực. NEXA phù hợp nhất với team nhỏ 3-7 người làm dự án enterprise — đây chính là "sweet spot" mà framework mạnh nhất. Câu chuyện này giúp bạn hiểu tại sao NEXA được thiết kế theo cách này — mỗi quyết định đều có lý do từ thực tế.

Cảm ơn tất cả các bạn đã tham gia buổi học Day 1 hôm nay! Hôm nay chúng ta đã đặt nền móng vững chắc — hiểu NEXA là gì, cài đặt được công cụ, và khám phá dự án thực tế. Trước Day 2, hãy thử tự mình hỏi Claude thêm vài câu về dự án để làm quen với cách tương tác. Nếu có vấn đề gì sau buổi học, liên hệ tôi qua luongkam@fabbi.io — tôi luôn sẵn sàng hỗ trợ. Hẹn gặp lại vào Day 2 — chúng ta sẽ đi sâu hơn vào SoT management và bắt đầu dùng templates thực sự!