Büyük projelerle çalışma
Bob IDE'de büyük kod tabanlarını yönetin. Bağlam penceresi optimizasyonunu, dosya işlemeyi ve kurumsal ölçekli projeler için en iyi uygulamaları anlayın.
Büyük projelerde bağlam sınırlarını anlamak
Bob, sınırlı bir bağlam penceresine sahip büyük dil modelleri kullanır. Bu, Bob'un aynı anda işleyebileceği maksimum metin miktarıdır (token'larla ölçülür). Bağlam çok büyükse, Bob isteğinizi anlayamayabilir veya doğru yanıtlar üretemeyebilir.
Bağlam penceresi şunları içerir:
- Sistem istemi (Bob için talimatlar)
- Konuşma geçmişi
@kullanarak bahsettiğiniz herhangi bir dosyanın içeriği- Cmd + L (Mac) veya Ctrl + L (Windows/Linux) kullanılarak sohbete gönderilen seçili metin
- Bob'un kullandığı herhangi bir komutun veya aracın çıktısı
Bağlamı yönetme stratejileri
- Spesifik olun: Dosyalara veya koda atıfta bulunurken, belirli dosya yolları ve fonksiyon adları kullanın. "Ana dosya" gibi belirsiz referanslardan kaçının.
- Bağlam mention'larını etkili kullanın: Belirli dosyaları dahil etmek için
@/path/to/file.tskullanın. Mevcut hataları ve uyarıları dahil etmek için@problemskullanın. Belirli Git commit'lerine referans vermek için@ve ardından bir commit hash'i kullanın. Ayrıca editörünüzde metni vurgulayabilir ve doğrudan sohbete göndermek için Cmd + L (Mac) veya Ctrl + L (Windows/Linux) kullanabilirsiniz. - Görevleri bölün: Büyük görevleri daha küçük, daha yönetilebilir alt görevlere bölün. Bu, bağlamın odaklı kalmasına yardımcı olur.
- Gerektiğinde özetleyin: Büyük miktarda koda atıfta bulunmanız gerekiyorsa, tüm kodu dahil etmek yerine ilgili kısımları isteminizde özetlemeyi düşünün.
- Son geçmişe öncelik verin: Bob, bağlam penceresi içinde kalmak için konuşma geçmişindeki eski mesajları otomatik olarak yoğunlaştırır. Bunun farkında olun ve gerekirse önemli bağlamı yeniden dahil edin.
- Büyük dosya işlemeyi yapılandırın: Belirli bir boyut eşiğini aşan dosyaları Bob'un nasıl işlediğini kontrol etmek için büyük dosya işleme ayarını düzenleyin. Bu, büyük dosyalarla çalışırken bağlam kullanımını yönetmeye yardımcı olur.
- MCP araç kullanımını yönetin: Bir MCP hizmetinde belirli araçları devre dışı bırakabilir ve etkinleştirebilirsiniz, böylece yalnızca ihtiyacınız olanı kullanabilir ve kullanılmayan araç tanımlarından kaynaklanan bağlam tüketimini azaltabilirsiniz.
- İzole iş için subagent veya subtask kullanın: Büyük, bağımsız iş parçaları için bir subagent veya subtask kullanmayı düşünün. Her ikisi de kendi ayrı bağlam penceresinde çalışır ve ana konuşmayı hafif tutar.
spawn_subagentvestart_subtaskhakkında ayrıntılar için Tools bölümüne bakın. - Tam dosya mention'ları yerine sembol araçlarını kullanın:
@ile tüm bir dosyadan bahsetmek yerine, Bob ilgili sınıfa veya fonksiyona doğrudan gitmek içinGetSymbolsOverviewveFindSymbolgibi araçları kullanabilir. Bu, yalnızca gerekli olanı alır ve tam dosyayı bağlama yüklemeyi önler.
Örnek: Büyük bir dosyayı yeniden düzenleme
Büyük bir TypeScript dosyasını (src/components/MyComponent.tsx) yeniden düzenlemeniz gerekiyorsa, işte etkili bir yaklaşım:
- İlk genel bakışı alın:
@/src/components/MyComponent.tsx Bu dosyadaki fonksiyonları ve sınıfları listele. - Belirli fonksiyonları hedefleyin:
@/src/components/MyComponent.tsx `processData` fonksiyonunu Promise'ler yerine `async/await` kullanacak şekilde yeniden düzenle. - Yinelemeli değişiklikler yapın: Her adımı inceleyerek ve onaylayarak küçük, artımlı değişiklikler yapın.
Görevi bölerek ve belirli bağlam sağlayarak, bağlam penceresi sınırları içinde büyük dosyalarla etkili bir şekilde çalışabilirsiniz.
Bağlam zehirlenmesi
Bağlam zehirlenmesinin ne olduğunu, bunu bir Bob konuşmasında nasıl fark edeceğini ve yeni bir task başlatarak ya da bağlam hijyenini iyileştirerek nasıl toparlanacağını öğren.
Klavye kısayolları
İş akışınızı kolaylaştırmak ve fare etkileşimlerine olan bağımlılığı azaltmak için klavye kısayollarını kullanın.