Πίνακας περιεχομένων
χρόνος ανάγνωσης : 18 minutes

Ο πόλεμος των LLM διενεργείται επίσης στο τερματικό ενός προγραμματιστή. Όχι σε ακαδημαϊκούς benchmarks άκαρπους. Στην πραγματική ζωή: ένα prompt 30 000 tokens, μια διακυβέρνηση agent σε AsciiDoc, plugins Gradle Kotlin DSL για troubleshooting και συνεδρίες που συνεχίζονται για τρεις εβδομάδες. Έχω δοκιμάσει για εσάς το DeepSeek-V4-Pro, το Kimi K2.6 και το GLM-5.1. Εδώ είναι η απόφαση, με τεχνικές αποδείξεις σεστήριξη.

Σύνθεση: όχι ένας δοκιμαστικός πίνακας, ένα χτίσιμο

Πριν από τρεις εβδομάδες, δούλευα πάνω σε`codebase-gradle`, το meta-build system μου που κεντροποιεί τη ρύθμιση YAML των τέσσερις project: ένας創造者 README PlantUML, ένας κατασκευαστής slides AsciiDoc, ένα στατικό site JBake και ένας chatbot LLM. Ο πράκτορας Opencode, που κυβερνάται από τη μεθοδολογία μου αρχείων πράκτορων σε AsciiDoc, φορτώνει περίπου 30K tokens του περιβάλλον EAGER στην αρχή κάθε συνεδρίας — απόλυτες κανόνες, backlog, ιστορικό των τελευταίων 10 συνεδριών.

Είναι σε αυτό το έδαφος που αντιμετώπισα τρία μοντέλα:

  • Kimi K2.6(Moonshot AI, 1T παράμετροι / 32B ενεργοποιημένοι, 256K μέγιστο πλαίσιο, MLA) - GLM-5.1(Zhipu AI/Tsinghua, 744B παραμέτρων / DSA, 200K μέγιστο πλαίσιο) - DeepSeek-V4-Pro(DeepSeek, 1.6T παραμέτρους / 49B ενεργοποιημένοι, 1M μέγιστο πλαίσιο, CSA+HCA)

Όλοι παρεχόμενοι vía Ollama σε cloud server, όλοι σε λειτουργία σκέψης (φάση αντανάκλασης ενεργοποιημένη). Η πρόκληση: να παράγουμε σωστό κώδικα, να διατηρούμε τη συνέπεια σε μακρά συνεδρίες, και να μην παραγαγάίνουμε λανθασμένες απαντήσεις όταν το πλαίσιο υπερβαίνει τα 80K tokens.

Το περιβάλλον δοκιμών μου

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 220

title Περιβάλλον Δοκιμών — Sessions Opencode × 3 LLMs
left to right direction

package "🖥️ Τερμινάλς Προγραμματιστή" #E8F5E9 {
  rectangle "AGENT.adoc\n(κανόνες, backlog)" as AG
  rectangle "PROMPT_REPRISE\n(αποστολή)" as PR
  rectangle "INDEX.adoc\n(roadmap)" as IDX
}

package "☁️ Ollama Cloud" #BBDEFB {
  rectangle "DeepSeek-V4-Pro\n1.6T / CSA+HCA" as DV4
  rectangle "Kimi K2.6\n1T / MLA" as KIMI
  rectangle "GLM-5.1\n744B / MLA+DSA" as GLMG
}

package "⚙️ Codebase Gradle" #FFF9C4 {
  folder "buildSrc/" {
    file "codebase.kt"
    file "readme.kt"
    file "site.kt"
    file "slider.kt"
    file "snapshot.kt"
  }
  file "build.gradle.kts\n(947 γραμμές)"
  file "embeds.yml"
}

AG --> DV4 : Sessions 1-8 ✅
AG --> KIMI : Sessions 9-10 ⚠️
AG --> GLMG : Sessions 11-13 ⚠️

DV4 --> "Codebase" : "TDD, refactoring,\nsnapshot"
KIMI --> "Codebase" : "Υποβάθμιση\nαπό 60K tokens"

note bottom of GLMG
Καλύτερο από το Kimi
αλλά καθυστέρηση +
DSA λιγότερο στιβαρό
από το CSA+HCA
end note

@enduml

Κάθε συνεδρία ξεκινούσε με περίπου 30K tokens context EAGER:`AGENT.adoc`(287 γραμμές),PROMPT_REPRISE.adoc(51 γραμμές).agents/INDEX.adoc(218 γραμμές)LAZY_EAGER_ESSENTIALS.adoc(50 γραμμές). Το πλαίσιο αυξανόταν γρήγορα με τα ανταλλάγματα — μια τυπική συνεδρία από 10 μηνύματα προσετίθε 15-20K tokens στο συσσωρευμένο προMPT.

Πίνακας αξιολόγησης

Έχω αξιολογήσει κάθε μοντέλο σε τέσσερα κρίσιμα άξονα για τη βοηθημένη ανάπτυξη λογισμικού:

Άξονας Συγκεκριμένο κριτήριο

συνέπεια μακρύ περιβάλλον

Θυμάται ο πράκτοrasse τις συναινέσεις που αποφασίστηκαν πριν από 40 μηνύματα;

Ποιότητα του παραγόμενου κώδικα

Ο κώδικας μεταγλωττίζει στην πρώτη προσπάθεια; Αναγνωρίζει τα υφιστάμενα patterns;

Αρχιτεκτονική λογιστική

Καταλαβαίνει ο πράκτορας τις σχέσεις μεταξύ των μονάδων χωρίς να τα του εξηγώ ξανά;

Αντοχή στις ψευδαίσθησεις

Από πόσα tokens ο πράκτορας αρχίζει να εφευρίσκει APIs ή κλάσεις που δεν υπάρχουν;

Και μια σπιτική συνθετική μέτρηση : τοσυντελεστής ανάκτησης(πόσο χρόνο περνάζω να διορθώνω τον πράκτορα αντί να κωδικοποιώ μαζί του).

Γύρος 1: Kimi K2.6 — ψευδής εκκίνηση

Το Kimi K2.6 ήταν η πρώτη μου επιλογή. Τα benchmarks του σε SWE-Bench Verified (80.2) και στο Terminal-Bench 2.0 (66.7) είναι εξαιρετικά. Η αρχιτεκτονική MLA του υποσχέεται καλή απόδοση στις μεγάλες ακολουθίες.

Session 9 : η ανάκαμψη

Η πρώτη συνάντηση με τον Kimi. Εργασία : υλοποίηση της μεθόδου`resolveActiveKey()σε`codebase.kt— μια λειτουργία επίλυσης κλειδιού API με fallback CLI. Το πλαίσιο είναι 30K tokens, ο Kimi σκέφτεται γρήγορα, παράγει καθαρό κώδικα με διαχείριση λήξης κλειδιών.

fun resolveActiveKey(
    cfg: CodebaseConfiguration,
    logger: Logger,
    cliProvider: String? = null,
    cliAccount: String? = null,
    cliKey: String? = null
): NamedApiKey? {
    // Résolution provider → compte → clé avec CLI override
    // Kimi a parfaitement compris la chaîne de priorité
}

Ο κώδικας μεταγλωττίζεται. Τα 7 τεστ cases περνούν. Είμαι αισιόδοξος.

Session 10: η σιωπηλή ναυαγία

Δεύτερη συνεδρία. Το περιβάλλον αυξάνει έως περίπου 90K tokens με τα ανταλλάγματα. Ζητώ από το Kimi να προσθέσει ένα μηχανισμό στιγμιοτύπου AsciiDoc που ανωνυμοποιεί τα μυστικά πριν την εγγραφή.

Εδώ είναι όπου αποβγαίνει. Ο Kimi αρχίζει να εφευρίσκει κλάσες που δεν υπάρχουν. Μου προτείνει`AnonymizedObjectMapper`— μια φανταστική τάξη. τον μπερδεύει`ReadmeYmlAnonymizer` et CodebaseYmlAnonymizer. Μου προτείνει να εισάγω`com.fasterxml.jackson.anonymize.*`— ένα πακέτο που δεν υπήρξε ποτέ.

Πιο χειρότερα: στη φάση της σκόπησης του, βλέπω ότι κατασκευάζει συλλογισμούς με βάση λάθος υποθέσεις. Αυτός \"θυμάται\" ότι`GitConfig`Έχει ένα πεδίο`anonymizedToken`— όχι, είναι`resolvedToken(). Αποδίδει στο`SiteYmlAnonymizer`μέθοδος`maskSupabaseCredentials()— που δεν υπάρχει.

_ Δεν ήταν ένα bug. Έταν μια προοδευτική διάλυση της συνέπειας. Ως εάν κάθε token που προστίθετε στο πλαίσιο λιώνε λίγο περισσότερο τη μνήμη των πρώτων 30 000. _

Σταματώ το Kimi μετά από δύο συνεδρίες. Η διάγνωση είναι σαφής: το MLA sıkίει καλά το KV cache, αλλά χωρίς μηχανισμό λεπτομερούς σπαρσής επιλογής, η προσοχή διυλίζεται μηχανικά πέρα από 60K tokens. Κάθε token "βλέπει" λιγότερο και λιγότερο καλά το μακρινό περιβάλλον — και αρχίζει να γεμίζει τα κενά με θόρυβο.

Επανάληψη 2 : GLM-5.1 — Ο έντιμος αγωνιστής

GLM-5.1 έρχεται με μια διαφορετική αρχιτεκτονική: MLA για το base model, έπειτα ένα continued pre-training με DSA (DeepSeek Sparse Attention) — ένας ελαφρύς ευρετηριάτης που επιλέγει δυναμικά τα top‑2048 σχετικά tokens από όλο το ιστορικό.

Αρχιτεκτονική: το DSA εναντίον του καθαρό MLA

Η διαφορά είναι θεμελιώδης. Όπου ο Kimi συμπιέζει το ιστορικό σε ένα μοναδικό latent χώρο (και χάνει σταδιακά τη δυνατότητα να διακρίνει τη σχετική πληροφορία), το GLM ενσωματώνει ένα post‑training indexer που κάνει μια σαφής σπαρσή επιλογή.

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center

title Αρχιτεκτονικές Προσοχής — MLA έναντι MLA+DSA
left to right direction

rectangle "**Kimi K2.6 — Καθαρό MLA**" as MLA #FFCDD2 {
  rectangle "Πλήρης\nKV Cache" as KV1
  rectangle "Λανθάνουσα\nσυμπίεση" as CL1
  rectangle "Αποκωδικοποίηση\nσε λανθάνοντα χώρο" as DL1
  KV1 --> CL1
  CL1 --> DL1
  note bottom of DL1
⚠️ Πέρα από τα 60K tokens:
απώλεια διακρίνουσας ισχύος
  end note
}

rectangle "**GLM-5.1 — MLA + DSA**" as DSA #C8E6C9 {
  rectangle "Πλήρης\nKV Cache" as KV2
  rectangle "Λανθάνουσα\nσυμπίεση (MLA)" as CL2
  rectangle "Ελαφρύς ευρετήριος\n(DSA, top-k=2048)" as IL
  rectangle "Αποκωδικοποίηση\nσε επιλεγμένα tokens" as DL2
  KV2 --> CL2
  CL2 --> IL
  IL --> DL2
  note bottom of DL2
✅ "Lossless by construction"
Ρητή επιλογή
σχετικών tokens
  end note
}

MLA --> DSA : "Κέρδος: αραιή επιλογή\nπου αποφεύγει τη διάβρωση"

@enduml

Το τεχνικό αναφορά το λέει ρητά: DSA είναι "lossless by construction" — αντίθετα από τις εναλλακτικές όπως η SWA (pattern search), Gated DeltaNet ή SimpleGDN που χάνουν έως και 5.69 μονάδες στο RULER@128K.

Συνεδρίες 11-13 : στερεό αλλά ενοχλητικό

GLM-5.1 κρατάει καλύτερα την απόσταση. Στην συνεδρία 11 (~60K tokens), παραμένει συνεπής. Παραγει ένα`SnapshotManager`λειτουργικό με σωστή διαχείριση των τεσσάρων ανωνυμιστών

Αλλά η καθυστέρηση είναι ένα πρόβλημα. Τα στάδια σκέψης DSA είναι πιο βαρέα από το καθαρό MLA — ο διαχειριστής ευρετηρίου πρέπει να rescane το ιστορικό σε κάθε βήμα. Μια απάντηση που πήραινε 8 δευτερόλεπτα με το Kimi τώρα παίρνει 15 με το GLM. Σε μια περίοδο 30 μηνυμάτων, το αισθανόμαστε.

Και έπειτα υπάρχουν οι λεπτομερείς σφάλματα. Ο GLM δεν μανείται όπως ο Kimi — αλλά κάνει σφάλματα ονομασίας. Καλεί`toAnonymizedYaml()η μέθοδος που θα έπρεπε να ονομάζεται`anonymize(). Ο αντιστρέφει`loadReadmeConfiguration()` et loadCodebaseConfiguration()`στον`renderFileSection(). Δεν είναι παραισθήματα, είναι επιφανειακές σύγχυσεις — αλλά στην παραγωγή, μια επιφανειακή σύγχυση μπορεί να σπάσει ένα build.

Έχω διεξαγάγει τρεις συνεδρίες με το GLM. Είναι καλύτερος από το Kimi, ανυπαρόιθεν. Αλλά τρεις συνεδρίες χειροκίνητης διόρθωσης σε λεπτομέρειες ονομασίας, είναι εξαντλητικό.

Round 3 : DeepSeek-V4-Pro — Η μηχανή του πολέμου

Το DeepSeek-V4-Pro έρχεται με τη πιο φιλόδοξη αρχιτεκτονική από τις τρεις: ένα υβριδικό σύστημα που συνδυάζει δύο πληρωματικά μηχανισμούς προσοχής.

Αρχιτεκτονική: CSA + HCA, διπλό νήμα

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 180

title DeepSeek-V4-Pro — Υβριδική Αρχιτεκτονική CSA + HCA
left to right direction

rectangle "KV Cache\n1M tokens" as KV #E3F2FD

rectangle "CSA\nCompressed Sparse Attention" as CSA #C8E6C9 {
  rectangle "Συμπίεση\nm tokens → 1" as CC
  rectangle "Sparse Attention\n(DSA, top-k)" as SA
  CC --> SA

  note bottom of SA
Λεπτομερής προσοχή (fine attention)
+ αραιή επιλογή (sparse selection)
  end note
}

rectangle "HCA\nHeavily Compressed Attention" as HCA #BBDEFB {
  rectangle "Ακραία συμπίεση\nm' >> m → 1" as ECC
  rectangle "Πυκνή προσοχή\n(residual)" as EDA
  ECC --> EDA

  note bottom of EDA
Συνολικό πλαίσιο
+ απομακρυσμένες συνδέσεις
  end note
}

rectangle "Σύντηξη\nυβριδική" as FUSION #FFF9C4
rectangle "Αποκωδικοποίηση\nσυνεκτική" as DEC #FFE0B2

KV --> CSA : Précision locale
KV --> HCA : Vision globale

CSA --> FUSION
HCA --> FUSION
FUSION --> DEC

@enduml

Δύο επίπεδα συμπίεσης, δύο επίπεδα λεπτομέρειας προσοχής:

  • CSAσυμπιέζει το KV cache όλα τα`m`tokens, και εφαρμόζει μια σπαρσική προσοχή (DeepSeek Sparse Attention) — μόνο τα top-k των συμπιεσμένων καταχωρισμών εξετάζονται. Ακριβής, τοπικός, αποδοτικός. - HCA: εκτρεμής σύμπιεση ( παράγοντας`m'`πολύ μεγαλύτερο από`m`), αλλά πυκνή προσοχή στο συμπιεσμένο υπόλοιπο — κρατήστε τις παγκόσμιες συνδέσεις χωρίς τετραγωνική έκκρεξη.

Αποτέλεσμα: σε 1M tokens, το DeepSeek-V4-Pro καταναλώνει μόνο27% των FLOPs της σύμπερασματος et 10% του μεγέθους του KV cacheσε σύγκριση με το DeepSeek-V3.2. Το προηγούμενο μοντέλο.

Επιπλέον, το τεχνικό αναφορά (Σχήμα 9) ανακοινώνει: "Retrieval performance remains highly stable within a 128K context window."

Sessions 1-8 : το άνεση

Έχω περάσει οκτώ συνεδρίες με το DeepSeek-V4-Pro σε`codebase-gradle`. Οκτώ συνεδρίες χωρίς και μια ψευδαίσθηση, χωρίς και μια εφευρεμένη κλάση, χωρίς και μια σύγχυση ονοματοδότησης.

Συνεδρία 1 : εφαρμογή του`CodebaseYmlConfig` et CodebaseYmlAnonymizer. 350 γραμμές Kotlin, ενσωματωμένα τεστ, όλα συνταγματίζονται. Συνεδρία 4: προσθήκη του`SnapshotManager`με tree view, συλλογή αρχείων, απόδοση AsciiDoc ανά αρχείο. 279 γραμμές, μηδενικό σφάλμα. Συνεδρία 7: αποσφαλμάτωση του`renderFileSection()`όποιος έπρεπε να διαχειρίζεται τέσσερις διαφορετικούς τύπους ανωνυμευτές χωρίς αβέβαιότητα της λύσης. Επιλύθηκε σε τρία μηνύματα.

Η καθυστέρηση είναι υψηλότερη από το Kimi — περίπου 10-12 δευτερόλεπτα ανά απάντηση σε τρόπο σκέψης. Αλλά ο ποσοστό διόρθωσης είναι σχεδόν μηδενικός. Δεν θα δαπανήσω χρόνο να διορθώνω τα λάθη του πράκτορα. Κωδικοποιώ με αυτόν.

Η αποφασιστική δοκιμή : αναδιοργάνωση σε 100K tokens

Στην 8η συνεδρία, το συσσωρευμένο περιβάλλον υπερβαίνει τα 100K tokens. Ζητώ ένα βαρύ refactoring: εξαγωγή των τεσσάρων εργασιών ελέγχου ενσωματωμένων από`build.gradle.kts`προς αρχεία ελέγχου JUnit5 σε`buildSrc/src/test/`.

Ο πράκτορας προτείνει ένα σχέδιο σε τρεις φάσεις:

  1. Δημιουργήστε τις κλάσεις δοκιμής με τη μεταφορά των υπάρχοντων περιπτώσεων

  2. Προσθήκη εξαρτήσεων JUnit5 και Kotest στο`buildSrc/build.gradle.kts`

  3. Διαγράψτε τον ενσωματωμένο κώδικα του`build.gradle.kts`

Το σχέδιο είναι σωστό. Η εκτέλεση είναι καθαρή. Υποδεικνύει ακόμα και μια περίπτωση άκρας που είχε παραβλέψει: οι διπλές εξαρτήσεις Jackson ανάμεσα`buildscript {}` et `buildSrc/build.gradle.kts`που πρέπει να ενωθούν κατά τη διάρκεια της μεταγωγής.

100K tokens του περιβάλλοντος, και ο πράκτορας θυμάται ότι`CodebaseYmlAnonymizer.TOKEN_MASK`είναι`"*"`, óτι`GitConfig.resolvedToken()είναι μιά επέκταση function ορισμένη σε`readme.kt, και ότι`SnapshotManager.PRUNED_DIRS`αποκλείει`build`, .gradle et .git.

.

Αυτό είναι, η διαφορά.

Πρόσωπο-πρόσωπο: Συγκριτικά Μέτρα

κριτήριο Kimi K2.6 GLM-5.1 DeepSeek-V4-Pro

Μέγιστο πλαίσιο

256K

200K

1M

Μηχανισμός προσοχής

MLA καθαρός

MLA + DSA

CSA + HCA υβριδικό

Συνολικοί παράμετροι

1T

744B

1.6T

Ενεργοποιημένες ρυθμίσεις

32B

μη δημοσιευμένο

49B

παρατηρούμενο όριο διαφθορής

~60K tokens

~120K διακριτικά

~128K διακριτικά

Συμπεριφορά πέρα

Μεγάλες οράσεις

Επιφανειακές συγκύψεις

διαφθορά προοδευτική αργή

Σταθερότητα NIAH

μη δημοσιευμένο

100% @128K (DSA)

σταθερό έως 128K (Εικόνα 9)

MRCR @128K

μη δημοσιευμένο

μη δημοσιευμένο

υπερτέρο από Gemini 3.1 Pro

Συνεδρίες που διεξήχθησαν πριν το αφήρημα

2

3

8 (συνεχίζει)

Χρόνος διόρθωσης / χρόνος κώδικα

60%

30%

<5%

Μέση λανθάνωση (mode think)

8 s

15 s

11 s

Συντελεστής εμπιστοσύνης*

2/10

6/10

9/10

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center

title Συγκριτικό Ραντάρ — 3 LLMs στην Υποβοηθούμενη Ανάπτυξη Λογισμικού
legend right
  |= Couleur |= Modèle |
  | <#FF5252> | Kimi K2.6 |
  | <#FFC107> | GLM-5.1 |
  | <#4CAF50> | DeepSeek-V4-Pro |
endlegend

rectangle " " as space #FFFFFF

rectangle "Συνοχή\n80K+ tokens" as coh #F5F5F5
rectangle "Ποιότητα\nκώδικα" as qual #F5F5F5
rectangle "Σκεπτική\nαρχιτεκτονική" as arch #F5F5F5
rectangle "Ανθεκτικότητα\nσε παραισθήσεις" as hall #F5F5F5
rectangle "Ταχύτητα\n(εμπειρία προγραμματιστή)" as speed #F5F5F5
rectangle "Γνώση\nGradle/Kotlin" as kg #F5F5F5
rectangle "Ποσοστό\nδιόρθωσης" as corr #F5F5F5

coh --> qual
qual --> arch
arch --> hall
hall --> speed
speed --> kg
kg --> corr

note top of coh
  Kimi      ████░░░░░░ 4/10
  GLM       ██████░░░░ 6/10
  DeepSeek  █████████░ 9/10
end note

note top of qual
Kimi      ███████░░░ 7/10 (κάτω από 60K)
GLM       ████████░░ 8/10
DeepSeek  █████████░ 9/10
end note

note top of arch
  Kimi      █████░░░░░ 5/10
  GLM       ███████░░░ 7/10
  DeepSeek  █████████░ 9/10
end note

note top of hall
  Kimi      ██████░░░░ 6/10 → ██░░░░░░░░ 2/10 (> 60K)
  GLM       ███████░░░ 7/10
  DeepSeek  █████████░ 9/10
end note

note top of speed
  Kimi      █████████░ 9/10
  GLM       ██████░░░░ 6/10
  DeepSeek  █████░░░░░ 5/10
end note

note top of kg
  Kimi      ███████░░░ 7/10
  GLM       ███████░░░ 7/10
  DeepSeek  █████████░ 9/10
end note

note top of corr
Kimi      ██░░░░░░░░ 2/10 (πολλές διορθώσεις)
GLM       █████░░░░░ 5/10
DeepSeek  ██████████ 10/10 (σχεδόν τίποτα προς διόρθωση)
end note

@enduml
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center

title Συγκριτικός ραντάρ — 3 LLMs στην υποστηριζόμενη ανάπτυξη λογισμικού
legend right
  |= Couleur |= Modèle |
  | <#FF5252> | Kimi K2.6 |
  | <#FFC107> | GLM-5.1 |
  | <#4CAF50> | DeepSeek-V4-Pro |
endlegend

rectangle " " as space #FFFFFF

rectangle "Συμφωνία\n80K+ tokens" as coh #F5F5F5
rectangle "Ποιότητα\nκώδικας" as qual #F5F5F5
rectangle "αρχιτεκτονικός συλλογισμός" as arch #F5F5F5
rectangle "Αντοχή\nυπνώσεις" as hall #F5F5F5
rectangle "Ταχύτητα\n(εμπειρία ανάπτυξης)" as speed #F5F5F5
rectangle "Γνώση\nGradle/Kotlin" as kg #F5F5F5
rectangle "Ποσοστό\nδιόρθωσης" as corr #F5F5F5

coh --> qual
qual --> arch
arch --> hall
hall --> speed
speed --> kg
kg --> corr

note top of coh
  Kimi      ████░░░░░░ 4/10
  GLM       ██████░░░░ 6/10
  DeepSeek  █████████░ 9/10
end note

note top of qual
  Kimi      ███████░░░ 7/10 (sous 60K)
  GLM       ████████░░ 8/10
  DeepSeek  █████████░ 9/10
end note

note top of arch
  Kimi      █████░░░░░ 5/10
  GLM       ███████░░░ 7/10
  DeepSeek  █████████░ 9/10
end note

note top of hall
  Kimi      ██████░░░░ 6/10 → ██░░░░░░░░ 2/10 (> 60K)
  GLM       ███████░░░ 7/10
  DeepSeek  █████████░ 9/10
end note

note top of speed
  Kimi      █████████░ 9/10
  GLM       ██████░░░░ 6/10
  DeepSeek  █████░░░░░ 5/10
end note

note top of kg
  Kimi      ███████░░░ 7/10
  GLM       ███████░░░ 7/10
  DeepSeek  █████████░ 9/10
end note

note top of corr
  Kimi      ██░░░░░░░░ 2/10 (beaucoup de corrections)
  GLM       █████░░░░░ 5/10
  DeepSeek  ██████████ 10/10 (presque rien à corriger)
end note

@enduml

Γιατί το DeepSeek-V4-Pro κέρδισε στην ανάπτυξη λογισμικού

Η υπεριοχικότητα του DeepSeek-V4-Pro δεν οφείλεται σε έναν μόνο παράγοντας — είναι μια σύγκλιση :

1. Η αρχιτεκτονική CSA+HCA είναι προσαρμοσμένη για τον κώδικα

Η βοηθούμενη ανάπτυξη λογισμικού είναι μια περίπτωση χρήσης extrême για τη μακροχρόνια προσοχή. Χρειάζεστε: - Τοπική ακρίβεια (από τι κληρονομεί αυτή η κλάση; που ορίζεται αυτή η μέθοδος;) →CSA - Όραμα παγκόσμιο (γιατί υπάρχει αυτό το module; πώς οι τέσσερις ανωνυμοποιητές αλληλεπιδρούν;) →HCA

Kimi με MLA μόνο χειρίζεται την τοπική ακρίβεια αλλά χάνει την παγκόσμια όραση πέρα από 60K. GLM με DSA βελτιώνει την παγκόσμια όραση αλλά παραμένει μονοεπίπεδο. DeepSeek συνδυάζει και τα δύο ρητά.

2. Το περιβάλλον EAGER είναι η ζώνη του άνεσho

Το σύστημα διακυβέρνησης μου φορτώνει περίπου 30K tokens κανόνων και backlog κατά την εκκίνηση. Με ένα σταθερό παράθυρο έως 128K tokens, το DeepSeek διαθέτει περίπου 100K tokens ως διαθέσιμο χώρο για τις ανταλλαγές της συνεδρίας. Αυτό είναι 3‑4 φορές περισσότερο από το ότι το Kimi μπορεί να διαχειριστεί χωρίς υποβάθμιση.

_ Το παράθυρο 128K της τέλειας σταθερότητας ταιριάζει ακριβώς με τις ανάγκες μου: 30K EAGER + 70K ανταλλαγών = μια παραγωγική συνεδρία 20-30 μηνυμάτων χωρίς ποτέ να βγω από την πράσινη ζώνη. _

3. Ο λόγος ποιότητας/υποχρονισμού είναι βέλτιστος για τη ροή

Ναι, το DeepSeek-V4-Pro είναι πιο αργό από το Kimi (11s vs 8s). Αλλά ο χρόνος συνολικός μιας εργασίας είναι πολύ μικρότερος επειδή δεν δαπανώ 20 λεπτά να διορθώνω τις ψευδαίσθησεις του πράκτορα.

Ο προγραμματιστής δεν μετράει την(latency) απάντησης. Μετράει τον χρόνο μεταξύ του "θέτω την ερώτηση" και του "ο κώδικας είναι στο αποθετήριο μου και λειτουργεί". Σύμφωνα με αυτή τη μετρική, το DeepSeek-V4-Pro είναι το πιο γρήγορο από τα τρία.

Μάθηματα που Έμαθαν : Πώς να Επιλέξετε το LLM σας για το Vibe Coding

Πέρα από την τακτική ταξινόμηση, αυτή η εμπειρία μου έδιδαξε να αξιολογώ ένα LLM για τη βοηθούμενη ανάπτυξη λογισμικού με βάση κριτήρια που δεν εμφανίζονται σε κανένα benchmark:

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 260

title Δέντρο Απόφασης — Επιλογή του LLM για Βοηθούμενη Ανάπτυξη
start

:Contexte initial\n> 20K tokens ?;

if (Oui) then
  :Architecture d'attention\nhybride ou multi-niveau ?;

  if (CSA+HCA) then
    :DeepSeek-V4-Pro
    Fenetre stable 128K
    Ideal pour gouvernance EAGER;
    stop
  elseif (MLA + DSA) then
    :GLM-5.1
    Correct jusqu'a ~120K
    Latence elevee;
    stop
  else (MLA seul)
    :Kimi K2.6 (sessions courtes)
    ou eviter pour long contexte
    Chercher un modele avec
    sparse attention;
    stop
  endif
else (Contexte < 20K)
  :N'importe lequel fonctionne.
  Privilegier la latence.;
  stop
endif

@enduml
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam wrapWidth 260

title Δέντρο απόφασης — Επιλέξτε το LLM σας για τη βοηθομένη ανάπτυξη
start

:Contexte initial\n> 20K tokens ?;

if (Oui) then
  :Architecture d'attention\nhybride ou multi-niveau ?;

  if (CSA+HCA) then
    :DeepSeek-V4-Pro
    Fenetre stable 128K
    Ideal pour gouvernance EAGER;
    stop
  elseif (MLA + DSA) then
    :GLM-5.1
    Correct jusqu'a ~120K
    Latence elevee;
    stop
  else (MLA seul)
    :Kimi K2.6 (sessions courtes)
    ou eviter pour long contexte
    Chercher un modele avec
    sparse attention;
    stop
  endif
else (Contexte < 20K)
  :N'importe lequel fonctionne.
  Privilegier la latence.;
  stop
endif

@enduml

Και ο Πρακτορής Διοίκησης σε όλο αυτό;

Αυτή η εμπειρία επιβεβαιώνει ένα ζητούμενο που υπερασπίζομαι από το άρθρο μου για την διακυβέρνηση Eager/Lazy :Η ποιότητα του LLM και η ποιότητα της διακυβέρνησης είναι πολλαπλασιαστικές, όχι προσθετικές.

Με το Kimi K2.6, η διακυβέρνησή μου ήταν άμεμπτη — αλλά το μοντέλο διάλλασσε την πληροφορία. Αποτέλεσμα: τέλεια διακυβέρνηση × ψεύτικη αντίληψη = μηδέν.

Με το DeepSeek-V4-Pro, η διακυβέρνηση EAGER (30K tokens κανόνων) + LAZY (αρχέματα Sessions, τεχνικές αναφορές) + Hot/Warm/Cold (περιστροφικό backup) δημιουργεί ένα οικοσύστημα όπου κάθε στρώση ενισχύει την άλλη. Ο πράκτορας έχει τα κανόνια μπροστά του (EAGER), μπορεί να διαβάσει το ιστορικό (LAZY), και το περιβάλλον δεν γεμίζει ποτέ (περιστροφή backup).

_ Ένας καλός LLM χωρίς διακυβέρνηση είναι σαν ένα κινητήρα της Ferrari χωρίς στενάδα. Μια καλή διακυβέρνηση χωρίς καλόν LLM είναι σαν ένα στενάδα χωρίς κινητήρα. DeepSeek-V4-Pro + ο παράγοντας μου διακυβέρνησης = η πρώτη φορά που έχω την εντύπωση ότι οδηγώ. _

Ο μηχανισμός περιστρεφόμενου αντιγράφου ασφαλείας (περιστροφή κάθε 10 συνεδρίες ή >500 γραμμές EAGER) λαμβάνει πλήρη νόημα με ένα μοντέλο που κρατά 128K του περιβάλλοντος: το παράθυρο sliding window των 10 ενεργών συνεδριών διατηρεί το πλαίσιο ενημερωμένο, χωρίς ποτέ να υπερβαίνει την ζώνη υποβάθμισης.

Τεχνικές Πηγές

Συνέβαλα την εμπειρική μου εμπειρία με τις επίσημες τεχνικές αναφορές για να επαληθεύσω τις παρατηρήσεις μου :

  1. DeepSeek-V4 Technical Report — PDF ανακτήθηκε απόhttps://huggingface.co/deepseek-ai/DeepSeek-V4-Flash[HuggingFace]. Σχήμα 9 : "Retrieval performance remains highly stable within a 128K context window. While a performance degradation becomes visible beyond the 128K mark, the model’s retrieval capabilities at 1M tokens remain remarkably strong." Η αρχιτεκτονική CSA+HCA τεκμηριωμένη ενότητα 2.3.

  2. Τεχνική Έκθεση GLM-5 —https://arxiv.org/abs/2602.15763[arXiv:2602.15763]. DSA εισάγεται vía συνεχούς προ-εκπαίδευσης, "lossless by construction". Μέγιστο όριο 202,752 διακριτικών. Οι πίνακες 3/5/6 καταγράφουν τις απόδοσεις σε μεγάλο περιβάλλον σε σύγκριση με τις εναλλακτικές (SWA, Gated DeltaNet, SimpleGDN).

  3. Κάρτα μοντέλου Kimi K2.6 —https://huggingface.co/moonshotai/Kimi-K2.6[HuggingFace]. MLA, 256K μέγιστο περιβάλλον. Στρατηγική discard-all πέρα από το όριο σε τις εργασίες agentικές (επιβεβαιώνοντας implicitamente το πρακτικό όριο του MLA σε μεγάλο περιβάλλον).

  4. Kimi K2 Τεχνική Έκθεση —https://arxiv.org/abs/2507.20534[arXiv:2507.20534]. Αρχιτεκτονική MoE, βελτιστοποιητής MuonClip, αгентικές επιδόσεις (HLE, BrowseComp, Terminal-Bench).

Το πιο αποκαλυπτικό σημείο: στην δική τους αξιολόγηση, ο Moonshot εφαρμόζει μια στρατηγική discard-all (διαγραφή του παλαιού περιβάλλοντος) άμεσα όταν υπερβαίνεται το παράθυρο περιβάλλοντος. Αυτό επιβεβαιώνει ακριβώς αυτό που έχω παρατηρήσει: ο MLA μόνο του δεν μπορεί να διατηρήσει τη συνέπεια σε όλο το παράθυρο 256K. Η αρχιτεκτονική δεν το ακολουθεί.

Συμπέρασμα: Η Επιλογή του Τεχνίτη

Μετά από τρεις εβδομάδες και δεκατρείς συνεδρίες πραγματικής ανάπτυξης, το απόφαση είναι ανυπόκλito :

Kimi K2.6 GLM-5.1 DeepSeek-V4-Pro

Εξαιρετικό υπό 60K

Σταθερό έως 120K

Domine παντού

Μη χρήσιμος πέρα από

Επιφανειακές σύγχυσεις

σταθερό μέχρι 128K

2 συνεδρίες, αφήρμοσμένο

3 σένασες, μπαλνδονισ Membrane

8 συνεδρίες, αποδεκτός

Το DeepSeek-V4-Pro έγινε το προεπιλεγμένο LLM μου για όλες τις συνεδρίες βοηθουμενής ανάπτυξης λογισμικού με το Opencode. Δεν επειδή είναι το πιο πρόσφατο. Δεν επειδή έχει τα καλύτερα ακαδημαϊκά benchmarks. Αλλά επειδή στην πραγματική ζωή ενός προγραμματιστή που προσθέτει plugins Gradle Kotlin DSL με ένα context agent 30K tokens, είναι ο μοναδικός που δεν me προδοτεί όταν το context αυξάνεται.

Το CSA+HCA είναι ένας game changer αρχιτεκτονικός. Η διπλή επίπεδη συμπίεση + sparsification δεν είναι μια λεπτομέρεια υλοποίησης — είναι αυτό που κάνει τη διαφορά μεταξύ ενός βοηθού κώδικα και eines αξιόπιστου συμμαχού.



Σχετικά άρθρα