OPENHANDS LÀ GÌ? TÁC NHÂN AI “Code Less, Make More” | Free

Ưu đãi tài khoản premium miễn phí/giá rẻ

 

OPENHANDS – TÁC NHÂN AI “Code Less, Make More”

OPENHANDS LÀ GÌ?

https://github.com/All-Hands-AI/OpenHands
OPENHANDS LÀ GÌ? (SOURCE: https://github.com/All-Hands-AI/OpenHands)

OpenHands là một công cụ sử dụng trí tuệ nhân tạo (AI) được thiết kế để tự động hóa các công việc phát triển phần mềm (development tasks). Công cụ này giúp bạn (cung cấp cơ chế) tạo ra các tác nhân AI (AI agents) cho khả năng tương tự như các lập trình viên.

Khẩu hiệu “Code Less, Make More” của OpenHands nói lên tất cả: giao việc lặp lại cho AI, dành thời gian cho sáng tạo và những ý tưởng chất lừ. Bạn chỉ việc ra lệnh, phần còn lại để AI lo!

AI agents của OpenHands có thể chỉnh sửa mã nguồn (modifying code), chạy các lệnh (running commands), tìm kiếm thông tin trên web (browsing the web), gọi các giao diện lập trình ứng dụng (API) để kết nối với các dịch vụ khác, và thậm chí sao chép các đoạn mã (copying code snippets) từ các nguồn như StackOverflow – một tác nhân AI hỗ trợ phát triển toàn diện.

Bạn có thể trải nghiệm ngay mà không cần cài đặt qua phiên bản Cloud: https://app.all-hands.dev/

CÁCH OPENHANDS HOẠT ĐỘNG

OpenHands được thiết kế để làm việc một cách linh hoạt và tương tác. Cách tốt nhất để sử dụng công cụ này là bắt đầu với các công việc đơn giản và sau đó cải thiện dần dần qua từng bước lặp lại (refine them through iteration).

Quy trình sử dụng cơ bản

OpenHands they can modify code, run commands, browse the web, call APIs
AI agents của OpenHands có thể chỉnh sửa mã nguồn (modifying code), chạy các lệnh (running commands), tìm kiếm thông tin trên web (browsing the web), gọi các giao diện lập trình ứng dụng (API)

Bạn tương tác với OpenHands bằng cách đưa ra các lệnh hoặc yêu cầu bằng văn bản (prompts). Ví dụ, bạn có thể yêu cầu tác nhân “Viết một tập lệnh bash hello.sh in ra ‘hello world!'”. Tác nhân sẽ tự động viết tập lệnh, đặt quyền cần thiết và chạy thử để xác nhận kết quả. Bạn cũng có thể tiếp tục yêu cầu tác nhân chỉnh sửa mã nguồn đã có, ví dụ: “Sửa đổi hello.sh để nó chấp nhận một tên làm đối số đầu tiên, nhưng mặc định là ‘world'”. OpenHands hỗ trợ nhiều ngôn ngữ lập trình, cho phép bạn chuyển đổi tập lệnh giữa các ngôn ngữ, ví dụ: “Vui lòng chuyển đổi hello.sh thành tập lệnh Ruby và chạy nó”.

OpenHands hoạt động rất hiệu quả trong các dự án “Greenfield” (xây dựng từ đầu), tức là những dự án mới hoàn toàn mà không có mã nguồn nào từ trước. Khi xây dựng từ đầu, điều quan trọng là bạn phải đưa ra hướng dẫn cụ thể về những gì bạn muốn và bộ công nghệ (technology stack) dự định sử dụng.

Bạn có thể bắt đầu với một công việc đơn giản và sau đó lặp lại để phát triển thêm. Ví dụ, để xây dựng một ứng dụng TODO, bạn có thể bắt đầu bằng cách yêu cầu “Xây dựng một ứng dụng TODO chỉ có giao diện người dùng bằng React. Tất cả trạng thái nên được lưu trữ trong localStorage.”. Sau đó, bạn có thể tinh chỉnh yêu cầu bằng cách thêm tính năng, ví dụ “Cho phép thêm ngày đến hạn tùy chọn vào mỗi tác vụ.”. Việc lưu và gửi mã (commit and push code) thường xuyên vào hệ thống quản lý phiên bản (Version Control) là rất quan trọng, và OpenHands có thể được yêu cầu làm điều này.

OpenHands cũng rất hiệu quả trong việc thêm mã nguồn mới (adding new code) vào mã nguồn hiện có, ví dụ: “Thêm một GitHub Action kiểm tra code trong kho lưu trữ này.” hoặc “Sửa đổi ./backend/api/routes.js để thêm một tuyến mới trả về danh sách tất cả các tác vụ.”.

Ngoài ra, OpenHands còn có thể tái cấu trúc mã nguồn(refactoring) thành các phần nhỏ, dễ quản lý, bao gồm đổi tên biến, tách các hàm lớn hoặc chia nhỏ các file code dài dằng dặc.

Sau cùng, OpenHands có thể hỗ trợ sửa lỗi (bug fixes), đặc biệt nếu vấn đề đã được xác định. Ví dụ: “Trường email trong điểm cuối /subscribe đang từ chối các miền .io. Sửa lỗi này.”. Lưu ý: Đối với việc sửa lỗi, nên sử dụng phương pháp phát triển theo hướng kiểm thử (Test-Driven Development), nơi bạn yêu cầu tác nhân viết một bài kiểm thử để tái tạo lỗi và sau đó sửa code.

Chú ý: Để dùng OpenHands hiệu quả, hãy chia nhỏ công việc và mô tả thật cụ thể từng yêu cầu của bạn. Càng rõ ràng, OpenHands xử lý càng chính xác. Luôn bổ sung đầy đủ thông tin liên quan để AI hiểu đúng ý bạn. Và đừng quên commit và push code thường xuyên để lưu lại quá trình làm việc.

CÁC MÔ HÌNH NGÔN NGỮ LỚN (LLM) ĐƯỢC HỖ TRỢ

OpenHands có khả năng kết nối với bất kỳ Mô hình Ngôn ngữ Lớn (LLM) nào được LiteLLM hỗ trợ, nhưng nếu bạn muốn hiệu quả, hãy sử dụng một LLM mạnh.

Các mô hình được khuyến nghị

Dựa trên các đánh giá, một số mô hình đã được xác minh là hoạt động khá tốt với OpenHands:

Các mô hình dựa trên đám mây/API (Cloud/API-based models):
– anthropic/claude-sonnet-4-20250514 (được khuyến nghị)
– openai/o4-mini
– gemini/gemini-2.5-pro
– deepseek/deepseek-chat

Lưu ý rằng hầu hết các LLM dựa trên đám mây này đều có tính phí khi sử dụng.

Các mô hình chạy cục bộ/tự lưu trữ (Local/Self-hosted models):

– mistralai/devstral-small (20 May 2025), có sẵn qua OpenRouter.
– all-hands/openhands-lm-32b-v0.1 (31 March 2025), có sẵn qua OpenRouter.

Hầu hết các mô hình LLM chạy cục bộ không mạnh bằng các mô hình dựa trên đám mây, có thể dẫn đến thời gian chờ lâu hơn hoặc kết quả kém chất lượng (code lỗi, code sai, cần sửa nhiều…).

——-

Chi tiết cấu hình LLM

Các cài đặt cơ bản có thể được cấu hình trực tiếp trong giao diện người dùng (UI) của OpenHands thông qua trang Cài đặt (Settings). Các cài đặt này bao gồm chọn LLM Provider (Nhà cung cấp LLM), LLM Model (Mô hình LLM) và nhập API Key (Khóa API). Bạn cũng có thể chỉ định Base URL (Địa chỉ cơ sở) hoặc nhập thủ công Custom Model (Mô hình tùy chỉnh).

Một số cài đặt bổ sung cần được truyền dưới dạng biến môi trường (environment variables) cho lệnh docker run. OpenHands cũng có tính năng tự động thử lại các yêu cầu API và quản lý giới hạn truy cập (Rate Limits) khi nhận được lỗi 429.

Xem thêm:

HƯỚNG DẪN CÀI ĐẶT OPENHANDS

Để bắt đầu sử dụng OpenHands, bạn cần thực hiện một số bước cài đặt cơ bản, chủ yếu dựa trên Docker.

Yêu cầu hệ thống

1. Hệ điều hành (Operating System): MacOS với Docker Desktop, Linux (Ubuntu 22.04), hoặc Windows với WSL (Windows Subsystem for Linux) và Docker Desktop.

2. Phần cứng (Hardware): Bộ xử lý hiện đại và tối thiểu 4GB RAM được khuyến nghị.

Cài đặt Docker là bắt buộc. Các bước cụ thể tùy thuộc vào hệ điều hành của bạn:

– MacOS: Cài đặt Docker Desktop và bật Allow the default Docker socket to be used trong Settings > Advanced.

– Linux: Cài đặt Docker Desktop.

– Windows (với WSL): Cài đặt WSL trước, Default Version: 2, tiếp đó cài đặt Docker Desktop và bật “Use the WSL 2 based engine cùng Enable integration with my default WSL distro”. Đảm bảo các lệnh docker phải chạy được trong WSL terminal.

3. Khởi động ứng dụng

Sau khi đáp ứng các điều kiện tiên quyết, mở cterminal) và chạy lệnh Docker sau:

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.47-nikolaik

docker run -it –rm –pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.47-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands:/.openhands \
-p 3000:3000 \
–add-host host.docker.internal:host-gateway \
–name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.47

(Xem thêm tài liệu hướng dẫn)

Lệnh Docker này sẽ khởi chạy OpenHands trong một môi trường ảo (container). Việc ánh xạ cổng (-p 3000:3000) cho phép bạn truy cập giao diện web của OpenHands qua trình duyệt, và việc gắn kết thư mục (-v) là cần thiết để OpenHands lưu trữ dữ liệu của người dùng. Sau khi chạy lệnh, OpenHands sẽ có thể truy cập tại địa chỉ:

http://localhost:3000

trên trình duyệt web của máy tính của bạn.

https://app.all-hands.dev/
https://app.all-hands.dev/ | Example

CẤU HÌNH VÀ THIẾT LẬP OPENHANDS

Sau khi khởi động OpenHands, bạn cần cấu hình công cụ.

1. Thiết lập ban đầu sau khi khởi chạy

Khi khởi chạy OpenHands lần đầu, một cửa sổ cài đặt sẽ xuất hiện.

Tại đây, bạn phải chọn một LLM Provider (Nhà cung cấp LLM) và LLM Model (Mô hình LLM), sau đó nhập API Key (Khóa API) tương ứng. Bước này là bắt buộc vì OpenHands cần một Mô hình Ngôn ngữ Lớn làm “bộ não” của nó. Nếu mô hình bạn muốn không có trong danh sách, bạn có thể nhập thủ công tên Custom Model (Mô hình tùy chỉnh) trong cài đặt nâng cao.

2. Cách lấy khóa API

OpenHands yêu cầu khóa API cho hầu hết các Mô hình Ngôn ngữ Lớn để có thể kết nối và sử dụng chúng. Dưới đây là cách chung lấy khóa API:

– Anthropic (Claude): Tạo tài khoản, tạo khóa API và thiết lập thanh toán.
– OpenAI: Tạo tài khoản, tạo khóa API và thiết lập thanh toán.
– Google (Gemini): Tạo tài khoản, tạo khóa API và thiết lập thanh toán.

Đối với LLM chạy cục bộ (Local LLM), ví dụ như LM Studio, llama.cpp, hoặc Ollama, nếu máy chủ LLM cục bộ của bạn không được bảo vệ bằng máy chủ proxy xác thực (authentication proxy), bạn có thể chỉ cần nhập bất kỳ giá trị nào làm khóa API (ví dụ: local-key, test123) vì nó sẽ không được sử dụng.

– Chi tiết: https://docs[.]all-hands[.]dev/usage/llms/llms

3. Thiết lập công cụ tìm kiếm (Tùy chọn)

Để mở rộng khả năng của tác nhân AI và cho phép OpenHands truy cập thông tin cập nhật từ internet, bạn có thể thiết lập chức năng tìm kiếm web.

– Lấy khóa API Tavily từ tavily.com, nhập vào mục Cài đặt (Settings), trong mục LLM > trường Search API Key (Tavily).

– Xem thêm tài liệu vừa cập nhật hôm nay: https://docs[.]all-hands[.]dev/usage/search-engine-setup

——-

CÁC CHẾ ĐỘ HOẠT ĐỘNG CỦA OpenHands

OpenHands có thể được chạy và cấu hình theo nhiều chế độ khác nhau, mỗi chế độ phù hợp với các trường hợp sử dụng và mức độ kinh nghiệm của người dùng.

1. Chế độ Giao diện Người dùng Đồ họa (GUI)

Chế độ GUI là lựa chọn thân thiện nhất với người dùng mới, cung cấp một giao diện trực quan để cấu hình các cài đặt quan trọng. Bạn có thể thiết lập nhà cung cấp và mô hình LLM, cấu hình công cụ tìm kiếm, và kết nối với các dịch vụ quản lý phiên bản mã như GitHub và GitLab. Để tích hợp với GitHub hoặc GitLab, bạn cần tạo một mã truy cập cá nhân (Personal Access Token – PAT) với các phạm vi quyền hạn (scopes) cần thiết và nhập vào trang Cài đặt.

OpenHands: Code Less, Make More | Ví dụ
OpenHands: Code Less, Make More | Ví dụ

2. Chế độ Giao diện Dòng lệnh (CLI)

Chế độ CLI phục vụ đối tượng người dùng có kinh nghiệm hơn hoặc những người muốn tự động hóa thông qua tập lệnh. OpenHands CLI có thể chạy với Python hoặc Docker.

– Chạy với Python: Cài đặt OpenHands bằng pip install openhands-ai hoặc sử dụng uvx. Sau đó, khởi chạy một cuộc hội thoại tương tác bằng lệnh openhands. Lần đầu chạy CLI, bạn sẽ được hướng dẫn cấu hình các cài đặt LLM cần thiết.

– Chạy với Docker: Bạn cần đặt các biến môi trường (environment variables) cụ thể như SANDBOX_VOLUMES, LLM_MODEL, và LLM_API_KEY trước khi chạy lệnh Docker để khởi chạy CLI trong một môi trường ảo (container).

Khi CLI đang chạy, bạn có thể cập nhật mô hình, khóa API và các tùy chọn khác một cách tương tác bằng cách sử dụng lệnh /settings.

3. Chế độ không giao diện (Headless Mode)

Chế độ không giao diện cho phép OpenHands hoạt động mà không cần giao diện web, làm cho nó phù hợp cho việc viết tập lệnh và tự động hóa công việc (ví dụ: trong các hệ thống CI/CD).

– Chạy với Python: Bạn cần đảm bảo đã làm theo hướng dẫn thiết lập phát triển, sau đó thực thi lệnh poetry run python -m openhands.core.main -t “write a bash script that prints hi”. Quan trọng là phải đặt mô hình, khóa API và các cài đặt cần thiết khác thông qua biến môi trường hoặc bằng cách cấu hình tệp config.toml (Xem thêm tài liệu hướng dẫn)

– Chạy với Docker: Bạn cần đặt một số biến môi trường (ví dụ: SANDBOX_VOLUMES, LLM_MODEL, LLM_API_KEY, GITHUB_TOKEN) và sau đó thực thi một lệnh Docker.

—–

GitHub Action

GitHub Action cho phép OpenHands tích hợp liền mạch vào các quy trình phát triển và triển khai liên tục (CI/CD) hiện có. Điều này cho phép tự động hóa các công việc lập trình trực tiếp trong kho mã nguồn, ví dụ như tự động sửa lỗi hoặc cập nhật tài liệu. Bạn có thể cấu hình tính năng này bằng cách sử dụng cài đặt kho lưu trữ tùy chỉnh và các biến như LLM_MODEL, OPENHANDS_MAX_ITER, TARGET_BRANCH.

—–

Các cài đặt nâng cao

Các cài đặt nâng cao cung cấp khả năng kiểm soát chi tiết hơn đối với cách OpenHands hoạt động và cách công cụ này tương tác với LLM. Các cài đặt này được tìm thấy dưới mục LLM trong trang Cài đặt (Settings) bằng cách bật tùy chọn Advanced (Nâng cao).

Các tùy chọn này bao gồm:

– Custom Model (Mô hình tùy chỉnh): Cho phép bạn nhập thủ công một mô hình sử dụng tiền tố chính xác.

– Base URL (Địa chỉ cơ sở): Bạn có thể chỉ định một Base URL nếu nhà cung cấp LLM của bạn yêu cầu.

– Memory Condensation (Tối ưu hóa ngữ cảnh bộ nhớ): Tính năng này quản lý thông tin mà LLM xử lý bằng cách chỉ ra những thông tin quan trọng và liên quan nhất. Đây là một tính năng quan trọng để tối ưu hóa hiệu suất và chi phí.

– Confirmation Mode (Chế độ xác nhận hành động): Bật chế độ này yêu cầu OpenHands xác nhận một hành động với người dùng trước khi thực hiện (hỏi bạn trước khi làm). Đây là tính năng an toàn, giúp người dùng kiểm soát hoạt động trước khi tác nhân thực hiện các thay đổi.

KẾT LUẬN

OpenHands là một công cụ AI mạnh mẽ và linh hoạt, được thiết kế để thay đổi cách chúng ta tiếp cận việc phát triển phần mềm. Từ việc tự động hóa các công việc lặp lại đến việc hỗ trợ các công việc phức tạp như tái cấu trúc mã nguồn và sửa lỗi. Khả năng của OpenHands trong việc chỉnh sửa mã, chạy lệnh, tìm kiếm trên web, gọi API và thậm chí sao chép đoạn mã từ các nguồn như StackOverflow cho thấy công cụ này có thể hoạt động như một tác nhân AI hỗ trợ phát triển toàn diện.

Với khả năng tích hợp đa dạng các Mô hình Ngôn ngữ Lớn (LLM) và nhiều chế độ hoạt động khác nhau như giao diện người dùng đồ họa (GUI), giao diện dòng lệnh (CLI), chế độ không giao diện (Headless), và GitHub Action, OpenHands mang đến sự tiện lợi và hiệu quả cho nhiều đối tượng người dùng. Từ những người mới bắt đầu khám phá tiềm năng của AI trong lập trình cho đến các chuyên gia muốn tối ưu hóa quy trình làm việc của mình, OpenHands cung cấp các tùy chọn cấu hình linh hoạt để đáp ứng các nhu cầu khác nhau.

Hy vọng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan rõ ràng và dễ hiểu về OpenHands. Công cụ này là một điểm khởi đầu tuyệt vời để bạn bắt đầu hành trình tự động hóa phát triển của riêng mình.

Thế giới của AI trong lập trình đang mở ra những cánh cửa mới đầy thú vị, và việc khám phá OpenHands sẽ giúp bạn nắm bắt được những cơ hội đó.

Xem thêm:

  • Đặc điểm: mới & khó/
  • Tài liệu thiếu và đang cập nhật từng ngày (ví dụ: hôm nay cập nhật khá nhiều).
  • Ưu điểm: mạnh/

 

 

 

Đánh giá bài viết

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận
ChiasePremium.com

Blog chia sẻ Kiến thức công nghệ và Trải nghiệm tài nguyên số. Hướng dẫn đăng ký và Hỗ trợ sử dụng các loại Sản phẩm kỹ thuật số.

Hỗ trợ riêng

Inbox facebook.com/chiasepremium

Share via
Copy link