# Mọi concept của Grok Bot, giải thích cho người bình thường

[Nate Herk](https://homus.dev/speakers/nate-herk) · [Nate Herk | AI Automation](https://homus.dev/orgs/nate-herk-ai-automation)

> 26 concept của Grok Bot theo năm phần: memory, agent computer, plugins, skills, routines, webhooks, handoff giữa bot, và cách theo dõi một đội bot.

Topics: Grok Bot, Agents, Workflow

Canonical: https://homus.dev/talks/every-grok-bot-concept-explained-for-normal-people

## 1. 25 concept trong năm phần, và concept 1: mỗi Grok Bot là một bot riêng

Nate mở video bằng một lời hứa rất thẳng: anh sẽ đi qua **mọi concept của Grok Bot** mà bạn cần hiểu để bắt đầu nhận được giá trị ngay lập tức từ Grok Bot của mình. Không vòng vo, anh vào việc luôn.

Trong video này có **25 concept**, chia thành **năm phần**. Phần 1 nói về bản thân con bot là gì. Phần 2 nói về nơi bot làm việc. Phần 3 là các khả năng của nó. Phần 4 là cách các bot làm việc cùng nhau. Phần 5 là cách bạn kiểm soát và theo dõi chúng. Cuối video Nate còn tặng thêm một concept thứ 26, nhưng đó là chuyện của phần cuối trang này.

![Bảng Every Grok Bot Concept với năm phần](https://homus.dev/photos/NyfYxpXiw_0-1623.jpg)

Bảng tổng quan Nate vẽ trên canvas: "Every Grok Bot Concept", Part 1: What the Bot is, Part 2: Where it Works, Part 3: Its Abilities, Part 4: How Bots Work Together. Ô Part 5 vẫn đang che, sẽ mở ra ở cuối video.

**Concept 1: một Grok Bot là một bot duy nhất.** Nghe có vẻ hiển nhiên, nhưng đây là nền móng cho mọi thứ phía sau. Nate mở ứng dụng Grok Bot trên màn hình: ở cột bên trái là cả một dãy bot anh đã tạo. Mỗi bot có ba thứ: một **name** (tên), một **job title** (chức danh) và một **description** (mô tả).

Anh lấy ví dụ bot tên **Motion**. Motion chính là bot đang dựng các đoạn animation mà người xem vừa thấy ở đầu video này. Tên nó là Motion, và ngay cạnh tên có một tag ghi **Animator**. Khi bấm vào phần cài đặt của bot, bạn thấy đúng label đó. Còn description của Motion nói rằng bot này tạo motion graphics và animation cho phần intro hoặc các đoạn chuyển cảnh trong video YouTube.

Điều Nate muốn nhấn mạnh: với mỗi bot, anh đang có **một cuộc hội thoại rất cụ thể**. Mỗi bot thật sự là một cá thể riêng, có skill riêng, description riêng, quy trình riêng, và bạn có những cuộc trò chuyện riêng với từng bot. Bạn không nói chuyện với "một Grok" chung chung mà với từng thành viên trong đội, mỗi người một việc. Và chính ý này dẫn rất tự nhiên sang concept thứ hai.

## 2. Concept 2: bot description, và vì sao nên dựng bot như một org chart

**Concept 2 là bot description.** Khi bắt đầu dùng Grok Bot, bạn sẽ dựng ra rất nhiều bot. Nate khuyên: hãy chắc chắn rằng mỗi bot làm **một việc rất cụ thể, và làm thật tốt**.

Bạn vừa thấy description của Motion. Nate bấm sang bot tên **Miner** để xem description của nó: Miner "đào" X để tìm tin tức AI, model mới và tool mới. Nó cũng biết các video YouTube và bài đăng trên X của Nate, để những bản tóm tắt tin tức nó soạn ra luôn hữu ích cho việc làm content của anh. Rồi anh mở bot tên **Eyes**: description của Eyes nói rằng bot này là bậc thầy về research, nó gom thật nhiều nguồn đáng tin cậy và giúp hình thành quan điểm dựa trên sự thật và số liệu.

Vì sao description quan trọng đến vậy? Khi đi tới những concept phía sau, bạn sẽ thấy các bot **làm việc với nhau rất nhiều**. Và cách để một bot hiểu rằng "mình cần giao việc này cho Eyes vì Eyes là researcher", hay "mình cần giao việc này cho Motion vì Motion là animator", hoàn toàn dựa trên những description đó. Description chính là thứ để các bot biết ai giỏi gì. Vì vậy, theo Nate, chúng "super, super important".

Điều thú vị nữa của Grok Bot là khi bạn dựng thêm bot và mở rộng quy mô, bạn có thể nghĩ rằng mình muốn một hệ sinh thái kiểu: bạn ở trên cùng, nói chuyện trực tiếp với tất cả các bot. Nate vẽ ra hình đó: một con bot lớn ở trên, các mũi tên tỏa xuống tám bot nhỏ ở dưới.

![Sơ đồ một bot lớn tỏa xuống tám bot nhỏ](https://homus.dev/photos/NyfYxpXiw_0-0143.jpg)

Kiểu hệ sinh thái "phẳng" mà nhiều người nghĩ tới đầu tiên: bạn ở trên cùng và nói chuyện thẳng với từng bot một. Nate cho rằng đây không phải cách nên dựng khi số bot tăng lên.

Nhưng thứ bạn thật sự muốn dựng, theo Nate, là một hệ sinh thái trông giống **org chart** (sơ đồ tổ chức) hơn: bạn chỉ nói chuyện với vài "executive" (lãnh đạo), và những executive đó biết toàn bộ các bot nằm bên dưới, biết bot nào thuộc đội nào, biết điểm mạnh và điểm yếu của từng bot. Đó chính là thứ anh đang dựng với nhóm **C-suite** của mình, những bot nằm ở hàng đầu trong cột bên trái: Klaus là Chief, Dan là COO, Becky là CCO, Chandler là CFO. Anh hẹn sẽ nói thêm về nhóm này ở phần sau.

Kiểu org chart Nate khuyên dùng: bạn chỉ nói với vài executive; mỗi executive biết các bot trong đội mình nhờ description của từng bot. Cách xếp bot vào từng đội trong hình chỉ để minh hoạ ý tưởng.

## 3. Concept 3: bot template, mang bot của người khác về và chia sẻ bot của mình

**Concept 3 là bot template**, và Nate nói cái này "really cool". Anh gợi lại: bạn còn nhớ trong n8n bạn có thể mang template workflow của người khác về dùng không? Trong Claude, bạn có thể mang skill của người khác về, những thứ tương tự vậy. Thì trong Grok Bot, bạn có thể mang về **nguyên cả Grok Bot** của người khác.

Anh mở một đường link làm ví dụ. Đây là một Grok Bot anh đặt tên là **Studio**, nó tạo ảnh, graphic và video ngắn cho marketing. Khi mở link, ứng dụng Grok Bot bật lên và hiện một hộp thoại cho bạn đọc phần context của bot này: **instructions** (hướng dẫn), **memories** (ký ức) và **skills**. Đọc xong, bạn chỉ cần bấm thêm bot này.

Chuyện xảy ra tiếp theo khá vui: Grok Bot dựng con bot lên, rồi về cơ bản bot **tự tạo chính nó**. Trên màn hình, Studio trả lời kiểu "on it, I'm saving your memory and skill now", tức là nó đang lưu memory và skill. Khi bấm vào bot, bạn thấy nó đã có sẵn tên, label và description.

Tất nhiên, bạn vẫn phải tự cấu hình những thứ của riêng mình. Nếu ai đó đưa bạn một bot vốn được nối vào ClickUp của họ, thì sang chỗ bạn nó **sẽ không còn nối vào ClickUp của họ nữa**; bạn phải tự nối nó vào ClickUp của bạn. Nhưng dù vậy, về cơ bản bạn vẫn nhận được các "tài sản" khác của bot, chỉ là không có gì mang tính cá nhân.

Chiều ngược lại cũng làm được: bạn có thể **chia sẻ bot của chính mình**. Giả sử Nate muốn chia sẻ bot tên **Views** (label Content Strategy, description: "This bot helps with ideation, packaging, and structure of content"). Anh vào phần settings của bot, và ngay đó có nút **Share as template**. Bấm vào, về cơ bản là bạn đang nói với bot: "này Views, hãy tạo một template của chính bạn để tôi đưa cho người khác".

![Cửa sổ chat với bot Views, yêu cầu tạo template và nút Share as template](https://homus.dev/photos/NyfYxpXiw_0-0303.jpg)

Bot Views, label Content Strategy. Ở cuối cuộc chat là tin nhắn yêu cầu bot tạo template của chính nó; ở góc dưới bên phải panel Settings là nút "Share as template".

Tin nhắn hiện trong khung chat khi bấm nút đó:

```
Create a template of yourself that I can share with somebody else.
```

Và thế là xong: Views đã tự tạo ra đường link của nó, Nate có thể publish link đó. Từ giờ, ai sao chép link này sẽ kéo được Views về và có con bot đó trong hệ sinh thái bot của riêng họ. Để chứng minh, Nate sao chép link, mở Google, dán vào, và một hộp thoại "Open Grok Bot?" hiện ra cho phép bất kỳ ai cũng sao chép được Views.

## 4. Concept 4 và 5: context, memory hai tầng, và compaction

**Concept 4 là một concept "hai phần": context và memory.**

**Context** về cơ bản là tất cả những gì Grok Bot của bạn được quyền nhìn thấy: lịch sử hội thoại, và bất cứ thứ gì khác bạn đưa vào, ví dụ như prompt của bạn.

Phần thứ hai là **memory**, và Nate thấy chỗ này rất thú vị. Anh chỉ lại đoạn vừa rồi: khi anh yêu cầu Views tạo template của chính nó, Views trả lời rằng nó sẽ đọc qua memories của mình trước. Nếu mở phần details của template, trong mục context bạn thấy có những memory cụ thể mà bot đã thật sự lưu lại. Và nếu ai đó sao chép template của bot này, họ cũng sẽ nhận được luôn những memory đó.

Nhưng điều thú vị nhất là sự khác nhau giữa **global memory** (memory chung của toàn bộ Grok Bot) và **memory riêng của từng bot**. Nate hỏi thẳng Views để minh hoạ:

```
Hey, Views, can you quickly tell me what is the difference between what you know about me from a global perspective that all other Grok Bots know, and then what's the memory stuff that only you know about me?
```

Điều anh muốn chỉ ra: bạn có nhiều bot khác nhau, và nhìn tổng thể thì chúng có chung một kiểu "hồ sơ tập thể" về bạn. Nhưng khi bạn trò chuyện với từng bot và xây dựng năng lực cho chúng, mỗi bot lại có thêm những memory riêng.

![Views trả lời về hai kho memory: global và chỉ riêng Views](https://homus.dev/photos/NyfYxpXiw_0-0437.jpg)

Views trả lời bằng hai khối: "Global (every Grok Bot sees this)" là thông tin mọi bot đều thấy, như Nate là ai, công việc kinh doanh vận hành ra sao, phong cách nội dung; "Only I know (Views memory)" là phần chỉ Views biết, như số liệu kênh, mẫu tiêu đề hiệu quả và các quyết định về packaging. Câu chốt: "global is brand + ops. Mine is channel performance and packaging decisions."

Trên màn hình có đúng **hai kho memory tách biệt**: đây là những gì mọi bot đều nhìn thấy về Nate, còn đây là những gì chỉ riêng Views biết. Lời khuyên của anh: hãy chắc chắn bạn hiểu **agent nào biết cái gì**. Và nếu muốn cập nhật memory, chỉ cần nói "hey, add this to your memory" (thêm cái này vào memory của bạn) hoặc "add this to the global memory" (thêm vào memory chung).

**Concept 5 là compaction.** Nếu bạn đã dùng thứ gì đó như Claude Code, có lẽ bạn đã quen với chuyện context window bị lấp đầy, và phải cẩn thận để không rơi vào vùng "context rot", khi hội thoại dài quá làm chất lượng câu trả lời đi xuống.

Với Grok Bot thì hơi khác. Mỗi agent có lịch sử hội thoại riêng, nghĩa là mỗi agent có context window riêng. Nhưng điểm mấu chốt là Grok Bot **tự động compact mọi thứ**. Chúng ta không được quyền điều khiển việc đó. Chúng ta cũng không biết chính xác khi nào nó auto compact, nhưng nó có một dạng khả năng tự tóm tắt và nén lại để hội thoại không chạm trần context window.

Nate đưa ví dụ: nếu anh đã nói chuyện với Views suốt 500 ngày, có lẽ bot sẽ không còn nhìn thấy vài tin nhắn đầu tiên. Nhưng nhìn chung, bot vẫn giữ memory về anh, vẫn có context về những gì hai bên đang cùng hướng tới, và có thể nó sẽ thấy khoảng 30 hoặc 50 tin nhắn gần nhất dưới dạng một bản tóm tắt trong lúc làm việc.

Compaction trong Grok Bot diễn ra tự động và bạn không điều khiển được: tin nhắn rất cũ có thể rơi khỏi tầm nhìn, nhưng memory và context về mục tiêu chung vẫn còn. Con số 30-50 tin là phỏng đoán của Nate, không phải con số công bố.

Vậy là xong năm concept đầu tiên, khép lại phần 1.

## 5. Phần 2, concept 6 và 7: agent computer và browser giữ sẵn đăng nhập

Giờ chuyển sang **phần 2: nơi bot làm việc**.

**Concept 6 là agent computer.** Nghĩa là các Grok Bot của bạn thật sự có thể **dùng một chiếc máy tính**. Nate mở bot Klaus: Klaus có một chiếc máy tính ngay đây, ở khung "Klaus's screen" bên phải, và anh có thể nhìn vào màn hình của nó, đồng thời Klaus cũng điều khiển được màn hình đó. Anh chuyển sang Becky: Becky cũng đang mở một chiếc máy tính. Mọi Grok Bot của bạn đều có một máy tính.

Theo Nate, chuyện này hơi giống memory: mỗi bot có màn hình riêng mà nó đang làm việc trên đó, nhưng rốt cuộc tất cả đều đang làm việc **trên cùng một chiếc máy**. Anh hứa bạn sẽ hiểu rõ hơn khi tới concept 8.

**Concept 7 là browser.** Bên trong chiếc máy tính đó, dĩ nhiên Nate có thể mở trình duyệt lên và tự lái, hoặc để Klaus lái, vì Klaus là con bot đang dùng máy này. Trong browser, bạn dùng Google y như cách bạn vẫn dùng trên Google Chrome của chính mình, hay bất cứ trình duyệt nào khác.

Điểm hay là browser **lưu lại trạng thái đăng nhập**. Nate đã đăng nhập vào Skool, và trên màn hình là tài khoản của anh trong cộng đồng AI Automation Society. Nếu anh đóng trình duyệt lại, nó vẫn giữ đăng nhập. Vậy là từ giờ Klaus có thể thật sự làm việc bên trong cộng đồng Skool thay cho anh. Klaus cũng có thể đăng nhập vào GitHub của anh, vào LinkedIn của anh. Gần như mọi trang, một khi đã lưu thông tin đăng nhập, bot đều vào được.

Cách làm rất đơn giản: bạn vào trang bạn muốn, tự đăng nhập, tự gõ username và password của mình. Sau đó bot chỉ việc nắm quyền điều khiển và làm việc trong đó cho bạn.

Mô hình Nate mô tả ở phần 2: mỗi bot có màn hình làm việc riêng, nhưng tất cả ngồi trên cùng một máy tính trên cloud, chung browser đã đăng nhập, chung file và terminal.

## 6. Concept 8 và 9: file explorer chung và terminal

**Concept 8 là file explorer.** Nate so sánh với chính màn hình của anh: anh có một file explorer trên máy, anh có thể duyệt qua project Herk-2.0 của mình, xem camera roll, xem đủ thứ kiểu như vậy. Các agent của bạn cũng làm được y như thế.

Và đây là nơi các bot **chia sẻ mọi thứ với nhau**. Nate mở workspace thật của họ lên: trong đó có những thư mục như brainstorms, dashboards, và một thư mục "Grok Bot concepts", chính là video bạn đang xem. Tất cả những file đang được mở ra xem ở đây là **đúng những file đó trên máy tính của mọi bot**.

Để chứng minh, anh chuyển sang bot **Dev** (label AI Engineer), mở màn hình của Dev lên. Mở file explorer trên máy của Dev, bạn thấy đúng cái workspace đó, với đúng tất cả các file đang được lưu trên chiếc máy chung của các Grok Bot. Đây chính là điều anh hứa ở concept 6: màn hình riêng, nhưng máy chung.

Vẫn trong chủ đề máy tính, **concept 9 là terminal**. Giống như bạn có terminal trên máy của mình, các bot này cũng có. Chúng chạy được lệnh, dựng được script, làm được mọi việc qua terminal giống hệt như bạn. Theo lời Nate, "it's literally just a computer": nó đúng nghĩa là một chiếc máy tính, và các bot làm được mọi thứ một chiếc máy tính làm được.

![Màn hình máy tính của bot với file explorer thư mục workspace và một terminal](https://homus.dev/photos/NyfYxpXiw_0-0719.jpg)

Màn hình máy tính của một bot: bên trái là file explorer đang mở thư mục `/workspace/` chung (các thư mục như ais-brand, brand, dashboards, grok-bot-hacks…), bên phải là terminal sẵn sàng nhận lệnh. Góc trên có nút "Teach a task" sẽ xuất hiện lại ở concept 13.

## 7. Concept 10: local file access, bot đụng tới file trên máy bạn

**Concept 10 là local file access**, truy cập file cục bộ. Nghĩa là: đúng, các bot có một chiếc máy tính trên cloud mà chúng dùng chung, nhưng **với bất kỳ máy nào bạn đang thật sự ngồi làm việc**, chúng vẫn truy cập được file trên máy đó.

Nate cho xem một cuộc chat với Dev. Anh đưa cho bot một đường dẫn file nằm trong thư mục Downloads, và bảo nó phân tích file này và cho biết bên trong có gì. Bot lấy file, phân tích. Sau đó anh bảo nó đổi tên file rồi di chuyển đi chỗ khác, và nó thật sự đổi tên và chuyển được.

Hai tin nhắn Nate gửi trong demo:

```
"C:\Users\Nate\Downloads\Orange Hue w underline (88).png"
Analyze this file and tell me what's in it.
```

```
Give it a short name based on what's in it and move it to a folder on my computer that's called NewThumbs.
```

![Dev phân tích file ảnh thumbnail rồi đổi tên và chuyển vào thư mục NewThumbs](https://homus.dev/photos/NyfYxpXiw_0-0731.jpg)

Dev đọc file PNG trong Downloads, nhận ra đó là một thumbnail kiểu YouTube (một người chỉ vào chiếc laptop có logo Claude, góc trên ghi "Zero to Pro"), rồi đặt tên lại thành Zero-to-Pro-Claude.png và chuyển vào thư mục NewThumbs trên chính máy của Nate.

Nate mở thư mục NewThumbs để đối chiếu: đây chính là file bot vừa nói tới. Trước đó nó nằm trong Downloads, tên chỉ kiểu "Orange... blah blah blah". Bot đã nhìn vào nội dung, đổi tên thành "Zero to Pro", rồi chuyển vào thư mục NewThumbs mới. Và tất cả diễn ra **ngay trên desktop của chính Nate**, không phải trên máy cloud.

Vậy là xong 10 concept đầu tiên, khép lại phần 2.

## 8. Phần 3, concept 11: plugins, và bảng ClickUp ghi lại mọi việc

Bước sang **phần 3: các khả năng của bot**.

**Concept 11 là plugins.** Về cơ bản, đây là cách bạn cho agent của mình nói chuyện được với những thứ như Slack, Gmail, Google Docs, hay bất cứ công cụ nào. Bạn kéo xuống mục **Plugins** ở góc dưới bên trái, và sẽ thấy cả đống lựa chọn. Gần như tất cả những gì bạn phải làm là bấm **Add**, rồi đăng nhập. Theo Nate, "it couldn't be easier", không thể dễ hơn được nữa.

![Kho Plugins của Grok Bot với các nhóm và các plugin Gmail, Google Calendar, Google Drive](https://homus.dev/photos/NyfYxpXiw_0-0823.jpg)

Kho Plugins: thanh trên ghi "9 installed · 7 private", các nhóm như Agent Orchestration, Data Analytics, Design, MCP, Payments, Research, Sales, Scheduling. Gmail, Google Calendar và Google Drive đã "Added"; các plugin khác như Granola, Arize, Atlan, AWS Agents chỉ cần bấm Add.

Một điểm hay nữa: bạn thấy được những plugin mình đã xác thực (authenticate), và bạn có thể **nối nhiều tài khoản** cho cùng một công cụ. Ví dụ với ClickUp, Nate thích có tài khoản chính của anh và một tài khoản khác. Anh xác thực cả hai, rồi cho các agent khác nhau dùng các tài khoản khác nhau.

Anh mở ClickUp lên cho xem: ở đó các bot đang **tự tạo task cho mọi việc chúng làm**. Có một task ghi lúc bot bắt đầu làm motion graphics cho chính video này. Các Grok Bot của anh biết rằng chúng phải ghi lại task trên bảng này trong ClickUp, để anh lúc nào cũng thấy được chuyện gì đang diễn ra.

Mở task của video này ra, bạn thấy có một owner (người phụ trách), có phần "what I asked" (anh đã yêu cầu gì), có deliverable (sản phẩm cần giao), có link, có đủ mọi thông tin và các bản cập nhật tiến độ. Với Nate, đây là cách rất tốt để luôn nắm được tình hình, và cuối tuần nhìn lại xem các bot đã làm được những gì.

## 9. Concept 12: skills, công thức làm bánh pancake

**Concept 12 là skills.** Giống hệt cách bạn dùng skill trong Claude hay Codex: bạn gõ một slash command rồi tham chiếu tới một skill nào đó. Nate gõ thử "skool" vào ô chat, và một skill hiện ra, đại ý là đăng bài cho thử thách bảy ngày trên Skool. Đó là một skill anh có thể gọi ra (invoke), và agent hiểu cách dùng nó.

Nếu bạn chưa bao giờ nghe về skill, Nate giải thích nhanh: về cơ bản, skill **chỉ là một công thức nấu ăn** (recipe). Giả sử bạn muốn làm bánh pancake chocolate chip. Bạn sẽ mở một công thức pancake chocolate chip ra, làm theo, rồi nhận ra: "okay, ngon thật, ngon thật sự. Lần nào mình cũng muốn làm ngon như vậy." Thế là bạn lưu công thức đó lại, để lần sau muốn làm pancake chocolate thì chỉ việc đọc công thức.

Còn nếu lần này bánh không ngon, bị sống, hay bị cháy? Thì sao không cập nhật luôn công thức: "lần sau mỗi mặt nướng lâu hơn một chút", hoặc "nướng ít đi". Skill cũng vậy: **skill chỉnh sửa được**, và mỗi lần chạy chúng có thể tốt lên, vì bạn chỉ việc đưa feedback.

Bạn tìm skill ở đâu? Ngay trong Plugins: vào mục **installed**, rồi nhìn xuống phần **private plugins**. Đó là toàn bộ skill mà các Grok Bot của bạn dùng được. Nate có những skill như đăng bản ghi buổi Q&A của AIS+, "Grill Me", một skill liên quan tới Fireflies, và nhiều skill khác. Về cơ bản đây là những quy trình mà agent của bạn nhiều khả năng sẽ làm nhiều hơn một lần, và khi đó bạn biến chúng thành skill.

![Danh sách skill tạo cục bộ trong mục private plugins](https://homus.dev/photos/NyfYxpXiw_0-1003.jpg)

Danh sách skill "Created locally" của Nate: AIS+ Q&A recording post, Grill Me, Ingest Fireflies into Herk-2.0, Kie.ai playground generations, Like seven-day challenge posts on Skool, Log Grok Bot work to ClickUp. Mỗi skill có một dòng "Use when…" nói khi nào dùng nó.

Theo Nate, một skill tốt có những thứ như: **khi nào thì dùng nó**, **thứ tự thao tác chính xác**, và **nếu có gì có thể hỏng thì làm gì**. Trong danh sách trên màn hình, bạn thấy rõ phần đầu tiên: mỗi skill đều bắt đầu bằng "Use when…".

## 10. Concept 13: teach a task, để bot đứng xem bạn làm một lần

Nhân nói về skill, chuyển sang **concept 13: teach a task**. Bất cứ khi nào bạn đang ở trong browser (Nate nghĩ thường là bạn làm việc này trên Chrome), bạn có thể bấm vào nút **Teach a task** ở góc trên.

Nhớ skill bạn vừa thấy, cái skill đăng bài thử thách bảy ngày trên AIS+ không? Skill đó chính là sản phẩm của một lần teach a task. Cách làm: Nate vào đây, bấm record. Lúc này màn hình đang được ghi lại, và phía trên hiện dòng "Klaus is watching and learning", Klaus đang xem và học.

Để demo lại, anh bấm vào một tab, chuyển sang mục News, rồi mở một đường link. Khi anh dừng ghi, Klaus nhận được tin nhắn, xem lại phần trình diễn đó, và **biến những gì bạn vừa làm thành một skill**. Nate đoán skill này sẽ có tên kiểu "find Chicago Cubs food news" gì đó.

Ý chính ở đây: bạn có hai cách tạo skill. Một là dùng ngôn ngữ tự nhiên, mô tả bằng lời một quy trình trông như thế nào. Hai là để bot **"shadow" bạn**, đi theo xem bạn làm. Bạn có thể ghi lại vài phút, kéo vài báo cáo, phân tích ít số liệu, bất cứ việc gì bạn cần làm, và bot sẽ tự động biến nó thành skill cho bạn.

![Klaus báo đã lưu skill Search Google News và liệt kê các bước](https://homus.dev/photos/NyfYxpXiw_0-1117.jpg)

Sau khi xem đoạn ghi, Klaus kiểm tra vài khung hình, đối chiếu lịch sử trình duyệt, rồi báo đã lưu skill "Search Google News" với năm bước. Bên phải là mục Routines, đang có routine "Sunday work-log archive" chạy mỗi Chủ nhật lúc 8:00 PM.

Như bạn thấy, Klaus quyết định lưu skill đó dưới tên **Search Google News**. Nate thừa nhận đây là một skill khá vô dụng, anh chỉ muốn minh hoạ ý tưởng thôi. Phần mô tả mà bot tự viết ra cho skill:

```
What it does:
1. Open Google (or reuse a tab already on {query})
2. Search {query} if needed
3. Click News
4. Open the top result
5. Report title, source, and URL

Input is {query} (demo used chicago cubs food). Captcha still hands off to you. Same as Images: I will not solve it.

Want a dry run? I will not run it unless you say so.
```

Để ý cách bot tự biến một lần thao tác cụ thể ("chicago cubs food") thành một tham số `{query}`, và tự ghi chú phần có thể hỏng: gặp captcha thì nó trả quyền lại cho người, không tự giải.

## 11. Concept 14: routines, cho một skill tự chạy theo lịch

**Concept 14 là routines.** Ngay trong panel bên phải của Klaus, Nate có một routine tên **Sunday Work Log Archive**, chạy mỗi Chủ nhật lúc 8 giờ tối.

Muốn tạo một routine, về cơ bản bạn chỉ cần nói "này, bạn làm việc này cho tôi mỗi ngày lúc 5 giờ chiều được không?". Hoặc bạn bấm vào dấu cộng rồi tự dựng một routine.

Nate dựng một routine tên **AIS 7 Day Challenge Likes** ngay trên màn hình. Thứ anh làm ở đây là bảo routine **chạy một skill**. Ý chính: routine làm cho một việc tự động xảy ra, và cái việc tự động xảy ra đó có thể chính là một skill.

![Panel Routine với tên AIS 7 Day Challenge Likes, instruction và chạy mỗi phút](https://homus.dev/photos/NyfYxpXiw_0-1143.jpg)

Panel Routine: công tắc Active, tên "AIS 7 Day Challenge Likes", ô Instruction gọi skill like bài, mục "When to run" đặt "Every minute", và Run history lúc này còn ghi "No runs yet". Góc trên có nút Test run.

Instruction của routine này:

```
run the 7 day AIS challenge like skill. Stop when you've liked 3 posts.
```

Anh chọn kiểu **interval** và cho routine chạy **mỗi phút một lần**, để ngồi chờ nó kích hoạt cho người xem thấy. Một phút trôi qua, routine bắt đầu chạy. Ở dưới bạn thấy Klaus đang làm việc: nó tìm thấy file skill, đọc nó, và chuẩn bị hành động theo skill đó.

Trong browser, một tab mới vừa mở ra. Nate phóng toàn màn hình để mọi người xem bot thật sự thao tác và bắt đầu like các bài đăng. Ở trên cùng, bot đã tìm từ khoá "challenge". Nó vừa bấm vào một bài, đang cuộn xuống, và sẽ bấm nút like. "Boom, there we go", vậy là xong.

## 12. Concept 15: webhooks, chuông cửa đánh thức bot

Trong lúc skill kia đang chạy nốt, Nate chuyển sang **concept 15: webhooks**. Anh biết "webhook" nghe như một từ kỹ thuật, nhưng thật ra không phải. Cứ nghĩ về nó như **có người bấm chuông cửa nhà bạn**.

Lý do: trong phần routine, bạn thấy routine có thể được kích hoạt theo **thời gian**, như một lịch chạy mỗi giờ hay lúc 5 giờ chiều, hoặc theo **sự kiện**. Những routine kích hoạt theo sự kiện chính là kiểu "có người bấm chuông cửa". Sự kiện đó có thể là một tin nhắn Slack, một tin nhắn Teams, hoặc một webhook. Về cơ bản tất cả đều là cùng một thứ; riêng webhook là cái bạn tự cấu hình được lời gọi của mình.

![Menu Add trigger với On a schedule và các trigger sự kiện như Slack message, Webhook](https://homus.dev/photos/NyfYxpXiw_0-1223.jpg)

Menu "Add trigger" của một routine. Bên trái là các lựa chọn theo lịch (Every hour, Every day, Weekdays, Every week, Every month, Interval, Advanced…); bên phải là các trigger theo sự kiện: Slack message, Git event, Teams message, Linear issue, Sentry alert, PagerDuty incident và Webhook.

Để minh hoạ, Nate có một bot tên **Webhook**, dựng riêng cho buổi demo này. Anh mở một ứng dụng nhỏ tự làm: một form có tiêu đề "Tell me what you need", với các ô tên, email và nội dung. Anh điền tên mình, một địa chỉ email, và lời nhắn "hello, I need a new dog" (chào, tôi cần một chú chó mới).

Khi anh gửi form, thứ xảy ra là nó thật sự bắn đi một webhook: về cơ bản là gửi một payload tới địa chỉ webhook này. Ngay lập tức bot Webhook "thức dậy". Nó nhận payload, tức là những thông tin anh vừa điền trong form, và hành động thay anh.

Ý nghĩa: bạn có thể cho agent **tự thức dậy** khi có email mới, tin nhắn Slack mới, form mới được gửi, hay vô số khả năng khác, kể cả một bản ghi mới trong CRM.

Bot báo lại: "Hey, vừa có một form gửi tới, xin một chú chó mới. Tôi đã gửi email cho họ rằng chúng ta đã nhận và đang xử lý. Và tôi đã nhắn riêng cho anh trong ClickUp." Nate mở ClickUp: đúng là có tin nhắn gửi từ tài khoản công ty, báo form vừa tới. Mở hộp thư: có email "we got your form", nhắc lại lời nhắn "hello, I need a dog" và hứa sẽ phản hồi sớm.

Rõ ràng đây chỉ là một demo nhanh. Nhưng điều Nate muốn nói là bạn có thể cho Grok Bot **hành động khi có chuyện gì đó xảy ra** trong công việc kinh doanh hay trong cuộc sống của bạn.

Demo webhook của Nate: form gửi payload, bot được đánh thức, rồi tự gửi email xác nhận và báo cho anh qua ClickUp. Cùng một kiểu trigger có thể là email mới, tin Slack mới hay bản ghi CRM mới.

Vậy là xong concept 15, khép lại phần 3.

## 13. Phần 4, concept 16 tới 18: group chat, mention và handoff

Giờ tới **phần 4: cách các bot làm việc cùng nhau**. Nate báo trước: phần này "gets like really cool".

**Concept 16 là group chats.** Nate có một group chat với đội lãnh đạo của mình, tên **Leadership**: trong đó có Klaus, Dan, Chandler và Becky. Anh có thể thêm thành viên nếu muốn, hoặc gỡ bớt ra.

Trong nhóm này, anh đại ý đã nói: "tôi cần các bạn nói cho tôi biết các mục tiêu dài hạn của chúng ta, và cùng nghĩ xem chúng ta sẽ tiếp tục tăng trưởng và mở rộng công việc kinh doanh thế nào". Vì đây là những agent khác nhau, gồm chief of staff, COO, CFO và CCO của anh, mỗi bot nói về đúng mảng chuyên môn của mình và về tất cả các agent mà chúng đang quản lý bên dưới. Nate nhắc lại: anh thích dùng kiểu phân cấp theo chiều dọc như đã nói ở concept 2.

Các bot nghe được nhau, mention nhau, và cùng nhau đưa ý tưởng. Rồi anh có thể quay lại sau và xem chúng đã làm được gì. Trên màn hình, cuộc bàn bạc diễn ra như một cuộc họp thật: từng bot lần lượt đề xuất, phản biện, rồi chốt lại một danh sách việc chung, bot nào nhận phần việc nào.

Ý đó dẫn rất khéo sang **concept 17: mentions**. Bạn thấy Klaus mention Becky ở đây. Dan mention cả Becky lẫn Klaus ở đây. Và nếu bấm vào một mention, ứng dụng đưa bạn thẳng tới cuộc hội thoại tương ứng.

Tiện thể, Nate thấy Klaus vừa chạy xong cái skill like bài lúc nãy. Anh tắt routine đó đi, vì anh không muốn nó thật sự chạy mỗi phút một lần.

Bạn còn có thể cho agent **giao việc bằng cách mention**: ví dụ "hey, could you please check with…", rồi gõ `@Becky` để giao cho Becky làm X, Y, Z. Nhưng điều hay là: nếu description của các bot đủ tốt, bạn **không cần mention bot một cách tường minh**. Klaus, hay bất cứ bot nào bạn đang nói chuyện, sẽ đủ thông minh để biết rằng nó nên giao việc đi. Dù vậy, bạn vẫn có thể nhắn cho từng bot trong chat như bình thường.

Và thế là tới **concept 18: handoffs**, tức agent giao việc cho agent khác. Nate mở Becky: anh từng nhờ Becky làm một số thứ để tạo ra những đoạn motion graphics mà bạn đang xem trong video này, và Becky đã **chuyển toàn bộ phần việc đó cho Motion**.

Bấm vào Motion, bạn thấy được chính cuộc hội thoại giữa hai bot. Becky nói đại ý: "này, Nate cần cái này. Đây là việc bạn cần làm. Đây là các deliverable." Rồi hai bên trao đổi với nhau. Và handoff có thể đi tới nhiều hơn một agent: ở chỗ khác, Klaus đã giao việc cho Coffee và Miner, và ở dưới nữa còn bắn tin nhắn cho Miner và Becky.

Ý chính: agent làm việc được với nhau, và bạn cũng xem được cuộc hội thoại của chúng. Bạn có **toàn quyền quan sát** (full visibility) những gì chúng đang làm và đang nói với nhau.

Hai handoff Nate cho xem: Becky nhận việc rồi giao phần motion graphics cho Motion kèm deliverable; Klaus chia việc cho Coffee và Miner. Mọi cuộc trao đổi giữa các bot đều mở ra xem được.

## 14. Concept 19 tới 21: reply, approvals và human takeover

**Concept 19 là replies.** Giả sử bạn đang nói chuyện với Klaus và có cả đống chuyện đang diễn ra cùng lúc: một routine vừa chạy, bạn đang dựng một skill, đủ thứ. Bạn có thể dùng nút **reply** nhỏ trên một tin nhắn để, theo kiểu nào đó, tách riêng mạch hội thoại đó ra.

Nate bấm reply vào tin nhắn Klaus báo đã lưu skill Search Google News, và gõ:

```
Okay, very cool. Go ahead and run that as a test.
```

Rồi anh reply tiếp vào tin nhắn báo đã like ba bài của thử thách bảy ngày:

```
Very nice, well done, you're crushing it.
```

Giống như cách bạn reply trong Slack hay ClickUp, bot hiểu được bạn đang trả lời cái gì, và context rõ hơn một chút. Vì nếu anh cứ thế gõ trống không "okay, cool, go ahead and run that as a test", bot có thể nghĩ anh muốn nó chạy lại cái routine like bài kia, mà thật ra anh không hề muốn thế.

Đến đây là đã qua 19 concept, còn sáu cái nữa. Giờ sang **phần 5: cách bạn kiểm soát và theo dõi bot**.

**Concept 20 là approvals.** Vào phần settings, bạn thấy mục **Computer**. Ở đây có dòng "Execution on this computer": cho phép Grok Bot mở file và chạy tác vụ trên máy của bạn. Đây là môi trường cục bộ thật của Nate. Anh nhắc lại sự khác nhau đã nói ở concept 10: file cục bộ trên máy bạn, khác với chiếc agent computer trên cloud.

![Settings, mục Computer với Execution on this computer đặt Always allow](https://homus.dev/photos/NyfYxpXiw_0-1643.jpg)

Settings, mục Computer: "Current computer" là máy Nate đang dùng; dòng "Execution on this computer" ghi "Let Grok Bot open files and run tasks on your computer. Auto-review still checks everything first." và đang đặt "Always allow".

Đôi khi, lúc bạn đang nói chuyện với agent, chúng sẽ hỏi bạn: chúng tạm dừng workflow và hỏi "hey, tôi có được phép làm việc này không?". Bạn có thể chọn **always allow** (luôn cho phép) hoặc **allow once** (cho phép một lần), và bạn cũng đổi được thiết lập mặc định ngay ở đây.

Điều này dẫn sang **concept 21: human takeover**. Đôi khi bot sẽ gặp một chỗ tắc mà chỉ bạn mới gỡ được. Ví dụ, bạn nhờ nó làm gì đó trên LinkedIn, và nó báo: "okay, tôi đã mở LinkedIn trong browser của tôi, nhưng anh cần đăng nhập." Lúc đó bot sẽ tạm dừng và chờ người vào điều khiển.

Chuyện này thường xảy ra khi cần làm việc gì nhạy cảm, như gõ mật khẩu hay những thông tin tương tự. Vì điều bạn không muốn là **dán mật khẩu vào lịch sử hội thoại**, bởi về mặt kỹ thuật, theo lời Nate, nội dung đó sẽ đi tới SpaceX. Anh nói anh không bảo là sẽ có chuyện gì thật sự tồi tệ xảy ra, nhưng nếu bạn lỡ gửi một API key hay mật khẩu vào chat, thì có lẽ cứ đổi (rotate) nó đi cho chắc.

## 15. Concept 22 tới 24: weekly usage, run history và notifications

**Concept 22 là weekly usage.** Khi đăng ký Grok Bot, bạn sẽ ở một gói subscription nào đó, dù là 20 đô một tháng, 100 hay 200, gì cũng được, và bạn sẽ thấy mức **sử dụng theo tuần**. Con số này reset mỗi bảy ngày. Nếu nó chạm 100% trong bảy ngày đó, bạn không dùng tiếp được nữa, trừ khi bạn muốn trả thêm cho phần chi tiêu on-demand hoặc tính tiền theo API.

Lúc quay, menu trên màn hình ghi weekly usage 19%, còn một ngày nữa thì reset, và mục on-demand đang ở mức 0 trên 200 đô cho chu kỳ này. Bạn chỉ cần bấm vào nút **Change limit** nếu muốn đổi hạn mức, tăng lên, giảm xuống, hoặc nạp thêm credit on-demand.

Lời khuyên của Nate: khi bạn làm việc với nhiều bot khác nhau, gửi prompt đi liên tục, mở thêm các channel, thì hãy để mắt tới con số này. Vì những thứ như **một group chat toàn agent sẽ ngốn weekly usage nhiều hơn** so với chỉ nói chuyện với một agent.

**Concept 23 là run history**, lịch sử chạy. Về cơ bản là khả năng xem các routine đã chạy bao nhiêu lần. Ví dụ với bot Webhook, routine của nó là loại chạy theo sự kiện. Trong run history, bạn thấy có một lần chạy cách đây 10 phút, và một lần lúc 5:48 chiều. Còn nếu bạn có một routine chạy theo thời gian, bạn có thể bấm vào để xác nhận rằng nó thật sự đang chạy mỗi Chủ nhật đúng giờ đã đặt. Và cái routine chạy mỗi phút lúc nãy thì hẳn sẽ có cả đống lịch sử.

Đáng tiếc là hiện tại **bạn không bấm vào từng lần chạy được**. Bạn chỉ thấy được rằng nó đã chạy; nếu một lần chạy hỏng, sẽ có dấu X ở đó. Nate hy vọng tương lai sẽ bấm vào được từng lần chạy để xem cụ thể chuyện gì đã xảy ra, phòng khi cần điều tra lỗi. Anh nói anh có một cách khắc phục cho chuyện này, cứ chờ xem ở cuối video.

**Concept 24 là notifications.** Cái này khá dễ hiểu: bot sẽ báo cho bạn khi nó gặp chỗ tắc, hoặc khi một việc gì đó xong. Nhưng bạn còn điều chỉnh được thông báo **theo từng agent**. Cách Nate làm là chỉ bật thông báo cho "bộ tứ chính" của anh. Bạn vào settings của bot và bật thông báo khi bot làm xong việc hoặc cần bạn nhập gì đó.

Điều Nate thấy rất hay là thông báo còn **về được điện thoại**, và đó là cách anh thích. Trên màn hình hiện cả điện thoại của anh: ứng dụng trên điện thoại đồng bộ hoàn toàn với desktop. Anh mở Klaus trên điện thoại và gõ "hello". Ngay khi gửi, tin nhắn đó hiện lên trên desktop luôn.

Kể cả khi máy tính của anh tắt, hai bên vẫn đồng bộ hoàn toàn. Nhận thông báo trên điện thoại là điều tuyệt vời, vì trong lúc bạn đi ăn trưa hay đi dạo, bạn vẫn điều khiển được những việc cần điều khiển, ngay từ trong túi áo.

Ba công cụ theo dõi Nate đi qua: weekly usage (tuần đó đang ở 19%), run history chỉ cho biết routine đã chạy hay hỏng, và notifications bật theo từng bot, đồng bộ giữa desktop và điện thoại.

## 16. Concept 25, concept tặng thêm số 26: quản lý bot và agent logging

Cuối cùng, **concept 25** về cơ bản là chuyện **quản lý bot**. Ý tưởng là bạn chuột phải vào một bot và có cả loạt lựa chọn.

Bạn có thể **pin** bot, đưa nó lên khu vực trên cùng. Bạn có thể **chuyển bot sang section khác**: Nate bỏ pin một bot, chọn "Move to", và anh có thể chuyển nó vào một thư mục mới đặt tên tuỳ thích, hoặc vào General, hoặc Unassigned, hay bất cứ đâu. Cách này cho phép bạn gập gọn các nhóm bot lại để mọi thứ ngăn nắp, nếu bạn muốn.

Bạn cũng có thể **ẩn bot**. Ví dụ Nate định xoá bot Webhook, nhưng nếu không muốn xoá, anh chỉ cần chọn "Hide from sidebar". Bot đó sẽ chuyển xuống một khu vực ở dưới cùng tên **Hidden bots**. Chúng không mất đi đâu, chỉ bị ẩn đi để giao diện gọn gàng.

Ngoài ra còn các lựa chọn: **xoá** bot, **share as template** như ở concept 3, **edit profile**, **mark as unread**, và **duplicate**. Duplicate khá thú vị: nó dựng ra một bản sao y hệt của bot, nhưng **xoá sạch lịch sử hội thoại**. Giả sử vì lý do nào đó bạn bắt đầu chán cách Klaus cư xử, và bạn nghĩ "ừ, mình cần khởi động lại, nhưng mình không muốn mất hết skill, routine và mọi thứ khác, mình chỉ muốn xoá lịch sử hội thoại". Cách làm là tạo một bản duplicate của Klaus, rồi có thể xoá bản cũ đi.

Lựa chọn cuối cùng trong menu là **Copy conversation ID**. Cái này chủ yếu dùng khi bạn cần hỗ trợ, và muốn gửi conversation ID cho bên Grok để họ xem chuyện gì đã xảy ra.

Thế là đủ 25 concept. Nhưng Nate còn một cái nữa, cái mà bạn đã thấy "teaser" từ trước: **concept 26, agent logging**. Ý tưởng là: mọi thứ các agent làm, bạn nên lưu lại ở đâu đó. Dù đó là Google Sheet, là ClickUp như Nate đang dùng, là một file Excel cục bộ hay một database SQL, gì cũng được, **hãy lưu lại mọi thứ agent của bạn làm**.

Cụ thể là bảo chúng: mỗi khi tạo một project mới, hãy ghi các cập nhật vào đó. Cập nhật, tiến độ, chuyển sang hoàn thành, lưu trữ, những thứ như vậy. Rồi bạn có thể nói thêm: "này, cuối mỗi routine, bạn cũng ghi lại lần chạy này". Đây chính là cách khắc phục mà Nate hứa ở concept 23: run history không cho bấm vào xem chi tiết, nhưng nếu chính bot tự ghi log mỗi lần chạy thì bạn vẫn có đủ dấu vết. Thế là bạn có thể có nhiều database, hoặc nhiều section khác nhau, để xem mọi việc các agent đang làm.

Concept 26 theo cách Nate làm: mọi project và mọi lần routine chạy đều được bot tự ghi vào một nơi lưu log, để bạn không mất quyền quan sát khi đội bot lớn dần.

Nate cho rằng điều này đặc biệt quan trọng khi bạn dùng thứ như Grok Bot, nơi **tạo agent tự động dễ đến thế**, và mở rộng cả một đội bot cũng dễ đến thế. Bạn không muốn mất quyền quan sát, và không muốn mất quyền kiểm soát. Vì vậy, anh nhắn nhủ: làm ơn hãy dựng một dạng agent logging nào đó.

Và thế là hết video hôm nay. Nate giới thiệu một khoá học miễn phí dài hai tiếng về Grok Bot anh vừa ra mắt cho ai muốn đào sâu thêm, rồi cảm ơn mọi người đã xem.

## Nguồn và liên kết

- Tên gốc: Every Grok Bot Concept Explained for Normal People
- Sự kiện: [YouTube](https://homus.dev/events/youtube)
- Video gốc: [https://www.youtube.com/watch?v=NyfYxpXiw_0](https://www.youtube.com/watch?v=NyfYxpXiw_0)

- Kênh YouTube của Nate Herk: [youtube.com/@nateherk](https://www.youtube.com/@nateherk)

- ClickUp, công cụ quản lý công việc Nate dùng để các bot ghi task và log: [clickup.com](https://clickup.com)

- Skool, nền tảng cộng đồng nơi bot của Nate đăng nhập và like bài trong demo: [skool.com](https://www.skool.com)

Nguồn: https://homus.dev/talks/every-grok-bot-concept-explained-for-normal-people · cập nhật 2026-10-09
