Lê Duy Khương (Daniel)

Chuỗi: ea-eight-system-foundation · Phần 3

AI / Hệ thống agentic

Orchestration System: capabilities cho execution và mesh

Orchestration System cung cấp three-tier, budget, HITL, job/trace, mesh contract — xương sống thực thi cho mesh.

2026-03-0810 phút đọcVI

Phần 3 của 560% hoàn thành

English title: Orchestration System: Capabilities for Execution and Mesh


Mở đầu

Orchestration không chỉ "gọi agent" — mà là phân tầng (ai điều hướng, ai làm task), budget context, checkpoint con người khi rủi ro, và mỗi job có trace từ đầu tới cuối. Bài này đi qua năm capabilities chính của Orchestration System: three-tier, capability budget và HITL, job/trace, mesh contract, automation cycle — 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, runner cụ thể) nằm ở series sau.


1. Three-tier: Master, Orchestrator, Specialist

Giá trị (value): Phân tầng giảm context đáng kể so với mô hình "một agent ôm hết": Master chỉ routing, Orchestrator nắm domain và context, Specialist thực thi task. Mỗi tầng có budget context riêng (ví dụ 160 / 350 / 250 dòng) — tránh context vỡ và identity drift khi chat dài. Ownership rõ: ai điều hướng, ai làm task; debug và audit dễ bám theo từng tầng.

Thách thức (challenges): Ranh giới giữa Master và Orchestrator, giữa Orchestrator và Specialist cần định nghĩa rõ; nếu mờ, context vẫn tràn hoặc trùng lặp. Budget từng tầng cần đo và điều chỉnh theo thực tế — quá chặt thì thiếu context, quá lỏng thì mất lợi ích. Three-tier cũng đòi hỏi orchestration biết "gọi ai khi nào" — logic routing và scheduling thuộc Orchestration System.

Thiết kế (design): Master = identity và routing: nhận request, xác định domain, chuyển đúng Orchestrator. Orchestrator = domain và context: nắm ngữ cảnh nghiệp vụ, gọi Specialist theo task. Specialist = thực thi task cụ thể (tool, logic). Budget per tier; Orchestration System sở hữu quy tắc phân tầng và scheduling — Agentic System cung cấp từng node (personality, contract). Mỗi tầng là một agent với contract riêng; orchestration quyết định thứ tự gọi và truyền context.

Giải pháp (solution): Quy tắc phân tầng: Master không làm task, chỉ route; Orchestrator không làm task chuyên sâu, chỉ gọi Specialist; Specialist chỉ làm task, không route. Context limit từng tầng được enforce bởi orchestration; agent nhận context trong budget. Trace ghi role per step để debug và audit. So với mô hình flat (một agent ôm hết), three-tier giảm đáng kể context tổng và chi phí token; chi tiết số dòng hay token limit nằm ở series triển khai.

Triển khai (implementation): Three-tier nằm trong Orchestration System (S8). Runner (Cursor, automation engine) thực thi từng bước theo scheduling; trace ghi role per step. Agentic (S7) cung cấp agent cho từng vai trò (Master, Orchestrator, Specialist); S8 điều phối. Chi tiết three-tier và mesh nằm ở Series 6; runtime và patterns ở Series 2 và 7.


2. Capability budget và HITL

Giá trị (value): Capability budget = hard limit context cho mỗi agent — tránh tràn context và "identity drift" khi chat quá dài. HITL (human-in-the-loop) = checkpoint khi hành động nhạy cảm: orchestration quyết định "khi nào gọi người", "khi nào timeout" và "khi nào từ chối tiếp tục". Orchestration sở hữu chính sách; agent chỉ tuân thủ contract (input/output, timeout). Kết quả: mesh ổn định và an toàn khi scale.

Thách thức (challenges): Cân bằng limit với trải nghiệm — budget quá chặt có thể làm agent thiếu thông tin để hoàn thành task. HITL đúng lúc không gây chậm trễ không cần thiết; HITL muộn thì rủi ro đã xảy ra. Định nghĩa "hành động nhạy cảm" cần rõ để orchestration và agent đồng bộ. Policy phải nhất quán giữa các job và phase.

Thiết kế (design): Capability budget = hard limit per agent (context size, token, hoặc dòng — chi tiết ở series sau). HITL = policy: khi nào gọi người (ví dụ trước khi commit, trước khi gửi email), khi nào timeout, khi nào từ chối tiếp tục. Orchestration System sở hữu policy; agent nhận timeout_sec và input trong budget, trả output theo contract. Governance spine (bài 5) có thể tham chiếu policy để audit.

Giải pháp (solution): Enforce budget tại orchestration: không gửi context vượt limit cho agent. HITL gate: orchestration tạm dừng job, gọi người, nhận quyết định (tiếp tục / từ chối / sửa), rồi tiếp tục hoặc fail. Agent contract có timeout_sec; agent trả về trước timeout hoặc báo lỗi. Chi tiết số liệu và UI HITL nằm ở series triển khai.

Triển khai (implementation): Orchestration (S8) enforce budget và HITL; agent (S7) tuân contract. Governance spine cắt ngang khi cần (permission, audit). Vị trí: S8 sở hữu policy; runner và agent chỉ thực thi. Chi tiết runtime và pattern HITL ở Series 2 và 7.


3. Job, trace, run-log

Giá trị (value): Mỗi job có job_id; trace gồm steps, agent per step, duration, token, artifacts. Run-log cho biết lưu ở đâu, đọc thế nào — phục vụ debug, audit và tối ưu cost. Ở mức mesh: total cost, per-step breakdown. Orchestration sở hữu job queue và trace; runner có thể đổi (Cursor, automation engine) — contract (job_id, steps, output_path) giữ nguyên nên trace vẫn thống nhất.

Thách thức (challenges): Format trace thống nhất để mọi runner ghi đúng; nếu mỗi runner một format, aggregate và query khó. Lưu trữ và truy vấn trace khi số job lớn đòi hỏi thiết kế storage và index. Trace bất biến (immutable) để audit đáng tin — chỉ append, không sửa. Quy mô khi nhiều job chạy song song cần cân nhắc retention và performance.

Thiết kế (design): Job = đơn vị thực thi; mỗi job có job_id duy nhất. Trace = log bất biến theo job: steps, mỗi step có agent, duration, token (hoặc cost), tool_calls, artifacts (output_path). Run-log = nơi lưu trace, cách đọc (query theo job_id, time range, agent). Orchestration sở hữu job queue và trace schema; runner ghi trace theo contract.

Giải pháp (solution): Schema thống nhất cho job và trace: job_id, steps (step_index, role, agent_id, duration, tokens, tool_calls, artifacts, status). Mesh-level aggregate: total cost per job, per agent, per phase. Run-log có thể là file, database hoặc service — orchestration quyết định; runner chỉ ghi đúng format. Trace bất biến (append-only) đảm bảo audit trail đáng tin; không sửa step đã ghi. Chi tiết schema và storage nằm ở series triển khai.

Triển khai (implementation): Orchestration (S8) sở hữu job queue và trace; runner ghi trace mỗi bước. Tích hợp với mesh contract: input/output path ghi vào trace. Vị trí: S8 = execution backbone; S7 cung cấp agent thực thi từng bước. Chi tiết job/trace và mesh contract ở Series 6, runtime ở Series 2 và 7.


4. Mesh node contract

Giá trị (value): Một bước trong mesh: input (job_id, step_index, role, context, timeout_sec) → output (status, output_path, retry_count, error_message). Runner có thể đổi (CLI spawn, automation engine, cloud worker); contract giữ nguyên nên mesh vẫn hoạt động. Contract là giao ước giữa Orchestration (scheduling) và Agentic (node thực thi) — không chứa implementation detail, nên thay runner không vỡ hệ thống.

Thách thức (challenges): Contract phải đủ rõ để mọi runner tuân thủ: format input/output, ý nghĩa status, retry_count, error_message. Version contract khi mở rộng (thêm field) không được vỡ tương thích ngược. Timeout và retry phải được cả orchestration và agent hiểu giống nhau — nếu agent không trả về trước timeout, orchestration coi là fail và có thể retry hoặc escalate.

Thiết kế (design): Contract là giao ước giữa Orchestration (scheduling) và Agentic (node thực thi). Input: job_id, step_index, role, context (trong budget), timeout_sec. Output: status (success / fail / timeout / refused), output_path (artifact), retry_count, error_message (cho debug). Không chứa implementation detail (prompt, model, path repo). Runner gọi agent theo contract; agent trả output theo contract.

Giải pháp (solution): Schema input/output rõ ràng; timeout_sec bắt buộc; retry_count và error_message cho debug và retry logic. Orchestration gửi input, nhận output; nếu timeout hoặc status = fail, orchestration quyết định retry hoặc fail job. Version contract: thêm field optional không vỡ tương thích; thêm field bắt buộc cần version mới. Chi tiết schema ở series triển khai.

Triển khai (implementation): Runner (Cursor, automation engine) gọi agent theo contract; mesh hoạt động bất kể runner cụ thể. Vị trí: contract thuộc giao diện giữa S8 và S7 — S8 tạo job và gửi từng bước theo contract, S7 cung cấp agent nhận input và trả output. Chi tiết mesh contract và three-tier ở Series 6, runtime ở Series 2 và 7.


5. Automation cycle

Giá trị (value): Pattern ví dụ plan → execute → verify chạy trên orchestration: mỗi phase là (các) bước trong job, trace ghi lại toàn bộ. Mesh có thể chạy nhiều job song song; mỗi job có trace riêng. Automation cycle cho phép tái sử dụng pattern (GSD, research, pipeline) mà không hard-code từng lần — orchestration điều phối phase, agent thực thi từng bước. Chu kỳ dài (nhiều phase) vẫn trace đầy đủ để debug và audit. Một khi pattern được định nghĩa, chạy job mới chỉ cần trigger và context; không cần viết lại flow.

Thách thức (challenges): Đồng bộ phase với job steps — phase "execute" có thể gồm nhiều step (execute task 1, 2, 3); mapping phase → steps phải rõ. Cycle dài (nhiều phase) vẫn đảm bảo trace đầy đủ và HITL đúng chỗ. Nhiều job song song đòi hỏi job queue và resource (runner, agent) không tắc nghẽn. Pattern khác nhau (GSD, research, …) cần mô tả phase chung để orchestration tổng quát.

Thiết kế (design): Cycle = chuỗi phase; mỗi phase = (các) bước trong job. Orchestration điều phối: sau phase N xong, chuyển phase N+1 hoặc kết thúc / fail. Agentic cung cấp agent cho từng bước. Trace ghi toàn bộ job (phase, step, agent, duration, artifacts). Có thể chạy nhiều job (cùng hoặc khác cycle) song song; mỗi job có job_id và trace riêng.

Giải pháp (solution): Phase map to steps: orchestration biết "phase execute = steps 3–7". Trace ghi phase_id và step_index. Pattern (vd. GSD plan/execute/verify) là cấu hình cycle; orchestration load pattern và tạo job theo pattern. Nhiều job song song: job queue, mỗi job độc lập trace. Chi tiết cấu hình cycle và pattern nằm ở series triển khai.

Triển khai (implementation): GSD plan/execute/verify là ví dụ automation cycle; mesh có thể chạy nhiều pattern (GSD, research, pipeline). Orchestration (S8) sở hữu cycle và job queue; Agentic (S7) cung cấp agent. Tích hợp job/trace và mesh contract. Khi thêm automation pattern mới, chỉ cần mô tả phase và mapping steps — không cần sửa orchestration core. Chi tiết triển khai: Series 6 (three-tier, mesh), Series 2 và 7 (runtime, patterns).


Kết

Orchestration System cung cấp "đường chạy" và "trace": three-tier, capability budget, HITL, job/trace, mesh contract, automation cycle. Runner có thể đổi; contract giữ nguyên. Bài tiếp: Capabilities cần cho mesh tự hành — parallel execution, handoff protocol, tracing end-to-end, timeout & retry, agent permission & audit.

Chi tiết triển khai: Series 6 (three-tier, mesh), Series 2 & 7 (runtime, patterns).

LDK

Le Duy Khuong

AI Transformation & Digital Strategy. Writing about agentic systems, engineering leadership, and building in public.