Hướng dẫn: Triển khai AI Agent On-Chain bằng Virtuals Protocol
Saga tập trung vào việc cho phép các AI agent hoạt động tự trị và phi tập trung bằng cách thực hiện giao dịch trên blockchain. Saga đã hợp tác với Virtuals để giúp các nhà phát triển cung cấp cơ sở hạ tầng tiền điện tử cho các AI agent của họ. Virtuals cung cấp G.A.M.E SDK — một framework agentic dạng mô-đun, có thể được sử dụng để xây dựng và cấu hình các AI agent.
Hướng dẫn này sẽ giúp bạn qua từng bước để tạo các AI agent của mình bằng cách sử dụng G.A.M.E SDK và Saga Chainlet.
Trong hướng dẫn này, chúng ta sẽ thực hiện:
- Cài đặt Virtuals G.A.M.E SDK
- Tích hợp với Saga Chainlet
Yêu cầu cần thiết:
Trước khi bắt đầu, hãy đảm bảo bạn đã chuẩn bị sẵn các mục sau:
Saga Chainlet:
Chúng ta sẽ triển khai bot lên một Saga chainlet. Đảm bảo bạn có một chainlet đang hoạt động. Sử dụng hướng dẫn này để khởi chạy chainlet của bạn. Điểm cuối RPC (RPC endpoint) và ID chainlet (Chainlet ID) sẽ có sẵn trong bảng điều khiển chainlet của bạn.Node.js:
Sử dụngnvm install
để cài đặt phiên bản mới nhất và kiểm tra bằngnode -v
.npm:
Đây là trình quản lý gói được ưu tiên sử dụng cho Virtuals.G.A.M.E API Key:
Liên hệ với đội ngũ Virtuals để nhận khóa API.$VIRTUAL:
Bạn sẽ cần 100 $VIRTUAL token để triển khai AI agent. Bạn có thể mua $VIRTUAL trên các nền tảng giao dịch phổ biến. Nếu gặp khó khăn trong việc mua token, bạn có thể mô phỏng hành vi của agent trong sandbox và kiểm tra mà không cần thực sự triển khai.
Cài đặt Virtuals G.A.M.E SDK
Trước khi cài đặt G.A.M.E framework, hãy tìm hiểu qua về kiến trúc và các thành phần liên quan.
SDK bao gồm ba thành phần:
Agent (High-Level Planner - HLP):
- Đây là thành phần theo dõi tiến trình của AI agent để đạt được mục tiêu và xác định các nhiệm vụ tiếp theo.
- HLP nhận thông tin về:
- Mục tiêu của agent
- Tính cách của agent
- Hành động khả dụng
- Mô tả thế giới, trạng thái agent, và vị trí
- Dựa trên các thông tin đầu vào này, HLP tạo ra một kế hoạch để đạt được mục tiêu.
Worker (Low-Level Planner - LLP):
- Thành phần này xác định trình tự hành động cụ thể mà agent cần thực hiện để đạt được mục tiêu.
- Nó xem xét các chức năng và hành động khả dụng, chọn các hành động phù hợp nhất dựa trên kế hoạch do HLP tạo ra.
Custom Functions:
- Cho phép mở rộng khả năng của agent bằng cách định nghĩa các hành động mới mà chúng có thể thực hiện.
- Điều này nâng cao tính linh hoạt và khả năng tùy chỉnh của framework, giúp bạn tạo ra các agent với chức năng độc đáo.
Bắt đầu cài đặt package
Với kiến thức về kiến trúc trên, giờ đây chúng ta có thể tiến hành cài đặt G.A.M.E SDK.
Bước 1: Tải về và cài đặt
Sử dụng lệnh sau để tải về G.A.M.E SDK:
npm install @virtuals/game-sdk
Bước 2
Bây giờ hãy mở thư mục trong một trình chỉnh sửa mã (code editor) và cùng nhau xử lý từng thành phần.
Chúng ta sẽ bắt đầu với custom function và lần lượt thực hiện các bước qua agent. Trong thư mục src, hãy mở tệp function.ts.
Chi tiết code:
import {
GameFunction,
ExecutableGameFunctionResponse,
ExecutableGameFunctionStatus,
} from "@virtuals-protocol/game";
const myFunction = new GameFunction({
name: "action_name",
description: "Description of action",
args: [
{
name: "param",
type: "type",
description: "param description" },
] as const,
executable: async (args) => {
try {
// Implement your function logic here
return new ExecutableGameFunctionResponse(
ExecutableGameFunctionStatus.Done,
"Action completed successfully"
);
} catch (e) {
return new ExecutableGameFunctionResponse(
ExecutableGameFunctionStatus.Failed,
"Action failed"
);
}
},
});
Tiếp theo, chúng ta cần tạo một worker để hỗ trợ agent trong các nhiệm vụ. Hãy mở tệp worker.ts
và thêm phần mô tả.
Code:
import { GameWorker } from "@virtuals-protocol/game";
const worker = new GameWorker({
id: "worker_id",
name: "Worker Name",
description: "Worker description",
functions: [list_of_functions],
getEnvironment: async () => {
return {
// environment details
};
},
});
Cuối cùng, chúng ta sẽ mô tả agent. Hãy mở tệp agent.ts
trong thư mục src
và tiến hành định nghĩa Agent.
Code:
import { GameAgent } from "@virtuals-protocol/game";
const agent = new GameAgent("<your_api_key>", { //Replace with your API key
name: "<Agent-Name>", //Enter the name of your Agent
goal: "<Goal>", //Define the agents main objective so that the HLP can create the necessary tasks
description: "<Description>", //Describe the personality of your agent, including attributes like personality traits, communication style, and its vision and motivation (worldview)
getAgentState: agent_state_function,
workers: [worker1, worker2],
});
// Compile and run
await agent.init();
await agent.run();
// If you need to run the agent without a fixed interval, use the following:
await agent.step();
Khi các mục tiêu và hành động đã được mô tả, AI agent của chúng ta sẵn sàng để triển khai.
Tích hợp với Saga Chainlet
Vì AI agent của chúng ta sẽ tương tác với Saga chainlet để lấy số dư token và chuyển token, chúng ta cần tích hợp nó với Saga chainlet. Chúng ta sẽ sử dụng thư viện Viem dành cho TypeScript để thực hiện việc tích hợp này.
Để cài đặt Viem, hãy sử dụng package manager như sau:
npm install viem
Để đảm bảo mọi thứ hoạt động chính xác, hãy chắc chắn rằng tệp tsconfig.json
của bạn đã bật strict mode với giá trị true:
{
"compilerOptions": {
"strict": true
}
}
Để tích hợp với chainlet, hãy định nghĩa chainlet bằng cách sử dụng Viem:
Code:
import { defineChain } from 'viem'
//Define the chain using:
export const <chain-name> = defineChain({
id: <chain-id>,
name: '<chain-name>',
nativeCurrency: {
decimals: 18,
name: '<native-token>',
symbol: '<native token symbol>',
},
rpcUrls: {
default: {
http: ['https://rpc-url'],
webSocket: ['wss://rpc.url'],
},
},
blockExplorers: {
default: {
name: 'Explorer',
url: 'https://explorer.url' },
},
})
Chainlet của bạn hiện đã được tích hợp với Viem, và các AI agent có thể tương tác với nó để tạo các giao dịch on-chain.
Vậy là xong! AI agent của bạn đã sẵn sàng bước ra thế giới và thực hiện các giao dịch trên-chain bằng cách sử dụng cơ sở hạ tầng Saga chainlet. Sau khi bạn kiểm tra agent, hãy sử dụng token $VIRTUAL để triển khai nó trên Virtuals launchpad và đưa nó đến với thế giới.
Chúng tôi sẽ tiếp tục chia sẻ thêm về những điều thú vị bạn có thể làm với AI agent phi tập trung của mình. Nếu bạn đang phát triển một AI agent thú vị, đừng ngần ngại liên hệ với chúng tôi để được cấp quyền truy cập vào chainlet L1 chuyên dụng trên Saga của bạn. 🚀