Papatzis Spotter: Η Επιστήμη πίσω από το 'Zero-AI' Detection

PUBLISHED: 2026-04-234 MIN READ

Current Session Stats

Panic Level: 10%
Caffeine
8 cups
⏱️
Time Spent
hours

Στο Ελληνικό Ανοικτό Πανεπιστήμιο (ΕΑΠ), όπως και σε κάθε σύγχρονη σχολή πληροφορικής, ζούμε πλέον στην εποχή του AI Slop. Είναι εκείνο το κύμα κώδικα "χαμηλής προσπάθειας" που κατακλύζει τα repositories. Κώδικας που φαίνεται τέλειος, που τρέχει με την πρώτη, αλλά που στερείται οργανικής "ανθρώπινης" λογικής.

Κάπως έτσι γεννήθηκε η ιδέα για το Papatzis Spotter.

Ο τίτλος δεν είναι τυχαίος. Συμβολίζει την ψηφιακή "ταχυδακτυλουργία" των LLMs: παράγουν κώδικα που σε μαγεύει στην επιφάνεια, αλλά αν κοιτάξεις λίγο πιο προσεκτικά κάτω από το τραπέζι, θα δεις ότι ο "παπατζής" απλά μετακινεί τα bytes με στατιστική ακρίβεια, χωρίς πραγματική κατανόηση.

Η Ευκαιρία: Σπάζοντας το AI-Paradox

Σήμερα, οι περισσότεροι προσπαθούν να ανιχνεύσουν την AI χρησιμοποιώντας... άλλη μία AI. Αυτό είναι το AI-Paradox: ένα κυνήγι του ποντικιού με τη γάτα, όπου το ένα νευρωνικό δίκτυο προσπαθεί να ξεγελάσει το άλλο.

Το Papatzis Spotter ακολουθεί μια διαφορετική, Pure Science προσέγγιση:

  1. Static Analysis vs Neural Networks: Χρησιμοποιούμε ντετερμινιστική στατική ανάλυση αντί για μαύρα κουτιά (LLMs).
  2. Privacy First (Hybrid Offline): Ο κώδικας δεν φεύγει ποτέ από το μηχάνημα. Η ανάλυση γίνεται τοπικά.
  3. Quality Enforcement: Δεν είναι μόνο ένας αστυνόμος, αλλά ένα εργαλείο που "εμβολιάζει" τους AI agents με κανόνες ποιότητας μέσω του PapatzoSkill.
ℹ️Zero-AI Detection

Η φιλοσοφία μας είναι απλή: Αν το AI αφήνει μαθηματικά ίχνη, μπορούμε να τα βρούμε με μαθηματικά, όχι με προβλέψεις.

Η Λογική της Ανίχνευσης: Η "Γεωμετρία" του Κώδικα

Η ανίχνευση βασίζεται σε τρεις κύριους πυλώνες, όπως ορίζονται στο logic model του project:

Α. Δομική Ανάλυση (AST-Based)

Χρησιμοποιώντας τη μηχανή Tree-Sitter, αναλύουμε το Abstract Syntax Tree του κώδικα. Το AI τείνει να παράγει "στατιστικά τέλειες" κατανομές.

  • Node Frequency Distribution: Αναζητούμε κατανομές εντολών που θυμίζουν υπερβολικά τα "textbook" παραδείγματα πάνω στα οποία εκπαιδεύτηκαν τα μοντέλα.
  • Depth Variance: Ο άνθρωπος παράγει ακανόνιστο βάθος στις δομές του (nesting). Το AI τείνει προς μια ομοιόμορφη, "επίπεδη" πολυπλοκότητα που "βγάζει νόημα" στατιστικά αλλά όχι απαραίτητα αρχιτεκτονικά.

Β. Στατιστικά Σήματα & Εντροπία

  • Shannon Entropy: Υπολογίζουμε την πληροφοριακή εντροπία ανά block. Η χαμηλή εντροπία σημαίνει υψηλή προβλεψιμότητα — ένα ισχυρό σήμα ότι ο κώδικας παράχθηκε από ένα μοντέλο πιθανοτήτων.
  • Burstiness (Μεταβλητότητα): Η ανθρώπινη γραφή είναι "εκρηκτική". Έχουμε μεγάλες διακυμάνσεις στο μήκος των εντολών και στον ρυθμό παραγωγής. Το AI έχει έναν σταθερό, flat ρυθμό.

Γ. Το "Chaos Factor"

Αναζητούμε το ανθρώπινο χάος:

  • Style Drift: Ο άνθρωπος κουράζεται, αλλάζει γνώμη, ή βελτιώνει το στυλ του μέσα στο ίδιο project. Το AI διατηρεί μια αφύσικη, απόλυτη συνέπεια σε 100+ αρχεία.
  • Cursed Code: Αναγνωρίζουμε τοπικούς ιδιωματισμούς, χιούμορ στις ονοματολογίες ή "βρώμικες" αλλά έξυπνες λύσεις που ένα LLM (εκπαιδευμένο σε αποστειρωμένα documentation) θα απέφευγε "ευγενικά".

Η Αρχιτεκτονική (The Layered Model)

Για να πετύχουμε ταχύτητα και ασφάλεια, χτίσαμε ένα μοντέλο τριών επιπέδων:

  1. React Frontend: TypeScript + Vite + Zustand για ένα ταχύτατο UI που περιλαμβάνει τον Monaco Editor.
  2. Tauri Shell: Η γέφυρα σε Rust που διαχειρίζεται την ασφαλή επικοινωνία με το σύστημα (IPC).
  3. Python Sidecar: Η καρδιά της μηχανής. Ένα standalone executable που περιέχει τις βιβλιοθήκες Tree-Sitter, Numpy και Scipy για τους βαριούς στατιστικούς υπολογισμούς.
slop_scan_output
$

papatzis scan ./src [INFO] Initializing Tree-Sitter parser... [INFO] Analyzing 42 files... [WARN] High Uniformity detected in 'auth_service.py' (Score: 0.82) [WARN] Low Entropy signals in 'data_transformer.py' [SUCCESS] Scan complete.

Overall Slop Score: 68% (Suspected AI Slop)

Το Σύστημα Βαθμολόγησης (Weighted Score)

Το τελικό Slop Score δεν είναι μια τυχαία πρόβλεψη, αλλά το αποτέλεσμα μιας σταθμισμένης ανάλυσης:

  • 25% AST Uniformity: Δομική "τελειότητα".
  • 20% Entropy Signals: Προβλεψιμότητα tokens.
  • 20% Project Drift: Έλλειψη διαφοροποίησης μεταξύ modules.
  • 20% Naming & Patterns: Generic ονοματολογία.
  • 15% Comment Intensity: Επεξηγήσεις τύπου "Wikipedia" που κανείς άνθρωπος δεν θα έγραφε για τον εαυτό του.

Συμπέρασμα: Η Μαστοριά της Πρόθεσης

Το Papatzis Spotter δεν είναι απλώς ένας "αστυνόμος" κώδικα. Είναι ένα εργαλείο που προασπίζεται την πρόθεση (intentionality) και τη μαστοριά στον προγραμματισμό.

Σε έναν κόσμο που η AI μπορεί να παράγει άπειρα bytes, η αξία μας δεν βρίσκεται στο πόσο κώδικα "βγάζουμε", αλλά στην ικανότητά μας να χτίζουμε λύσεις με χαρακτήρα, δημιουργικότητα και —ναι— λίγο ανθρώπινο χάος.

Αναγκάζοντας τόσο τους ανθρώπους όσο και την AI να ξεπεράσουν τον "στατιστικό μέσο όρο", επιστρέφουμε στην εποχή του πραγματικού Engineering.

Μην γίνεσαι παπατζής. Γίνε αρχιτέκτονας.