Suna AI: Agensi AI Umum Sumber Terbuka

Ardianto Nugroho

Ardianto Nugroho

25 April 2025

Suna AI: Agensi AI Umum Sumber Terbuka

Bidang kecerdasan buatan semakin bergerak menuju agen yang dapat melakukan lebih dari sekadar memproses informasi – mereka dapat bertindak. Suna AI muncul dalam ruang ini sebagai agen AI umum sumber terbuka yang menarik, dirancang untuk berfungsi sebagai teman digital yang mampu memahami instruksi bahasa alami dan mengeksekusi tugas-tugas kompleks di dunia nyata secara langsung atas nama Anda. Dikembangkan oleh Kortix AI dan dirilis di bawah lisensi Apache 2.0 yang permisif, Suna membedakan dirinya dengan menggabungkan rangkaian alat yang kuat dengan antarmuka percakapan, bertujuan untuk menjembatani kesenjangan antara niat pengguna dan tindakan digital yang nyata.

Berbeda dengan alat AI khusus, kekuatan Suna terletak pada fleksibilitasnya. Ini dibangun untuk mengorkestrasi berbagai kemampuan – dari menjelajahi web dan mengelola file hingga mengeksekusi kode dan berinteraksi dengan API – semuanya didorong oleh perintah percakapan Anda. Artikel ini memberikan gambaran tentang kemampuan inti dan arsitektur Suna, diikuti dengan tutorial terperinci, langkah demi langkah tentang cara mengatur dan menjalankan instansi Anda sendiri secara lokal, memberdayakan Anda untuk memanfaatkan agen AI yang kuat ini dalam lingkungan Anda sendiri.

💡
Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah?

Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?

Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
button

Apa itu Suna AI dan Bagaimana Cara Kerja Suna AI?

Untuk memahami apa yang dapat dilakukan Suna, penting untuk memahami alat-alat yang dimilikinya. Kemampuan ini memungkinkannya untuk berinteraksi dengan dunia digital seperti pengguna manusia, tetapi otomatis dan didorong oleh AI.

  1. Automasi Browser (via Playwright): Suna dapat meluncurkan dan mengontrol instance browser web dalam lingkungan amannya. Ini berarti ia dapat menavigasi ke URL tertentu, masuk ke situs web (jika kredensial disediakan dengan aman), mengklik tombol, mengisi formulir, menggulir halaman, dan, yang paling penting, mengekstrak data langsung dari konten halaman web. Kemampuan ini membuka akses ke sejumlah besar informasi dan fungsionalitas yang tersedia di web untuk otomatisasi.
  2. Manajemen File: Agen ini tidak terbatas pada data web saja. Ia memiliki kemampuan untuk berinteraksi dengan sistem file dalam lingkungan yang terisolasi. Ini termasuk membuat file baru (seperti laporan atau ekspor data), membaca dokumen yang ada, mengedit kontennya, dan mengorganisir file ke dalam direktori. Ini sangat penting untuk tugas yang melibatkan menghasilkan keluaran atau memproses data lokal.
  3. Penjelajahan Web & Pencarian yang Ditingkatkan: Selain menjelajah halaman tunggal, Suna dapat secara sistematis menjelajahi situs web (mengikuti tautan) untuk mengumpulkan informasi yang komprehensif. Ia juga dapat terintegrasi dengan API pencarian khusus (seperti integrasi Tavily yang opsional) untuk melakukan pengambilan informasi yang lebih canggih dan terarah daripada penggunaan mesin pencari standar, memungkinkan kemampuan penelitian yang lebih dalam.
  4. Eksekusi Command-Line: Dalam kontainer Docker yang aman, Suna memiliki kemampuan untuk mengeksekusi perintah shell. Fitur kuat ini memungkinkannya untuk menjalankan skrip, memanfaatkan utilitas command-line lainnya, berinteraksi dengan sumber daya sistem (dalam batasan kontainer), dan berpotensi mengotomatiskan tugas seperti pembangunan perangkat lunak atau penyebaran jika dikonfigurasi dengan tepat. Keamanan sangat penting di sini, ditangani oleh lingkungan terisolasi.
  5. Integrasi API (via RapidAPI & Panggilan Langsung): Suna dapat melakukan panggilan ke Antarmuka Pemrograman Aplikasi (API) eksternal. Ini memungkinkannya untuk terhubung dengan ekosistem besar layanan pihak ketiga. Dokumentasi menyoroti integrasi RapidAPI opsional, memungkinkan akses ke berbagai penyedia data (misalnya, untuk data LinkedIn, informasi keuangan, dll.), tetapi juga dapat dikonfigurasi untuk berinteraksi langsung dengan API RESTful lainnya, secara luas memperluas potensi pengumpulan data dan pengambilan tindakan.
  6. Interpretasi Kode: Suna mencakup kemampuan untuk mengeksekusi potongan kode (terutama Python) dalam lingkungan amannya. Ini bukan hanya untuk menjalankan skrip yang ada tetapi memungkinkan agen untuk secara dinamis menghasilkan dan menjalankan kode untuk melakukan perhitungan kompleks, analisis data, pemrosesan logika kustom, atau transformasi yang melampaui kemampuan alatnya yang lain.

Kekuatan sejati Suna terletak pada kemampuan AI untuk memilih dan menyusun alat ini dengan tepat berdasarkan permintaan pengguna. Sebuah instruksi tunggal mungkin memicu alur kerja yang melibatkan pencarian di web, mengekstrak data, memprosesnya dengan kode yang diinterpretasikan, memformat hasil ke dalam file, dan menyimpannya – semua dikelola oleh agen.

Arsitektur Suna: Komponen yang Terlibat

Memahami proses pengaturan memerlukan pemahaman dasar tentang komponen arsitektur utama Suna:

  1. Backend API (Python/FastAPI): Logika inti berada di sini. Ini mengelola permintaan pengguna, mempertahankan status percakapan, mengorkestrasi penggunaan alat agen, dan menangani komunikasi dengan Model Bahasa Besar (LLM) yang dipilih melalui LiteLLM (memberikan fleksibilitas dengan penyedia seperti OpenAI dan Anthropic).
  2. Frontend (Next.js/React): Ini adalah aplikasi web yang dihadapi pengguna. Ini menyediakan antarmuka obrolan untuk berinteraksi dengan Suna, menampilkan hasil, dan mencakup elemen dasbor untuk memantau aktivitas agen.
  3. Lingkungan Docker Agen (via Daytona): Keamanan dan isolasi sangat penting. Setiap tugas agen berjalan dalam kontainer Docker yang ditentukan yang dikelola oleh Daytona. Sandbox ini berisi semua alat yang diperlukan (browser, interpreter kode, akses sistem file) dan mencegah agen mengganggu sistem host.
  4. Basis Data Supabase (PostgreSQL): Menangani semua kebutuhan ketahanan data, termasuk akun pengguna dan otentikasi, riwayat percakapan, penyimpanan untuk file yang dihasilkan oleh agen, pelacakan status agen, dan potensi analitik.

Komponen-komponen ini bekerja sama, berkomunikasi melalui API, untuk memberikan pengalaman Suna. Pengaturan self-hosting melibatkan mengonfigurasi dan menjalankan bagian-bagian yang saling terkait ini.

Cara Mengatur Suna AI

Menjalankan Suna sendiri memberikan kontrol dan privasi maksimum. Langkah-langkah berikut memandu Anda melalui proses pengaturan:

Fase 1: Mengumpulkan Prasyarat

Sebelum menginstal Suna, Anda perlu beberapa layanan dan kredensial eksternal:

Proyek Supabase:

Basis Data Redis:

Akun Daytona & Konfigurasi Gambar:

Kunci API LLM:

(Opsional) Kunci API Tavily: Untuk hasil pencarian yang lebih baik. Dapatkan kunci dari Tavily AI.

(Opsional) Kunci API RapidAPI: Jika Anda berniat menggunakan integrasi yang sudah dibangun yang membutuhkannya (seperti pengikis web tertentu).

Fase 2: Instalasi dan Konfigurasi

Sekarang, konfigurasikan komponen aplikasi Suna:

Clone Repository:

git clone https://github.com/kortix-ai/suna.git
cd suna

Konfigurasi Backend (.env):

NEXT_PUBLIC_URL="http://localhost:3000" # Atau URL frontend Anda jika berbeda

# Supabase
SUPABASE_URL=YOUR_SUPABASE_URL
SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY=YOUR_SUPABASE_SERVICE_ROLE_KEY

# Redis
REDIS_HOST=YOUR_REDIS_HOST
REDIS_PORT=YOUR_REDIS_PORT
REDIS_PASSWORD=YOUR_REDIS_PASSWORD # Biarkan kosong jika tidak ada
REDIS_SSL=True # Atau False untuk Redis lokal non-SSL

# Daytona
DAYTONA_API_KEY=YOUR_DAYTONA_API_KEY
DAYTONA_SERVER_URL="https://app.daytona.io/api"
DAYTONA_TARGET="us" # Atau wilayah Anda

# --- Konfigurasi LLM (ISIAN HANYA SATU SET) ---
# Contoh Anthropic:
ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY
MODEL_TO_USE="anthropic/claude-3-5-sonnet-latest" # Atau model Claude lainnya
OPENAI_API_KEY=
# Contoh OpenAI:
# ANTHROPIC_API_KEY=
# OPENAI_API_KEY=YOUR_OPENAI_API_KEY
# MODEL_TO_USE="gpt-4o" # Atau model OpenAI lainnya
# -----------------------------------------

# Opsional
TAVILY_API_KEY=YOUR_TAVILY_API_KEY # Opsional
RAPID_API_KEY=YOUR_RAPID_API_KEY # Opsional

Atur Skema Basis Data Supabase:

Konfigurasikan Frontend (.env.local):

NEXT_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_URL # Sama seperti di backend .env
NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY # Sama seperti di backend .env
NEXT_PUBLIC_BACKEND_URL="http://localhost:8000/api" # Lokasi backend default
NEXT_PUBLIC_URL="http://localhost:3000" # Lokasi frontend default

Instal Ketergantungan:

# Di direktori frontend
npm install
# Di direktori backend (gunakan lingkungan virtual!)
# python -m venv venv
# source venv/bin/activate  ATAU .\venv\Scripts\activate (Windows)
pip install -r requirements.txt

Fase 3: Menjalankan Suna

Mulai Layanan Backend:

Mulai Layanan Frontend:

Akses Instansi Suna Anda:

Kesimpulan

Suna AI merupakan langkah praktis menuju agen AI otonom yang mampu mengeksekusi tugas di dunia digital. Sifat sumber terbukanya, dikombinasikan dengan alat yang kuat dan arsitektur modular, menjadikannya pilihan menarik bagi pengembang dan pengguna yang mencari asisten AI yang dapat disesuaikan dan dihosting sendiri. Dengan mengikuti proses pengaturan terperinci yang dijelaskan di atas, Anda dapat menerapkan instansi Suna Anda sendiri, memberikan Anda antarmuka percakapan untuk mengotomatiskan penjelajahan, manipulasi file, pengumpulan data, eksekusi kode, dan banyak lagi, semuanya dalam lingkungan yang Anda kendalikan. Meskipun pengaturannya memerlukan perhatian cermat terhadap berbagai komponen, hasilnya adalah agen AI yang serbaguna siap bertindak atas nama Anda.

💡
Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah?

Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?

Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
button

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.