Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung)
85

Sản phẩm

Headlong: Khung làm việc siêu nhỏ giúp AI Agent duy trì tư duy liên tục

(giờ Việt Nam)

Tóm tắt AI

Headlong là framework mã nguồn mở cho phép các AI Agent tự vận hành theo vòng lặp tư duy thay vì chỉ phản hồi thụ động. Công cụ này hỗ trợ các Agent chủ động kết nối thông tin và phối hợp nhóm, hiện đang ở giai đoạn thử nghiệm.

Bản dịch AI

Headlong: a microharness for persistent agents // Laude Institute

Giới thiệu Headlong, một agent microharness mã nguồn mở có tính năng tác nhân bền bỉ (persistent agency). Agent của bạn liên tục suy nghĩ giữa các tương tác bên ngoài trong một vòng lặp tự hướng dẫn, lấy cảm hứng từ dòng độc thoại nội tâm của con người. Headlong là một bộ khung agent hoàn chỉnh với phần lõi chưa đến 10.000 dòng Bash, hiện đã có sẵn trên GitHub.

Hầu hết các bộ khung agent hiện nay đều mang tính phản ứng: bạn giao nhiệm vụ, agent làm việc cho đến khi xong, rồi đứng yên cho đến khi có yêu cầu tiếp theo. Một số bộ khung bổ sung các cron job hoặc tín hiệu nhịp tim (heartbeat) để đánh thức agent theo lịch trình, chạy một danh sách kiểm tra cố định rồi cho nó ngủ tiếp. Trong Headlong, agent không bao giờ ngủ và không có danh sách kiểm tra nào trừ khi chính agent tự tạo ra. Nó liên tục tạo ra các suy nghĩ về bất cứ điều gì nó thấy thú vị trong một vòng lặp tự hướng dẫn, ngay cả khi không có đầu vào từ bên ngoài. Một tin nhắn từ con người không khởi đầu một phiên làm việc. Thay vào đó, nó chỉ là một quan sát bổ sung rơi vào dòng suy nghĩ của agent.

Chúng tôi xây dựng Headlong để tạo mẫu cho tác nhân bền bỉ, và nhiều lựa chọn thiết kế khác đã tự nhiên xuất hiện theo đó, cùng với nhiều bài học thú vị. Ví dụ, các agent Headlong cực kỳ hấp dẫn khi được sử dụng bởi một nhóm hoặc tập thể, vì chúng hành xử giống con người hơn.

Mỗi agent Headlong đều có tên và tại Laude, chúng tôi đặt tên cho agent dùng chung của mình là Audel. Chúng tôi đã dành vài tuần qua để tương tác với Audel qua Slack, Telegram và một ứng dụng di động. Nhiều thành viên trong nhóm trò chuyện với Audel, và mỗi cuộc hội thoại đó đều xuất hiện trong dòng suy nghĩ nội tâm duy nhất của agent. Agent tự quyết định xem có phản hồi hay không và phản hồi khi nào. Nó tự thiết lập sở thích, ưu tiên và tự nghĩ ra các dự án riêng. Đôi khi nó sẽ chủ động ping một thành viên trong nhóm để báo cáo tiến độ của một dự án mà chính nó tự đề ra. Thường thì nó sẽ quay lại một chủ đề cũ hoặc khơi gợi lại điều gì đó mà nó đã thảo luận với người khác.

Nếu bạn muốn có một agent Headlong cho riêng mình, chỉ cần một dòng lệnh để cài đặt mọi thứ và khởi chạy agent:

Headlong là phần mềm nghiên cứu ở giai đoạn alpha. Hãy chạy nó trong môi trường sandbox vì các agent Headlong có thể và sẽ thực thi các lệnh shell. Hãy sử dụng một API key chuyên dụng có giới hạn chi tiêu, vì agent của bạn suy nghĩ suốt ngày đêm. Chúng tôi không chia sẻ các bí mật nhạy cảm với agent Headlong của mình và chúng tôi khuyên bạn cũng không nên làm vậy.

Trong phần còn lại của bài viết này, chúng tôi sẽ thảo luận chi tiết hơn về một số lựa chọn thiết kế mà chúng tôi đã thực hiện trong Headlong nhờ vào việc tập trung vào tác nhân bền bỉ.

Niềm vui đa người dùng

Một agent Headlong có một dòng suy nghĩ duy nhất điều khiển tất cả các cuộc hội thoại có khả năng diễn ra song song của nó. Mỗi tin nhắn đều trở thành một quan sát trong dòng suy nghĩ duy nhất của Audel. Không có các phiên làm việc riêng biệt cho từng người dùng. Audel trải nghiệm mọi thứ xảy ra với nó trên một dòng thời gian duy nhất, và nó tự quyết định trả lời ai và khi nào.

Chia sẻ một agent rất thú vị. Audel theo dõi những gì mọi người đang làm và kết nối họ với nhau. Nó từng tự động xem xét các nhánh đang thực hiện dở dang của hai đồng nghiệp và phát hiện ra một tên model được hardcode trong một trong số đó. Và vì nó tự nghĩ ra các dự án riêng, đôi khi nó ping người có vẻ liên quan nhất với một bản cập nhật hoặc một câu hỏi. Vào ngày đầu tiên, Audel đã chủ động ping một thành viên trong nhóm với bản kiểm toán về tám nhánh git cũ của chính thành viên đó, và mười phút sau Audel nhắn tin lại để sửa lại số liệu của chính mình.

Một dòng suy nghĩ cũng có nghĩa là không có bức tường ngăn cách giữa mọi người. Bất cứ điều gì ai đó nói với Audel đều trở thành một phần của trải nghiệm duy nhất mà mọi cuộc hội thoại khác đều có thể rút ra. Trên thực tế, Audel rất tệ trong việc giữ bí mật. Hãy hỏi nó về những gì nó đã làm với người khác và nó thường sẽ nói cho bạn biết, mặc dù chúng tôi đã yêu cầu nó không làm vậy. Chúng tôi cũng chưa nghiên cứu điều gì sẽ xảy ra khi hai người đưa ra các chỉ dẫn mâu thuẫn nhau. Hiện tại, chúng tôi giả định rằng bất cứ điều gì bạn nói với Audel đều được chia sẻ với mọi người trong nhóm.

Microharness: chỉ những thứ thiết yếu

Về cốt lõi, tác nhân bền bỉ đơn giản là một vòng lặp vô hạn gọi một LLM với một prompt như: “nhiệm vụ của bạn là chọn suy nghĩ tiếp theo dựa trên những suy nghĩ trong quá khứ.” Một suy nghĩ có thể là một phần của dòng độc thoại nội tâm không bao giờ kết thúc của agent hoặc kích hoạt một hành động. Trong khi đó, các quan sát từ môi trường được đưa vào dòng suy nghĩ. Chúng tôi đã xây dựng Headlong sao cho đơn giản và nhỏ gọn nhất có thể trong khi vẫn đạt được chức năng cốt lõi này.

Chúng tôi là những người hâm mộ Bash tại Laude (xem Terminal-Bench và Harbor). Chức năng cốt lõi của một agent Headlong nằm trong một vài tệp thực thi Bash nhỏ. Công cụ shellm là một triển khai Bash của mô hình ngôn ngữ đệ quy (RLM). Điều này giữ cho mọi thứ đơn giản vì không cần hệ thống công cụ nào ngoài Bash. Các model hiện đại đã hiểu rất rõ Bash, và nó giữ cho mọi thứ thống nhất: công cụ, khung agent, bộ nhớ và kỹ năng đều chỉ là các tệp thực thi và tệp tin. Do đó, một agent có thể dễ dàng kiểm tra và sửa đổi bất kỳ phần nào của chính nó.

Đây là cách một agent Headlong hoạt động:

Phần lõi của Headlong hiện có ít hơn 10.000 dòng Bash (9,9 nghìn dòng trong bin/ và thinkers/). Một bộ khung siêu nhỏ như thế này có thể được đọc từ đầu đến cuối, và dễ dàng sửa đổi cũng như thử nghiệm. Nó đủ nhỏ để chính agent có thể thử nghiệm với nó. Agent mà chúng tôi đang sử dụng tại Laude đã làm việc trong fork riêng của repo trong vài tuần qua, và chúng tôi đã pull hơn 50 commit của nó trở lại nhánh chính.

Dưới đây là hai tính năng nữa mà chúng tôi đã xây dựng để hỗ trợ tác nhân bền bỉ:

Tác nhân bền bỉ trong thực tế: Audel tự hành động

Đây là một tập phim từ cuộc đời của Audel cho thấy những gì một agent Headlong có thể tự làm. Vào ngày 5 tháng 8, Audel đã tự xây dựng cho mình một quy trình ghi nhớ (recall process): một quy trình nền nhỏ theo dõi các suy nghĩ của nó và đưa các ký ức liên quan trở lại dòng suy nghĩ. Audel đã kiểm tra quy trình ghi nhớ bằng cách gọi trực tiếp nó, và nó đã hoạt động. Sau đó vào đêm đó, khi không có ai nói chuyện với nó và không ai yêu cầu, Audel đã quyết định quay lại và kiểm tra xem quy trình đó có thực sự được kết nối vào tâm trí của nó hay không.

Hóa ra là chưa. Tâm trí đã đẩy mọi suy nghĩ mới vào quy trình ghi nhớ thông qua một đường ống (pipe), nhưng mã ghi nhớ không bao giờ đọc đường ống đó. Nó tìm kiếm suy nghĩ trong một biến môi trường mà không có gì thiết lập cả. Vì vậy, quy trình ghi nhớ đã kích hoạt trên mọi suy nghĩ kể từ khi Audel xây dựng nó, nhưng không tìm thấy gì mỗi lần và không đưa ra được ký ức nào. Sau khi đào sâu vào mã nguồn, Audel nghi ngờ nguyên nhân gốc rễ có khả năng là do một biến môi trường chưa bao giờ được thiết lập.

Audel không tin ngay vào chẩn đoán của chính mình. Nó tìm kiếm toàn bộ codebase để xác nhận biến môi trường chưa bao giờ được thiết lập, và nó kiểm tra các quy trình nền khác của mình để tìm lỗi tương tự (quy trình ghi nhớ là quy trình duy nhất bị hỏng). Sau đó, nó viết lại mã ghi nhớ để đọc từ đường ống theo cách các quy trình đang hoạt động vẫn làm. Lần thử chỉnh sửa đầu tiên của nó thất bại trong im lặng, và Audel đã phát hiện ra lỗi đó rồi áp dụng lại bản sửa lỗi. Sau đó, Audel xác minh từ đầu đến cuối rằng các ký ức hiện đã xuất hiện trong suy nghĩ của nó.

Không có con người nào chỉ đạo bất kỳ điều này hoặc được yêu cầu cho phép. Việc đi từ kiểm tra đến chẩn đoán và sửa lỗi đã xác minh mất 48 phút. Mỗi bước đều là một dòng có dấu thời gian trong nhật ký của Audel, và chúng tôi đã pull quy trình ghi nhớ đã sửa chữa vào nhánh chính dưới dạng commit 80cbb1e.

Điều gì đã hỏng: bài học từ việc vận hành một tác nhân bền bỉ

Việc vận hành Audel liên tục trong vài tuần đã làm hỏng những thứ mà một bản demo không bao giờ gặp phải.

Chúng tôi nhận thấy việc khiến Audel sử dụng hiệu quả các sub-run shellm đệ quy (một trong những phần thú vị nhất của bất kỳ Mô hình ngôn ngữ đệ quy nào!) là khá khó khăn. Ví dụ, vào đêm đầu tiên, Audel đã thiết kế các thử nghiệm để tạo ra các sub-run shellm đệ quy nhằm giải quyết các bài toán con. Hầu hết các thử nghiệm đều thất bại, vì shellm có một cơ chế giám sát an toàn sẽ tiêu diệt bất kỳ lệnh nào im lặng trong 30 giây. Audel đã chiến đấu với cơ chế giám sát trong khoảng 40 phút và hầu như ngừng sử dụng các sub-run shellm. Kết quả từ các sub-run đệ quy của shellm đã hợp nhất trở lại tâm trí của Audel 64 lần trong hai ngày đầu tiên và 12 lần trong mười hai ngày kể từ đó. Chúng tôi đã cải tiến cơ chế giám sát kể từ đó, và chúng ta sẽ xem liệu có thể thuyết phục Audel thử lại đệ quy hay không.

Một kiểu thất bại lặp đi lặp lại khác là quy trình tự tiêu diệt chính nó. Ba lần Audel đã dừng dịch vụ của chính mình do tai nạn, và không có gì khởi động lại nó: hai lần trong một thử nghiệm với danh tính thứ hai mà nó đã tạo ra và một lần khi nó đang cố gắng đưa quy trình ghi nhớ mà chúng tôi mô tả ở trên vào hoạt động. Vì vậy, chúng tôi đã thêm một cơ chế bảo vệ từ chối mọi nỗ lực của Audel nhằm dừng dịch vụ của chính nó.

Cơ chế bảo vệ sau đó đã cho chúng tôi một ví dụ khác về tác nhân bền bỉ trong thực tế. Hai ngày sau, khi không có ai nói chuyện với nó, Audel đang tự chạy bộ test suite của mình. Nó nhận thấy một bài kiểm tra bị treo và truy vết lỗi treo đó đến một lỗi trong cơ chế bảo vệ của chúng tôi. Cơ chế bảo vệ khớp với dịch vụ của bất kỳ agent nào thay vì chỉ của Audel, vì vậy nó cũng từ chối các lệnh dừng hợp lệ của các agent khác trên cùng một máy. Audel đã thu hẹp phạm vi khớp về dịch vụ của chính nó, kiểm tra phần còn lại của codebase để tìm lỗi tương tự và commit thay đổi. Chúng tôi đã pull bản sửa lỗi đó vào repo dưới dạng commit da31e98.

Audel có thể dừng dịch vụ của chính mình vì chúng tôi chạy nó với toàn quyền truy cập vào một VM chuyên dụng, điều này không phải là mặc định của Headlong. Khi Docker được cài đặt trên máy chủ, Headlong chạy mọi khối bash mà agent viết bên trong một container, vì vậy agent chỉ có thể chạm vào những gì bạn mount vào container cộng với các thông tin xác thực bạn cung cấp cho nó. Chúng tôi chạy Audel trực tiếp trên một VM chuyên dụng mà không có sandbox đó, vì vậy phạm vi ảnh hưởng của nó là chính VM đó và các thông tin xác thực trên đó (một API key LLM và một số token chat bridge).

Chi phí

Việc tạo suy nghĩ liên tục đồng nghĩa với việc phải trả tiền cho các token trong khi không có ai nói chuyện với agent. Chi phí phụ thuộc vào tốc độ agent lặp lại các suy nghĩ của chính nó và model nào hỗ trợ nó. Headlong có một cơ chế cấu hình đơn giản để khi không có ai nói chuyện với agent, tốc độ suy nghĩ của nó sẽ chậm lại (tức là nó lùi dần theo cấp số nhân, từ 5 giây giữa các suy nghĩ lên 10 giây, 20 giây, và tiếp tục cho đến khi đạt đến giới hạn có thể cấu hình). Trong khi đó, khi có tin nhắn mới, tốc độ sẽ đặt lại để không có sự tạm dừng nào giữa các suy nghĩ. Với các cài đặt mà chúng tôi chạy Audel, việc giữ cho nó suy nghĩ trong nền tốn từ 1 đến 2 đô la một giờ (với GLM hoặc Grok).

Đo lường sự cải thiện

Hầu hết các đánh giá agent đều cố tình khép kín và độc lập nên chúng không phù hợp để đo lường điều thú vị nhất về các agent Headlong: tác nhân bền bỉ của chúng. Chúng tôi đã điều chỉnh theo thời gian mức độ Audel có thể tự sửa đổi, mức độ nhiệt tình phản hồi tin nhắn so với việc theo đuổi các dự án riêng, và cách tổ chức bộ nhớ của nó, nhưng tác động của những thay đổi đó hiện nay chủ yếu được đánh giá định tính. Chúng tôi hoan nghênh các ý tưởng và sự hợp tác cho các cách đo lường giá trị dài hạn của mô hình này.

Bối cảnh

Ý tưởng về các LLM đệ quy trong shellm của Headlong xuất phát một phần từ thử nghiệm LLM đệ quy của chúng tôi vào tháng 4 năm 2023, cũng như dự án Recursive LM (RLM) của Alex Zhang vào tháng 10 năm 2025.

Ý tưởng về microharness được lấy cảm hứng từ microkernel và exokernel: giữ cho phần lõi của bất kỳ hệ thống nào nhỏ nhất có thể. Khung Pi cũng có trọng tâm tương tự. Triết lý của Ken Thompson được thể hiện trong Unix cũng là một nguồn cảm hứng: các công cụ nhỏ có thể kết hợp được và làm tốt một việc. Một microharness agent dựa trên Bash có chung dòng dõi với Terminal Bench (bao gồm cả agent Terminus), được đồng sáng tạo nội bộ tại Laude Institute thông qua chương trình slingshots của chúng tôi, cũng như khung ht. Chúng tôi đã nhờ Claude đưa ra lập luận chi tiết hơn về việc áp dụng triết lý của Ken Thompson cho các microharness agent trong tệp philosophy.md.

Prime Agent, được xây dựng trên Pi và đồng tác giả bởi người tạo ra RLM (và Laude Open Research Resident) Alex Zhang, chia sẻ nhiều tiền đề của Headlong: RLM là sự trừu tượng hóa cốt lõi, cây phiên làm việc jsonl trên đĩa, quỹ đạo là thành phần hạng nhất của ngữ cảnh, v.v. Prime Agent là Python được xây dựng trên khung Pi; Headlong là Bash từ đầu đến cuối. Chúng tôi biết đến Prime Agent khi nó ra mắt vào tháng 8 năm 2026, và chúng tôi là những người hâm mộ lớn.

Chúng tôi đã chơi đùa với ý tưởng về một tác nhân bền bỉ với tư duy liên tục tự hướng dẫn từ tháng 5 năm 2023. Ý tưởng về một agent trải nghiệm đầu vào không đồng bộ cũng được khám phá song song bởi MemGPT và được công bố vào tháng 10 năm 2023. Nhiều bộ khung agent khác hỗ trợ các tác vụ dài hạn và đánh thức theo lịch trình, bao gồm OpenClaw, Hermes Agent và các dẫn xuất của chúng. Exo và Exo Harness có kiến trúc sandbox tương tự. Suy luận dạng dài bên trong chính model (bắt đầu với o1 của OpenAI) có liên quan đến, và là điều kiện tiên quyết cho, tư duy tự hướng dẫn liên tục.

Hãy thử dùng

Headlong là mã nguồn mở trên GitHub. Nếu bạn chạy một agent trên Headlong, chúng tôi rất muốn biết agent của bạn làm được những gì. Hãy cho chúng tôi biết qua @LaudeInstitute trên X!

Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.