- Static bundle checks (name length, seed type, reserved words, contract test classes, testclasses_file), local abaplint parser check before SAP, max_tokens, robust JSON parse - Runner: G2 for CDS views with parameters, contract_check detail in report - G0020 and G0013 fixed by review and revalidated (oracle 100, null 0) - Pilot results in docs/faz1-tasarim.md 11e; handover notes merged into CLAUDE.md and docs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
162 lines
10 KiB
Markdown
162 lines
10 KiB
Markdown
# ABAP Danışman Modeli — Yol Haritası
|
||
|
||
Durum: v19 · 2026-10-02
|
||
Şu anki konum: **Adım 1.3**
|
||
|
||
## Adım 0 — Çerçeve ve kararlar
|
||
|
||
| Karar | Durum |
|
||
|---|---|
|
||
| Modelin rolü: teknik ABAP danışmanı, modül bilgisi yok | ✓ |
|
||
| Sözleşme: metin olarak ABAP görevi + genel ABAP MCP arayüzü | ✓ (2026-10-02) |
|
||
| Girdi: `plan-agent.md` formatı en iyi sonuç veren girdi, zorunlu değil; Kral'ın akışında plan kullanımı değişmez | ✓ (2026-10-02) |
|
||
| Tool arayüzü: EPOD isimleri yerine genel ABAP MCP; EPOD native destekleyecek, harness proxy ilk adapter; delete/teardown harness'te | ✓ (2026-10-02) |
|
||
| Eğitimde az miktarda tool isim/şema varyasyonu | ✓ (2026-10-02) |
|
||
| Ortam: A4H (yazma + doğrulama) | ✓ |
|
||
| Mevcut planlar: sadece şablon, eğitim verisi değil | ✓ |
|
||
| Eski playbook formatı kullanılmaz | ✓ (2026-10-02) |
|
||
| Eğitim verisinde Claude çıktısı yok; eval görevleri eğitim verisine girmez | ✓ (2026-10-02) |
|
||
| Lisans: Apache 2.0 | ✓ |
|
||
| Baz model: sadece Apache 2.0 veya MIT lisanslı adaylar | ✓ (seçim Adım 2'de) |
|
||
|
||
Bitti. ✓
|
||
|
||
## Adım 1 — Eval seti ve harness
|
||
|
||
Amaç: modeli ölçebilmek. Ölçüm olmadan eğitim kör olur.
|
||
|
||
| Alt adım | İş | Durum |
|
||
|---|---|---|
|
||
| 1.1 | Tasarım dokümanı (`faz1-tasarim.md`) | ✓ v3 |
|
||
| 1.2 | Teknik doğrulamalar: MCP tool'ları, A4H release, teardown (ADT deletion API), abaplint + seed tipleri, paralellik (8 oturum) | ✓ |
|
||
| 1.3 | Harness iskeleti: setup → run → puan → teardown, T01 ile uçtan uca | **✓** — Mac mini'de; test include ve teardown çözüldü. Baştan koşular: oracle 100, null 0, Qwen (koşu 203) çalışıyor |
|
||
| 1.3b | Genel ABAP MCP arayüz spec'i (`abap-mcp-arayuz.md`) ve harness proxy'sinin bu arayüze çevrilmesi | Sonra |
|
||
| 1.4 | T01–T15: seed, gizli testler, hatalı referans | |
|
||
| 1.5 | 110 görevlik set (kategori K dahil: eksik/serbest girdi + farklı tool şeması): üretim + senin incelemen | |
|
||
| 1.6 | Ölçüm: aday baz modeller + Claude referansı | |
|
||
|
||
Bitti sayılır: 110 görev, kategori bazında sonuç tablosu.
|
||
|
||
## Hacim tahmini (kaba, 2026-10-02)
|
||
|
||
İlk ölçümlerle kalibre edilecek (koşu süresi, kabul oranı).
|
||
|
||
| Aşama | Görev | Koşu | Obje (oluşturulup silinen) | Süre |
|
||
|---|---|---|---|---|
|
||
| Eval seti (Adım 1) | 110 | 110 / model / mod | ~5–8 / koşu → ~700 / ölçüm | Yerel 27B: 35–50 saat / ölçüm |
|
||
| Ölçüm turu (Adım 1.6) | 110 | ~3–4 model × 2 mod + Claude ≈ 900 | ~6 000 | Yerel modeller birkaç hafta; uzak modeller birkaç gün |
|
||
| Eğitim verisi (Adım 3) | 1 500–2 000 üretilmiş görev | 4 deneme / görev ≈ 6 000–8 000 | ~40 000–50 000 | Yerel 27B ile ~5 000 saat → **yerelde mümkün değil** |
|
||
| Hedef çıktı (Adım 3) | | %40 kabul → **~3 000 yörünge** | | |
|
||
| RL (Adım 5, opsiyonel) | aynı havuz | on binlerce | yüz binler | Ayrı planlama |
|
||
|
||
**Teacher maliyeti (DeepSeek V4.1 Flash, Ollama cloud):** T01'de ölçülen ≈ 0,09 $ / koşu (liste fiyatı). T01 kolay bir görev; ortalama görev için 0,15–0,20 $ varsayımı:
|
||
|
||
| İş | Koşu | Maliyet (liste fiyatı) |
|
||
|---|---|---|
|
||
| Eval ölçümü, DeepSeek (110 × 2 mod) | 220 | ~35–45 $ |
|
||
| Adım 3 (2 000 görev × 2 deneme; T01'deki başarıyla kabul oranı yüksek beklenir) | ~4 000 | ~600–800 $ |
|
||
| **Toplam (RL hariç)** | | **~650–850 $** |
|
||
|
||
Ollama paneli, koşu 204'ün 8 isteği tek tek: 6 × <0,01 $, 1 × 0,01 $, 1 × 0,03 $ → **≈ 0,05–0,08 $ / koşu**. Liste fiyatı tahminine (0,09 $) yakın; Ollama kullanımı liste fiyatına yakın sayıyor. (Ayın toplamındaki düşük ortalama, başka küçük isteklerden geliyor.)
|
||
|
||
| İş | Koşu / görev | Tahmin |
|
||
|---|---|---|
|
||
| Pilot (B–E): ~20 görev üretimi + doğrulama + koşular | ~100 istek grubu | ~5–10 $ |
|
||
| Eval seti üretimi + ölçüm (110 görev, 2 mod) | ~330 | ~25–40 $ |
|
||
| Eğitim görevi üretimi (2 000 görev) | 2 000 | ~100 $ |
|
||
| Yörünge üretimi (2 000 × 2 deneme) | ~4 000 | ~400–600 $ |
|
||
| **Toplam (RL hariç)** | | **~550–750 $** |
|
||
|
||
Bütçe: şu an ~50 $, her ay +60 $. B–F ve eval ölçümü bu bütçeye sığar. Yörünge üretimi aylık 60 $ ile 7–10 ay sürer; o aşamada ~500–700 $ ek kredi önerilir. Kesin rakam pilottan sonra.
|
||
|
||
**Karar (2026-10-02): DeepSeek V4.1 Flash (Ollama cloud) teacher ve görev yazarı olarak hemen kullanılıyor.**
|
||
|
||
Sonuçlar:
|
||
- Aynı anda A4H'da en fazla ~50 obje olur (6 worker × ~8). Toplam sayı büyük ama birikmez; teardown her koşu sonunda.
|
||
- **Adım 3 yerel modelle yapılamaz.** Teacher model hızlı ve uzakta olmalı (kiralık GPU veya açık lisanslı modelin API'si). O zaman darboğaz A4H olur: 6 worker, koşu başına ~5 dk → saatte ~70 koşu → 8 000 koşu ≈ 5 gün.
|
||
- **Önek şeması yetmez:** `Z<run 3 hane><task 3 hane>_` en fazla 999 koşu. Adım 3 öncesi koşu kimliği base36 4 karaktere çıkarılmalı (~1,7 milyon koşu).
|
||
- Uzun vadede A4H'da izlenecekler: disk (HANA log, versiyon geçmişi, silme logları).
|
||
|
||
## Hızlandırılmış sıra (2026-10-02)
|
||
|
||
Adım 3 görev ister; görevler el ile yazılırsa darboğaz olur. Bu yüzden ilk iş **görev üreteci**: hem eval setini (1.5) hem eğitim görevlerini (3.1) aynı hat üretir.
|
||
|
||
| Sıra | İş | Durum |
|
||
|---|---|---|
|
||
| A | Önek şeması: koşu 4 karakter base36, görev 3 karakter base36 (`Z005P001_`) | ✓ |
|
||
| B | Harness: FUGR/FUNC, PROG, DDLS desteği (G2 kontrat kontrolü, abaplint dışa aktarımı, silme sırası) | ✓ T13–T15 oracle 100 / null 0. Server eşzamanlılık sorunu bulundu (harness'te retry) |
|
||
| C | Görev üreteci: DeepSeek görev yazar (spec, seed, gizli testler, referans + local testler); kategori ve obje tipi dağılımına göre | ✓ `harness/generator.py`: üretim → yapı + statik kontrol + yerel abaplint → oracle/null doğrulama → en fazla 3 onarım turu. Pilot sonrası iyileştirildi (faz1-tasarim 11e) |
|
||
| D | Otomatik görev doğrulama: oracle = 100, null = 0, gizli testler bozuk referansta düşmeli | oracle/null hazır; mutasyon kontrolü sonra |
|
||
| E | Pilot: ~20 görev, tüm obje tipleri; kabul oranı ve gerçek maliyet ölçümü | ✓ 16/20 kabul, 0,16 $ / kabul edilen görev (faz1-tasarim 11e). İyileştirilmiş generator henüz denenmedi |
|
||
| F | Eval seti: 110 görev; Kral incelemesi. Eğitim havuzu: otomatik doğrulanmış görevler, eval ile çakışmasız | |
|
||
| G | Ölçüm (1.6) ve yörünge üretimi (3.2) paralel worker'larla (bulut model: en fazla 6) | |
|
||
|
||
## Bütçe takvimi (Ollama cloud, 2026-10-02)
|
||
|
||
Kalan: ~50 $ (12 Ekim'e kadar). 12 Ekim'de +60 $, sonra her ay +60 $. Birim maliyet (ölçülen): DeepSeek koşusu ≈ 0,05–0,08 $; görev üretimi ≈ 0,13 $ / görev, 0,16 $ / kabul edilen görev (pilot, liste fiyatı). Yerel modeller (Qwen vb.) ücretsiz; gece koşuları.
|
||
|
||
| Dönem | Bütçe | İş | Tahmini harcama |
|
||
|---|---|---|---|
|
||
| **2–12 Ekim** | ~50 $ | C: görev üreteci. D: otomatik doğrulama. E: pilot (20 görev, üretim + DeepSeek koşusu) | ~5 $ |
|
||
| | | F: eval seti — ~150 aday görev üret (~20 $), süz, 110 kalsın; her aday 1–2 DeepSeek koşusu (ampirik süzgeç, ~10–20 $) | ~30–40 $ |
|
||
| | | Yerel ölçüm (Qwen ve aday baz modeller, ücretsiz, geceleri) | 0 $ |
|
||
| | | Yedek | ~15 $ |
|
||
| **12 Ekim – 12 Kasım** | 60 $ | Adım 2: baz model seçimi (yerel ölçüm sonuçlarıyla). Adım 3 pilotu: ~300 eğitim görevi + ~600 yörünge denemesi | ~60 $ |
|
||
| | | Pilot sonucu: gerçek kabul oranı ve maliyet → Adım 3'ün tamamı için ek kredi kararı (tahmin ~400–600 $) | |
|
||
| **12 Kasım sonrası** | 60 $/ay + ek kredi | Adım 3'ün tamamı, ardından Adım 4 (SFT) | |
|
||
|
||
Kurallar:
|
||
- Harness her bulut isteğinin token kullanımını `runs/ledger.jsonl`'e yazar (liste fiyatı, cache indirimi olmadan = üst sınır). Dönem harcaması `BUDGET_LIMIT_USD`'ye (şu an 45 $) ulaşınca yeni üretim veya bulut koşusu başlamaz. ✓
|
||
- Eval görevleri ve eğitim görevleri ayrı havuzlar; eval görevleri eğitim verisine girmez.
|
||
- Bulut ve yerel model aynı Ollama sunucusunda kuyrukta bekleyebilir; ölçümler sırasında ikisi aynı anda koşturulmaz.
|
||
|
||
## Adım 2 — Baz model seçimi
|
||
|
||
Adım 1.6 tablosundan seçilir. Aday havuzu: sadece Apache 2.0 veya MIT lisanslı modeller. Kriterler: puan, boyut, Mac mini'de çalışabilirlik.
|
||
|
||
Bitti sayılır: tek baz model seçildi, gerekçesi yazıldı.
|
||
|
||
## Adım 3 — Eğitim verisi üretimi
|
||
|
||
| Alt adım | İş |
|
||
|---|---|
|
||
| 3.1 | Görev üreteci: eval görevleriyle aynı şemada binlerce sentetik görev. Eval görevleriyle çakışma yok. Girdilerin bir kısmı serbest metin; yörüngelerin az bir kısmı farklı tool isim/şemalarıyla. |
|
||
| 3.2 | Yörünge üretimi: açık lisanslı teacher model görevleri A4H'da çözer. |
|
||
| 3.3 | Filtre: sadece puan eşiğini geçen yörüngeler kalır. Deduplikasyon. |
|
||
| 3.4 | Opsiyonel: izinli lisanslı açık ABAP kodu (continued pretraining için). |
|
||
|
||
Eğitim verisinde mutlaka olmalı (pilot bulguları, 2026-10-02): modellerin sık yaptığı hatalar için görev ve onarım yörüngeleri.
|
||
- Metot parametresinde `TYPE c LENGTH n` geçersiz; adlandırılmış tip (`TYPES`) gerekir.
|
||
- Ayrılmış kelime alan adı (HOURS, MODE).
|
||
- 30 karakterden uzun isimler (özellikle test metotları).
|
||
|
||
Bitti sayılır: filtrelenmiş yörünge seti hazır, kategori dağılımı dengeli.
|
||
|
||
## Adım 4 — SFT (LoRA)
|
||
|
||
| Alt adım | İş |
|
||
|---|---|
|
||
| 4.1 | Küçük deneme: Mac mini, MLX |
|
||
| 4.2 | Gerçek koşu: kiralık GPU |
|
||
| 4.3 | Eval: Adım 1 setiyle, baz modelle karşılaştırma |
|
||
|
||
Bitti sayılır: eğitilmiş model baz modeli anlamlı farkla geçiyor.
|
||
|
||
## Adım 5 — RL (opsiyonel)
|
||
|
||
SFT hedefe ulaşmazsa. Ödül: harness puanı (syntax, aktivasyon, testler, abaplint, ATC).
|
||
|
||
Bitti sayılır: hedef çizgi (Claude referansına ≤ 10 puan fark).
|
||
|
||
## Adım 6 — Gerçek iş akışında deneme
|
||
|
||
`/sapplan` planı → model build-agent rolünde → gerçek bir görev. Eval'in yakalamadığı sorunlar burada çıkar.
|
||
|
||
Bitti sayılır: senin seçtiğin gerçek görevlerde kabul edilebilir sonuç.
|
||
|
||
## Adım 7 — Yayın
|
||
|
||
Ağırlıklar, model kartı, lisans, eval sonuçları, genel ABAP MCP arayüz spec'i. Opsiyonel: harness ve eval seti açık kaynak.
|
||
|
||
Bitti sayılır: yayınlandı.
|