Mert Özen Her Satırda Daha İleri
Yapay Zeka ChatGPT ile Çalışmak — #04

ChatGPT Projects: Kaynaklar, Proje Talimatları ve Sohbetleri Bir Arada Tutmak

Mert Özen 15 Kas 2026 10 dk 3 görüntülenme
ChatGPT Projects: Kaynaklar, Proje Talimatları ve Sohbetleri Bir Arada Tutmak

ChatGPT'de zamana yayılan, birden çok çıktı üreten ve aynı dosyalara dayanan iş için project açılır ve her ayrı çıktı için project içinde ayrı bir sohbet başlatılır; tek dev sohbet eski sürümleri cevaba karıştırır. 15 Kasım 2026 itibarıyla Chats, Sources ve project instructions, plana göre 5, 25 ve 40 dosyalık sınırlar, project-only memory, desktop'taki local project'ler ve Bookstore ürün dokümantasyonu project'i.

Sürüm notu: Bu yazı ChatGPT Projects'i 15 Kasım 2026 itibarıyla anlatır; project yapısı, desktop'taki local project'ler, dosya ve paylaşım sınırları ve project memory bilgileri aynı gün ChatGPT dokümantasyonunun "Projects and chats" sayfasından (learn.chatgpt.com) ve Help Center'ın "Projects in ChatGPT" makalesinden (help.openai.com) kontrol edilmiştir. Bu yazıda resmî belgelerden yararlanılmıştır. Sınırlar plana göre değiştiği ve sık güncellendiği için project'e çok dosya yüklemeden önce güncel değerlere bak.

Önce Tahmin Et

Selin, sitedeki serilerin ortak örnek uygulaması Bookstore'un (bir online kitapçı) Product Owner'ı. Üç haftadır bütün ürün dokümantasyonu işini tek bir ChatGPT sohbetinde yürütüyor: iade özelliğinin PRD'si (Product Requirements Document; ürün gereksinim dokümanı), kurumsal sipariş için SSS (sık sorulan sorular) taslağı, API değişiklik notları. Sohbete PRD'nin önce ikinci, sonra üçüncü sürümünü yükledi. Son günlerde gelen cevaplar iki sürümü birbirine karıştırmaya başladı; ayrıca destek ekibinden aldığı ve müşteri adları içeren bir şikâyet dökümünü de bir ara aynı sohbete eklemişti.

Tahminin ne? Cevaplar neden iki sürümü karıştırıyor? Selin işi nasıl bölseydi bu olmazdı? Ve şikâyet dökümü için doğru yer neresiydi? Cevap, learn.chatgpt.com'daki "Projects and chats" sayfasının iki önerisinde: zamana yayılan iş için project aç ve her ayrı çıktı için ayrı bir sohbet başlat.

Project Ne Zaman Açılır?

"Projects and chats" sayfası (https://learn.chatgpt.com/docs/projects, 15 Kasım 2026) kararı üç soruya bağlıyor: iş zamana yayılıyor mu, birden çok çıktı üretiyor mu, aynı dosyalara ve kaynaklara mı dayanıyor? Cevaplardan biri evetse project aç. İş kendi içinde tamam ve ortak bir bağlam gerektirmiyorsa project'siz bir sohbet yeter. Sohbet büyürse onu sonradan bir project'e taşıyabiliyorsun.

Selin'in işi üç soruya da evet diyor. Doküman ayrıca project'in içinde her ayrı sonuç için ayrı bir sohbet başlatmayı öneriyor: böylece sohbetin mesajları ve çıktısı odaklı kalıyor, ortak bağlamı project koruyor. Tek bir dev sohbet, LLM Temelleri serisinin "LLM Context Window: Model Neyi Hatırlar, Neyi Sessizce Keser?" yazısında anlattığımız sorunun ürün içindeki hâli: eski sürümler, bırakılmış fikirler ve alakasız ekler aynı context'te yan yana duruyor ve modelin hangisinin güncel olduğunu bilmesinin bir yolu yok.

Bir Project'in Parçaları

04-project-yapisi-tr.png

Bir ChatGPT project'inin üç ana parçası var. Chats bölümü project'teki sohbetleri listeliyor; aynı project'te Chat ile başlatılmış kısa sohbetler ve ChatGPT Work ile başlatılmış büyük görevler yan yana duruyor. Sources bölümü yüklediğin dosyaları ve bağladığın kaynakları tutuyor; project'teki her sohbet bunlara erişebiliyor. Project instructions ise project'teki bütün sohbetlere uygulanan talimatlar.

Project'in ortak dosyalarını ve talimatlarını kullanmak için sohbeti project'in içinden başlatman gerekiyor. Yalnız tek bir isteği ilgilendiren bir dosyayı ise doğrudan o sohbete eklemek daha doğru; doküman bu ayrımı açıkça yapıyor: birden çok sohbette lazım olan Sources'a, tek sohbette lazım olan sohbete. Plugin'leri de project içindeki sohbetlerde kullanabiliyorsun; Work'te plugin'ler ve memory, project'in bağlamına ek olarak devreye giriyor.

Önemli bir sınır: ChatGPT project'i bilgisayarındaki bir klasöre doğrudan erişmiyor. Kullanmasını istediğin dosyaları yüklemen ya da bir kaynak olarak bağlaman gerekiyor. Klasör erişimi desktop app'teki local project'lerin işi; aşağıda ayrıca bakacağız.

Sources: Ne Yüklenir, Sınırlar Ne?

Help Center'ın "Projects in ChatGPT" makalesine göre (https://help.openai.com/en/articles/10169521, 15 Kasım 2026) project başına dosya sınırı plana göre değişiyor: Free'de 5, Go ve Plus'ta 25, Edu, Pro, Business ve Enterprise'da 40 dosya. Aynı anda en fazla 10 dosya yüklenebiliyor. Makale sınıra gelince eski ya da gereksiz dosyaları kaldırmayı, dosyaları birleştirmeyi ya da işi birden çok project'e bölmeyi öneriyor. Daha eski bir dosya yükleme SSS'i Plus için hâlâ 20 dosya diyor; iki Help Center sayfası arasındaki bu fark, sınırı yazım anında kontrol etmenin neden gerekli olduğunu gösteriyor.

Paylaşılan project'lerde iş birliği yapanların sayısı da sınırlı: makaleye göre Free'de 5 dosya ve 5 kişi, Plus ve Go'da 25 dosya ve 10 kişi, Pro'da 40 dosya ve 100 kişi.

"Use ChatGPT" sayfası ChatGPT'ye eklenebilecek dosyaları dokümanlar, sunumlar, sheet'ler, PDF'ler, görseller ve veri dışa aktarımları diye sayıyor. Bir dosyayı yüklemeden önce şunu sor: bu dosya project'teki birden çok sohbette lazım mı, ve güncel mi? İki cevap da evet değilse dosyanın yeri Sources değil.

Project Memory

Project'lerin memory davranışı ayrı bir ayar. Help Center'a göre 14 Ağustos 2026'dan beri paylaşılmayan project'ler varsayılan memory ile project-only memory arasında geçiş yapabiliyor. Project-only memory'de kayıtlı memory'lerin project sohbetlerinde kullanılmıyor ve sohbetler project dışındaki konuşmalara, yani genel ChatGPT sohbetlerine ya da başka project'lerin sohbetlerine başvuramıyor; ChatGPT yalnız aynı project'teki sohbetlerden yararlanıyor. Paylaşılan project'ler her zaman project-only memory kullanıyor ve bir üyenin kişisel memory'sine erişemiyor. Project memory, kişisel memory gibi bir liste olarak görünmüyor.

Bookstore için anlamı şu: Selin'in kişisel memory'sinde başka bir işe ait bağlam varsa, project-only memory bunun ürün dokümantasyonuna karışmasını engelliyor. Üçüncü yazıda gördüğümüz kural burada da geçerli: memory yardımcı bir katman, ekibin kuralı project instructions'ta durmalı.

Desktop'ta Local Project'ler

Desktop app'teki Projects görünümü ChatGPT project'lerini ve local project'leri bir arada gösteriyor. Local project, sohbetlere bilgisayarındaki bir ya da daha fazla klasöre erişim veriyor; örneğin bir kaynak dosya koleksiyonu ya da bir codebase. Klasör eklemek ya da değiştirmek için project menüsünden "Edit project", sonra "Add folder" seçiyorsun; ChatGPT eklediğin her klasördeki dosyaları okuyup değiştirebiliyor. "Make primary" ile varsayılan çalışma klasörünü seçiyorsun: yeni sohbetler orada başlıyor ve Codex AGENTS.md, skill ve config.toml dosyalarını yalnız bu klasörde otomatik buluyor. İkincil klasörler arama, okuma ve düzenleme için erişilebilir kalıyor. Remote project'ler şimdilik tek klasörü destekliyor.

İki ayrıntı güvenlik açısından önemli. Birincisi, project'ler işi düzenliyor ama local komutların neyi okuyup değiştirebileceğini ya da ağa erişip erişemeyeceğini sandbox belirliyor; project'e klasör eklemek bir izin sınırı değil. İkincisi, bir sohbeti cihazlar arasında senkronize etmek o klasörün tamamını yüklemiyor ya da başka bir bilgisayara açmıyor. İlgisiz işler için ayrı project açmak, doküman da önerdiği gibi, her sohbetin yalnız ihtiyaç duyduğu klasöre erişmesini sağlıyor.

SeçenekNe zamanDosyalara erişim
Project'siz sohbetKendi içinde tamam, tek seferlik işYalnız sohbete eklediğin dosyalar
ChatGPT projectZamana yayılan, birden çok çıktılı, aynı kaynaklara dayanan işSources'a yüklediğin ya da bağladığın kaynaklar; yerel klasör yok
Desktop local projectBilgisayardaki dosyaları okuyup değiştirmesi gereken işEklediğin klasörler; sınırı sandbox belirler

Bookstore: Ürün Dokümantasyonu Project'i

Selin'in işini baştan kuralım. Project'in adı "Bookstore Ürün Dokümantasyonu". Sources'a girenler, her biri tek bir konuya ait ve adında sürümü olan dosyalar:

  • prd-returns-v3.md ve prd-institutional-orders-v2.md: yalnız her PRD'nin güncel sürümü; eskileri project'ten kaldırılmış hâlde.
  • openapi-bookstore-api-v1.yaml: Bookstore.Api'nin OpenAPI tanımı.
  • support-faq-2026-q3.md: destek ekibinin sık gelen soruları; müşteri adı, e-posta ve sipariş numarası temizlenmiş hâliyle.
  • glossary.md: ürün terimlerinin kısa tanımları (iade, kısmi sevkiyat, kurumsal onay).

Project instructions:

You help the Bookstore product team write and maintain product documentation.

Sources: use the files in this project first. For every claim, name the
source file and the section. If the sources do not answer the question,
say so before using general knowledge, and label that part.

Versions: PRD files are named prd-<feature>-v<N>.md. If you see two
versions of the same PRD, use the higher one and tell me the older file
is still in the project.

Conflicts: openapi-bookstore-api-v1.yaml is the source for endpoints and
fields. If a PRD and the OpenAPI file disagree, point out the conflict
instead of choosing one. Do not invent endpoints.

Language: write documents in Turkish; keep code, identifiers, endpoint
paths and technical terms in English.

Privacy: the sources contain no customer data. If I paste names, e-mail
addresses or order numbers, remind me to mask them.

Bu metnin üç satırı Önce Tahmin Et'teki soruna doğrudan cevap veriyor. Sürüm kuralı, eski bir PRD dosyası unutulup project'te kalırsa bunun görünür olmasını sağlıyor. Çelişki kuralı modelin iki kaynaktan birini sessizce seçmesini engelliyor. Kaynak gösterme kuralı da cevabın hangi dosyaya dayandığını kontrol etmeni sağlıyor; dosya adı yoksa cevap büyük ihtimalle genel bilgiden geliyor. Ayrıca her çıktı için ayrı sohbet açılıyor: SSS cevabını düzeltmek için bir Chat sohbeti, iade özelliğinin release notu için bir Work sohbeti, API değişiklik notu için başka bir Work sohbeti. Örneğin release notu sohbetinin ilk mesajı şöyle olabilir:

Using prd-returns-v3.md and the returns endpoints in
openapi-bookstore-api-v1.yaml, write a one-page release note for the
customer service team. Explain what changes for customers, which statuses
a return can have, and what the team should tell a customer whose return
is rejected. Flag every field in the PRD that has no matching field in the
API. Give me a .docx file.

Beklenen cevap, Work'ün planını gösterip iki dosyayı okuduktan sonra bir Word dosyası üretmesi; dosyanın her bölümünde hangi kaynaktan yararlanıldığının yazması ve PRD ile API arasında eşleşmeyen alanların ayrı bir listede görünmesi. Bunu kontrol etmenin yolu, release notunu açıp her iddiayı kaynak dosyadaki bölümle karşılaştırmak. Şikâyet dökümüne gelince: o dosyanın yeri bu project değil. Gerekiyorsa adlar ve iletişim bilgileri maskelenip ayrı ve paylaşılmayan bir project'te ya da onuncu yazıda göreceğimiz kurallara göre işlenmeli.

Claude Projects'ten Gelenler İçin

Claude ile Çalışmak serisinin Claude Projects yazısını okuduysan kavramlar tanıdık gelecek. O yazıda büyük project'lerde Claude'un RAG (retrieval-augmented generation; soruya göre dokümanlardan ilgili parçaları bulup modele veren yöntem) moduna geçtiğini görmüştük. Temel fikir aynı: iki üründe de project, talimatları, kaynak dosyaları ve sohbetleri bir arada tutuyor ve sohbetler kendi içinde odaklı kalıyor. Ayrıntılar ise farklı: dosya sınırları, project memory'nin davranışı ve local klasör erişiminin hangi uygulamada nasıl çalıştığı ürüne göre değişiyor. İki ürünün kavram kavram karşılaştırmasını serinin son yazısına bırakıyoruz; burada pratik sonuç şu: bir üründe kurduğun project yapısını diğerine taşırken sınırları ve memory ayarını yeniden kontrol et.

Üretimde Dikkat

Sources'ın bir sahibi olsun. Ekip project'lerinde en sık sorun bayat dosya. Bir PRD güncellendiğinde project'teki eski sürümü kaldırıp yenisini yüklemeyi iş akışına ekle; eski sürümü silmeden yenisini yüklemek, Selin'in yaşadığı karışıklığın ta kendisi.

Sohbetleri adlandır ve arşivle. Doküman, sohbetlere sonucu anlatan kısa adlar vermeyi öneriyor ("Checkout accessibility review" gibi). Biten sohbetleri arşivle; project menüsündeki "Archive chats" ile bir project'in sohbetlerini birlikte arşivleyebiliyorsun, arşivdekileri Settings > Data Controls > Archived chats altından geri getirebiliyorsun. Sık kullandığın project ve sohbetleri sabitlemek yalnız kenar çubuğundaki yerlerini değiştiriyor; ChatGPT'nin neye erişebildiğini değiştirmiyor.

Değişen veriyi dosya olarak koyma. Stok seviyeleri, günlük satışlar ya da açık destek talepleri yüklendiği gün bayatlıyor. Böyle verilerin yeri plugin'ler; beşinci yazıda Bookstore'un kendi sistemine bir MCP (Model Context Protocol; ChatGPT'nin dış sistemlerdeki tool ve verilere bağlandığı açık protokol) bağlantısını plugin üzerinden kurmayı göreceğiz.

Sık Düşülen Tuzaklar

Tek dev sohbette bütün işi yürütmek. Her yeni çıktı eski konuşmanın bütün bağlamını taşıyor; eski sürümler ve bırakılmış fikirler cevaba karışıyor. Project aç, her çıktı için yeni sohbet başlat.

Bayat kaynakları bırakmak. Sources'ta aynı dokümanın iki sürümü varsa model hangisinin güncel olduğunu bilemez. Dosya adına sürüm koy ve eskiyi kaldır.

Müşteri kişisel verisini kaynak olarak yüklemek. Sources'taki dosya project'teki her sohbete açık; paylaşılan project'te herkesin sohbetine giriyor. Ad, e-posta, adres ve sipariş numarasını yüklemeden önce temizle.

Local project'i izin sınırı sanmak. Klasör eklemek erişimi düzenliyor; komutların neyi okuyup değiştirebileceğini sandbox belirliyor. Hassas klasörleri project'e hiç ekleme.

Sınırları ezberlemek. İki Help Center sayfası Plus için farklı dosya sayısı veriyor; project kurarken güncel makaleye bak.

Küçük Bir Deneme

★☆☆ Son bir ayda en uzun süren sohbetini bul. Bu sohbet kaç ayrı çıktı üretti? Her biri ayrı bir sohbet olsaydı hangi dosyalar project'in Sources bölümüne girerdi?

★★☆ Kendi işin için bir project kur: en fazla beş dosya, adında sürüm olan dosya adları ve bu yazıdaki yapıda bir project instructions metni. Aynı soruyu project içinde ve dışında sor; cevaplarda kaynak gösterme farkı ne?

★★★ Ekibin için iki project tasarla: biri ürün dokümantasyonu, biri destek cevapları. Her biri için Sources listesini, instructions metnini, kimin dosya güncelleyeceğini ve memory ayarını (varsayılan ya da project-only) yazan bir sayfalık kural metni hazırla.

Project'ler bilgiyi topluyor ama dış sistemlere bağlanmıyor. Beşinci yazıda plugin'leri, skill'leri, app'leri ve MCP'yi, custom GPT'lerin (kullanıcının kendi talimat ve dosyalarıyla kurduğu özel ChatGPT sürümleri) 11 Aralık 2026'daki emekliliğini ve bir GPT'yi plugin'e taşırken neyin taşındığını göreceğiz.