Chuỗi: ea-eight-system-foundation · Phần 2
AI / Hệ thống agentic
Agentic System: capabilities cho agent và mesh
Agentic System cung cấp pack, engine, agent, design system, chuẩn hành vi — các node của mesh.
2026-03-0811 phút đọcVI
Agentic System: capabilities cho agent và mesh
English title: Agentic System: Capabilities for Agents and Mesh
Mở đầu
"Hệ agentic" không chỉ là "một con AI" — mà là pack (blueprint), engine (runtime), agent (identity và tools), design system (UI/UX nhất quán), chuẩn hành vi (refusal, boundary). Mesh cần mỗi node là một agent có định nghĩa rõ để orchestration gọi đúng. Bài này đi qua năm capabilities chính của Agentic System: pack, engine, agent, design system, và mesh-facing (registry, pluggable personality, permission) — giá trị, thách thức, thiết kế, giải pháp và vị trí trong kiến trúc. Chi tiết triển khai (schema, config) nằm ở các series sau.
1. Pack
Giá trị (value): Pack là blueprint stateless — chứa skill, protocol, template nhưng không chứa state hay data runtime. Giá trị là versioning và rollback dễ dàng: cập nhật logic (pack) mà runtime (engine) có thể load bản mới mà không mất data. Multi-tenant cũng hưởng lợi: nhiều tổ chức dùng chung một pack, mỗi bên có engine instance riêng với data riêng. Nếu gộp pack với engine, mỗi lần đổi logic đều đụng tới state và khó rollback an toàn. Pack còn cho phép tái sử dụng: một pack "GSD executor" có thể chạy trên nhiều engine (dev, staging, prod) mà không copy state — chỉ copy blueprint.
Thách thức (challenges): Tách rõ stateless (pack) vs stateful (engine) đòi hỏi kỷ luật: không được "rò rỉ" state vào pack (ví dụ không lưu user_id hay session_id trong pack). Migration khi đổi pack (ví dụ thêm skill mới, đổi protocol) cần quy trình để engine cũ có thể nâng cấp lên pack mới mà không vỡ tương thích. Pack versioning phải rõ ràng để orchestration hoặc runner biết gọi agent đúng bản.
Thiết kế (design): Pack = skill, protocol, template; không chứa state hay data runtime. Engine nhận pack làm input và là nơi lưu memory, data, API. Ranh giới rõ: pack là "cái gì cần chạy", engine là "nơi chạy và lưu trữ". Skill định nghĩa kỹ năng con (ví dụ "plan phase", "execute task"); protocol định nghĩa giao thức (ví dụ handoff, HITL); template định nghĩa mẫu nội dung (prompt, message format).
Giải pháp (solution): Cấu trúc pack gồm skill (kỹ năng, quy trình con), protocol (giao thức tương tác), template (mẫu nội dung). Engine load pack và thực thi; khi pack đổi version, engine có thể load bản mới và giữ nguyên data. Chi tiết cấu trúc file hay format nằm ở series triển khai. Quy ước đặt tên và tổ chức thư mục pack giúp mesh và orchestration discover được agent theo capability.
Triển khai (implementation): Trong kiến trúc, pack thuộc Agentic System (S7). Orchestration (S8) không sở hữu pack — orchestration gọi agent, và agent chạy trên engine đã load pack. Versioning và multi-tenant (mỗi tenant một engine instance, pack có thể shared) là cách triển khai ở tầng S7; tích hợp với runner (Cursor, automation) qua contract agent, không qua pack trực tiếp. Chi tiết cấu trúc pack và engine nằm ở Series 6 và 7.
2. Engine
Giá trị (value): Engine là runtime stateful — memory, data, API — nơi thực thi thật. Giá trị là tách biệt "logic và blueprint" (pack) với "trạng thái và vận hành" (engine). Rollback pack không mất data vì data nằm ở engine; scale engine (nhiều instance) cho phép nhiều user hoặc nhiều job chạy song song mà vẫn dùng chung pack. Engine còn là ranh giới bảo mật: data nhạy cảm (PII, credential) chỉ nằm trong engine, pack không chạm tới — giảm rủi ro khi share pack giữa tenant.
Thách thức (challenges): State drift — theo thời gian state trong engine có thể lệch so với kỳ vọng của pack mới (ví dụ schema memory thay đổi). Rollback pack về bản cũ phải đảm bảo data vẫn tương thích. Scale engine (replicate, shard) đòi hỏi thiết kế state và persistence rõ ràng; ở mức foundation ta chỉ nêu vị trí, không đi schema. Engine cũng phải đảm bảo isolation giữa các session hoặc job để không lộ data chéo.
Thiết kế (design): Engine = stateful; nhận pack làm input; ranh giới với Pack là "không state" vs "có state". Engine cung cấp memory (cho conversation hoặc session), data (lưu trữ lâu dài), API (giao tiếp với bên ngoài). Một engine instance có thể phục vụ một hoặc nhiều agent (tùy thiết kế); mesh node thường tương ứng agent chạy trên một engine instance. Contract giữa engine và pack: pack chỉ đọc/ghi qua API engine, không truy cập trực tiếp storage.
Giải pháp (solution): Memory, data, API là ba thành phần chính của engine. Load pack bản mới mà giữ data — điều này đòi hỏi contract tương thích giữa các version pack (backward compatibility hoặc migration script). Chi tiết storage, replication, API design nằm ở series triển khai. Engine expose contract cho agent; orchestration gọi agent chứ không gọi engine, nên engine có thể thay đổi nội bộ miễn contract agent ổn định.
Triển khai (implementation): Engine thuộc S7. Mesh node = agent chạy trên engine; runner (Cursor, automation engine) gọi agent qua contract (input/output, timeout), không gọi engine trực tiếp. Orchestration biết "agent X" và gọi đúng contract; engine là implementation detail phía Agentic. Vị trí trong kiến trúc: S7 cung cấp engine; S8 và runner chỉ tương tác với agent contract.
3. Agent (personality, capability, behavior)
Giá trị (value): Agent mang identity (personality, tone), capability (tool set, scope) và behavior standard (refusal, guardrail). Mesh cần mỗi node có contract rõ: input/output, timeout, retry — để orchestration gọi đúng agent đúng task. Nếu thiếu định nghĩa agent rõ, mesh không biết giao task nào cho node nào, và governance (quyền theo agent) cũng không enforce được. Agent còn là đơn vị thay thế: đổi personality (tone, tool set) mà giữ contract thì orchestration không cần sửa — chỉ cần đăng ký agent mới.
Thách thức (challenges): Personality drift — chat dài hoặc context lớn có thể làm agent "lệch tính" so với identity thiết kế. Tool scope tràn — agent được gọi tool hoặc data vượt quá phạm vi cho phép, dẫn tới rủi ro bảo mật hoặc hành vi ngoài ý muốn. Refusal và guardrail cần nhất quán giữa các agent để mesh an toàn và đáng tin; nếu một agent "mềm" còn agent khác "cứng", orchestration khó dự đoán. Các thách thức này được xử lý ở tầng design (behavior standard) và governance (series sau).
Thiết kế (design): Agent gồm personality (tone, identity), capability (tool set, scope), behavior (refusal, guardrail, HITL khi cần). Contract đăng ký mesh: orchestration gọi agent với input (job_id, step_index, role, context, timeout_sec) và nhận output (status, output_path, retry_count, error_message). Specialist và Orchestrator trong mô hình three-tier đều là agent — chỉ khác vai trò và scope. Contract là interface ổn định; personality và implementation có thể thay thế phía sau.
Giải pháp (solution): Contract đăng ký mesh; orchestration gọi qua contract, không cần biết chi tiết prompt bên trong. Behavior standard quy định refusal (từ chối khi ngoài scope), guardrail (giới hạn hành vi), HITL khi cần (checkpoint con người) — orchestration sở hữu chính sách "khi nào HITL", agent tuân thủ. Không hallucination, PII guardrail là phần của behavior; chi tiết kỹ thuật (detection, mask) ở series context governance. Pluggable personality cho phép thay "con AI" mà không vỡ job hay trace.
Triển khai (implementation): Agent đăng ký vào mesh; three-tier dùng agent từ Agentic (Master, Orchestrator, Specialist đều là agent với contract khác nhau). Vị trí trong kiến trúc: S7 cung cấp node, S8 điều phối. Runner có thể là Cursor hay automation engine; contract giữ nguyên nên thay runner không đổi định nghĩa agent. Chi tiết contract schema và runtime behavior nằm ở Series 6 và 7.
4. Design system
Giá trị (value): Design system đảm bảo UI/UX nhất quán cho mọi touchpoint — web, CLI, Telegram. Nhiều agent cùng tiếp xúc user; nếu mỗi agent một giao diện khác nhau, trải nghiệm bị rời rạc và khó bảo trì. Một bộ component và token chung giúp mesh trông và hoạt động như một hệ thống thống nhất. Design system còn giảm cognitive load: user học một lần, dùng trên mọi kênh; và giảm chi phí bảo trì khi thêm agent mới — chỉ cần dùng component có sẵn.
Thách thức (challenges): Đồng bộ component và token giữa các kênh (web, CLI, Telegram) đòi hỏi versioning design system và quy ước dùng chung. Khi thêm kênh mới hoặc đổi component, tất cả agent dùng design system đó phải tương thích. Behavior (HITL, refusal) cần thể hiện qua UI nhất quán — ví dụ nút "Xác nhận" hay "Từ chối" cùng pattern trên mọi kênh. Một số kênh (CLI) có giới hạn biểu đạt so với web — design system phải cho phép subset hoặc adaptation.
Thiết kế (design): Design system gồm component (button, card, input, …), token (màu, typography, spacing), pattern (layout, flow). Áp dụng cho mọi kênh; agent không tự "vẽ" giao diện riêng mà dùng component và token. Ranh giới với agent: agent định nghĩa "làm gì", design system định nghĩa "nhìn thế nào". Pattern cho HITL và refusal nằm trong design system để mọi agent gọi đúng một cách hiển thị.
Giải pháp (solution): Design system versioning; component mapping (mỗi thành phần UI map tới component); behavior (HITL, refusal) thể hiện qua UI theo pattern chung. Chi tiết token, component library, responsive hay accessibility nằm ở series triển khai. Agent gọi "show HITL prompt" hoặc "show refusal" qua API design system; design system render theo kênh hiện tại.
Triển khai (implementation): Design system thuộc S7; áp dụng cho web, CLI, Telegram và mọi touchpoint mà agent tiếp xúc user. Tích hợp với agent behavior — khi agent cần HITL hay refusal, UI hiển thị theo pattern của design system. Mesh an toàn và đáng tin khi scale nhờ giao diện và tương tác nhất quán. Vị trí: S7 sở hữu design system; agent (S7) và runner (Cursor, Telegram bot) consume design system, không duplicate UI logic.
5. Mesh-facing (Agent registry, pluggable personality, tool/data scope)
Giá trị (value): Ba capability hướng mesh: (1) Agent registry — mesh biết agent nào có capability gì, orchestration có thể chọn đúng node cho task thay vì hard-code từng agent. (2) Pluggable personality — đổi "con AI" (tone, tool set) không đổi orchestration; personality là implementation thay thế được, contract giữ nguyên. (3) Tool và data access scope — per-agent permission để mesh kiểm soát ai được gọi tool gì, đọc data gì. Ba thứ này là nền cho mesh tự hành: thêm node mới với contract rõ, orchestration chỉ cần gọi đúng contract; đổi personality không vỡ job hay trace; permission enforce tại runtime giúp an toàn khi scale.
Thách thức (challenges): Registry phải cập nhật khi thêm hoặc xóa agent; nếu registry lệch với thực tế (agent down nhưng vẫn trong registry), orchestration có thể gọi nhầm hoặc timeout. Permission model phức tạp khi có nhiều agent và nhiều loại tool/data; cần governance spine cắt ngang để enforce thay vì mỗi agent tự check. Pluggable personality đòi hỏi contract ổn định — personality đổi nhưng input/output contract không đổi; nếu contract "rò rỉ" chi tiết implementation, thay personality sẽ vỡ.
Thiết kế (design): Agent registry lưu thông tin agent (id, capability, contract endpoint); pluggable personality nghĩa là personality = implementation có thể thay thế (cùng contract); tool và data access scope = per-agent permission (agent A được gọi tool X, đọc data Y). Orchestration đọc registry để quyết định gọi agent nào; governance spine (bài 5) cắt ngang permission và audit. Registry có thể là static config hoặc dynamic service; ở foundation ta chỉ nêu vai trò.
Giải pháp (solution): Registry contract — orchestration query "agent nào có capability Z" và nhận danh sách node đủ điều kiện; health check hoặc heartbeat giúp registry phản ánh agent còn sống. Personality thay thế được qua cùng một contract. Permission enforce tại runtime (kết hợp governance spine) — trước khi agent gọi tool hay đọc data, spine kiểm tra scope; từ chối nếu ngoài scope. Chi tiết schema registry, permission model, API enforce nằm ở series sau.
Triển khai (implementation): Orchestration đọc registry; thêm node mới (agent) với contract rõ thì chỉ cần đăng ký vào registry. Governance spine cắt ngang permission — khi mesh tự hành, mọi action vẫn qua spine (check quyền, ghi log). Vị trí: mesh-facing capabilities thuộc S7, tích hợp với S8 (orchestration gọi) và governance spine (permission, audit). Chi tiết triển khai context governance và permission runtime ở Series 4; Series 6 và 7 cho three-tier và mesh contract.
Kết
Agentic System cung cấp "node" cho mesh: pack, engine, agent (personality, capability, behavior), design system, và mesh-facing (registry, pluggable personality, tool/data scope). Mỗi node có identity và capability rõ; mesh và orchestration dựa trên contract để điều phối. Bài tiếp: Orchestration System — capabilities cho execution và mesh (three-tier, budget, job/trace, mesh contract).
