Bỏ qua đến nội dung chính

I Gave an AI Agent the Keys to My Life (Here's What Happened) — Radek Sienkiewicz (@velvetshark-com)

TL;DR

  • Radic đã từng bước tích hợp OpenClaw vào cuộc sống cá nhân, bắt đầu từ các tương tác đơn giản và dần dần trao quyền truy cập sâu rộng vào email, ghi chú, tệp và hệ điều hành của mình.
  • Thiết lập của anh ấy, dù phát triển từ các bước nhỏ, thực tế đã trở nên phức tạp và mạnh mẽ hơn nhiều so với những gì anh thấy trong cộng đồng, nhờ việc xây dựng lòng tin và khả năng của hệ thống một cách dần dần.
  • OpenClaw hoạt động như một "tác nhân" cá nhân, tự động hóa các tác vụ nền, quản lý cơ sở tri thức (Obsidian), lọc sự chú ý và hỗ trợ thực thi các nhiệm vụ, tất cả nhằm tối ưu hóa và giảm gánh nặng cho "bản thân tương lai".

Điểm chính

  • Tích hợp tăng dần: Bắt đầu với một kênh hoặc workflow đơn giản, sau đó dần dần thêm các bước và chức năng mới để xây dựng lòng tin và khả năng của hệ thống.
  • Tận dụng cơ sở tri thức cá nhân: Tích hợp các công cụ như Obsidian làm "bộ não" cho AI, cho phép tác nhân truy cập, tìm kiếm, tạo kết nối và cung cấp ngữ cảnh sâu sắc cho mọi thông tin.
  • Tự động hóa tác vụ nền tảng (Plumbing): Giao cho tác nhân AI quản lý các hoạt động bảo trì hệ thống như cập nhật, sao lưu, lập chỉ mục và làm mới dữ liệu vào ban đêm.
  • Sử dụng AI để lọc sự chú ý và hỗ trợ thực thi: Tận dụng khả năng của tác nhân để nhận diện thông tin quan trọng/khẩn cấp (email), nhắc nhở nhiệm vụ, hoặc soạn thảo phản hồi dựa trên ngữ cảnh dự án.
  • Phân tách nhiệm vụ giữa LLM và Scripts: Dùng Mô hình Ngôn ngữ Lớn (LLM) cho các nhiệm vụ yêu cầu "judgment" (đánh giá, hiểu ngữ cảnh) và scripts cho các hành động deterministic (nếu-thì) để tối ưu hiệu suất.
  • Quản lý và tối ưu hóa bộ nhớ: Cấu hình cẩn thận các tệp bộ nhớ (ví dụ: soul.m, critical_rules.md), thường xuyên dọn dẹp các "nút" nhiễu và củng cố các kết nối để tránh "bad memory compounds".
  • Đảm bảo hệ thống có khả năng kiểm tra (Inspectable): Giữ tất cả cấu hình, scripts và bộ nhớ dưới dạng tệp Markdown dễ đọc, chỉnh sửa và hiểu để dễ dàng gỡ lỗi và cải tiến.
  • Thiết kế cho "bản thân tương lai": Đặt mục tiêu xây dựng hệ thống để giảm gánh nặng cho bản thân trong tương lai, tự động hóa các việc cần làm để bạn có thể bắt đầu ngày mới một cách hiệu quả.

Từ vựng

  • OpenClaw — Một hệ thống tự động hóa cá nhân nguồn mở.
  • automations — Các quy trình tự động hóa.
  • agent — Tác nhân AI.
  • knowledge base — Cơ sở tri thức.
  • LLM — Mô hình Ngôn ngữ Lớn (Large Language Model).
  • workflow — Quy trình làm việc.
  • memory file — Tệp bộ nhớ (lưu trữ thông tin và trạng thái của tác nhân).
  • inspectable — Có thể kiểm tra/quan sát được (minh bạch trong hoạt động).
  • context — Ngữ cảnh.
  • plumbing — Các tác vụ nền tảng/kết nối hệ thống (hoạt động ngầm).

Nội dung chi tiết

Giới thiệu OpenClaw và Tích hợp Cá nhân

Xin chào mọi người, tôi là Radic, một trong những người bảo trì OpenClaw. Tôi muốn chia sẻ về những gì đã xảy ra trong cuộc sống của tôi với OpenClaw, khi tôi thực tế đã trao "chìa khóa cuộc đời" mình cho nó. Điều này có nghĩa là gì? Nó không diễn ra cùng lúc mà theo từng bước. OpenClaw có thể truy cập emails, ghi chú, files, calendars, tools, hệ điều hành của tôi, cũng như các automations (tự động hóa). Nó còn xây dựng trên memory (bộ nhớ) về mọi thứ tôi làm trên máy tính. Vì vậy, nó có thể làm bất cứ điều gì có thể làm được với máy tính.

Tuy nhiên, tất cả không phải là một bước nhảy vọt lớn. Tôi không cài đặt OpenClaw và ngay lập tức nó kiểm soát cuộc sống của tôi và làm mọi thứ cho tôi. Điều đó thật ngớ ngẩn, thậm chí là ngớ ngẩn khi mong đợi nó có thể hoạt động theo cách đó. Những gì đã xảy ra là tôi đã thử cài đặt nó với chỉ một kênh, như mọi người vẫn làm. Ban đầu là WhatsApp, sau đó tôi chuyển sang Telegram, và bây giờ là Discord, nhưng lúc đó chỉ là WhatsApp, chỉ một khả năng để trò chuyện. "Ok, chúng ta đã có mặt ở đó, tiếp theo là gì?" "Hãy thực hiện một workflow đơn giản hoặc một task rất đơn giản có thể làm được khi chúng ta ở đó. Hãy chuyển sang bước tiếp theo." Đây là cách tôi đạt được vị trí hiện tại. Tôi từng nghĩ rằng mình có một thiết lập khá đơn giản với OpenClaw và những gì nó làm, bởi vì tôi chưa bao giờ thực hiện bất kỳ thay đổi lớn nào. Nhưng khi tôi đọc các Twitter threads khác, xem video YouTube hoặc nói chuyện với những người khác về cách họ thiết lập, tôi nhận ra rằng thiết lập của tôi có tất cả những gì họ có và còn hơn thế nữa, đồng thời cũng phức tạp hơn nhiều so với những gì tôi thấy ngoài kia. Điều đó thực sự làm tôi ngạc nhiên, vì tôi cảm thấy mọi thứ chỉ là từng bước nhỏ. Tôi có một thiết lập khá đơn giản, nó hoạt động tốt cho tôi, và đó là điều tôi muốn trình bày, cách nó đã diễn ra và trông như thế nào ngày hôm nay.

Hành trình Tích hợp và Phương pháp Tiếp cận

Các bạn đã có rất nhiều buổi nói chuyện về cách sản xuất OpenClaw, cách chúng tôi cải thiện nó. Sẽ có thêm các buổi nói chuyện về các khía cạnh bên trong của OpenClaw. Tôi muốn chỉ ra cách nó trông từ phía bên kia, từ một người dùng đơn giản, sau đó là power user (người dùng chuyên sâu), và bây giờ tôi cũng là một maintainer (người bảo trì). Bạn không nhất thiết phải đi theo con đường maintainer, nhưng khi tôi đang thử nghiệm với một trong các workflow, tôi đã gặp phải một số errors (lỗi) và đã gửi PR (Pull Request) đầu tiên, sau đó là PR thứ hai, rồi chỉ cần xem xét trong Discord và sau đó tôi tham gia. Bây giờ tôi là một maintainer ở đó, vì vậy đó cũng là từng bước một.

Đây là tập hợp các bước thường diễn ra: tôi thấy một nhu cầu, tôi giải quyết nó một cách rất đơn giản, và sau đó tôi thêm nhiều bước hơn vào đó. Đây cũng là lý do tại sao tôi thường không gặp các vấn đề lớn mà mọi người thường mắc phải, chẳng hạn như "nó làm hỏng máy tính của tôi" hoặc "nó hoàn toàn bị brick (hỏng hoàn toàn) trong quá trình cập nhật". Bởi vì tôi thực hiện tất cả các bước nhỏ này: nếu có gì đó hỏng, tôi chỉ cần lùi lại một bước nhỏ, khắc phục nó, xem điều gì không hoạt động, hiểu tại sao nó không hoạt động, có một thiết lập để điều đó không bao giờ xảy ra nữa, và sau đó lại tiến thêm một bước.

Tích hợp Cơ sở Tri thức Cá nhân (Obsidian)

Nó bắt đầu trở nên hữu ích hơn và dần điều hành cuộc sống của tôi khi tôi cung cấp cho nó knowledge base (cơ sở tri thức) của mình. Tôi có rất nhiều thứ trong Obsidian, mà tôi đã xây dựng trong nhiều năm. Hiện tại tôi có khoảng 3.000 trang hoặc ghi chú, các markdown files trong Obsidian của mình. Đây là tất cả mọi thứ: công việc, cá nhân, tasks, projects, research, các bài viết, giống như một inbox (hộp thư đến) chứa các links mà tôi chỉ cần đặt vào đó, và sau đó nó tìm ra các connections (kết nối), đặt chúng vào perspective (góc nhìn) và context (ngữ cảnh) với những thứ khác mà tôi có. Vì vậy, tất cả những điều đó hiện có thể truy cập được thông qua OpenClaw của tôi với một chức năng search (tìm kiếm) rất tốt. Tôi có searchmemory. Tôi có search thông thường, tôi có QMD search cho Obsidian. Tôi có memory khác nhau cho workspace (không gian làm việc) của mình, và tất cả những điều đó đều liên kết với nhau, và đó là nơi điều kỳ diệu xảy ra.

Gần đây, khi tôi nhìn thấy điều này, và đó là lúc tôi nhận ra rằng có lẽ mình không có một thiết lập đơn giản. Khi tôi gần đây nhìn thấy tweet của Andrej Karpathy đã trở nên viral (lan truyền rộng rãi), trong đó ông ấy nói về LLM knowledge bases (cơ sở tri thức của Mô hình Ngôn ngữ Lớn), tôi đã đọc nó và nghĩ "À, đó chính xác là những gì mình có. Có gì siêu revolutionary (mang tính cách mạng) về nó đâu?". Và sau đó tôi hiểu rằng "OK, mình đã đạt được điều đó từng bước một, nó hoạt động tốt cho mình, vậy có lẽ đáng để chia sẻ, kể thêm về nó, chỉ ra cách nó hoạt động, chỉ ra cách bạn cũng có thể đạt được điểm đó."

Ví dụ, đối với Obsidian, đây là ảnh chụp màn hình thực tế của vault (kho dữ liệu) và tất cả các nodes (nút) của tôi, và đây là các clusters (nhóm) khác nhau. Một số có thể liên quan đến project, giống như các clusters lớn. Một số là one-off, có lẽ giống như bookmarks (dấu trang) hơn. Một trong những tasks mà tôi đang thực hiện là khi tôi thêm một cái gì đó vào inbox, nó sẽ lấy link mà tôi thêm vào đó, xem có gì ở đó (có thể là một tweet, một thread, một bài viết, một video YouTube), phân tích nó, thêm tags (thẻ), thêm context vào nó, xem xét những gì đã có về chủ đề này trong vault của tôi, nó có thể hữu ích như thế nào trong các lĩnh vực khác, và thêm các connections vào đó. Vì vậy, những gì trước đây chỉ là các Twitter bookmarks mà bạn bookmark và không bao giờ quay lại, giờ đây nó thêm nhiều context hơn, xây dựng knowledge base của tôi và hữu ích hơn nhiều, thậm chí còn đưa ra những điều cho tôi khi tôi thêm một bookmark: "À, bạn đã có cái này và cái này và cái này về chủ đề này, và đây là cách chúng kết nối. Có lẽ bạn nên xem xét những ghi chú đó." Và rất thường xuyên, tôi chỉ nghĩ "Đúng vậy, mình hoàn toàn quên mất điều đó," và đó là một nguồn kiến thức và suy nghĩ tốt. Bởi vì đó là lý do tại sao tôi thêm bookmark này. Đó là nơi nó bắt đầu trở nên cực kỳ hữu ích.

Quy trình Tự động hóa Buổi sáng

Ngoài ra, vào lúc 4 giờ sáng (khoảng từ 3 đến 6 giờ sáng), đây là những gì xảy ra khi tôi đang ngủ. Khi tôi đang ngủ, agent (tác nhân) của tôi làm mọi thứ để hệ thống chạy tốt. Nó lập index (chỉ mục) mọi thứ. Nó backs up (sao lưu) mọi thứ để trong trường hợp xấu nhất, nếu tôi mất một cái gì đó, tôi chỉ mất vài giờ làm việc, nội dung hoặc bất kỳ thứ gì khác. Nó làm mới tất cả các indexes cho QMD, cho memory, cho Obsidian vault của tôi, và tôi bắt đầu một ngày mới sảng khoái vào buổi sáng với bất cứ điều gì đang chờ đợi tôi, có thể là tóm tắt emails, calendar, mọi thứ đã được cập nhật. Phiên bản OpenClaw mới nhất đang chờ đợi tôi, điều này cũng được thực hiện từng bước. Tôi có một số scripts (tập lệnh) xung quanh nó để nó biết phải làm gì và không nên làm gì khi cập nhật, điều gì có thể hỏng, tại sao nó hỏng, cách xác minh nó trước khi cập nhật hoặc trước khi khởi động lại gateway của bạn để nó có thể hoạt động trở lại. Vì vậy, tất cả những điều đó cũng được automated (tự động hóa), và khi tôi thức dậy, nó đã chờ sẵn tôi, tươi mới và sẵn sàng để tôi bắt đầu một ngày mới.

Các Loại Nhiệm vụ của Tác nhân AI

Mỗi OpenClaw như vậy, tôi không phải là người hâm mộ lớn của việc chia sẻ thiết lập chính xác của mình, bởi vì thiết lập đó rất cụ thể đối với tôi, đối với những gì tôi cần ngay bây giờ, đối với những gì tôi sẽ cần trong tương lai gần, đối với những errors mà tôi đã gặp phải, đối với những vấn đề mà tôi muốn được giải quyết. Nhưng để cung cấp cho bạn một số ý tưởng để chúng ta có thể nói chuyện cụ thể hơn chứ không chỉ chung chung, đây là năm lĩnh vực hoặc năm loại công việc mà agent của tôi đang thực hiện.

  1. Ambient Operations (Hoạt động nền): Đây là những gì tôi vừa trình bày. Nó thực hiện tất cả các cập nhật, tất cả các công việc plumbing (kết nối hệ thống), tất cả những thứ cần phải xảy ra nhưng tôi không cần và không muốn nghĩ về.

  2. Attention Filtering (Lọc sự chú ý): Điều này cũng cực kỳ hữu ích vì nó có quyền truy cập vào mọi thứ và vì nó có tất cả content context (ngữ cảnh nội dung) thực sự. Vì vậy, nó biết rằng, ví dụ, khi một email đến và đó là một cái gì đó quan trọng hoặc khẩn cấp, và nó biết từ Obsidian đâu là contextbackground (bối cảnh) đằng sau nó. Tôi giữ mọi thứ trong Obsidian về projects (dự án), về mọi thứ khác. Vì vậy, sau đó nó có thể chủ động nói với tôi rằng... Tôi nghĩ tôi có ở đây. Đây là ba ví dụ rất cụ thể mà tôi đã có gần đây, khi hệ thống nhận thấy một cái gì đó quan trọng và khẩn cấp, nó chỉ cần cho tôi biết. Ví dụ, việc thanh toán Netflix bị lỗi vì một lý do nào đó đã được khắc phục trong vòng năm phút khi nó xảy ra. Gia hạn domain sắp đến. Tôi có lẽ sẽ bỏ lỡ email đó, nhưng nó đã nhận được, gửi cho tôi một tin nhắn trên Discord của tôi, gia hạn domain của tôi. Các emails có thể đã được cung cấp đủ context về project, ví dụ, nó có thể đọc email, hiểu chuyện gì đang xảy ra, hiểu những gì đã được thực hiện trong project và chỉ cần soạn thảo phản hồi, và nó đã ở trong thư mục nháp để tôi chấp nhận hoặc xóa hoặc thực hiện một số thay đổi. Vì vậy, đây là một số ví dụ về lọc tiềm năng.

  3. Execution Supports / Synthesize (Hỗ trợ Thực thi / Tổng hợp): Đó là draft synthesize (tổng hợp bản nháp), tức là inbox, và đây là các kênh tôi có trong Discord của mình, ít nhiều liên quan đến các loại công việc này. Kênh General là nơi tôi có mọi thứ. Tôi chỉ bắt đầu các cuộc trò chuyện, xem chúng đi đến đâu, và nếu đủ lần tôi có một loại cuộc trò chuyện nhất định, tôi sẽ thêm một kênh cụ thể cho nó. Đây là những ảnh chụp màn hình thực tế từ sáng nay. Inbox là nơi tôi chỉ cần thả links và nó xây dựng knowledge base cho tôi. Consulting (Tư vấn) dành cho clients (khách hàng) và tất cả các backgrounds (bối cảnh). Nó biết tất cả các projects, biết tất cả các báo giá, deadlines (thời hạn), tasks, các bước tiếp theo, mọi thứ khác. Video research (Nghiên cứu video) dành cho YouTube, để nghiên cứu những gì có sẵn để giúp tôi với tập tiếp theo. Briefing (Thuyết trình) dành cho các buổi thuyết trình buổi sáng. Instagram dành cho đăng bài xã hội. YouTube dành cho việc tạo video. OpenClaw dành cho công việc maintainer, và cũng có một kênh playground (sân chơi), thay đổi tùy theo ngày, tháng hoặc nhu cầu. Nó dùng để thử nghiệm. Tôi thường thử nghiệm một model (mô hình) khác, một workspace khác, một cách thiết lập khác cho các files quan trọng như memory và mọi thứ khác. Vì vậy, tôi chỉ chơi ở đó, xem cái gì hoạt động. Nếu cái gì đó hoạt động, tôi sẽ thăng cấp nó. Nếu không, tôi sẽ loại bỏ nó.

Kiến trúc Hệ thống và Tối ưu hóa

Và tất cả những điều đó hoạt động vì nó không chỉ là một hệ thống có nhiều moving parts (thành phần chuyển động) hoạt động tốt với nhau. LLM (Mô hình Ngôn ngữ Lớn) dùng để judgment (đánh giá), như hiểu email, hiểu context, tạo ra các connections. Sau đó là tất cả các files, tools, scripts mà tôi đã xây dựng. Các scripts chỉ đơn giản là "nếu điều này xảy ra thì hãy làm điều này." Nó được thực hiện, bạn thậm chí không cần judgment, vì vậy LLM thậm chí còn bị bỏ qua.

Một điều quan trọng khác là tối ưu hóa memory file, soul.m file của bạn. Tôi cũng có critical_rules.md bởi vì ngay cả khi tôi có một cái gì đó trong agents.md hoặc trong soul.m, nó vẫn có thể quên một cái gì đó hoặc không làm một cái gì đó. Việc có critical rules giúp ích rất nhiều, và việc đề cập nó khá cao trong agent.d file. Đó cũng là một cải tiến. Tôi đã trải qua một vài thiết lập memory khác nhau, nơi tôi chỉ có một memory file. Bây giờ tôi có toàn bộ memory folder (thư mục bộ nhớ), và bây giờ chúng tôi cũng có dreaming (mơ mộng), nơi chúng tôi thăng cấp các memories. Vì vậy, điều quan trọng là phải làm việc trên các files này, nhưng điều đó dễ dàng thực hiện trong OpenClaw vì mọi thứ đều inspectable (có thể kiểm tra được). Đây là các markdown files, có thể chỉnh sửa, bạn có thể xem, đọc, hiểu nó, và nó hoạt động tốt.

Điều gì trở nên khó hơn? Bad memory compounds (các hợp chất bộ nhớ xấu).

Quản lý Bộ nhớ và Tự động hóa Hiệu quả

Nếu bộ nhớ không được cấu hình đúng cách và kho lưu trữ, các nút hay các bản ghi nhớ của bạn tăng lên đến hàng ngàn, bạn chắc chắn sẽ gặp vấn đề. Vì vậy, bạn cần chủ động xử lý điều này. Các tự động hóa kém bền vững, đặc biệt là các tự động hóa có 10 bước trở lên, có thể bị lỗi và rất có thể sẽ lỗi vào một thời điểm nào đó. Do đó, một lần nữa, hãy chia nhỏ chúng thành các tự động hóa đơn giản hơn hoặc trang bị các hàng rào bảo vệ hiệu quả hơn. Với các nút nhiễu, tôi đang loại bỏ chúng, thực hiện dọn dẹp thường xuyên và củng cố các ranh giới yếu. Tóm lại, đây là những giải pháp cho tất cả các khía cạnh khác – những tệp quan trọng cần được tối ưu hóa theo nhu cầu của bạn.

Bài học chính và Lời khuyên thực tiễn

Điều tôi muốn các bạn rút ra từ đây là: Hãy làm những gì tôi đã làm, và rồi đến một lúc nào đó, bạn sẽ nhận ra rằng, "Ồ, điều này thật tuyệt vời và nó giúp ích cho cuộc sống của mình." Hãy bắt đầu với một vấn đề lặp đi lặp lại, dần dần xây dựng lòng tin, tạo dựng cơ sở tri thức, chuyển mọi thứ hoặc càng nhiều càng tốt những gì bạn muốn sang các tệp Markdown và bắt đầu tạo ra các kết nối đó. Việc kiểm tra khả năng quan sát hệ thống rất dễ dàng, và bạn có thể thực hiện nó với OpenClaw. Cuối cùng, hãy tối ưu hóa cho "bản thân tương lai" của bạn.

Tác nhân như một Người Trợ giúp cho "Bản thân Tương lai"

Tôi muốn kết thúc với điều này. Vài năm trước, tôi đã viết một bài báo về "tôi của quá khứ", "tôi của hiện tại" và "tôi của tương lai". "Tôi của quá khứ" giống như một người hoàn toàn ngu ngốc. Anh ta không làm gì cả, anh ta lười biếng, anh ta không muốn làm bất cứ điều gì. Vì vậy, "tôi của hiện tại" cần phải làm mọi thứ cho "tôi của quá khứ" đó. Còn "tôi của tương lai"? "Tôi của tương lai" giống như một sinh vật thần thánh nào đó; nó có thể làm bất cứ điều gì. Sinh vật đó toàn năng và cứ như thể "nếu tôi không làm gì hôm nay, cũng không sao, sinh vật kia sẽ làm giúp tôi." Đó chính là vấn đề. Và công việc của tôi là trở thành bạn với "tôi của tương lai", đối xử với nó như một người mà tôi muốn giúp đỡ. Đó cũng chính là công việc của tác nhân. Vì vậy, tôi không cần phải làm nhiều như trước đây, bởi vì tác nhân sẽ giúp "tôi của tương lai" càng nhiều càng tốt để khi tôi thức dậy vào ngày mai, mọi việc đã được hoàn thành – nhưng do một người khác chứ không phải tôi làm. Đó là toàn bộ mục đích của thiết lập này, ít nhất là đối với tôi. Tôi không biết, đối với bạn thì có thể khác. Đó là điều tôi muốn gửi gắm đến bạn. Cảm ơn.

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?