Megathread για την AI

Ξέμεινες από επιχειρήματα, φίλε;
Ενημέρωσέ με αν χρειάζεσαι ακόμα βοήθεια με τη μεταφορά του φόρουμ πάντως…

Θεωρήστε την προηγούμενη σημείωση ως επίσημη προειδοποίηση. Αυτή η στάση και τέτοιου είδους εκφράσεις δεν είναι ανεκτές εδώ.

Λοιπόν, έτεινα κλάδο ελαίας και ζήτησα συγγνώμη για τις προσωπικές επιθέσεις, αλλά αντιμετωπίστηκα με χλευασμό. Οπότε, αυτά…

Αν και θα λυπόμουν αν αποκλειόμουν από αυτό το φόρουμ (για την ακρίβεια, ετοιμαζόμουν να υποβάλω διορθώσεις για ανακρίβειες στις σελίδες ASIC - CPCWiki, τις οποίες εντόπισα χάρη στην TN γράφοντας τον πυρήνα FPGA για το GX4000), εκτιμώ ακόμη περισσότερο το να λέω την αλήθεια. Προφανώς δεν είμαι δεινός διπλωμάτης και μετά χαράς θα ηρεμούσα τα πνεύματα, αλλά δεν πρόκειται να κάνω πίσω στα γεγονότα γύρω από ένα θέμα που γνωρίζω αρκετά καλά. Αν θεωρείτε ότι αυτό αποτελεί πρόβλημα, δεν μπορώ να σας εμποδίσω να κάνετε τα δικά σας ως διαχειριστές…

Παρεμπιπτόντως, μπορεί να βρείτε ή να μην βρείτε σχετικές με το θέμα τις σημερινές ειδήσεις:

Ο πυρήνας του Linux καταργεί την απαίτηση επισήμανσης υποβολών κώδικα που δημιουργήθηκαν από TN.

Τους τελευταίους 10 μήνες, είμαστε σε θέση να παρακολουθούμε τον αυξανόμενο ρυθμό συγγραφής κώδικα μέσω TN στον πυρήνα (με πάνω από το 20% όλων των υποβολών κώδικα να έχει παραχθεί από TN, μέχρι στιγμής τον Οκτώβριο)… το γνωρίζουμε αυτό χάρη στην απαιτούμενη ετικέτα TN «Assisted-by» του πυρήνα.

Με την κατάργηση αυτής της απαίτησης, δεν θα μπορούμε πλέον να παρακολουθούμε αποτελεσματικά το επίπεδο ανάπτυξης μέσω TN εντός του Linux.

Αυτή η αλλαγή συμφωνήθηκε (από την πλειονότητα των προγραμματιστών του πυρήνα) στο Linux Maintainers Summit, που πραγματοποιήθηκε την περασμένη εβδομάδα στην Πράγα.

Οι αναφερόμενοι λόγοι για την κατάργηση της απαίτησης «δήλωσης TN» ποικίλλουν, αλλά συνοψίζονται σε αυτά τα τρία επιχειρήματα:

  1. Η χρήση της TN για τη συγγραφή κώδικα στον πυρήνα του Linux γίνεται τόσο διαδεδομένη, που η δήλωσή της περιττεύει. (Ένας προγραμματιστής το παρομοίασε με το να δηλώνεις ποιον επεξεργαστή κειμένου χρησιμοποίησες.)

  2. Οι προγραμματιστές του πυρήνα του Linux θεωρούν ότι οι περισσότεροι προγραμματιστές που χρησιμοποιούν TN… έτσι κι αλλιώς δεν ακολουθούν στην πράξη τον κανόνα της επισήμανσης των υποβολών τους ως τέτοιες.

  3. Άλλοι προγραμματιστές θεωρούν ότι αποτελεί «δωρεάν διαφήμιση» για διάφορες πλατφόρμες TN.

Αυτή η αλλαγή δεν έχει ενσωματωθεί (merged) επίσημα ακόμα, αλλά (δεδομένου ότι έχει ήδη συμφωνηθεί και φαίνεται να έχει την υποστήριξη κορυφαίων συντηρητών στο Linux Foundation) αναμένεται να συμβεί σύντομα.

Κανένας χλευασμός· και, για την ακρίβεια, τα λόγια σου αμέσως μετά από αυτόν τον «κλάδο ελαίας» έδειξαν πόσο ειλικρινής ήσουν. Αν μη τι άλλο, μπορείς πάντα να κάνεις αναφορά/επισήμανση σε μια προσβλητική ανάρτηση.

Μιας και μιλάμε για κλάδους ελαίας: φαντάζομαι ότι γνωρίζεις ελάχιστα για το θέμα, αλλά η προσφορά κλάδου ελαίας στην αρχαία Ελλάδα σταματούσε την άμεση βία, δεν χορηγούσε όμως ασυλία, δεν συγχωρούσε κάποιο έγκλημα ούτε ανάγκαζε μια πόλη να παραχωρήσει την ιδιότητα του πολίτη. Επιπλέον, σύμφωνα με το εθιμικό δίκαιο (Δράκων/Σόλων), η προσφορά του προστάτευε έναν δολοφόνο από την άμεση εκδίκηση, αλλά δεν τον απάλλασσε από περαιτέρω επίσημη τιμωρία.

Με άλλα λόγια, το να λες «ουπς, συγγνώμη» δεν σημαίνει απολύτως τίποτα όταν δεν το εννοείς και συνεχίζεις με την ίδια συμπεριφορά.

Τέλος, φαίνεται να πιστεύεις ότι πρέπει να είναι κανείς διπλωμάτης για να μην γίνεται προσβλητικός ή να μην καταφεύγει σε ευθείες προσβολές. Ε λοιπόν, σου έχω νέα…

Υ.Γ. Η αναλογία με τον πυρήνα Linux είναι γελοία. Δεν είναι ότι υπάρχει κάποιο αποθετήριο με πολλαπλούς πυρήνες που μπορεί να δοκιμάσει κανείς και ίσως θέλει να μάθει αν έχουν γραφτεί στο περίπου («vibe coded») ή όχι.

2 «Μου αρέσει»

reno08, από την πλευρά μου, θέλω απλώς να ζητήσω συγγνώμη αν κάτι από όσα είπα σε πρόσβαλε.

1 «Μου αρέσει»

Για ό,τι αξίζει, εμμένω απόλυτα στον ισχυρισμό ότι η τεχνητή νοημοσύνη είναι σαν να έχεις junior προγραμματιστές (ή ακόμα και μια ομάδα από junior προγραμματιστές) που μπορούν να δουλεύουν πάρα πολύ γρήγορα. Και δεν νομίζω ότι οι προσπάθειες γύρω από τον πυρήνα του Linux (Linux Kernel) αλλάζουν αυτό το δεδομένο.

Ένας καλός επικεφαλής ομάδας, που κρατάει γερά το τιμόνι, μπορεί να πάρει πολλή και πραγματικά χρήσιμη δουλειά ακόμα και από εντελώς junior προγραμματιστές. Αυτό απαιτεί επιμέλεια, προσεκτικό έλεγχο των παραδοτέων και διασφάλιση ότι οτιδήποτε είναι χαμηλής ποιότητας εντοπίζεται γρήγορα και ξαναγράφεται όπως χρειάζεται. Αυτές είναι ακριβώς οι ίδιες δεξιότητες που απαιτούνται για να αξιοποιήσεις στο έπακρο την τεχνητή νοημοσύνη.

Αν, από την άλλη, αφήσεις απλώς την τεχνητή νοημοσύνη να κάνει ό,τι θέλει χωρίς έλεγχο και δεν κάνεις τίποτα περισσότερο από το να της δίνεις ασαφείς οδηγίες, θα καταλήξεις με έναν αχταρμά κώδικα που ίσα-ίσα λειτουργεί, για τον οποίο είναι απίστευτα δύσκολο να καταλάβεις πώς δουλεύει και μοιάζει περισσότερο με κακοαντιγραμμένα παραδείγματα από το Stack Overflow. Ακριβώς δηλαδή όπως θα γινόταν με μια ομάδα juniors χωρίς επίβλεψη.

Και αν νομίζεις ότι είμαι κατά του AI, τότε μάλλον δεν παρακολουθείς αυτή τη συζήτηση και τόσο πολύ ή τόσο προσεκτικά.

6 «Μου αρέσει»

Θα συμφωνήσω 100% με όσα είπε ο @AndyCadley.

1 «Μου αρέσει»

Ενδιαφέρουσα… άποψη;

1 «Μου αρέσει»

Για να είμαι ειλικρινής, μοιάζει με μια μάλλον αναπόφευκτη συνέπεια. Δεν είμαι σίγουρος, πάντως, αν έχει πραγματικά σημασία το αν είναι ανοιχτού ή κλειστού κώδικα. Η τεχνητή νοημοσύνη έχει γίνει τόσο καλή στην αποσυμβολαιοποίηση κώδικα (disassembly) και τη μετατροπή του ξανά σε πηγαίο κώδικα, που αυτή η διάκριση δεν υφίσταται απαραίτητα πλέον.

Θα έχει ενδιαφέρον να δούμε αν θα φτάσει στις δικαστικές αίθουσες, επειδή ολόκληρη η ιδέα μιας επανυλοποίησης τύπου «καθαρού δωματίου» (clean room reimplementation) μεταξύ συντονισμένων πρακτόρων τεχνητής νοημοσύνης (AI agents) έχει τη δυναμική να αυτοματοποιήσει την κλωνοποίηση λογισμικού σε μαζική κλίμακα, με τρόπο που δεν μπορούσαμε καν να διανοηθούμε μέχρι τώρα.

2 «Μου αρέσει»

Λοιπόν, ο ιστότοπος που αναρτήθηκε παραπάνω είναι περισσότερο ένα σαρκαστικό σχόλιο παρά κάτι πραγματικό, ωστόσο σατιρίζει μια πιθανή πραγματικότητα για την οποία ίσως πρέπει να προετοιμαζόμαστε. Θα σημάνει η τεχνητή νοημοσύνη (και η «μέγιστη απελευθέρωση» που τη συνοδεύει) το τέλος του λογισμικού ανοιχτού κώδικα (Open Source), για παράδειγμα;

2 «Μου αρέσει»

Φαντάζομαι ότι το ίδιο θα ισχύσει και για τις παραγωγές CPC.

Και τις τελευταίες εβδομάδες, με τις τόσες κυκλοφορίες που εμφανίζονται, συχνά δεν ξέρω τι να σκεφτώ γι’ αυτό. Βλέπω πολλά πραγματικά ενδιαφέροντα PoCs ή υποσχόμενα παιχνίδια που είναι ξεκάθαρα TN — αλλά παρ’ όλα αυτά μου αρέσουν ή τα βρίσκω ενδιαφέροντα — και αυτό συνήθως συνδέεται με κάποιου είδους ουσιαστική προσπάθεια που καταβάλλει ο developer. Αυτό δεν σημαίνει απαραίτητα κώδικα Z80 ή γραφικά στο χέρι — αλλά κάποιο είδος «φροντίδας».

Και μετά, υπάρχουν παραγωγές που «κυκλοφορούν» και στο δευτερόλεπτο που τις βλέπω, τις ακούω — και τις παίζω, εκνευρίζομαι, καθώς είναι προφανές ότι πρόκειται απλώς για ό,τι ξέρασε η TN χωρίς καμία απολύτως φροντίδα.

Η TN θα χρησιμοποιείται στη συντριπτική πλειονότητα των κυκλοφοριών, οπότε το να της βάλουμε μια ετικέτα πιθανότατα δεν θα βοηθήσει, καθώς είναι ούτως ή άλλως ο κανόνας.

Ίσως χρειάζεται να επισημαίνουμε εκείνες τις παραγωγές που γίνονται χωρίς αυτήν, π.χ. μια ετικέτα «χειροποίητο» («hand crafted») για παραγωγές που δεν χρησιμοποιούν καθόλου ή τουλάχιστον καθόλου άμεση υποστήριξη από TN.

Και νομίζω ότι θα έπρεπε να επισημαίνουμε εκείνες τις κυκλοφορίες που γίνονται με ελάχιστη φροντίδα και προσπάθεια — και καμία πρόθεση για διόρθωση. Τους αξίζει η ετικέτα «σκουπίδια TN» («AI slop»).

Μου φαίνεται αρκετά προφανές. Το να χρησιμοποιείται η τεχνητή νοημοσύνη (AI) ως εργαλείο ανάπτυξης είναι μια χαρά. Το να χρησιμοποιείται όμως για να αναπτύξει εξ ολοκλήρου ένα παιχνίδι ή για να πασάρει σωρηδόν πράγματα στο σύστημα, όχι.

Η AI είναι πραγματικά καλή στην ταξινόμηση, στους μαθηματικούς υπολογισμούς και στις τετριμμένες εργασίες. Δεν υπάρχει λόγος να πρέπει να το δηλώνεις αυτό, όπως δεν χρειάζεται να δηλώνεις ότι χρησιμοποίησες ένα εργαλείο μετατροπής sprites. Είναι απλώς άλλο ένα εργαλείο προγραμματισμού.

Αλλά το να πασάρεις έτσι απλά παιχνίδια του Master System στο σύστημα; Το να παράγεις κώδικα χωρίς να έχεις την παραμικρή ιδέα για το πώς λειτουργεί; Το να φτιάχνεις ένα παιχνίδι χωρίς να αγγίξεις ούτε μία γραμμή κώδικα;

Η μεγαλύτερη ανησυχία μου είναι ότι ιστότοποι όπως το CPC Power θα πλημμυρίσουν από άθλια ports αντί για δουλειές στις οποίες ο κόσμος έχει πραγματικά καταβάλει κόπο.

Νόμιζα ότι ο κόσμος προγραμμάτιζε σε αυτά τα μηχανήματα επειδή οι καθημερινές του δουλειές στον προγραμματισμό τον απομάκρυναν τόσο πολύ από το hardware. Αλλά ο προγραμματισμός μέσω AI είναι ό,τι πιο μακριά από το hardware μπορεί να φτάσει κανείς.

7 «Μου αρέσει»

Αυτή είναι και η δική μου σκέψη — για το μέλλον.

Είναι ζήτημα αντίληψης και όχι αυστηρών, φυσικών ορίων. Επομένως, εάν και όταν συνηθίσουμε την τεχνητή νοημοσύνη, μπορούμε να αλλάξουμε τα πράγματα.

1 «Μου αρέσει»

Ο Linus Torvalds παρενέβη ξανά και ρίχνει λίγο ακόμα λάδι στη φωτιά.

Ούτε Αυτός μπορεί να έχει πάντα δίκιο

(και αυτή είναι μια ολοφάνερα ηλίθια ανάρτηση από μέρους του, αγνοώντας σκόπιμα την ουσία και πέφτοντας στην κλασική πλάνη ad absurdum)

1 «Μου αρέσει»

Το κακό είναι —κατά την άποψή μου— ότι αυτό δεν είναι μόνο σάτιρα, αλλά και ένα επιχειρηματικό μοντέλο που θα μπορούσε πραγματικά να λειτουργήσει. Ο αντίκτυπος δεν θα πλήξει μόνο το ανοιχτό λογισμικό, αλλά και την προσεκτική ανάπτυξη του κλειστού λογισμικού. Μετά από λίγο καιρό, κανείς δεν θα καταβάλλει προσπάθεια που περνά απαρατήρητη ή μένει απλήρωτη, και το μόνο που θα απομείνει θα είναι προχειροδουλειές και σκουπίδια (slop).

Συμφωνώ, αυτή η ανάρτηση είναι (ως επί το πλείστον) ανοησίες. Δώσε σε έναν άσχετο έναν επεξεργαστή κειμένου και δεν θα καταφέρει τίποτα. Δώσε του έναν μεταγλωττιστή και πάλι δεν θα καταφέρει τίποτα. Δώσε του ένα περιβάλλον ανάπτυξης (IDE) με αυτόματη συμπλήρωση χωρίς Τεχνητή Νοημοσύνη και πάλι δεν θα καταφέρει τίποτα. Δώσε του όμως έναν πράκτορα ΤΝ (AI agent), και μπορεί να παράγει αποτελέσματα που με την πρώτη ματιά φαίνονται καλά, αλλά περιέχουν σφάλματα και κερκόπορτες (backdoors) σε ένα από τα πιο κρίσιμα για την ασφάλεια μέρη του λογισμικού.

Η Τεχνητή Νοημοσύνη μάλλον βοηθά έναν ειδικό, αλλά βοηθά επίσης και κάποιον με ελάχιστη κατανόηση της υποκείμενης τεχνολογίας να το παίζει ειδικός.

Για να είμαι δίκαιος, θέλω επίσης να παραθέσω μια σημαντική πρόταση από αυτή την ανάρτηση:

Η προσδοκία που έχω είναι ότι οι άνθρωποι […] κατανοούν τι κάνουν.

Η προσδοκία είναι καλή, αλλά η επαλήθευση θα ήταν καλύτερη. Η Τεχνητή Νοημοσύνη το περιπλέκει αυτό.

2 «Μου αρέσει»

Είσαι σίγουρος ότι ο Linus είπε αυτό που υπονοείται εδώ;

Το Linux εστιάζει σε ικανά άτομα, σωστά; Επομένως, το «δώσε σε έναν άσχετο» δεν είναι αυτό για το οποίο μιλάει.

Μήπως μιλάει για μια άλλη κατάσταση; «Δώσε σε ένα ικανό άτομο…»:

  • έναν επεξεργαστή κειμένου → μπορεί να επεξεργαστεί κώδικα ASM, καλύτερα από το να γράφει χωρίς επεξεργασία
  • έναν μεταγλωττιστή (compiler) → μπορεί να γράψει κώδικα υψηλού επιπέδου, πιο παραγωγικά από ό,τι σε ASM
  • ένα IDE → μπορεί να είναι πιο παραγωγικό από ό,τι με έναν απλό συνδυασμό επεξεργαστή+μεταγλωττιστή
  • έναν πράκτορα AI (AI agent) → μπορεί να είναι πιο παραγωγικό, αναθέτοντας τη βαρετή δουλειά στην AI διατηρώντας παράλληλα τον έλεγχο (μαθαίνουμε πώς να το κάνουμε αυτό, και μερικοί άνθρωποι το κάνουν πολύ άσχημα)

Δεν είναι το νόημα του Linus ότι η AI μπορεί να βοηθήσει ικανούς προγραμματιστές να δημιουργήσουν καλύτερο κώδικα;

Ναι, και βλέπω δύο πρακτικά ζητήματα:

  • Ένα άγνωστο άτομο έρχεται και δείχνει πράγματα. Προηγουμένως, μόνο ένα σχετικά ικανό άτομο μπορούσε να δείξει μη τετριμμένο λογισμικό. Τώρα που η AI καθιστά εύκολο για οποιονδήποτε να παρουσιάσει πράγματα, είναι πιο δύσκολο να κρίνεις αν το άτομο ήξερε τι έκανε.
  • Η αξιολόγηση κώδικα (code review) είναι δύσκολη και χρονοβόρα. Τώρα που η AI καθιστά εύκολη τη δημιουργία μεγάλου όγκου κώδικα, η ικανότητα αξιολόγησης έχει καταστεί ανεπαρκής, είναι πιο δύσκολο να κρίνεις αν ο κώδικας είναι καλός.
1 «Μου αρέσει»

Ναι, συμφωνώ ότι αυτό είναι πιθανότατα το νόημα που ήθελε να δώσει. Υποθέτω ότι βρίσκεται σε μια φούσκα πραγματικά ικανών ανθρώπων και ούτε καν σκέφτηκε ότι το επιχείρημά του τώρα καλύπτει επίσης άλλα, λιγότερο ικανά άτομα. Η πρόταση που παρατέθηκε («οι άνθρωποι [πρέπει να] καταλαβαίνουν τι κάνουν») είναι αρκετά σύντομη σε σύγκριση με τα περίτεχνα παραδείγματα ανοησίας.

Έχω ακούσει συχνά αυτό το επιχείρημα. Θα αντέτεινα το εξής: Αν ο προγραμματισμός γίνεται κουραστικός, τότε υπάρχει κάποιο ελάττωμα στην επιλογή των αλγορίθμων, των βιβλιοθηκών, της αρχιτεκτονικής ή της οργάνωσης. Εστίασε στην επίλυση της βασικής αιτίας, όχι των συμπτωμάτων. Διαφορετικά, συσσωρεύεται τεχνικό (ή άλλο) χρέος και το ίδιο πρόβλημα θα εμφανίζεται ξανά και ξανά. Δυστυχώς, πολύ συχνά η πίεση χρόνου συντηρεί και επιδεινώνει τα προβλήματα.

Κάποιοι από εμάς εργάζονται σε περιβάλλοντα όπου αυτό δεν είναι εφικτό, δυστυχώς. Και συχνά οι βασικές αιτίες είναι, πώς να το κάνουμε, άνθρωποι (σοκ!)