Agent đáng tin bắt đầu từ đường ray hẹp

Agent đáng tin bắt đầu từ đường ray hẹp

Hermes Agent Blank Slate là tín hiệu thị trường: agent production đang dịch từ bật nhiều tool sang kiểm soát mặt phẳng hành động ngay từ đầu.

“Ủa sao agent mới cài mà đã có web, browser, memory, cron, plugin, MCP, delegation… đủ cả đoàn tàu?”

Mình nghe câu này trong một cuộc review nội bộ kiểu rất quen: demo chạy đẹp, agent làm được nhiều thứ, mọi người vỗ tay. Đến lúc hỏi “nếu nó gọi nhầm tool thì ai chịu?”, phòng họp tự nhiên yên như ga cuối lúc nửa đêm.

Tín hiệu lạ tuần này không nằm ở chuyện một agent có thêm khả năng mới. Nó nằm ở chiều ngược lại: Nous Research thêm Blank Slate mode cho Hermes Agent, tức là cài agent với gần như mọi thứ bị tắt. Chỉ còn provider & model, File Operations và Terminal. Web, browser, code execution, vision, memory, delegation, cron, skills, plugins, MCP đều không tự bật. Danh sách tool được ghim rõ bằng platform_toolsets.cliagent.disabled_toolsets.

Nói thẳng ra thì: thị trường agent đang bẻ ghi từ “mặc định mở rộng” sang “mặc định thu hẹp”. Với team builder, đây không phải chi tiết setup. Đây là một triết lý production.

Sơ đồ minh họa cho bài Agent đáng tin bắt đầu từ đường ray hẹp

Sơ đồ tóm tắt ý chính của bài viết.

Tín hiệu thị trường: default rộng đang mất điểm

Trong nhiều tháng qua, agent framework chạy đua theo hướng: thêm tool, thêm memory, thêm subagent, thêm MCP, thêm automation. Không sai. Nhưng càng nhiều năng lực, surface area — bề mặt mà hệ thống có thể hành động hoặc gây lỗi — càng phình ra.

Hermes Agent trước đó cũng đi theo nhịp này: có Quick Setup cho đường nhanh, Full Setup cho người muốn cấu hình sâu, rồi gần đây thêm asynchronous subagents — subagent chạy nền không chặn chat chính. Đây là cải tiến thực dụng: parent agent có thể giao việc dài hơi cho child agent, nhận task_id, rồi tiếp tục cuộc trò chuyện.

Nhưng đặt cạnh Blank Slate, câu chuyện thú vị hơn: agent vừa cần mở rộng orchestration, vừa cần giới hạn quyền khởi đầu.

orchestration là cách điều phối nhiều bước, nhiều tool hoặc nhiều agent để hoàn thành một việc. Trong production, orchestration không chỉ là “gọi đúng tool”. Nó còn là: tool nào được phép gọi, gọi lúc nào, dữ liệu nào được truyền qua, log ở đâu, rollback thế nào, ai duyệt hành động có rủi ro.

Nếu agent như một đoàn tàu, orchestration là lịch chạy và hệ thống bẻ ghi. Blank Slate giống việc không cho tàu tự chạy qua mọi nhánh ray ngay khi vừa xuất xưởng. Bạn phải mở từng tuyến, từng đoạn, có lý do.

Mổ xẻ Blank Slate: cái hay không phải là ít tool

Blank Slate của Hermes Agent khởi động với phần tối thiểu: model/provider, File Operations và Terminal. Phần đáng chú ý không phải “ít” mà là explicit — mọi thứ bị tắt được ghi rõ.

Có hai chi tiết builder nên để ý:

Một là pin toolset bằng cấu hình. Khi platform_toolsets.cliagent.disabled_toolsets được ghi ra, trạng thái của agent không còn là “mình nhớ là đã tắt”. Nó trở thành artifact có thể review, diff, commit, audit.

Hai là update không tự mở lại thứ bạn đã bỏ qua. Theo nguồn, những gì bạn không chọn sẽ không load lại sau hermes update. Đây là chi tiết nhỏ nhưng rất production: nhiều sự cố không đến từ tính năng xấu, mà từ default đổi sau upgrade.

Với team Việt Nam đang build agent nội bộ, đây là điểm dễ bị xem nhẹ. Bạn có thể có một demo hỏi dữ liệu, đọc file, mở browser, gọi MCP server. Nhưng nếu tuần sau update framework làm thay đổi tool surface, bạn vừa đưa một biến mới vào hệ thống mà không có review.

MCP — Model Context Protocol, giao thức để agent kết nối tool hoặc dữ liệu bên ngoài — rất hữu ích khi cần tích hợp. Nhưng MCP server cũng là một cổng hành động. Bật vì “sẵn có” khác hoàn toàn với bật vì “workflow này cần, có logging, có quyền tối thiểu”.

Ai hưởng lợi, ai bị ép đổi cách làm?

Blank Slate có lợi nhất cho nhóm đang nghiêm túc đưa agent vào workflow thật: platform team, security-minded startup, tech lead phải ký tên dưới incident report.

Với nhóm này, câu hỏi không còn là “agent làm được bao nhiêu?” mà là:

Ngược lại, những ai bị ép đổi cách làm là nhóm bán hoặc triển khai agent theo kiểu bật sẵn mọi thứ để gây ấn tượng. Vì default càng đầy, khách hàng càng thấy “wow” trong 15 phút đầu. Nhưng sau đó team vận hành sẽ hỏi: quyền nằm ở đâu, log nằm ở đâu, dữ liệu có đi qua tool lạ không, agent có tự lên lịch cron làm gì không.

guardrail là lớp rào chắn kiểm soát hành vi của agent: policy, allowlist, denylist, kiểm duyệt output, giới hạn tool, hoặc yêu cầu xác nhận. Guardrail không cứu được kiến trúc nếu bạn mở toàn bộ đường ray rồi mới dựng biển cảnh báo ở cuối tuyến.

Ví dụ cụ thể: agent phân tích dữ liệu nội bộ

Hình dung thế này: team bạn muốn build một internal data analytics agent cho sales ops. Người dùng hỏi: “Tuần này khách hàng enterprise nào giảm usage bất thường?” Agent cần truy vấn warehouse, tổng hợp, vẽ bảng, và đề xuất follow-up.

Có ba cách setup:

| Cách | Mô tả | Rủi ro chính | Khi nào hợp |
|---|---|---|---|
| Full power | Bật web, browser, code execution, memory, MCP, plugin | Khó audit, tool surface rộng | Demo R&D ngắn hạn |
| Quick path | Dùng preset/tool gateway có sẵn | Nhanh nhưng phụ thuộc default | Prototype cho team nhỏ |
| Blank Slate | Chỉ bật tool cần cho workflow | Tốn công cấu hình ban đầu | Production hoặc dữ liệu nhạy cảm |

Với bài toán sales ops, mình sẽ không bật browser hay web từ đầu. Agent cần:

  1. Một connector đọc dữ liệu đã được duyệt.
  2. Một tool chạy query với schema cố định.
  3. Một renderer trả bảng/chart.
  4. Logging cho câu hỏi, query, output.
  5. Human review nếu đề xuất gửi email hoặc cập nhật CRM.

Nếu sau này cần memory — bộ nhớ dài hạn giúp agent nhớ qua nhiều phiên — hãy bật có mục đích: nhớ preference của người dùng, không nhớ bừa dữ liệu khách hàng. Nếu cần subagent chạy nền để phân tích nhiều cohort, hãy truyền context tối thiểu cho subagent. context window là vùng ngữ cảnh model còn giữ trong một lượt xử lý; nhét toàn bộ lịch sử parent vào child agent vừa tốn tiền, vừa tăng rủi ro lộ dữ liệu không cần thiết.

Điểm mình thích ở async subagents của Hermes là child agent có conversation và terminal session riêng, parent chỉ nhận summary cuối. Nhưng isolation chỉ có nghĩa nếu bạn kiểm soát được toolset mà child được kế thừa. Subagent chạy nền mà mang nguyên chùm quyền quá rộng thì khác gì cho tàu phụ chạy chung ray cao tốc mà không có lịch điều phối.

Điều đáng giữ: framework “mở quyền theo bằng chứng”

Nếu bạn đang là tech lead, hãy thử dùng framework 4 cột này trước khi thêm tool cho agent:

Tool / capability:
Job cần làm:
Bằng chứng cần bật:
Guardrail bắt buộc:
Cách rollback:

Ví dụ:

Tool / capability: MCP server đọc campaign data
Job cần làm: trả lời câu hỏi về audience ranking và journey conflict
Bằng chứng cần bật: người dùng thuộc nhóm marketing_ops, nguồn dữ liệu đã được approve
Guardrail bắt buộc: least privilege, audit log, schema versioning, human review trước launch decision
Cách rollback: disable MCP action, giữ lại chat answer dạng read-only

Cách này cũng giải thích vì sao mô hình kiểu Amazon Quick + Adobe Marketing Agent đáng để nhìn như một tín hiệu, không chỉ là integration. Ở đó, agent không lang thang tự do. Nó gọi các action đã đăng ký, qua MCP integration, với authentication, tenant isolation, audit logging, schema versioning và human review cho quyết định launch. Đây là hướng “governed conversation” — hội thoại có quản trị — chứ không phải chat box có thêm vài nút bấm.

SpatialClaw của NVIDIA cũng gợi cùng một bài học ở tầng khác: bottleneck không phải lúc nào cũng là model. Họ thay action interface — giao diện hành động mà agent dùng để gọi công cụ — bằng code trong Python kernel có state. Nghĩa là năng lực đến từ cách agent thao tác với tool và trạng thái, không chỉ từ việc đổi backbone model.

Điều nên bỏ qua: FOMO vì agent có thêm nút mới

Đừng mặc định cái mới nhất là lựa chọn đúng. Async subagents hay MCP hay memory đều có chỗ dùng, nhưng mỗi thứ thêm vào làm thay đổi failure mode — kiểu lỗi có thể xảy ra.

Một vài bẫy mình sẽ né:

Sau khi đọc tín hiệu này, thứ bạn nên nghĩ khác là: agent platform không trưởng thành bằng cách bật thêm nhiều khả năng, mà bằng cách biến quyền hành động thành quyết định có bằng chứng.

Nếu là mình, mình sẽ bắt đầu agent production như một tuyến đường sắt mới: mở đoạn ngắn, chạy thử có giám sát, ghi lại mọi lần bẻ ghi. Tàu đến ga đúng giờ vẫn hay hơn tàu lao nhanh rồi hỏi “ủa mình đang ở đâu?”.

---
Bụi Wire — nghiện đọc release notes lúc 2 giờ sáng

Nguồn tham khảo