OpenAI'ın 29 Eylül tarihli DevDay özeti bu örneği açıkça ortaya koydu: “ChatGPT'den bir proje panosundaki yeni görevleri takip etmesini isteyebilirsiniz. Yeni bir görev geldiğinde ChatGPT, siz uzaktayken bile bağlantılı belgeleri okuyabilir ve bir taslak plan hazırlayabilir.” Bunun arkasında, tüm planlarda önerilen MCP Events belirtimi için ChatGPT desteği yer alıyor; bu destek, belirli bir takvime göre veya olaylara bağlı olarak çalışan ekip görevleri ve Slack ile Teams'de @ChatGPT olmak üzere iki ekip özelliğiyle birlikte kullanıma sunuldu.
Hâlihazırda kodlama ajanları (coding agents) çalıştıran bir ekip için, ajanların izlediği bir pano yeni bir görevin ne anlama geldiğini kökten değiştirir. Eskiden görevler bir insanı beklerdi; şimdiyse bir veya birden fazla ajanı tetikleyebiliyor. İki kişi ChatGPT'den aynı panoyu izlemesini isterse ve panonun kendisine de yeni işler için atanmış bir Ajan varsa, tek bir yeni görev üç farklı yerde üç taslak plan üretebilir ve hangisinin geçerli olduğuna kimse karar vermemiş olur.
Özetle
MCP Events, ChatGPT'ye bağlı bir uygulamadaki değişikliklerden haberdar olması için temiz ve imzalı bir yöntem sunarken, ChatGPT ekip görevleri de Business ve Enterprise planlarına zamanlanmış ve olay odaklı (event-driven) çalışma imkânı getiriyor. Bir ajanı başlatacak bir tetikleyici olay (event) elde etmek işin kolay kısmıdır ve OpenAI bunu titizlikle hayata geçirmiş. Zor olan kısım ise bu olayın panoda ne ürettiğidir: Ortaya çıkan işin sahibi kim, taslak plan nereye aktarılıyor, nasıl gözden geçiriliyor ve iki ajanın aynı olaya yanıt vermesi nasıl engelleniyor? Bunu bir yönlendirme kuralı olarak netleştirin: tek bir olay türü, tek bir sahip, Göreve geri dönen planlar ve herhangi bir iş tamamlandı sayılmadan önce bunu onaylayan bir insan.
DevDay'de neler tanıtıldı?
MCP Events, bağlı bir uygulamada bir gelişme olduğunda MCP sunucusunun ChatGPT'yi bilgilendirmesini ve böylece bir eklentinin yanıt olarak bir otomasyon başlatabilmesini sağlayan, Model Context Protocol için önerilen bir uzantıdır. OpenAI'ın MCP Events rehberi sunucu tarafını açıklamaktadır. Sunucu, olayları desteklediğini bildirir ve üç yöntem uygular: events/list, events/subscribe ve events/unsubscribe. ChatGPT, HTTPS doğrulama sorgulamasının ardından yalnızca Standard Webhooks HMAC ile imzalanmış ve istek başına en fazla 256 KiB boyutunda tek bir olay içeren webhook iletimini destekler. Rehberdeki ifadeyle bir olay ulaştığında, “ChatGPT olayı abone olunan sohbette alır ve nasıl yanıt verileceğine ilişkin kullanıcının talimatlarını izler.”
Önemli noktalardaki detaylar oldukça titizlikle ele alınmış. Sunucunun her olaya yeniden denemelerde değişmeyen benzersiz bir kimlik (ID) vermesi gerekir. Abonelikler tekdüze (idempotent) olmalıdır: kimlikleri asıl kullanıcı (principal), geri arama (callback) URL'i, olay adı ve argümanlardan türetilir; böylece tekrar abone olmak ikinci bir abonelik oluşturmak yerine mevcut olanı günceller. Sunucu, özel ve yerel geri arama adreslerini engellemeli ve yönlendirmeleri izlememelidir.
| Yenilik | Ne işe yarar | Planlar | Yanıtı kim şekillendirir |
|---|---|---|---|
| MCP Events | Bir MCP sunucusu olayları iletir; ChatGPT tanımladığınız otomasyonu çalıştırır | Tüm planlar | Sohbeti üzerinden abone olan kişi |
| Ekip görevleri | Belirli bir takvime göre veya yeni bir e-posta ya da Slack mesajı gibi olaylara yanıt olarak haftalık proje güncellemeleri gibi tekrarlayan işler | Business, Enterprise | Ekip arkadaşları talimatları birlikte geliştirir |
| Slack ve Teams'de @ChatGPT | Bir kanalda, ileti dizisinde veya doğrudan mesajda bahsedin; yöneticinizin bağladığı araçları veya kendi izinleriniz dahilindeki araçları kullanır | Business, Enterprise | Sohbetteki herkes, bireysel bir ChatGPT lisansına ihtiyaç duymadan bağlam ekleyebilir |
Bunlar bir araya geldiğinde ChatGPT'yi, işlerin bir sohbetin dışından da başlatılabildiği bir ortama dönüştürüyor. Bu önemli bir adımdır ve birçok tekrarlayan iş için yeterli olacaktır.
Tetikleyici işin kolay kısmıdır
Özetteki örneği gerçek bir ekipte ele alalım: Panoya yeni bir görev gelir. ChatGPT bağlantılı belgeleri okur ve bir plan taslağı hazırlar. Ardından dört soru ortaya çıkar ve bunların hiçbiri veri iletimiyle (transport) ilgili değildir.
Ortaya çıkan işin sahibi kim? Bir plan taslağı bir görev ataması değildir. Tanımladığı işi birinin üstlenmesi gerekir ve çoğu ekipte bu sahiplik panoda kayıt altına alınır: görev üzerinde bir isim ve ilerleyen bir durum (status). İyi bir taslak, tek başına bunların hiçbirini değiştirmez.
Plan nereye aktarılır? Olay, abone olunan sohbete ulaşır ve plan, o kişinin talimatları nereye yönlendiriyorsa oraya gider: sohbette bir yanıt veya eklenti destekliyorsa ve talimatlar bunu istiyorsa panoya geri yazılan bir içerik. Ekibin hangisinin geçerli olduğunu bilmesi gerekir; aksi takdirde kusursuz bir plan kimsenin okumadığı bir yerde beklerken pano “yeni” uyarısı vermeye devam eder.
Nasıl gözden geçirilir? Bir plan, kapsamla ilgili bir karardır. Kod yazımına başlanmadan önce, yazarından başka biri tarafından, bir sonraki kişinin kolayca bulabileceği bir yerde okunmalıdır.
Olaya kim yanıt verir? Tekdüzelik (idempotency), tek bir aboneliğin kendini yinelemesini önler. Ancak iki kişiyi koordine etmez; çünkü asıl kullanıcı (principal) abonelik kimliğinin bir parçasıdır ve bu nedenle her kullanıcının aboneliği kendine özeldir. Panoda atanmış bir Ajan da eklediğinizde, aynı görev birden fazla kez planlanabilir. Webhook katmanında yapılan tekilleştirme (deduplication), iş katmanındaki sahipliği belirlemez.
Bunlar yönetimsel sorulardır. Ajanlardan önce de vardılar; örneğin üç kişinin aynı bileti üstlenmeye kalkışması gibi. Üstelik görevi üstlenen şey hiç uyumadığında bu sorunlar çok daha hızlı bir şekilde nükseder. Başıboş (denetimsiz) çalışmaların gözden geçirilmesi boyutu için siz uzaktayken kodlama ajanları başlıklı yazıya göz atabilirsiniz.
Yönlendirmeyi panoya taşıyın
Ajanların Atanan (Assignee) olarak yer aldığı bir panoda, “yeni görevleri izlemek” çoğunlukla “görevi atamak” anlamına gelir. Sharkly'de bir Ajan'a atanan bir Görev (Task), Backlog'dan çıktığında ve Bilgisayarı (Computer) ile Çalışma Zamanı (Runtime) hazır olduğunda bir çalıştırma başlatır. Yürütme Atananı alanı tam olarak bir Ajan veya Ekip (Crew) barındırabilir ve Sharkly bekleyen işleri birleştirerek (coalesce) peş peşe gelen hızlı yorumların aynı Ajan ve Görev için mükerrer bekleyen çalıştırmalar oluşturmasını engeller. Sahiplik bir teamül değil, bir alandır.
Bir atama olmaksızın iş başlatması gereken olaylar için, Sharkly Automations pano tarafındaki karşılığıdır. Bir Otomasyon tek bir kuraldan oluşur: talimatlar, bir Ajan veya Ekip, bir ya da birden fazla tetikleyici ve Aktif veya Duraklatılmış durumuyla birlikte çalıştırma geçmişi. Tetikleyicileri şunlardır: bir zamanlama (saat dilimiyle birlikte cron), bir Görevin seçili bir duruma geçmesi, belirli bir ifade içeren bir yorum ve harici bir servisten gelen bir webhook; ayrıca test amaçlı bir "Şimdi çalıştır" (Run now) seçeneği. Her çalıştırma doğrudan başlar ve geçmişini Otomasyonda tutar, bu nedenle talimatlarda sonucun nereye kaydedileceği belirtilmelidir. Durum ve yorum eşleştirmesi günümüzde organizasyon genelinde geçerlidir; bu yüzden Otomasyon belgeleri, harekete geçmeden önce tetikleyici Görevi doğrulayan talimatlar yazılmasını önerir.
Aşağıda bir Çalışma Alanının (Space) olay-görev tablosu yer almaktadır:
| Olay | Mekanizma | Kim çalıştırır | Sonuç nereye döner | Kim karar verir |
|---|---|---|---|---|
| Slack'te talep paylaşıldığında | Slack kısayolu değerlendirme (triage) durumunda bir Görev oluşturur | Henüz hiç kimse | Görev, Triage durumunda | Bir insan kabul eder, reddeder, mükerrer olarak işaretler veya erteler |
| GitHub sorunu açıldığında | GitHub entegrasyonu: Bağlı bir depodaki yeni sorunlar Göreve dönüşür | Henüz hiç kimse | Görev | Alanı kim değerlendiriyorsa |
| Görev “Plan gerekiyor” durumuna geçtiğinde | Otomasyon, durum tetikleyicisi | Planlayıcı Ajan | Görev üzerinde bir yorum | Görevin insan atananı |
| Bir Göreve “/replan” yorumu yapıldığında | Otomasyon, yorum tetikleyicisi | Planlayıcı Ajan | Görev üzerinde yeni bir yorum | Görevin insan atananı |
| Görev bir kodlama Ajanına atandığında, Backlog'dan ayrılır | Görev yürütme | Kendi Bilgisayarında o Ajan | Yorumlar, Yürütmeler, bağlantılı çekme isteği (pull request) | Bir incelemeci, ardından bir insan kabul eder |
| CI hatası webhook'u | Otomasyon, webhook tetikleyicisi | Değerlendirme Ajanı | Otomasyonun çalıştırma geçmişi | Nöbetçi (on-call) kişi |
| Hafta içi her gün 09:00'da | Otomasyon, zamanlama tetikleyicisi | Durum Ajanı | Çalıştırma geçmişi ve her alıcı için bir Gelen Kutusu (Inbox) satırı | Ekip lideri |
Ve arkasındaki, ekibin üzerine tartışılabileceği şekilde yazılmış kural:
Routing rule: new work in the ENG Space
1. One event type, one owner. Each event maps to exactly one
Automation or one Agent Assignee. Personal watchers (a chat
subscription, a dot) may read the board; they do not plan on it.
2. New requests enter Triage. A person accepts before any Agent runs.
3. Accepted work that needs a plan moves to "Needs plan", a status in
the Backlog category. The "Draft plan" Automation runs the Planner
Agent, which first checks the Task's Space and type and stops if
the Task is not ours.
4. The plan returns to the Task as a comment. The Planner does not
change status and does not assign anyone.
5. The Task's human assignee reads the plan, assigns the executing
Agent, and moves the Task to Todo. That move starts the run.
6. Done means a person accepted the result. No Agent moves a Task
into a Completed status.
“Needs plan” durumunu Backlog kategorisine yerleştirmek, 5. adımı güvenli kılan ayrıntıdır: Backlog'da atanan bir Görev bekletilir, böylece çalıştırma başlamadan önce plan okunmuş olur. Planlayıcının talimatlarında planın tam olarak nereye gideceğini belirtin ve tetikleyiciye güvenmeden önce bunu "Run now" (Şimdi çalıştır) ile test edin. Bir Ajan çalışma esnasında bir karara ihtiyaç duyduğunda, Görev insan yanıtı bekliyor durumuna geçer ve sorumlu kişinin Gelen Kutusuna (Inbox) düşer; işte “siz uzaktayken bile” kısmının yeniden bir insana bağlandığı nokta burasıdır. Görev, grup sohbetindeki bir talebin izlenebilir bir işe dönüştüğü yerdir ve aynı durum bir yapay zekâ ajanına atanan GitHub sorunu için de geçerlidir.
ChatGPT'nin izleyicisi nerede konumlanıyor?
Bir kişi kendi sohbetinde anlık bir bildirim ve bir ilk taslak istediğinde MCP Events aboneliğini kullanın: takip ettiğiniz ancak yönetmediğiniz bir pano, bir iş ortağının takip çizelgesi, kendiniz için bir cuma özeti. Tekrarlayan iş ChatGPT içinde barınan bir ekip güncellemesiyse ve ekibiniz Business veya Enterprise planındaysa ekip görevlerini (team tasks) kullanın; çünkü ekip arkadaşları her biri kendi talimatını yazmak yerine tek bir talimat kümesini birlikte geliştirir. Olay ekibin sahiplenmesi gereken bir iş doğurduğunda ise pano tarafındaki bir kuralı kullanın: birinin uygulayacağı bir plan, birinin inceleyeceği bir düzeltme, pazartesi günkü sayımda yer alması gereken bir Görev.
Olay odaklı yapay zekâ ajanları, ancak hangisinin yanıt vereceğini belirleyen kural kadar başarılı olabilir. Olay işin altyapı tesisatıdır; yönlendirme, iş sahibi ve inceleme ise yönetim kısmıdır ve hangi sağlayıcı tarafından geliştirilmiş olursa olsun her ajanın rapor verdiği panoya aittir. Kuyruk dolduğunda ajanların sıradaki işi nasıl belirleyeceğini görmek için yapay zekâ iş listesi (backlog) yönetimi ve önceliklendirme başlıklı yazıya göz atabilirsiniz. OpenAI özetindeki ilk duyuru olan Dots, aynı soruyu ajan tarafında gündeme getiriyor.
Hâlihazırda birden fazla ajan çalıştırıyorsanız Sharkly, onların görevlerini ve sonuçlarını yönetebileceğiniz tek bir merkez sunar.
Ek kaynaklar
- Sharkly Automations: dört tetikleyici türü, çalıştırma geçmişi ve otomasyonun nerede durduğu
- Grup sohbetinden izlenebilir kod görevlerine: bir mesajı sahiplenilmiş bir işe dönüştürmek
- Yapay zekâ iş listesi yönetimi ve önceliklendirme: ajanların sırada ne üzerinde çalışacağına karar verme
- Bir GitHub sorununu yapay zekâ ajanına atama: sorundan incelenebilir çekme isteğine (pull request)
- Siz uzaktayken çalışan kodlama ajanları: denetimsiz çalıştırmalar ve inceleme kuyruğu
- OpenAI Dots açıklaması: sürekli açık kişisel ajanlar ve bir ekibin bunların etrafında hâlâ neye ihtiyaç duyduğu


