VPS üzerinde AI agent nasıl kurulur?
Kendi VPS sunucunuzda AI agent yapısı kurmayı öğrenin. Loop, tools, MCP ve memory kavramlarını kullanarak dil modellerini eyleme geçiren sistemler tasarlayın.
Bir AI agent gerçekte nedir
Bir AI agent, bir dil modelinin etrafına sarılmış bir döngüdür. Model durumu okur, bir eylem kararı verir, kodunuz bu eylemi gerçekleştirir, sonuç modele geri döner ve görev tamamlanana kadar döngü tekrar çalışır. Temel fikir budur. Basit bir chatbot bir kez cevap verir ve durur. Bir agent ise, kendisine verilen hedefe ulaşana kadar kendi adımları arasında gerçek eylemler gerçekleştirerek devam eder.
Eylem en önemli kısımdır. Bir dil modeli tek başına sadece metin üretir. Bir dosyayı okuyamaz, bir API'yi çağıramaz veya bir komut çalıştıramaz. Bir agent, modele kullanmasına izin verilen bir araç seti ve bunları talep etme yöntemi sağlar. Model web'de arama yapmak veya bir dosya yazmak istediğinde, işi kendisi yapmaz. Yapılandırılmış bir talep iletir, kodunuz aracı çalıştırır ve yanıt, modelin okuyacağı bir sonraki veri olarak geri döner. Model muhakeme sağlar; sunucunuz ise uygulama kısmını yürütür.
Her görev bir agent gerektirmez ve varsayılan olarak bir agent kullanmaya çalışmak yaygın bir hatadır. Eğer adımlar önceden biliniyorsa, basit bir script daha basit, daha hızlı ve daha güvenilirdir. "Bu sayfayı her saat başı getir ve fiyatı bana e-posta ile gönder" bir agent değil, zamanlanmış bir iştir. Yol önceden sabitlenmemişse, model bulduklarını inceleyip ne yapacağına karar vermek zorundaysa bir agent oluşturun. Bir agent'ın maliyeti öngörülemezliktir, bu nedenle esneklik ihtiyacı karşıladığında bu maliyete katlanın.
Tools: bir agent nasıl hareket eder
Tool (araç), modele ne zaman başvuracağını bilebileceği kadar iyi tanımlanmış, modele verdiğiniz herhangi bir yetenektir. Bir dosyayı okumak, bir shell komutu çalıştırmak, bir veritabanını sorgulamak, bir mesaj göndermek: her biri bir isme, kısa bir açıklamaya ve bir girdi listesine sahip bir araçtır. Araçları siz tanımlarsınız; model ne zaman çağıracağını kendisi seçer.
Kullandığınız model ne olursa olsun, mekanizma her yerde aynıdır. Model, bir aracı isimlendiren ve girdilerini dolduran yapılandırılmış bir talep döndürür. Kodunuz bu talebi görür, ilgili fonksiyonu çalıştırır ve sonucu bir sonraki adımda geri gönderir. Model sonucu okur ve ya başka bir aracı çağırır ya da nihai yanıtını yazar. Function calling, her agent'ın altındaki tesisat sistemidir ve onu süren döngü sadece birkaç satırlık sıradan koddur.
Kontrolünüzün olduğu yer de burasıdır. Model bir komut çalıştırmayı talep edebilir, ancak kodunuz çalıştırmayı seçene kadar hiçbir şey çalışmaz. Bu boşluk; tehlikeli eylemler için onay istemleri, bir aracın dokunabileceği sınırlar ve agent'ın yaptığı her şeyin bir günlüğü için yerleştireceğiniz alandır. Bir agent, sadece ona verdiğiniz araçlar ve onların önüne koyduğunuz kontroller kadar güvenlidir.
MCP: araçları bağlamanın standart yolu
Her servis için elle yeni bir entegrasyon yazmak çok çabuk eskimeye başlar. Model Context Protocol veya MCP, bu sorunu çözen açık bir standarttır. Dosyalarınız, veritabanınız ve issue tracker'ınız için yeni bir araç kodlamak yerine, agent'ı bu öğeleri halihazırda araç olarak sunan bir MCP server'ına yönlendirirsiniz. Agent tek bir protokol konuşur; server ise gerçek sistemle konuşma işini yapar.
Getirisi yeniden kullanımdır. Başka birinin kullandığınız bir servis için yazdığı bir MCP server, yeni bir entegrasyon kodu gerektirmeden agent'ınız için kullanılabilir hale gelir ve sizin yazdığınız bir server, protokolü konuşan herhangi bir agent tarafından kullanılabilir. Bir VPS üzerinde bu önemlidir, çünkü MCP server'larını agent'ın yanında kendi küçük servisleri olarak, her biri sadece ihtiyacı olan erişime sahip olacak şekilde çalıştırabilirsiniz. Kurulumu running MCP servers on a VPS içeriğinde kapsıyorum.
Memory and retrieval
Bir dil modelinin çağrılar arasında kendi hafızası yoktur. Mevcut görev hakkında bildiği her şey, her adımda kendisine iletilmelidir. Kısa bir iş için bu uygundur, çünkü tüm konuşma tek bir isteğe sığar. Daha uzun olan her şey için belleği kendiniz yönetmelisiniz ve bilinmesi gereken iki desen vardır.
Birincisi scratchpad'dir. Agent'a okuyup yazabileceği bir dosya verirsiniz ve ona ilerlerken öğrendiklerini kaydetmesini söylersiniz. Bir sonraki adımda veya bir sonraki oturumda, dosyayı geri okur ve kaldığı yerden devam eder. Bu, düz bir belge olarak bellektir ve agent dosyayı sadece başka bir araç olarak gördüğü için çalışır.
İkincisi retrieval'dır (erişim). Agent, tek bir isteğe asla sığmayacak kadar büyük bir belge kümesinden bilgiye ihtiyaç duyduğunda, bu belgeleri aranabilir bir formda saklarsınız ve sadece ilgili parçaları gerektiğinde modelin görüş alanına çekersiniz. Bu desen retrieval-augmented generation veya RAG olarak adlandırılır. Agent bir soru sorar, kodunuz eşleşen birkaç pasajı bulur ve sadece bunlar modele gider. Depo sunucunuzda bulunur, böylece özel belgeleriniz asla oradan ayrılmaz.
Many agents, one coordinator
Birçok araca sahip tek bir agent çoğu görev için yeterlidir. Bir iş büyükse veya doğal olarak parçalara ayrılıyorsa, farklı bir yapı yardımcı olur: uzmanlaşmış alt agent'lara (sub-agents) görev dağıtan bir coordinator agent. Coordinator, hedefi parçalara böler, her parçayı o tür iş için oluşturulmuş bir sub-agent'a devreder ve sonuçları birleştirir.
Kazanç odaklanmadır. Dar bir işe ve küçük bir araç setine sahip bir sub-agent, her şeyi yönetmeye çalışan genel bir agent'tan daha iyi kararlar verir ve bağımsız parçalar aynı anda çalışabilir. Maliyet ise koordinasyondur ve bu gerçektir; bu nedenle bir görev açıkça daha fazlasını gerektirinceye kadar tek bir agent ile devam edin. Basit başlayın ve yalnızca tek bir agent açıkça zorlandığında agent ekleyin.
Self-hosted or hosted: agent'ınızı hangi model çalıştırır
Model, bir agent'ın kendinizin çalıştırmak zorunda olmadığınız tek parçasıdır ve nerede barındırılacağını seçmek yapacağınız en büyük karardır. Bir API üzerinden erişilen hosted bir model, hiçbir operasyonel yük gerektirmeden size en güçlü muhakemeyi sunar: metin gönderirsiniz, metin alırsınız. Self-hosted bir model kendi sunucunuzda çalışır; bu, her isteği özel tutar, token başına ücret yerine sabit bir fiyat sağlar ve asla başkasının ayakta kalmasına bağlı kalmaz. Takas, yetenek ve çabadır. En iyi hosted modeller, sizin kendiniz çalıştırabileceğiniz modellerin ilerisindedir ve kendi modelinizi çalıştırmak, ona sığacak kadar bellek beslemek anlamına gelir.
Bu son nokta pratik engeldir. Bir model sunucunuzun belleğine sığmalıdır ve eğer bir GPU kullanıyorsanız, video belleğine sığmalıdır. Donanım için çok büyük olan bir model yüklenmeyecektir. Self-hosted bir agent planlamadan önce, istediğiniz modelin sahip olduğunuz makineye sığıp sığmadığını kontrol edin:
Sayılar uymuyorsa üç seçeneğiniz vardır: daha küçük bir model seçin, küçültmek için daha agresif bir quantization kullanın veya muhakeme için bir hosted API kullanın ve sunucuda sadece araçlarınızı ve verilerinizi tutun. Birçok self-hosted agent, Ollama on a VPS aracılığıyla yerel bir modelle başlar ve en zor adımlar için bir hosted API'ye geri döner.
The server is the dangerous part
Shell komutlarını çalıştırabilen ve dosya yazabilen bir agent güçlüdür ve tam olarak bu yüzden tehlikelidir. Modelin muhakemesi iyidir ancak mükemmel değildir; kötü bir talimat, bir hata veya kötü niyetli bir girdi, yardımcı bir agent'ı yanlış şeyi silen veya bir sırrı sızdıran bir hale getirebilir. Güvenlik çalışması isteğe bağlı değildir ve bir sunucuda en önemli kısımdır.
Birkaç alışkanlık yükün çoğunu taşır. Agent'ı, bir hata yapıldığında sınırları olan bir yetkisiz kullanıcı (unprivileged user) olarak çalıştırın, asla root olarak çalıştırmayın; aynı mantık running services as an unprivileged user içeriğinde de vardır. API anahtarları gibi sırlarını kodun dışında ve sadece o kullanıcı tarafından okunabilir tutun. Ve sistemle temas eden araçları sandbox içine alın, böylece agent sadece gerçekten ihtiyacı olan şeye ulaşabilsin. Gerçek bir self-hosted agent'ı sertleştirmek için işlenmiş bir örnek için running OpenClaw safely on a VPS kısmına bakın. Zeka için bir hosted model kullanmayı tercih ederseniz, building an agent with Claude on a VPS kılavuzu aynı fikirleri alır ve arkalarına spesifik bir model koyar.
İşlenmiş bir örnek için, building an OpenClaw-style personal agent bu parçaları uygular; eğer bitmiş bir tane çalıştırmayı tercih ederseniz, self-hosting Hermes Agent on a VPS veya running Agent Zero on your own server ile başlayın ve the best self-hosted AI agents in 2026 kapsadığımız tüm hazır seçenekleri yan yana karşılaştırır.
FAQ
What is the difference between an AI agent and a chatbot?
Bir chatbot bir mesaja cevap verir ve durur. Bir agent bir döngü çalıştırır: model bir eylem kararı verir, kodunuz bunu gerçekleştirir, sonuç modele geri döner ve görev tamamlanana kadar bu tekrarlanır. Fark, bir agent'ın sadece metin üretmek yerine, dosyaları okumak, komutları çalıştırmak veya servisleri sorgulamak için araçları çağırarak kendi adımları arasında gerçek eylemler gerçekleştirmesidir.
Do I need a GPU to run an AI agent on a VPS?
Sadece modeli kendiniz barındırıyorsanız (self-host). Agent döngüsü, araçlar ve bellek, GPU olmayan normal bir VPS üzerinde sorunsuz çalışan sıradan kodlardır. GPU, dil modelini kendi donanımınızda çalıştırmak istediğinizde önemlidir, çünkü model belleğe sığmalıdır. Bir API üzerinden hosted bir model kullanıyorsanız, ağır hesaplama başka bir yerde gerçekleşir ve mütevazı bir VPS yeterlidir.
What is MCP and do I need it to build an agent?
MCP (Model Context Protocol), bir agent'ı araçlara ve veri kaynaklarına bağlamak için açık bir standarttır. Her aracı elle yazabileceğiniz için ona kesin olarak ihtiyacınız yoktur. MCP, yaygın servisler için mevcut sunucuları yeniden kullanmanıza ve kendi sistemlarınızı herhangi bir agent'ın kullanması için bir kez dışa açmanıza izin vererek size bu iş yükünden tasarruf sağlar. Entegrasyon sayısı arttıkça değer kazanan bir kolaylıktır.
Is it safe to give an AI agent access to my server?
Eğer onu sınırlandırırsanız güvenli olabilir. Komut çalıştıran bir agent, çalıştığı hesap ve izin verdiğiniz araçlar kadar güvenlidir. Onu yetkisiz bir kullanıcı olarak çalıştırın, sırlarını erişilemez tutun, dosya sistemine dokunan araçları sandbox içine alın ve geri alınması zor eylemler için onay gerektirin. Agent'a akıllı davranan, ancak güvenilmeyen bir kod gibi davranın ve ona sadece görevin ihtiyacı olanı verin.