Πέρα από τη δομή, το αποτελεσματικό prompt engineering καθοδηγείται από αρχές—θεμελιώδεις αλήθειες που ισχύουν σε όλα τα μοντέλα, εργασίες, και πλαίσια. Κατακτήστε αυτές τις αρχές, και θα μπορείτε να προσαρμοστείτε σε οποιαδήποτε πρόκληση prompting.

<Callout type="info" title="Οι 8 Βασικές Αρχές">
Αυτές οι αρχές ισχύουν για κάθε μοντέλο AI και κάθε εργασία. Μάθετέ τις μια φορά, χρησιμοποιήστε τις παντού.
</Callout>

## Αρχή 1: Σαφήνεια πάνω από Εξυπνάδα

Τα καλύτερα prompts είναι σαφή, όχι έξυπνα. Τα μοντέλα AI είναι κυριολεκτικοί ερμηνευτές—δουλεύουν με ακριβώς αυτό που τους δίνετε.

### Να Είστε Ρητοί

<Compare 
  before={{ label: "Σιωπηρό (προβληματικό)", content: "Κάνε αυτό καλύτερο." }}
  after={{ label: "Ρητό (αποτελεσματικό)", content: "Βελτίωσε αυτό το email:\n1. Κάνοντας τη γραμμή θέματος πιο ελκυστική\n2. Συντομεύοντας τις παραγράφους σε 2-3 προτάσεις μέγιστο\n3. Προσθέτοντας σαφή κλήση για δράση στο τέλος" }}
/>

### Αποφύγετε την Ασάφεια

Οι λέξεις μπορούν να έχουν πολλαπλές σημασίες. Επιλέξτε ακριβή γλώσσα.

<Compare 
  before={{ label: "Ασαφές", content: "Δώσε μου μια σύντομη περίληψη.\n(Πόσο σύντομη; 1 πρόταση; 1 παράγραφος; 1 σελίδα;)" }}
  after={{ label: "Ακριβές", content: "Συνόψισε σε ακριβώς 3 κουκκίδες, κάθε μία κάτω από 20 λέξεις." }}
/>

### Δηλώστε το Προφανές

Αυτό που είναι προφανές για εσάς δεν είναι προφανές για το μοντέλο. Εξηγήστε τις υποθέσεις.

```
Με βοηθάς να γράψω μια συνοδευτική επιστολή.

Σημαντικό πλαίσιο:
- Κάνω αίτηση για θέση Software Engineer στη Google
- Έχω 5 χρόνια εμπειρία σε Python και κατανεμημένα συστήματα
- Ο ρόλος απαιτεί ηγετική εμπειρία (έχω ηγηθεί ομάδας 4 ατόμων)
- Θέλω να τονίσω τις συνεισφορές μου σε open-source
```

## Αρχή 2: Η Εξειδίκευση Αποδίδει Ποιότητα

Αόριστες είσοδοι παράγουν αόριστες εξόδους. Εξειδικευμένες είσοδοι παράγουν εξειδικευμένες, χρήσιμες εξόδους.

### Η Σκάλα Εξειδίκευσης

<SpecificitySpectrum levels={[
  { level: "Επίπεδο 1", text: "Γράψε για την κλιματική αλλαγή" },
  { level: "Επίπεδο 2", text: "Γράψε ένα άρθρο για τις επιπτώσεις της κλιματικής αλλαγής" },
  { level: "Επίπεδο 3", text: "Γράψε ένα άρθρο 500 λέξεων για το πώς η κλιματική αλλαγή επηρεάζει τα κοράλλια" },
  { level: "Επίπεδο 4", text: "Γράψε ένα άρθρο 500 λέξεων εξηγώντας πώς οι αυξανόμενες θερμοκρασίες του ωκεανού προκαλούν λεύκανση κοραλλιών, απευθυνόμενο σε μαθητές λυκείου, με 2 συγκεκριμένα παραδείγματα από τον Μεγάλο Κοραλλιογενή Ύφαλο, με ελκυστικό αλλά επιστημονικά ακριβή τόνο" }
]} />

Κάθε επίπεδο προσθέτει εξειδίκευση και βελτιώνει δραματικά την ποιότητα εξόδου.

### Καθορίστε αυτά τα Στοιχεία

<div className="my-4 grid gap-2">
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-24">Κοινό</span>
    <span className="text-muted-foreground">Ποιος θα διαβάσει/χρησιμοποιήσει αυτό;</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-24">Μήκος</span>
    <span className="text-muted-foreground">Πόσο μεγάλο/μικρό πρέπει να είναι;</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-24">Τόνος</span>
    <span className="text-muted-foreground">Επίσημος; Ανεπίσημος; Τεχνικός;</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-24">Μορφή</span>
    <span className="text-muted-foreground">Πεζός λόγος; Λίστα; Πίνακας; Κώδικας;</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-24">Εύρος</span>
    <span className="text-muted-foreground">Τι να συμπεριληφθεί/εξαιρεθεί;</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-24">Σκοπός</span>
    <span className="text-muted-foreground">Τι πρέπει να πετύχει αυτό;</span>
  </div>
</div>

## Αρχή 3: Το Πλαίσιο Είναι Βασιλιάς

Τα μοντέλα δεν έχουν μνήμη, πρόσβαση στα αρχεία σας, και καμία γνώση της κατάστασής σας. Ό,τι είναι σχετικό πρέπει να είναι στο prompt.

### Δώστε Επαρκές Πλαίσιο

<Compare 
  before={{ label: "Ανεπαρκές πλαίσιο", content: "Γιατί δεν λειτουργεί η συνάρτησή μου;" }}
  after={{ label: "Επαρκές πλαίσιο", content: "Έχω μια συνάρτηση Python που πρέπει να φιλτράρει μια λίστα λεξικών κατά συγκεκριμένη τιμή κλειδιού. Επιστρέφει κενή λίστα ενώ θα έπρεπε να επιστρέψει 3 στοιχεία.\n\nΣυνάρτηση:\ndef filter_items(items, key, value):\n    return [item for item in items if item[key] = value]\n\nΚλήση: filter_items(items, 'status', 'active')\nΑναμενόμενο: 2 στοιχεία, Αποτέλεσμα: κενή λίστα" }}
/>

### Η Λίστα Ελέγχου Πλαισίου

<Callout type="tip" title="Πριν Υποβάλετε">
Ρωτήστε τον εαυτό σας: Θα καταλάβαινε ένας έξυπνος ξένος αυτό το αίτημα; Αν όχι, προσθέστε περισσότερο πλαίσιο.
</Callout>

<Checklist 
  title="Λίστα Ελέγχου Πλαισίου"
  items={[
    { text: "Ξέρει το μοντέλο σε τι δουλεύω;" },
    { text: "Ξέρει τον στόχο μου;" },
    { text: "Έχει όλες τις απαραίτητες πληροφορίες;" },
    { text: "Κατανοεί τους περιορισμούς;" },
    { text: "Θα καταλάβαινε ένας έξυπνος ξένος αυτό το αίτημα;" }
  ]}
/>

## Αρχή 4: Καθοδηγήστε, Μην Απλά Ρωτάτε

Μην ρωτάτε απλά για μια απάντηση—καθοδηγήστε το μοντέλο προς την απάντηση που θέλετε.

### Χρησιμοποιήστε Καθοδηγητικό Πλαίσιο

<Compare 
  before={{ label: "Απλά Ρωτώντας", content: "Ποια είναι τα πλεονεκτήματα και μειονεκτήματα των microservices;" }}
  after={{ label: "Καθοδηγώντας", content: "Κατονόμασε 5 πλεονεκτήματα και 5 μειονεκτήματα της αρχιτεκτονικής microservices.\n\nΓια κάθε σημείο:\n- Δήλωσε το σημείο ξεκάθαρα σε μία πρόταση\n- Δώσε σύντομη εξήγηση (2-3 προτάσεις)\n- Δώσε ένα συγκεκριμένο παράδειγμα\n\nΛάβε υπόψη τις προοπτικές: μικρών startups, μεγάλων επιχειρήσεων, και ομάδων που μεταβαίνουν από monoliths." }}
/>

### Δώστε Σκαλωσιές Συλλογισμού

Για πολύπλοκες εργασίες, καθοδηγήστε τη διαδικασία συλλογισμού:

<TryIt 
  title="Παράδειγμα Σκαλωσιάς Συλλογισμού"
  description="Αυτό το prompt καθοδηγεί την AI μέσα από μια συστηματική διαδικασία λήψης αποφάσεων."
  prompt={`Πρέπει να επιλέξω μεταξύ PostgreSQL και MongoDB για το e-commerce project μου.

Σκέψου το συστηματικά:
1. Πρώτα, κατονόμασε τις τυπικές απαιτήσεις για μια βάση δεδομένων e-commerce
2. Μετά, αξιολόγησε κάθε βάση δεδομένων έναντι κάθε απαίτησης
3. Λάβε υπόψη τα trade-offs ειδικά για τη χρήση μου
4. Κάνε μια σύσταση με σαφή αιτιολόγηση`}
/>

## Αρχή 5: Επαναλάβετε και Βελτιώστε

Το prompt engineering είναι μια επαναληπτική διαδικασία. Το πρώτο σας prompt σπάνια είναι το καλύτερό σας.

### Ο Κύκλος Επανάληψης

```
1. Γράψτε αρχικό prompt
2. Αξιολογήστε την έξοδο
3. Εντοπίστε κενά ή προβλήματα
4. Βελτιώστε το prompt
5. Επαναλάβετε μέχρι να είστε ικανοποιημένοι
```

### Κοινές Βελτιώσεις

<div className="my-4 grid gap-2">
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-32">Πολύ μακροσκελές</span>
    <span className="text-muted-foreground">Προσθέστε "Να είσαι συνοπτικός" ή όρια μήκους</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-32">Πολύ αόριστο</span>
    <span className="text-muted-foreground">Προσθέστε συγκεκριμένα παραδείγματα ή περιορισμούς</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-32">Λάθος μορφή</span>
    <span className="text-muted-foreground">Καθορίστε ακριβή δομή εξόδου</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-32">Λείπουν πτυχές</span>
    <span className="text-muted-foreground">Προσθέστε "Σιγουρέψου να συμπεριλάβεις..."</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-32">Λάθος τόνος</span>
    <span className="text-muted-foreground">Καθορίστε κοινό και στυλ</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-32">Ανακριβές</span>
    <span className="text-muted-foreground">Ζητήστε αναφορές ή βήμα-βήμα συλλογισμό</span>
  </div>
</div>

### Κρατήστε Ημερολόγιο Prompts

Καταγράψτε τι λειτουργεί:
```
Εργασία: Αναθεώρηση κώδικα
Έκδοση 1: "Αναθεώρησε αυτόν τον κώδικα" → Πολύ γενικό
Έκδοση 2: Προστέθηκαν συγκεκριμένα κριτήρια αναθεώρησης → Καλύτερο
Έκδοση 3: Προστέθηκε παράδειγμα καλής αναθεώρησης → Εξαιρετικό
Τελικό: [Αποθηκεύστε επιτυχημένο prompt ως template]
```

## Αρχή 6: Αξιοποιήστε τα Δυνατά Σημεία του Μοντέλου

Δουλέψτε με το πώς εκπαιδεύονται τα μοντέλα, όχι εναντίον τους.

### Τα Μοντέλα Θέλουν να Βοηθήσουν

Πλαισιώστε τα αιτήματα ως πράγματα που ένας βοηθητικός βοηθός θα έκανε φυσικά:

<Compare 
  before={{ label: "Κόντρα στο ρεύμα", content: "Ξέρω ότι δεν μπορείς να το κάνεις αυτό, αλλά προσπάθησε να..." }}
  after={{ label: "Με το ρεύμα", content: "Βοήθησέ με να καταλάβω...\nΔουλεύω στο Χ και χρειάζομαι βοήθεια με...\nΜπορείς να με καθοδηγήσεις..." }}
/>

### Τα Μοντέλα Υπερέχουν σε Μοτίβα

Αν χρειάζεστε συνεπή έξοδο, δείξτε το μοτίβο:

<TryIt 
  title="Παράδειγμα Μοτίβου"
  description="Αυτό το prompt δείχνει στην AI ακριβώς τη μορφή που θέλετε για προτάσεις βιβλίων."
  prompt={`Πρότεινε 3 βιβλία επιστημονικής φαντασίας. Μορφοποίησε κάθε πρόταση ως:

📚 **[Τίτλος]** από [Συγγραφέας]
*[Είδος] | [Έτος Δημοσίευσης]*
[Περιγραφή 2 προτάσεων]
Γιατί θα σου αρέσει: [1 πρόταση hook]

---`}
/>

### Τα Μοντέλα Μπορούν να Παίξουν Ρόλους

Χρησιμοποιήστε personas για πρόσβαση σε διαφορετικούς "τρόπους" απάντησης:

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

## Αρχή 7: Ελέγξτε τη Δομή Εξόδου

Οι δομημένες εξόδοι είναι πιο χρήσιμες από το ελεύθερο κείμενο.

### Ζητήστε Συγκεκριμένες Μορφές

```
Επέστρεψε την ανάλυσή σου ως:

ΣΥΝΟΨΗ: [1 πρόταση]

ΒΑΣΙΚΑ ΕΥΡΗΜΑΤΑ:
• [Εύρημα 1]
• [Εύρημα 2]
• [Εύρημα 3]

ΣΥΣΤΑΣΗ: [1-2 προτάσεις]

ΕΜΠΙΣΤΟΣΥΝΗ: [Χαμηλή/Μέση/Υψηλή] επειδή [λόγος]
```

### Χρησιμοποιήστε Διαχωριστές

Διαχωρίστε ξεκάθαρα τις ενότητες του prompt σας:

```
### ΠΛΑΙΣΙΟ ###
[Το πλαίσιό σας εδώ]

### ΕΡΓΑΣΙΑ ###
[Η εργασία σας εδώ]

### ΜΟΡΦΗ ###
[Επιθυμητή μορφή εδώ]
```

### Ζητήστε Έξοδο Αναγνώσιμη από Μηχανή

Για προγραμματιστική χρήση:

```
Επέστρεψε μόνο έγκυρο JSON, χωρίς εξήγηση:
{
  "decision": "approve" | "reject" | "review",
  "confidence": 0.0-1.0,
  "reasons": ["string array"]
}
```

## Αρχή 8: Επαληθεύστε και Επικυρώστε

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

### Ζητήστε Συλλογισμό

```
Λύσε αυτό το πρόβλημα και δείξε τη δουλειά σου βήμα-βήμα.
Μετά τη λύση, επαλήθευσε την απάντησή σου με [μέθοδος ελέγχου].
```

### Ζητήστε Πολλαπλές Προοπτικές

```
Δώσε μου τρεις διαφορετικές προσεγγίσεις για να λύσω αυτό το πρόβλημα.
Για καθεμία, εξήγησε τα trade-offs.
```

### Ενσωματώστε Αυτο-έλεγχο

```
Μετά τη δημιουργία του κώδικα, αναθεώρησέ τον για:
- Συντακτικά λάθη
- Ακραίες περιπτώσεις
- Ευπάθειες ασφαλείας
Κατονόμασε τυχόν προβλήματα που βρέθηκαν.
```

## Σύνοψη: Οι Αρχές με μια Ματιά

<PrinciplesSummary />

<Quiz 
  question="Ποια αρχή προτείνει να συμπεριλάβετε όλες τις σχετικές πληροφορίες υποβάθρου στο prompt σας;"
  options={[
    "Σαφήνεια πάνω από Εξυπνάδα",
    "Η Εξειδίκευση Αποδίδει Ποιότητα",
    "Το Πλαίσιο Είναι Βασιλιάς",
    "Επαναλάβετε και Βελτιώστε"
  ]}
  correctIndex={2}
  explanation="Το Πλαίσιο Είναι Βασιλιάς τονίζει ότι τα μοντέλα AI δεν έχουν μνήμη μεταξύ συνεδριών και δεν μπορούν να διαβάσουν τη σκέψη σας. Η συμπερίληψη σχετικού υποβάθρου, περιορισμών, και στόχων βοηθά το μοντέλο να κατανοήσει τις ανάγκες σας."
/>

## Εξάσκηση: Συμπληρώστε τα Κενά

Δοκιμάστε την κατανόησή σας των βασικών αρχών συμπληρώνοντας αυτό το template prompt:

<FillInTheBlank
  title="Εφαρμόστε τις Αρχές"
  description="Συμπληρώστε τα κενά για να δημιουργήσετε ένα καλά δομημένο prompt — γράψτε ό,τι θέλετε!"
  useAI={true}
  openEnded={true}
  template={`Είσαι {{role}} με τεχνογνωσία στο {{expertise}}.

Πλαίσιο: Δουλεύω στο {{context}}.

Εργασία: {{task}}

Περιορισμοί:
- Κράτα την απάντησή σου κάτω από {{length}} λέξεις
- Εστίασε μόνο στο {{focus}}

Μορφή: Επέστρεψε την απάντησή σου ως {{format}}.`}
  blanks={[
    { id: "role", correctAnswers: [], hint: "Ποιον επαγγελματικό ρόλο πρέπει να αναλάβει η AI;", context: "Τίτλος εργασίας ή επαγγελματικός ρόλος" },
    { id: "expertise", correctAnswers: [], hint: "Ποια συγκεκριμένη γνώση τομέα χρειάζεται;", context: "Δεξιότητα ή τομέας που ταιριάζει με τον ρόλο" },
    { id: "context", correctAnswers: [], hint: "Ποιο είναι το project ή η κατάσταση;", context: "Ένα project που κάποιος με αυτή την τεχνογνωσία θα δούλευε" },
    { id: "task", correctAnswers: [], hint: "Ποια συγκεκριμένη ενέργεια πρέπει να κάνει η AI;", context: "Μια ενέργεια κατάλληλη για τον ρόλο και το πλαίσιο" },
    { id: "length", correctAnswers: [], hint: "Πόσο μεγάλη πρέπει να είναι η απάντηση;", context: "Ένας αριθμός (αριθμός λέξεων)" },
    { id: "focus", correctAnswers: [], hint: "Ποια πτυχή πρέπει να έχει προτεραιότητα;", context: "Μια ποιότητα ή πτυχή σχετική με την εργασία" },
    { id: "format", correctAnswers: [], hint: "Πώς πρέπει να δομηθεί η έξοδος;", context: "Τύπος μορφής εξόδου" }
  ]}
  explanation="Ένα καλά δομημένο prompt περιλαμβάνει: σαφή ρόλο (Αρχή 1), επαρκές πλαίσιο (Αρχή 3), συγκεκριμένη εργασία (Αρχή 2), περιορισμούς (Αρχή 4), και μορφή εξόδου (Αρχή 5). Η AI ελέγχει αν οι επιλογές σας είναι εσωτερικά συνεπείς."
/>

<InteractiveChecklist
  title="Λίστα Ελέγχου Αρχών"
  items={[
    { id: "clarity", label: "Σαφήνεια πάνω από Εξυπνάδα", description: "Είναι το prompt σας ρητό και αδιαμφισβήτητο;" },
    { id: "specificity", label: "Η Εξειδίκευση Αποδίδει Ποιότητα", description: "Έχετε συμπεριλάβει κοινό, μήκος, τόνο, και μορφή;" },
    { id: "context", label: "Το Πλαίσιο Είναι Βασιλιάς", description: "Περιλαμβάνει το prompt όλες τις απαραίτητες πληροφορίες υποβάθρου;" },
    { id: "examples", label: "Τα Παραδείγματα Νικούν τις Εξηγήσεις", description: "Έχετε δείξει τι θέλετε, όχι απλά το περιγράψατε;" },
    { id: "constraints", label: "Οι Περιορισμοί Εστιάζουν την Έξοδο", description: "Υπάρχουν σαφή όρια στο εύρος και τη μορφή;" },
    { id: "iteration", label: "Επαναλάβετε και Βελτιώστε", description: "Είστε έτοιμοι να βελτιωθείτε βάσει αποτελεσμάτων;" },
    { id: "persona", label: "Η Persona Διαμορφώνει την Προοπτική", description: "Ξέρει η AI ποιον ρόλο να παίξει;" },
    { id: "verify", label: "Επαληθεύστε και Επικυρώστε", description: "Έχετε ενσωματώσει ελέγχους για ακρίβεια;" }
  ]}
/>

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