TL;DR / Hızlı Cevap
TradingAgents'ı kullanmanın en hızlı pratik yolu, onu bir Python paketi olarak çalıştırmak, küçük bir FastAPI servisine sarmak ve ardından bu servisi Apidog'da test etmektir. Bu size analizleri tetiklemek, sonuçları sorgulamak, istek sözleşmesini belgelemek ve kurulumu ekibinizle paylaşmak için tekrarlanabilir bir iş akışı sağlar.
Giriş
TradingAgents'a dışarıdan hayran kalmak kolaydır. GitHub deposu çoklu aracı ticaret iş akışı, cilalı bir CLI, birden fazla model sağlayıcı için destek ve çerçeve tasarımını açıklayan bir araştırma makalesi sunar. Daha zor kısım, onu gerçek bir mühendislik iş akışında kullanmaya çalıştığınızda başlar.
Çoğu ekip, yalnızca bir geliştiricinin yerel olarak çalıştırabileceği bir depo istemez. Analizi tetiklemek, bir hisse senedi kodu ve tarih geçirmek, bir iş kimliği döndürmek, sonucu daha sonra incelemek ve her soruyu bir Python hata ayıklama oturumuna dönüştürmeden bu iş akışını ön uç, QA veya platform ekip arkadaşlarına devretmek için tekrarlanabilir bir yol isterler. Ve herhangi bir ticaret araştırma sistemi eninde sonunda gerçek para kararlarını bilgilendirmek için kullanılacağından, TradingAgents'ı birinin dizüstü bilgisayarında tek seferlik bir komut dosyası olarak bırakmak yerine kontrollü, belgelenmiş bir API'ye sarmak daha da önemlidir.
TradingAgents Ne(dir) ve Ne Değil(dir)
Kodlamaya başlamadan önce, aracı doğru bir şekilde tanımlamak yardımcı olur.

TradingAgents açık kaynaklı çoklu ajanlı bir ticaret çerçevesidir. Depo, bir ticaret firmasının yapısını yansıtan bir dizi uzmanlaşmış rolü tanımlar:
- temel, duyarlılık, haber ve teknik sinyaller için analistler
- tartışma için yükseliş ve düşüş yönlü araştırmacılar
- bir tüccar ajanı
- risk yönetimi rolleri
- nihai karar için bir portföy yöneticisi

Depo ayrıca çerçevenin LangGraph ile inşa edildiğini ve OpenAI, Google, Anthropic, xAI, OpenRouter ve Ollama dahil olmak üzere birden fazla model sağlayıcısını desteklediğini belirtmektedir. Genel varsayılan yapılandırmada, proje şu anda aşağıdaki gibi değerleri kullanmaktadır:
llm_provider = "openai"deep_think_llm = "gpt-5.2"quick_think_llm = "gpt-5-mini"backend_url = "https://api.openai.com/v1"max_debate_rounds = 1
Bu önemlidir çünkü size gerçekte ne ile çalıştığınızı söyler: tak-çalıştır bir SaaS API'si değil, yapılandırılabilir bir Python çerçevesi.
Depo ayrıca kapsam konusunda da dikkatlidir. TradingAgents bir araştırma çerçevesi olarak sunulur, finansal tavsiye değildir. Onu dahili olarak kullanır veya etrafında yazılım geliştirirseniz, bu çerçeveyi belgelerinizde ve kullanıcı deneyiminizde görünür tutun.
Adım 1: TradingAgents'ı Yükleyin
Deponun kendisinden gelen kurulumla başlayın:
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
conda create -n tradingagents python=3.13
conda activate tradingagents
pip install .Bu eğitimdeki API sarmalayıcısını da oluşturmak isterseniz, FastAPI ve Uvicorn'u ekleyin:
pip install fastapi uvicornTradingAgents deposu ayrıca aşağıdaki gibi sağlayıcı değişkenlerini içeren bir .env.example içerir:
OPENAI_API_KEY=
GOOGLE_API_KEY=
ANTHROPIC_API_KEY=
XAI_API_KEY=
OPENROUTER_API_KEY=Model ve veri seçeneklerinize bağlı olarak, Alpha Vantage gibi başka satıcı kimlik bilgilerine de ihtiyacınız olabilir.
Burada iki pratik kural önemlidir:
- Kimlik bilgilerini ortam değişkenlerinde veya bir sır yöneticisinde saklayın.
- Sağlayıcı sırlarını daha sonra genel API istek gövdeniz aracılığıyla geçirmeyin.
Bu ayrım, Apidog ortamlarınızı daha düzenli ve güvenlik modelinizi çok daha güvenli hale getirecektir.
Adım 2: TradingAgents'ı Önce Python'da Çalıştırın
Herhangi bir API sarmalayıcısı oluşturmadan önce, çekirdek çerçevenin ortamınızda çalıştığını kanıtlayın.
README minimal bir Python kullanım kalıbı gösterir:
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)Bu doğru ilk kontrol noktasıdır çünkü erken aşamada önemli olan tek soruyu yanıtlar: makineniz, model kurulumunuz ve bağımlılıklarınız gerçekten bir TradingAgents çalışmasını yürütebilir mi?
Bu çalışırsa, kontrollü yapılandırmaya geçebilirsiniz. Depo ayrıca varsayılan yapılandırmayı geçersiz kılabileceğinizi de gösterir:
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai"
config["deep_think_llm"] = "gpt-5.2"
config["quick_think_llm"] = "gpt-5-mini"
config["max_debate_rounds"] = 2
ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)Bu ikinci örnek göründüğünden daha önemlidir. Size daha sonra bir API'de hangi parametreleri ifşa etmeye değer olduğunu söyler:
ticker(hisse senedi kodu)analysis_date(analiz tarihi)llm_provider(LLM sağlayıcısı)deep_think_llm(derin düşünme LLM'si)quick_think_llm(hızlı düşünme LLM'si)- araştırma derinliği veya tartışma turları
Bu yerel Python aşamasını atlayıp doğrudan HTTP'ye geçerseniz, hata ayıklamayı gerektiğinden daha zor hale getirirsiniz.
Adım 3: TradingAgents'ı Nasıl Kullanmak İstediğinize Karar Verin
Bu noktada, çerçeveyi kullanmanın üç yaygın yolu vardır.
Seçenek 1: Yalnızca CLI
Depo, hisse senedi kodu, tarih, sağlayıcı ve araştırma derinliğini seçebileceğiniz etkileşimli bir CLI içerir. Bu, projeyi hızlı bir şekilde keşfetmek için iyi bir yoldur.
Bunu şu durumlarda kullanın:
- aracı öğreniyorsunuz
- yalnız deneyler yapıyorsunuz
- başka bir uygulama için kararlı bir sözleşmeye ihtiyacınız yok
Bir sonraki adımınız bir ön uç, yönetici aracı, paylaşılan hizmet veya QA iş akışı ise burada durmayın.
Seçenek 2: Yalnızca Python
Özel orkestrasyon veya yerel betikler gerektiğinde TradingAgentsGraph'ı doğrudan Python'dan çağırmak CLI'dan daha iyidir.
Bunu şu durumlarda kullanın:
- notebook'lar veya yerel otomasyon istiyorsunuz
- programatik kontrole ihtiyacınız var
- bir geliştirici iş akışının baştan sona sahibidir
Birden fazla ekibin iş akışını tüketmesi gerektiğinde bu hala yetersiz kalır.
Seçenek 3: API Sarmalayıcı + Apidog
Bu en kullanışlı ekip kurulumudur. TradingAgents'ı yürütme motoru olarak tutar, küçük bir FastAPI hizmeti aracılığıyla ifşa eder ve sözleşmeyi test etmek ve belgelemek için Apidog'u kullanırsınız.
Bunu şu durumlarda kullanın:
- bir ön ucun analizi tetiklemesi gerekiyor
- QA'nın tekrarlanabilir bir istek akışına ihtiyacı var
- ortamları, iddiaları ve belgeleri tek bir yerde istiyorsunuz
- iş akışı, tek bir senkronize istekten ziyade yoklamanın daha mantıklı olduğu kadar uzun sürebilir
Çoğu ekip için, "TradingAgents nasıl kullanılır" sadece yerel bir demo olmaktan çıkıp gerçek bir uygulama cevabına dönüştüğü noktadır.
Adım 4: TradingAgents'ı Bir FastAPI Hizmetine Sarın
İlk sarmalayıcı için en temiz desen, iş tabanlı bir API'dir.
Neden iş tabanlı? Çünkü çoklu ajan analizi, tek bir isteği açık tutmanın istemciler için garip olacağı kadar uzun sürebilir. Daha iyi bir desen şudur:
POST /analyses -> returns analysis_id
GET /analyses/{id} -> returns queued, running, completed, or failedBu yapı tarayıcılar için daha kolay, QA için daha kolay ve Apidog'da belgelenmesi daha kolaydır.
API Sözleşmesini Oluşturun
Minimal bir sözleşme şöyle görünür:
| Uç Nokta | Amaç |
|---|---|
GET /health | temel sağlık kontrolü |
POST /analyses | bir TradingAgents çalıştırmasını tetikler |
GET /analyses/{analysis_id} | iş durumunu ve nihai sonucu getirir |
Sarmalayıcıyı Oluşturun
İşte kompakt bir FastAPI örneği:
from concurrent.futures import ThreadPoolExecutor
from datetime import date, datetime
from uuid import uuid4
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, Field
from tradingagents.default_config import DEFAULT_CONFIG
from tradingagents.graph.trading_graph import TradingAgentsGraph
app = FastAPI(title="TradingAgents API", version="0.1.0")
executor = ThreadPoolExecutor(max_workers=2)
jobs: dict[str, dict] = {}
class AnalysisRequest(BaseModel):
ticker: str = Field(..., min_length=1, examples=["NVDA"])
analysis_date: date
llm_provider: str = Field(default="openai")
deep_think_llm: str = Field(default="gpt-5.2")
quick_think_llm: str = Field(default="gpt-5-mini")
research_depth: int = Field(default=1, ge=1, le=5)
def run_analysis(job_id: str, payload: AnalysisRequest) -> None:
jobs[job_id]["status"] = "running"
jobs[job_id]["started_at"] = datetime.utcnow().isoformat()
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = payload.llm_provider
config["deep_think_llm"] = payload.deep_think_llm
config["quick_think_llm"] = payload.quick_think_llm
config["max_debate_rounds"] = payload.research_depth
config["max_risk_discuss_rounds"] = payload.research_depth
try:
graph = TradingAgentsGraph(debug=False, config=config)
_, decision = graph.propagate(
payload.ticker,
payload.analysis_date.isoformat(),
)
jobs[job_id].update(
{
"status": "completed",
"finished_at": datetime.utcnow().isoformat(),
"result": decision,
}
)
except Exception as exc:
jobs[job_id].update(
{
"status": "failed",
"finished_at": datetime.utcnow().isoformat(),
"error": str(exc),
}
)
@app.get("/health")
def health() -> dict:
return {"status": "ok"}
@app.post("/analyses", status_code=202)
def create_analysis(payload: AnalysisRequest) -> dict:
analysis_id = str(uuid4())
jobs[analysis_id] = {
"status": "queued",
"ticker": payload.ticker,
"analysis_date": payload.analysis_date.isoformat(),
"created_at": datetime.utcnow().isoformat(),
}
executor.submit(run_analysis, analysis_id, payload)
return {"analysis_id": analysis_id, "status": "queued"}
@app.get("/analyses/{analysis_id}")
def get_analysis(analysis_id: str) -> dict:
job = jobs.get(analysis_id)
if not job:
raise HTTPException(status_code=404, detail="Analysis not found")
return jobServisi başlatın:
uvicorn app:app --reloadSunucu açıldıktan sonra, FastAPI şunları ifşa edecektir:
http://localhost:8000/docshttp://localhost:8000/openapi.json
Bu ikinci URL özellikle kullanışlıdır çünkü Apidog onu doğrudan içe aktarabilir.
Adım 5: API Aracılığıyla TradingAgents'ı Kullanın
Artık TradingAgents'ı kararlı ve tekrarlanabilir bir şekilde kullanmaya hazırsınız.
Bir Analizi Tetikleyin
Şöyle bir gövde ile bir POST /analyses isteği gönderin:
{
"ticker": "NVDA",
"analysis_date": "2026-03-26",
"llm_provider": "openai",
"deep_think_llm": "gpt-5.2",
"quick_think_llm": "gpt-5-mini",
"research_depth": 2
}Yanıt hızlı ve küçük olmalıdır:
{
"analysis_id": "88f9f0f5-7315-4c73-8ed5-d0a71f613d31",
"status": "queued"
}İstediğiniz tam da budur. Müşterinizin nihai rapora hemen ihtiyacı yoktur. Çalıştırma için kararlı bir tutamağa ihtiyacı vardır.
Sonucu Sorgulayın
İlerlemeyi kontrol etmek için GET /analyses/{analysis_id} kullanın:
{
"status": "running",
"ticker": "NVDA",
"analysis_date": "2026-03-26",
"created_at": "2026-03-26T06:00:00.000000",
"started_at": "2026-03-26T06:00:01.000000"
}İş akışı tamamlandığında, yanıt nihai kararı içerebilir:
{
"status": "completed",
"ticker": "NVDA",
"analysis_date": "2026-03-26",
"result": {
"decision": "hold"
}
}Bir şeyler bozulursa, istemcileri tahmin yürütmeye bırakmak yerine açık bir failed durumu ve bir hata mesajı döndürün.
Adım 6: API'yi Apidog'a Aktarın
İş akışının sürdürülmesinin çok daha kolay hale geldiği yer burasıdır.
Apidog'da, OpenAPI şemasını şuradan içe aktarın:
http://localhost:8000/openapi.jsonİçe aktardıktan sonra, uç noktalarınızı istek ve yanıt yapılarıyla zaten yerinde görmelisiniz.
Bu size birkaç anında kazanç sağlar:
- belgeler uygulamayla eşleşir
- yol parametreleri doğru şekilde oluşturulur
- istek gövdeleri kodunuzla uyumlu kalır
- ekip arkadaşlarınızın koleksiyonu elle yeniden oluşturmasına gerek kalmaz
Geçici cURL testinden geçiyorsanız, bu anlamlı bir yükseltmedir. Yalnızca istek aracı kullanan bir yerden geliyorsanız, Apidog'un daha önemli hale geldiği yer burasıdır çünkü tasarımı, testi, ortamları ve belgeleri tek bir yerde tutabilirsiniz.
Adım 7: Bir Apidog Ortamı Oluşturun
API içe aktarıldıktan sonra, yerel hizmetiniz için bir ortam oluşturun.
Örnek değişkenler:
base_url = http://localhost:8000
analysis_id =API'niz kimlik doğrulama kullanıyorsa, onu da ekleyin:
internal_api_key = your-local-dev-keyBu adım küçük görünse de, birçok sürtüşmeyi önler:
- yerel, hazırlık ve üretim ortamları arasında daha hızlı geçiş yapabilirsiniz
- istekleriniz yeniden kullanılabilir kalır
- ekip arkadaşlarınızın URL'leri ve başlıkları her seferinde yeniden yazmasına gerek kalmaz
Apidog'un TradingAgents için güçlü bir yardımcı olmasının en basit nedenlerinden biri budur. Çerçevenin kendisi analiz mantığını yönetir. Apidog ise etrafındaki paylaşılan iş akışını yönetir.
Adım 8: Apidog'da Tüm İş Akışını Test Edin
Artık Apidog'u kullanarak TradingAgents'ı gerçek bir istemcinin yapacağı şekilde test edebilirsiniz.
İstek 1: Analizi Oluşturun
Yapılandırın:
- yöntem:
POST - URL:
{{base_url}}/analyses - gövde:
{
"ticker": "NVDA",
"analysis_date": "2026-03-26",
"llm_provider": "openai",
"deep_think_llm": "gpt-5.2",
"quick_think_llm": "gpt-5-mini",
"research_depth": 2
}Durumu doğrulayan ve kimliği depolayan bir test betiği ekleyin:
pm.test("Status is 202", function () {
pm.response.to.have.status(202);
});
const data = pm.response.json();
pm.expect(data.analysis_id).to.exist;
pm.environment.set("analysis_id", data.analysis_id);İstek 2: Analizi Sorgulayın
Yapılandırın:
- yöntem:
GET - URL:
{{base_url}}/analyses/{{analysis_id}}
Ardından şöyle bir iddia ekleyin:
pm.test("Analysis has a valid status", function () {
const data = pm.response.json();
pm.expect(["queued", "running", "completed", "failed"]).to.include(data.status);
});Bir başarı yolu kontrolü de isterseniz:
pm.test("Completed jobs include a result", function () {
const data = pm.response.json();
if (data.status === "completed") {
pm.expect(data.result).to.exist;
}
});Her İki İsteği Bir Senaryoya Zincirleyin
Burası Apidog'un bir API istemcisinden daha fazlası haline geldiği yerdir. Aşağıdakileri yapan bir senaryo oluşturun:
POST /analysesgönderiranalysis_id'yi saklar- birkaç saniye bekler
GET /analyses/{{analysis_id}}'yi çalıştırır
Bu, QA ve mühendislik ekiplerinize, sadece bir uç noktanın 200 dönüp dönmediğini kontrol etmek yerine yaşam döngüsünü doğrulamak için tekrarlanabilir bir yol sunar.
Adım 9: Ekibiniz İçin Dahili Belgeleri Yayınlayın
İstekler çalıştıktan sonra, test etmekle kalmayın.
Apidog'u kullanarak aşağıdakileri açıklayan dahili belgeler yayınlayın:
- hangi sağlayıcılara izin verilir
- dağıtımınızda
research_depth'in ne anlama geldiği - istemcilerin hangi durum değerlerini beklemesi gerektiği
- çalıştırmaların genellikle ne kadar sürdüğü
- hangi hataların yeniden denenebilir olduğu
- sadece araştırma amaçlı feragatnamenin nerede geçerli olduğu
Bu, TradingAgents'ı iyi kullanmanın en önemli parçalarından biridir. Çekirdek çerçeve akıllıdır, ancak sözleşme yalnızca bir geliştiricinin kafasında yaşadığında akıllı çerçeveler ekip darboğazı haline gelir.
TradingAgents'ı ortamlar, iddialar ve yeniden kullanılabilir ekibe hazır senaryolarla belgelenmiş bir API iş akışına dönüştürmek için Apidog'u ücretsiz indirin.
TradingAgents'ı Bu Şekilde Kullanırken Yapılan Yaygın Hatalar
Çerçeveyi barındırılan bir API gibi ele almak
TradingAgents hazır bir genel hizmet değildir. Bir Python çerçevesidir. Deponun size sağlamasını beklemek yerine ekibinizin kullanmasını istediğiniz sözleşmeyi oluşturun.
Sırları istek gövdeleri aracılığıyla geçirmek
Sağlayıcı anahtarlarını ortam yönetiminde saklayın. Onları örneklere, ön uç çağrılarına veya paylaşılan ekran görüntülerine sızdırmayın.
Tek, uzun bir senkron yanıt döndürmek
Çok adımlı bir ajan iş akışı için, iş tabanlı bir API genellikle uzun, engelleleyici bir istekten daha kolay yönetilebilir.
Çok fazla yapılandırma ayarını ifşa etmek
Depoda faydalı yapılandırma seçenekleri bulunur, ancak API'nizin ilk günden her dahili ayarı ifşa etmesi gerekmez. Küçük, kararlı bir sözleşmeyle başlayın.
Sonuçları yalnızca bellekte tutmak
Eğitim kodu, anlaşılması kolay olduğu için bellek içi bir sözlük kullanır. Üretimde, iş durumunu Redis, Postgres veya başka bir kalıcı arka uçta saklayın.
Araştırma feragatnamesini gizlemek
Hizmetiniz TradingAgents'ı sarmalıyorsa, projenin kullandığı uyarıyı koruyun. Çerçeve, finansal tavsiye değil, araştırma ve deneyler içindir.
Sonuç
TradingAgents'ı kullanmanın en iyi yolu, ne yapmaya çalıştığınıza bağlıdır. Çerçeveyi yalnız keşfediyorsanız, CLI ve Python paketi yeterlidir. Kararlı, tekrarlanabilir bir ekip iş akışı istiyorsanız, TradingAgents'ı küçük bir API'ye sarın ve onu test etmek ve belgelemek için Apidog'u kullanın.
GitHub deposundan hızlı bir şekilde kullanılabilir ekip iş akışına geçmek isterseniz, TradingAgents'ı kurun, TradingAgentsGraph'ın yerel olarak çalıştığını onaylayın, POST /analyses ve GET /analyses/{id} ekleyin, ardından şemayı Apidog'a aktarın ve baştan sona bir senaryo oluşturun. Bu yol, terminal komutları ve sözlü bilginin bir koleksiyonundan çok daha kolay sürdürülebilir.
Sıkça Sorulan Sorular
TradingAgents'ı İlk Kez Nasıl Kullanırsınız?
Depoyu kurarak, model sağlayıcı ortam değişkenlerini ayarlayarak ve Python örneğini TradingAgentsGraph ile çalıştırarak başlayın. Bu çalıştıktan sonra, sadece CLI'a mı ihtiyacınız olduğuna yoksa onu bir API'ye sarmalamanız gerekip gerekmediğine karar verin.
TradingAgents Resmi Bir REST API ile Geliyor mu?
26 Mart 2026'da incelenen halka açık depo materyallerine göre hayır. Proje bir CLI ve Python paketi olarak sunulmuştur, bu yüzden birçok ekip ince bir FastAPI katmanı eklemek isteyecektir.
TradingAgents'ı Bir Ön Uç Uygulamasında Kullanmanın En Kolay Yolu Nedir?
Python çerçevesini doğrudan ön uçtan çağırmayın. Onu, bir analysis_id döndüren bir arka uç API'si aracılığıyla ifşa edin, ardından ön ucun sonuçları sorgulamasına izin verin.
Neden TradingAgents ile Apidog Kullanılır?
Apidog size OpenAPI şemasını içe aktarmak, ortam değerlerini kaydetmek, örnek istekleri depolamak, iddialar eklemek ve Python kodunu tersine mühendislikle çözmek zorunda kalmaması gereken ekip arkadaşlarınızla iş akışını paylaşmak için temiz bir yer sağlar.
Bir API'de Hangi TradingAgents Ayarları İfşa Edilmeye Değerdir?
En güvenli başlangıç kümesi hisse senedi kodu, analiz tarihi, sağlayıcı, model seçimleri ve araştırma derinliğidir. Kullanım durumu gerçekse her zaman daha sonra genişletebilirsiniz.
Örnek İş Durumunu Bellekte Tutabilir miyim?
Sadece öğrenme veya prototipleme için. Üretimde, iş durumunu ve sonuçlarını kalıcı bir arka uçta saklayın, böylece bir hizmet yeniden başlatması aktif analizleri silmez.
TradingAgents Canlı Finansal Kararlar İçin Uygun mu?
Halka açık proje materyalleri onu bir araştırma çerçevesi olarak tanımlar ve bunun finansal veya yatırım tavsiyesi olmadığını açıkça belirtir. Kendi kontrollerinizi, doğrulamanızı ve yönetiminizi eklemediğiniz sürece onu bir araştırma ve deney sistemi olarak ele alın.
