Strands Agents Nedir? AWS Açık Kaynak Model Odaklı Aracı SDK

Strands ajanları, AWS'nin açık kaynaklı, model odaklı bir ajan SDK'sıdır. Döngüyü, araçları, model sağlayıcılarını, MCP'yi, çoklu ajanı, dağıtımı ve ne zaman kullanacağınızı öğrenin.

Ashley Goolam

Ashley Goolam

26 June 2026

Strands Agents Nedir? AWS Açık Kaynak Model Odaklı Aracı SDK

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Dev bir if/else durum makinesini birbirine bağlayarak bir yapay zeka ajanı inşa ettiyseniz, bunun ne kadar çabuk kırılgan hale geldiğini bilirsiniz. Strands Agents tam tersi bir yaklaşımla, planlamayı modele bırakmanızı ve sizin bir istem (prompt) ve araç listesi sağlamanızı önerir. Bu, AWS'den çıkan, Mayıs 2025'te Apache Lisansı 2.0 altında yayınlanan açık kaynaklı bir SDK'dır ve Amazon Q Developer ve AWS Glue gibi Amazon ekipleri içindeki üretim ajanlarına güç vermektedir.

düğme

Strands Agents aslında nedir?

Strands Agents, birkaç satır kodla yapay zeka ajanları oluşturmak ve çalıştırmak için bir SDK'dır. Bir ajana üç şey verirsiniz: bir model, bir sistem istemi ve bir araç seti. Model istemi okur, hangi araçları çağıracağına karar verir, onları çalıştırır, sonuçlara bakar ve görev tamamlanana kadar devam eder. Bu döngü, ürünün tamamıdır.

Python ve TypeScript için gönderilir. Adı, bir ajanı oluşturan iki "ipliğe" (strand) bir göndermedir: model ve araçlar. AWS, dahili olarak çalıştırdıktan sonra onu açık kaynak olarak yayınladı, bu nedenle tasarım bir demoyu değil, üretim ihtiyaçlarını yansıtır. Önizleme lansmanından bu yana 150 binden fazla PyPI indirmesini aştı ve çoklu ajan primitifleri ve Ajan-Ajan (A2A) protokol desteği ekleyen 1.0 sürümüne ulaştı.

Diğer ajan SDK'ları hakkında okuduysanız, bu yapı tanıdık gelecektir. Strands, LangGraph ve Google ADK ile aynı kategoride yer alır, ancak kontrol akışını yönlendirmek için modeli daha fazla kullanır, sizden grafiği kendinizin çizmesini istemez.

Model odaklı felsefe ile elle kodlanmış orkestrasyon karşılaştırması

Çoğu erken ajan çerçevesi, iş akışını önceden tanımlamanızı isterdi. Düğümler, kenarlar ve koşullar inşa eder, sonra modeli bunların içinden yönlendirirdiniz. Bu işe yarar, ancak her yeni yetenek, daha fazla grafik bakımı anlamına gelir.

Strands sorumluluğu tersine çevirir. Modern modeller zaten planlama yapar, muhakemeyi zincirler, araçları çağırır ve sonuçlar üzerinde düşünür. Bu nedenle, bu mantığı elle kodlamak yerine, hedefi tanımlar ve araçları devredersiniz. Model adımları kendisi belirler.

İşte açık terimlerle karşılaştırma:

Yaklaşım Tanımladığınız Kontrol akışı şurada yaşar Yeni bir yeteneğin maliyeti
Elle kodlanmış orkestrasyon Düğümler, kenarlar, koşullar, yönlendirme Graf kodunuz Grafiği düzenleyin, yolları yeniden test edin
Model odaklı (Strands) İstem + araç listesi Modelin muhakeme döngüsü Bir araç ekleyin, istemi güncelleyin

Denge gerçek. Model odaklı ajanlar daha hızlı inşa edilir ve adapte olur, ancak belirli bir determinizmi feda edersiniz. Her seferinde aynı şekilde çalışması gereken iş akışları için, yine de çoklu ajan desenleri ve kancalarla yapı ekleyebilirsiniz. Mesele, grafiklerin yanlış olması değil; varsayılan olarak değil, ihtiyaç duyduğunuzda onlara başvurmanızdır.

Minimal bir ajan

En küçük kullanışlı Strands programı kısadır. `Agent` sınıfını içe aktarır, isteğe bağlı olarak `@tool` dekoratörü ile bir araç tanımlar ve ajanı bir fonksiyon gibi çağırırsınız.

from strands import Agent, tool

@tool
def word_count(text: str) -> int:
    """Metin bloğundaki kelimeleri sayar."""
    return len(text.split())

agent = Agent(
    system_prompt="Sen özlü bir yazı asistanısın.",
    tools=[word_count],
)

response = agent("Bu cümlede kaç kelime var?")
print(response)

`@tool` dekoratörü, basit bir Python fonksiyonunu modelin çağırabileceği bir şeye dönüştürür. Belge dizginiz (docstring) ve tip ipuçlarınız, aracın açıklaması ve giriş şeması haline gelir, böylece model ne zaman ve nasıl kullanacağını bilir. Bakımı gereken ayrı bir kayıt defteri yoktur. `agent(...)` çağrısı, modelin işinin bittiğine karar verene kadar döngüyü çalıştırır.

Araçlar ve model sağlayıcıları

Araçlar, ajanın dış dünya ile temas kurma şeklidir. Bir araç, sizin yazdığınız bir Python fonksiyonu, topluluktan paketlenmiş bir araç veya ajana maruz bırakılan bir Model Bağlam Protokolü (MCP) sunucusunun tamamı olabilir.

Model tarafında, Strands sağlayıcı esnekliğine sahiptir. Varsayılan sağlayıcı Amazon Bedrock'tur ve ajan kutudan çıktığı gibi `us-west-2` bölgesindeki bir Claude Sonnet modelini kullanır (kesin varsayılan model ID'si SDK sürümleri arasında değiştiği için, sabit kodlamak yerine yüklü sürümünüzü kontrol edin). Başka bir yere yönlendirebilirsiniz:

Sağlayıcıları değiştirmek, kodu baştan yazmak değil, model nesnesinde yapılan bir değişikliktir. Ajan döngüsü, araçlarınız ve isteminiz aynı kalır. Bu, yerel bir Ollama modeliyle geliştirme yapmayı ve Bedrock üzerinde dağıtmayı pratik hale getirir.

Çoklu ajan ve MCP desteği

Tek bir ajan çok şeyi halledebilir, ancak gerçek sistemler genellikle birkaçına ihtiyaç duyar. Strands 1.0, çoklu ajan uygulamaları için ilkelere eklemeler yaptı; buna, bir ajanın başka bir ajanı herhangi bir aracı çağırdığı gibi çağırdığı bir Ajan-Araç Olarak deseni ve bir sorunu birlikte çalışan ajan grupları için Swarm tarzı koordinasyon dahildir. Ayrıca A2A protokolünü de destekler, böylece Strands ajanları diğer çerçeveler üzerine inşa edilmiş ajanlarla konuşabilir.

MCP birinci sınıf bir vatandaşdır. Model Bağlam Protokolü (MCP), modelleri araçlara ve veri kaynaklarına bağlamak için açık bir standarttır. Strands ile yayınlanmış MCP sunucularına bağlanabilir ve araçlarını doğrudan kullanabilirsiniz, bu da binlerce mevcut entegrasyonun özel yapıştırıcı kod olmadan kullanılabilir hale gelmesi demektir. Bağlantıyı bir MCP istemcisi aracılığıyla yönetir ve araçlarını ajana diğer araç listeleri gibi aktarırsınız.

Eğer zaten MCP sunucuları çalıştırıyorsanız, bu, bir ajana yeni yetenekler kazandırmanın en uygun maliyetli yoludur. Ancak, bu durumda bu sunucuların doğru davranmasına bağımlı olursunuz, ki bu da temel uç noktaları test etmenin neden önemli olduğunu açıklayan bir nedendir.

Bir Strands ajanını dağıtma

Strands, bir çerçeve değişikliği olmadan dizüstü bilgisayarınızdan üretime geçmek üzere inşa edilmiştir. Yerel olarak test eder, sonra yığınınıza uygun hedefe dağıtırsınız:

Ajan sıradan bir Python veya TypeScript olduğu için, paketleme de herhangi bir uygulama ile aynı kurallara uyar. AWS ayrıca gözlemlenebilirlik kancalarını da belgelemektedir, böylece ajan yayına alındığında modelin neye karar verdiğini ve hangi araçları çağırdığını takip edebilirsiniz.

Apidog nerede devreye girer?

Strands ajanı inşa eder. Ajanınızın çağırdığı API'leri inşa etmez ve işte planlamaya değer olan boşluk budur. Her Strands ajanı iki tür HTTP uç noktasına dayanır: modelin arkasındaki LLM sağlayıcı API'si ve `@tool` fonksiyonlarınızın ve MCP sunucularınızın arkasındaki REST veya araç API'leri. Bu uç noktalar kötü davranırsa, ajan model sorunları gibi görünen ancak olmayan şekillerde başarısız olur.

Apidog, ajanın onlara dokunmadan önce bu temel API'leri test edip taklit ettiğiniz yerdir. Birkaç somut kullanım:

Açık olmak gerekirse, Apidog bir ajan çerçevesi değildir ve hiçbir şeyi düzenlemez. Strands beyin olarak kalır. Apidog ise altındaki tesisat için bir çalışma tezgahıdır. Apidog'u indirebilir ve birkaç dakika içinde araç uç noktalarınız için taklitler kurabilirsiniz.

Strands Agents ne zaman kullanılır?

Hızlı hareket etmek ve planlama konusunda modele güvenmek istediğinizde Strands'a başvurun. AWS'deyseniz ve zaten Bedrock kullanıyorsanız, tek bir ajanla başlayıp daha sonra çoklu ajanlara geçmek istiyorsanız veya entegrasyon kodu yazmadan MCP araçları istiyorsanız iyi uyum sağlar.

Her dalın önceden tanımlanması gereken katı, denetlenebilir, deterministik akışlara ihtiyacınız olduğunda daha zayıf bir uyum sergiler. Kancalar ve çoklu ajan yapısı ile yine de bu duruma ulaşabilirsiniz, ancak öncelikli olarak grafik odaklı bir çerçeve daha doğrudan bir eşleşme olabilir. Dürüst ifade şudur ki, model odaklı ve grafik odaklı yaklaşımlar farklı sorunları çözer ve Strands model odaklı olanıdır.

Sıkça sorulan sorular

Strands Agents ücretsiz ve açık kaynak mı?

Evet. Strands Agents, Apache Lisansı 2.0 altında açık kaynaktır ve kaynak kodu GitHub'da bulunur. SDK için lisans ücreti yoktur. Model ve dağıttığınız herhangi bir bulut kaynağı (Bedrock çıkarımı veya Lambda yürütmesi gibi) için ödeme yaparsınız, ancak çerçevenin kendisi hiçbir maliyet getirmez.

Strands ile Amazon Bedrock kullanmak zorunda mıyım?

Hayır. Bedrock varsayılan sağlayıcıdır, ancak Strands, Anthropic API'sini, Llama API'sini, yerel çalıştırmalar için Ollama'yı ve LiteLLM aracılığıyla diğer sağlayıcıları destekler. Model nesnesini değiştirir ve kodunuzun geri kalanını korursunuz. Bu, yerel olarak prototip oluşturmayı ve üretim için yönetilen bir sağlayıcıya geçmeyi kolaylaştırır.

Strands ile grafik tabanlı bir çerçeve arasındaki fark nedir?

Strands model odaklıdır: bir istem ve araçlar sağlarsınız ve model adımlara karar verir. Grafik tabanlı çerçeveler ise kontrol akışını düğümler ve kenarlar olarak tanımlamanızı ister. Strands daha hızlı inşa edilir ve uyarlanır; grafik çerçeveler ise daha sıkı, daha öngörülebilir bir yürütme sağlar. Birçok ekip farklı hizmetler için her ikisini de kullanır.

Strands ajanımın bağımlı olduğu API'leri nasıl test ederim?

Ajanın bağımsız olarak, geliştirme öncesinde ve sırasında test edin. LLM ve araç uç noktalarını taklit edin, yanıt şekillerini doğrulayın ve bu kontrolleri CI'da çalıştırın. Apidog gibi bir araç taklit ve doğrulamaları halleder ve Apidog ile ChatGPT API'sini test etme kılavuzu, kimlik doğrulamayı, akışı ve ajan arka uçlarına doğrudan karşılık gelen araç çağrısı testlerini kapsar.

Sonuç

Strands Agents, ajan oluşturmaya temiz bir yaklaşımdır: bir model, bir istem ve araçları tanımlayın, ardından modelin döngüyü çalıştırmasına izin verin. Tek bir ajandan çok sayıda ajana ölçeklenir, MCP ve A2A'yı destekler ve yeniden yazmaya gerek kalmadan AWS yığını genelinde dağıtılır. Çerçeve muhakemeyi halleder. Sizin göreviniz, altındaki API'lerin sağlam olduğundan emin olmaktır ve Apidog'un tam da burada yeri vardır; ajanın çağırdığı uç noktaları taklit ederek ve test ederek, hatalar üretimde değil testlerinizde ortaya çıkar.

düğme

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin