Büyük projelerle çalışma
Bob Shell'de büyük kod tabanlarını yönetin. Bağlam penceresi optimizasyonunu, dosya yönetimini ve kurumsal ölçekli projeler için en iyi uygulamaları anlayın.
Büyük projelerde bağlam sınırları
Bob, sınırlı bir bağlam penceresine sahip büyük dil modelleri kullanır. Bu, Bob'un bir kerede işleyebileceği maksimum metin miktarıdır (token cinsinden ö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
- Sohbet istemine eklediğiniz dosyaların içeriği
- Bob'un kullandığı komut veya araçların çıktısı
Bağlamı yönetme stratejileri
- Özel olun: Dosyalara veya koda atıfta bulunurken belirli dosya yolları ve işlev adları kullanın. "Ana dosya" gibi belirsiz referanslardan kaçının.
- Dosyalara tam olarak referans verin: Sohbet istemine yollarını kullanarak belirli dosyaları ekleyin (örneğin,
src/components/MyComponent.tsx) veya Bob'u belirli bir Git durumuna yönlendirmek için commit hash'i referans gösterin. - Görevleri bölün: Büyük görevleri daha küçük ve yönetilebilir alt görevlere bölün. Bu, bağlamı odaklı tutmaya yardımcı olur.
- Gerektiğinde özetleyin: Büyük miktarda koda atıfta bulunmanız gerekiyorsa, kodun tamamını eklemek yerine isteğinizde ilgili bölümleri özetlemeyi düşünün.
- Son geçmişi önceliklendirin: Bob, bağlam penceresi içinde kalmak için konuşma geçmişindeki eski iletileri otomatik olarak yoğunlaştırır. Bunu göz önünde bulundurun ve gerekirse önemli bağlamı yeniden ekleyin.
- MCP araç kullanımını yönetin: Yalnızca ihtiyacınız olanı kullanmak için MCP hizmetindeki belirli araçları devre dışı bırakıp etkinleştirebilir, kullanılmayan araç tanımlarından kaynaklanan bağlam tüketimini azaltabilirsiniz.
- Yalıtılmış çalışma için subagent veya alt görevler kullanın: Büyük, bağımsız çalışmalar için subagent veya alt görev kullanmayı düşünün. Her ikisi de kendi ayrı bağlam pencerelerinde çalışarak ana terminal oturumunu hafif tutar.
spawn_subagentvestart_subtaskhakkında ayrıntılar için bkz. Araçlar.
Örnek: Büyük bir dosyayı yeniden düzenleme
Büyük bir TypeScript dosyasını (src/components/MyComponent.tsx) yeniden düzenlemeniz gerekiyorsa etkili bir yaklaşım şöyledir:
- İlk genel bakışı alın:
src/components/MyComponent.tsx içindeki işlevleri ve sınıfları listele - Belirli işlevleri hedefleyin:
src/components/MyComponent.tsx içindeki `processData` işlevini Promise yerine async/await kullanacak şekilde yeniden düzenle. - Yinelemeli değişiklikler yapın: Her adımı gözden geçirip onaylayarak küçük, artımlı değişiklikler yapın.
Görevi bölerek ve belirli bağlam sağlayarak büyük dosyalarla bağlam penceresi sınırları içinde etkili şekilde çalışabilirsiniz.
Bu konu nasıl?