Συμβουλές για τη χρήση τεχνητής νοημοσύνης

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

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

Στη συνέχεια, σύρετε και αποθέστε (drag and drop) την εικόνα στο παράθυρο συνομιλίας του AI ή, αν χρησιμοποιείτε γραμμή εντολών (command-line), αποθηκεύστε την σε μια τοποθεσία στην οποία έχει πρόσβαση (στο ίδιο μέρος με τα αρχεία σας) και δώστε του το όνομα του αρχείου της εικόνας.

Στο παράδειγμα της εντολής (prompt), αν χρησιμοποιούσα ένα κόκκινο ορθογώνιο: «Υπάρχει ένα σφάλμα, παρέχω ένα στιγμιότυπο οθόνης και έχω σχεδιάσει ένα κόκκινο ορθογώνιο γύρω από το πρόβλημα. Διερεύνησέ το.»

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

Έχετε υπόψη σας, ωστόσο, ότι διορθώνοντας αυτό, υπάρχει πιθανότητα να χαλάσει κάτι άλλο, οπότε θα χρειαστεί να το ελέγξετε.

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

Αν έχεις πολύ τρεμόπαιγμα (flicker), πες στο AI να χρησιμοποιήσει «hardware double buffer», αλλά πες του επίσης να προσέξει ώστε «να μην υπάρχουν ίχνη (trails) ή γραφικά σφάλματα από τα sprites».

Το double buffer λειτουργεί σχεδιάζοντας σε μια οθόνη που δεν βλέπουμε ενώ κοιτάμε μια άλλη, και στη συνέχεια κάνει εναλλαγή μόλις ολοκληρωθεί η σχεδίαση. Επειδή η οθόνη προβάλλεται με τη μία, αυτό εξαλείφει το τρεμόπαιγμα, αλλά κοστίζει μνήμη για αυτήν την επιπλέον οθόνη. Όταν χρησιμοποιείται hardware scrolling, να περιμένεις ότι θα χρειαστεί επιπλέον 16KB σε σχέση με το single buffering.

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

Αν παρατηρείτε επιβράδυνση, πείτε στο AI ότι δεν θέλετε να κολλάει το παιχνίδι και ότι θέλετε να διατηρείται ένας συγκεκριμένος ρυθμός καρέ (frame rate). (π.χ. «το παιχνίδι κολλάει όταν υπάρχουν πολλά sprites στην οθόνη. Τι μπορώ να κάνω;» ή «το παιχνίδι κολλάει όταν υπάρχουν πολλά sprites στην οθόνη. Διατήρησε 25fps. Δώσε μου επιλογές.»)

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

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

προσπάθησε να συγκεντρώσεις όση περισσότερη τεκμηρίωση μπορείς σχετικά με διάφορες τεχνικές και πες στο AI να τη χρησιμοποιήσει ως πηγή αλήθειας (source of truth).. Τα LLM είναι στην πραγματικότητα αρκετά χαζά, αλλά με τη σωστή τεκμηρίωση μπορούν πραγματικά να διαπρέψουν..

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

Βρίσκω πολύ χρήσιμο το να σκέφτομαι σαν προγραμματιστής.

Μη συμφωνείς απλώς με τα πάντα. Αμφισβήτησε πράγματα. Κάνε προτάσεις. Κατανόησε τι σου λέει.

Και μη βιάζεσαι! Αντιμετώπισέ το σαν έναν πολύ γρήγορο junior προγραμματιστή που χρειάζεται πολλή επίβλεψη.

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

Επίσης, ζήτησέ του να κάνει τακτικές αξιολογήσεις και να ελέγχει για επικαλύψεις στη RAM.

Αυτό με έχει σώσει μερικές φορές.

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

Έχω δύο ερωτήσεις: ποιοι είναι οι καλύτεροι εξομοιωτές για χρήση με το Claude; Και όταν μιλάμε για χρήση του σε Amstrad και Z80, connect ή opus; Medium;

Απλώς αφήνω αυτή την πληροφορία εδώ: Ο Amspirit (ένας σχετικά νέος εξομοιωτής) παρέχει ένα http API, το οποίο μπορεί να χρησιμοποιηθεί για να κάνει σχεδόν τα πάντα απ’ έξω. amspirit-releases/docs/lite/web_api.md at main · AMSpiriT-Emulator/amspirit-releases · GitHub

Είχα διαβάσει μια σχετική ανάρτηση στο ιστολόγιο του δημιουργού πριν από καιρό, αλλά δεν μπορώ να τη βρω αυτή τη στιγμή.

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

Ναι, και το ACE-DL επομένως, είναι πραγματικά χρήσιμο για την ΤΝ (IA) ώστε να αλληλεπιδρά απευθείας με το cpc χωρίς να προσομοιώνει το πάτημα πλήκτρων (για παράδειγμα).

Και μην ξεχάσεις να στείλεις στην ΤΝ την τεκμηρίωση του API :slight_smile:

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

Μπορείς να φτιάξεις έναν οδηγό για το πώς να συνδέσω το Claude με το acedl και τα υπόλοιπα;

Το Claude μου λέει συνέχεια ότι δεν μπορεί να συνδεθεί/χρησιμοποιήσει το acdl.

Έχω δημιουργήσει ένα «πακέτο» με όλα όσα χρειάζονται για το Claude στο έργο μου, απλώς σύρετέ το και αποθέστε το (drag and drop) στην περιοχή συζήτησης:

  • BNDZEN.tar.gz : Linux Ace-dl
  • ACE-API.txt : Περιγραφή του ace-dl api
  • disark : Linux disark αποσυμβολομεταφραστής (disassembler) από τον Julien nevo (Arkos)
  • Άλλα αρχεία : dsk, παράδειγμα έργου, ό,τι θέλετε.

στη συνέχεια, πείτε του τι θέλετε.

Αν έχετε λογαριασμό GitHub, συνδέστε τον με το Claude, θα δημιουργήσει αποθετήριο (repo) με το όνομα που θέλετε και θα εργαστεί μέσα σε αυτό.

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

Αυτό είναι φανταστικό. Τα artifacts δεν έχουν πλέον ενδιαφέρον (δηλ. αυτά που παίρνεις απλώς ζητώντας από ένα μοντέλο να το κάνει) - πες μας πώς χρησιμοποιείς τα μοντέλα αντ’ αυτού, άσε τη δημιουργία των binaries ως άσκηση για τον αναγνώστη! :smiley:

@Arnaud6128 Ευχαριστώ για τη συμβουλή σχετικά με το ACE-DL. Είναι πραγματικά εξαιρετική ιδέα.

Ρώτησα το Claude ποια έκδοση του ACE-DL θα προτιμούσε και είπε ότι η έκδοση «Ubuntu 24.04 LTS» ταιριάζει με αυτήν που τρέχει το ίδιο το Claude.

Το ανέβασα, και ξαφνικά είναι πολύ πιο εύκολο να δοκιμάζω dsk builds!

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

Μια άλλη πολύ χρήσιμη συμβουλή:

Ζητήστε από το AI να παραμείνει προσηλωμένο στην εργασία που του ζητήσατε.

Χωρίστε το έργο σας σε μικρές εργασίες και, στη συνέχεια, χωρίστε αυτές τις εργασίες σε ακόμη μικρότερες.

Ζητήστε από το AI να επικεντρωθεί μόνο σε αυτές τις μικρότερες εργασίες και να μην παρεκκλίνει από αυτό που του ζητήσατε.

Ζητήστε του να μην αποπροσανατολίζεται και να μην ερευνά πράγματα που δεν του ζητήσατε.

Διαφορετικά, μπορεί να χρειαστεί πολύς χρόνος για να λάβετε απαντήσεις στα prompts σας και θα εξαντλήσετε τα tokens πολύ πιο γρήγορα.

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

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

δημιούργησε ένα αρχείο MEMORY.md στον χώρο εργασίας που να περιέχει όλους τους κανόνες σου για το έργο

συμπλήρωσέ το με πράγματα όπως «Επιθυμεί να χρησιμοποιείται το πρότυπο ASD-STE100 Simplified Technical English κατά τη σύνταξη τεκμηρίωσης, σχολίων ή απαντήσεων», στυλ και προτιμήσεις κώδικα (π.χ. πάντα να σχολιάζεται ο κώδικας), καθώς και αυστηρούς κανόνες, όπως να χρησιμοποιεί έναν συγκεκριμένο φάκελο για πρόχειρη εργασία ή να μην διαγράφει ποτέ αρχεία εκτός αν ζητηθεί ρητά..

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

Το Ace-dl δούλεψε, δυστυχώς στη δική μου περίπτωση δεν δούλεψε για το πρόβλημα που αντιμετωπίζω.

Ο Claude δεν μπορεί να δει το πρόβλημα ακόμα και με τον εξομοιωτή, προσπαθεί να μαντέψει τι συμβαίνει και έφτιαξε patches και patches, αλλά κανένα δεν δουλεύει. Βλέπει το σφάλμα στα βίντεο που του στέλνω, αλλά μέχρι εκεί· δεν μπορεί να προσομοιώσει το πρόβλημα ακόμα κι αν χρησιμοποιεί το ace-dl.

Το πρόβλημά μου είναι ότι το παιχνίδι περιστασιακά δεν σχεδιάζει σωστά μια γραμμή στα πάνω περιθώρια. Δεν είμαι σίγουρος γιατί.

Έψαξα όλη την εβδομάδα μέχρι εξαντλήσεως προσπαθώντας να το διορθώσω.

Ω… Δεν έπρεπε να το πεις αυτό. Έχει πάντα περισσότερη πλάκα όταν το ανακαλύπτουν μόνοι τους :slight_smile:

Η δική μου άποψη από τότε που ξεκίνησα να χρησιμοποιώ παραγωγή κώδικα στη δουλειά:

  • Συμφωνώ απόλυτα για τις μικρές, συγκεκριμένες εργασίες. Αν ξέρεις να γράφεις κώδικα και μπορείς να ελέγξεις (τον κώδικα ή το αποτέλεσμα) τι κάνει το AI, είναι πολύ καλύτερα. Συχνά πρέπει να του υπενθυμίζω να μένει πιστό στις προδιαγραφές…
    Επίσης, το IDE σου θα σου δείξει το πριν και το μετά την τροποποίηση του AI για έλεγχο. Όσο πιο μικρή η αλλαγή, τόσο το καλύτερο.
  • Όσον αφορά τη βελτιστοποίηση κώδικα assembly, νομίζω ότι χρειάζεται λίγη παραπάνω εκπαίδευση… Για μετακίνηση bit, όπως: «ο καλύτερος τρόπος για να μετατραπεί ένα χρώμα PEN (0…15) σε Screen octet Subpixel 0». Το δικό μου AI δεν χρησιμοποίησε καθόλου το Carry Flag για να μειώσει τον αριθμό των απαιτούμενων rotation και shifts. Οπότε κατέληξα να το κάνω μόνος μου… Κρίμα, έτσι δεν είναι;
    Αν επιλέξεις ένα υποτμήμα για βελτιστοποίηση, πες του σε ποιους καταχωρητές (registers) έχει πρόσβαση ή ότι μπορεί να κάνει push/pop αν έχει καλύτερη απόδοση.

Αν χρησιμοποιείτε το Claude CLI ή ίσως μέσω chat, να χρησιμοποιείτε τακτικά την εντολή «compact». Κοστίζει tokens, αλλά μπορεί να παρατείνει τη διάρκεια μιας συνεδρίας.

Επίσης, μη διστάζετε να κρατάτε τη μνήμη της AI «φρέσκια». Ζητήστε της: «γράψε μου ένα έγγραφο παράδοσης (handover document) για να το δώσω σε ένα άλλο instance», μετά ανοίξτε ένα νέο παράθυρο συνομιλίας ή CLI και εκεί γράψτε «συνέχισε βάσει του εγγράφου παράδοσης». Θα ξεκινήσει με πιο καθαρή μνήμη και μπορεί να λύσει το πρόβλημα πολύ καλύτερα απ’ ό,τι όταν πλησιάζει στο όριο του context.

Α, και τέλος, απλώς και μόνο επειδή μια AI συνιστά να μην κάνετε τίποτα, εσείς έχετε τον έλεγχο — αμφισβητήστε την, απλώς τεμπελιάζει!

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

Νομίζω ότι μπορεί να συμβεί και στο αριστερό περιθώριο.

Αρκετά συχνά συμβαίνει αν αλλάξεις κατεύθυνση, π.χ. κύλιση προς τα κάτω και στο επόμενο καρέ κύλιση προς τα πάνω, ή κύλιση προς τα δεξιά και στο επόμενο καρέ κύλιση προς τα αριστερά κ.λπ. Ίσως ακόμη περισσότερο όταν η κύλιση πηγαίνει στην επόμενη γραμμή/στήλη χαρακτήρα. Το AI πρέπει να ξανασχεδιάσει στο σωστό σημείο και τα κάνει θάλασσα! Κλασικό bug.

Και πιθανώς στο δεξί περιθώριο, αλλά δεν μπορούμε να το δούμε επειδή τα hardware sprites βρίσκονται από πάνω.

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