Telegram, Claude, ChatGPT, Gemini, Grok veya OpenRouter gibi yapay zeka (YZ) hizmetlerinden kendi API anahtarınızın bağlanacağı @agent botunu hazırlıyor. Bağlantı ekranı, 23 Ekim sabahı macOS için Telegram'ın 13.1.0 beta yapılarında ortaya çıktı ve 27 Ekim tarihli 283392 yapısına kadar değişmeden kaldı. Beta sürümündeki API şemasına bakılırsa, anahtar Telegram sunucularında kalıyor: sunucu, istemciye yalnızca anahtarın son dört karakterini ve bağlantı tarihini döndürüyor. Bu durum, halihazırda bir sağlayıcıdan abonelik ücreti ödeyenleri ilgilendiriyor. Ana sunucuda aracı botların listesi boş: agent_bot_ids anahtarı, 22 Ekim 21:21 UTC itibarıyla yalnızca Telegram test sunucusunun yapılandırmasında ortaya çıktı; ana sunucuda ise 26 Ekim itibarıyla bulunmuyor. Tartışmalardaki bir video, test sunucusunda @agent ile çalışan bir diyaloğu gösteriyor.
Yapıda Neler Var
macOS betası, mac-updates.telegram.org güncelleme akışı üzerinden dağıtılıyor; her yapı, uygulamanın bulunduğu bir zip dosyasıdır. 21 Ekim tarihli 13.1.0.283359 yapısında aracıya ait satırlar bulunmuyor. Bu satırlar, 23 Ekim sabahı yayınlanan 13.1.0.283362 yapısında ortaya çıktı ve 26 Ekim tarihli 13.1.0.283391 ile 27 Ekim tarihli 13.1.0.283392 yapılarında da aynı şekilde yer alıyor.
Yeni ekranın metinleri:
- "Use the API key from an AI service you have already purchased to set up your own AI chatbot" — zaten satın aldığınız bir YZ hizmetinin API anahtarı, kendi sohbet botunuza dönüşür.
- "Select the AI provider you have an account with" — hesabınızın bulunduğu sağlayıcı seçilir.
- "Add Your AI API Key", "Enter your API key" ve "Get your API key or API token in your AI provider's settings" ipucu: anahtar, sağlayıcının kendi ayarlarından alınır.
- "This chatbot works only if you have an active subscription for an AI service" — sağlayıcıda aktif bir abonelik olmadan bot çalışmaz.
- "Add Another Provider" ve "Right-click a provider to delete it" — birden fazla sağlayıcı bağlanabilir ve tek tek silinebilir.
- "You can reconnect this provider with an API key later" — bağlantısı kesilen sağlayıcı yeni bir anahtarla geri getirilebilir.
- "Could not connect. Try again." ve "The provider is unavailable. Try again." — başarısız bağlantı mesajları.
- "You can now use @agent" — bağlantı sonrası son mesaj.
Kodda beş sağlayıcı bulunuyor: AgentProviderClaude, AgentProviderChatGPT, AgentProviderGemini, AgentProviderGrok ve AgentProviderOpenRouter. Bunlardan birinin altında "Hundreds of models" yazısı var. OpenRouter, tek bir anahtarla farklı şirketlerin modellerine erişim sağlayan bir toplayıcıdır ve bu açıklama büyük olasılıkla ona aittir.
Sunucu Neleri Saklıyor
Yapıya gömülü MTProto şemasında dört yeni tür ve bir güncelleme ortaya çıktı. Bunların alanları şöyledir:
| Tür | Alanlar | Anlamı |
|---|---|---|
agentProvider | vendor, keyUrl, iconEmojiId, modelsSearchable | sağlayıcı açıklaması: kim olduğu, anahtar sayfasına bağlantı, simge, modellerinde arama yapılabilir mi |
providerKey | provider, keyLast4, dateConnected | bağlı anahtar: hangi sağlayıcıya ait, son dört karakter, bağlantı tarihi |
settings | activeProvider | bağlı sağlayıcılardan hangisinin şu anda @agent'tan sorumlu olduğu |
providers / providersNotModified | — | sunucudan gelen sağlayıcı listesi |
updateAgentSettings | — | adına bakılırsa, ayarlar değiştiğinde sunucunun gönderdiği güncelleme |
Telegram API'sindeki "liste ve NotModified" çifti, istemcinin sunucudan talep ettiği ve temalar (account.themes/account.themesNotModified) veya duvar kağıtları gibi bir hash ile önbelleğe aldığı bir listeyi ifade eder. Bu nedenle, sağlayıcı listesi, simgeleri ve anahtar sayfalarına bağlantılarıyla birlikte sunucudan gelir ve yeni bir yapıya gerek kalmadan genişletilebilir. Uygulamada anahtar sayfalarının adresleri bulunmuyor; "Get your API key in [" dizesinin bir parçası var ve keyUrl alanına bakılırsa, sunucudan gelen bağlantı buraya yerleştiriliyor.
Anahtarın tamamı bağlantı açıklamasında saklanmıyor — yalnızca keyLast4. Hatalar, Telegram sunucusunun isteklere yanıt verdiği formatta kaydedilmiştir: AGENT_KEY_INVALID, AGENT_KEY_MISSING, AGENT_NOT_AVAILABLE, AGENT_PROVIDER_UNAVAILABLE. Şemaya bakılırsa, anahtarı Telegram sunucusu kontrol ediyor ve anahtar, bağlantıdan sonra da büyük olasılıkla orada kalıyor. Modeline yapılan isteklerin aynı sunucu üzerinden geçip geçmediği şemadan anlaşılamıyor. Yapıda Claude, OpenAI, Google, xAI veya OpenRouter API adresleri bulunmadığından, uygulama büyük olasılıkla doğrudan sağlayıcıya bağlanmıyor. updateAgentSettings güncellemesi, adına bakılırsa, aktif sağlayıcının bir cihazda değiştirilmesinin diğer cihazlara ulaşmasını sağlamak için gereklidir.
Ekran İstemcide Nerede Bulunuyor
Bağlantı satırı AgentConnectRowItem olarak adlandırılır ve kullanıcı, bot ve kanal profil sayfalarını çizen PeerInfoUI modülünde yer alır. Yanında AgentProfileRow, AgentConnections ve TelegramAgentService hizmeti bulunur. Profil açıklamasında isAgent özelliği, mini uygulamanın başlatılmasını işaretleyen launchApp bayrağının yanındaki profil düğmesinde ise agentSetup bayrağı ortaya çıktı. Görünüşe göre ayar, uygulamanın genel ayarlarından değil, bot aracısının kendi sayfasından bir düğme aracılığıyla açılıyor, ancak bu, isimlere dayalı bir yorumdur.
Bağlantıdan sonra @agent ile nasıl konuşulduğu yapıda görünmüyor. Tartışmalarda, test sunucusunda @agent ile ayrı bir diyalogda modelin yanıt verdiğini gösteren bir video gösteriliyor.
Test Sunucusunda Neler Var
22 Ekim 21:21 UTC itibarıyla test sunucusunun help.getAppConfig yanıtında, 5000448925 ve 2202931014 olmak üzere iki değere sahip agent_bot_ids anahtarı ortaya çıktı; dosyanın 20 Ekim 19:09 UTC tarihli önceki anlık görüntüsünde bu anahtar yoktu. 26 Ekim'e kadar değişmedi. Ana sunucunun yapılandırmasında 26 Ekim itibarıyla böyle bir anahtar bulunmuyor. Telegram test sunucusu, kendi hesaplarına sahip ayrı bir ortamdır, bu nedenle bu tanımlayıcılardan normal Telegram'daki bu botların ne olduğunu öğrenmek mümkün değildir.
Aynı yapılandırmada ve ana sunucuda 20 Ekim'den beri bot_allowed_suffixes bulunuyor — agent, ai, app, game ve gay son ekleri, botun ikinci bir kullanıcı adı almasına izin veriyor. "...agent" türündeki botlar ve @agent farklı şeylerdir: son ek, Premium sahibi herhangi bir bot sahibine açıktır, @agent ise belirli bir hesaptır.
@agent kullanıcı adı meşgul: 27 Kasım 2022'de Fragment müzayedesinde 70 000 TON karşılığında satıldı, t.me/agent sayfası 27 Ekim itibarıyla boş. Beta sürümündeki @agent bahsinin bu hesapla ilgili olup olmadığı açık verilerden anlaşılamıyor.
Fonksiyonların Henüz Olmadığı Yerler
27 Ekim itibarıyla aracı, ne genel API şemasında — ne Telegram Desktop'ın api.tl (katman 232) ne de TDLib'in td_api.tl — ne de istemcilerin açık kodunda bulunmuyor. 23 Ekim'de açılan telegram-macos deposunun Info.plist dosyasında, aracının ortaya çıktığı yapıdan beş numara önceki 283357 yapısı bulunuyor; depoda aracıya ait dosyalar yok. Telegram-iOS ile paylaşılan kod da onu içermiyor, ancak macOS betasında AGENT_* hataları tam olarak ortak kısım olan TelegramCore'da yer alıyor.
Aynı macOS betalarında, botlara yazılan mesajlardaki widget'lar üzerinde de çalışılıyor; bunlar da, aracı gibi, henüz ne genel şemada ne de Bot API'de bulunmuyor.
Bu, Telegram'daki Mevcut YZ'den Nasıl Farklı?
Telegram'ın metin için zaten kendi YZ işlevleri var: ana sunucunun yapılandırmasında aicompose_tone_* parametreleri bulunuyor — ton örneklerinin sayısı, adının ve isteminin uzunluğu, kaydedilen tonların limiti.




