Tutorial Phidata (Agno): Framework AI Agent yang Simpel dan Powerful
Membangun AI agent yang cerdas dan otonom kini semakin mudah dengan hadirnya Phidata (sekarang dikenal sebagai Agno). Framework ini menawarkan pendekatan yang lebih sederhana dibandingkan CrewAI atau LangGraph, namun tetap powerful untuk berbagai use case mulai dari chatbot sederhana hingga multi-agent system yang kompleks.
Dalam tutorial ini, kita akan mempelajari cara membangun AI agent menggunakan Phidata/Agno dari nol hingga membuat research agent yang dapat mencari informasi di web dan menulis laporan secara otomatis.
Apa itu Phidata/Agno?
Phidata adalah framework open-source untuk membangun AI agent dengan Python. Framework ini dirancang dengan filosofi simplicity-first, di mana Anda bisa membuat agent yang functional hanya dengan beberapa baris kode. Phidata baru-baru ini melakukan rebranding menjadi Agno, namun konsep dan API-nya tetap konsisten.
Keunggulan utama Phidata/Agno:
- Mudah dipelajari: API yang intuitif dan dokumentasi yang lengkap
- Built-in tools: Web search, file operations, SQL, dan banyak lagi
- Knowledge bases: Integrasi dengan vector database untuk RAG
- Memory dan storage: Agent yang bisa mengingat konteks percakapan
- Multi-agent teams: Orkestrasi beberapa agent sekaligus
- Structured outputs: Output terstruktur dengan Pydantic models
- Streaming: Dukungan streaming response secara real-time
Instalasi dan Setup
Instalasi Package
# Instalasi Phidata/Agno
pip install agno
Atau jika menggunakan nama lama
pip install phidata
Dependensi tambahan untuk tools
pip install openai duckduckgo-search sqlalchemy pgvector
Konfigurasi API Key
# Set environment variable untuk OpenAI
export OPENAIAPIKEY="sk-your-api-key-here"
Atau gunakan file .env
echo 'OPENAIAPIKEY=sk-your-api-key-here' > .env
# Atau set langsung di Python
import os
os.environ["OPENAIAPIKEY"] = "sk-your-api-key-here"
Membuat Agent Pertama
Agent Sederhana
from agno.agent import Agent
from agno.models.openai import OpenAIChat
Buat agent sederhana
agent = Agent(
model=OpenAIChat(id="gpt-4o-mini"),
description="Kamu adalah asisten yang helpful dan ramah.",
instructions=[
"Jawab dalam bahasa Indonesia",
"Berikan jawaban yang jelas dan terstruktur"
],
markdown=True
)
Jalankan agent
agent.printresponse("Jelaskan apa itu machine learning dalam 3 paragraf")
Agent dengan System Prompt yang Lebih Detail
agent = Agent(
model=OpenAIChat(id="gpt-4o"),
description="Kamu adalah data scientist senior dengan 10 tahun pengalaman.",
instructions=[
"Berikan jawaban yang teknis namun mudah dipahami",
"Sertakan contoh kode Python jika relevan",
"Gunakan analogi untuk menjelaskan konsep kompleks",
"Selalu rekomendasikan best practices"
],
markdown=True,
showtoolcalls=True
)
response = agent.run("Bagaimana cara menangani imbalanced dataset?")
print(response.content)
Menggunakan Tools
Tools adalah fitur paling powerful di Phidata/Agno. Agent dapat menggunakan tools untuk berinteraksi dengan dunia luar seperti mencari di web, membaca file, atau query database.
Web Search Tool
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools
Agent dengan kemampuan web search
webagent = Agent(
model=OpenAIChat(id="gpt-4o-mini"),
tools=[DuckDuckGoTools()],
description="Kamu adalah research assistant yang bisa mencari informasi di internet.",
instructions=[
"Selalu cari informasi terbaru sebelum menjawab",
"Sertakan sumber informasi",
"Berikan ringkasan yang terstruktur"
],
showtoolcalls=True,
markdown=True
)