AI Skills: Πώς μαθαίνουμε στους AI Agents να δουλεύουν με τους δικούς μας κανόνες

Αν χρησιμοποιείτε συχνά εργαλεία Τεχνητής Νοημοσύνης, πιθανότατα έχετε επαναλάβει πολλές φορές τις ίδιες οδηγίες. Τα Agent Skills επιχειρούν να λύσουν ακριβώς αυτό το πρόβλημα, μετατρέποντας τις οδηγίες μας σε επαναχρησιμοποιήσιμες διαδικασίες.

Ευθύμιος Θεοτοκάτος 8′ ανάγνωση

AI Skills: Πώς μαθαίνουμε στους AI Agents να δουλεύουν με τους δικούς μας κανόνες

Φανταστείτε έναν προγραμματιστή που εργάζεται καθημερινά πάνω σε μια εφαρμογή PHP.

Κάθε φορά που ζητά από έναν AI coding agent να προσθέσει μια λειτουργία, χρειάζεται να εξηγήσει την αρχιτεκτονική του project. Του υπενθυμίζει πώς οργανώνονται οι controllers, πώς γίνονται οι αλλαγές στη βάση δεδομένων και ποιους ελέγχους πρέπει να εκτελεί.

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

Τι θα γινόταν αν μπορούσαμε να αποθηκεύσουμε αυτή τη διαδικασία μία φορά και να τη χρησιμοποιούμε όποτε χρειάζεται;

Αυτή είναι η βασική ιδέα πίσω από τα Agent Skills.

Τι είναι ένα Skill;

Ένα Skill είναι ένα μικρό πακέτο οδηγιών που περιγράφει πώς πρέπει να εκτελεί ένας AI agent μια συγκεκριμένη εργασία.

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

Στην απλούστερη μορφή του, είναι ένας φάκελος που περιέχει ένα αρχείο με όνομα SKILL.md.

Το αρχείο αυτό είναι γραμμένο σε Markdown, μια απλή μορφή κειμένου που χρησιμοποιείται ευρέως στην τεχνική τεκμηρίωση.

Δεν χρειάζεται να εκπαιδεύσουμε ξανά το μοντέλο ούτε να αλλάξουμε τις παραμέτρους του.

Αντίθετα, του παρέχουμε οργανωμένες οδηγίες που μπορεί να διαβάζει και να εφαρμόζει όταν χρειάζονται.

Έτσι, ένας γενικός AI agent μπορεί να ακολουθήσει τις ιδιαίτερες διαδικασίες ενός συγκεκριμένου project.

Πώς λειτουργούν τα Skills;

Το ενδιαφέρον στοιχείο είναι ότι ο agent δεν χρειάζεται να διαβάζει όλα τα Skills σε κάθε συνομιλία.

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

Όταν ο χρήστης ζητήσει μια σχετική εργασία, ο agent μπορεί να αναγνωρίσει ποιο Skill είναι κατάλληλο.

Στη συνέχεια, διαβάζει τις αναλυτικές οδηγίες του SKILL.md και τα πρόσθετα αρχεία που χρειάζεται.

Αυτός ο μηχανισμός ονομάζεται Progressive Disclosure, δηλαδή προοδευτική αποκάλυψη πληροφοριών.

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

Ένα απλό παράδειγμα

Έστω ότι διαθέτουμε ένα Skill με όνομα php-code-review.

Ορίζουμε ότι πρέπει να χρησιμοποιείται όταν ζητάμε έλεγχο κώδικα PHP.

Οι οδηγίες του μπορεί να απαιτούν έλεγχο για SQL Injection, προβλήματα εξουσιοδότησης, μη ασφαλή διαχείριση δεδομένων και πιθανές ασυμβατότητες.

Όταν γράψουμε:

«Έλεγξε αυτόν τον PHP controller για προβλήματα ασφαλείας».

Ο agent μπορεί να επιλέξει το συγκεκριμένο Skill, να διαβάσει τις οδηγίες και να εκτελέσει τον προβλεπόμενο έλεγχο.

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

Πώς δημιουργούμε το πρώτο μας Skill;

Ας δημιουργήσουμε ένα απλό Skill για έναν AI coding agent που αναλαμβάνει αλλαγές σε εφαρμογές PHP.

Η δομή του φακέλου είναι η εξής:

php-code-review/
├── SKILL.md
├── references/
│   └── security-rules.md
└── scripts/
    └── run-tests.sh

Το μοναδικό υποχρεωτικό αρχείο είναι το SKILL.md. Τα υπόλοιπα προστίθενται μόνο όταν εξυπηρετούν κάποια συγκεκριμένη ανάγκη.

Ας δούμε ένα απλό παράδειγμα του περιεχομένου του:

---
name: php-code-review
description: Review PHP code for security,
  correctness and maintainability.
  Use when reviewing PHP changes.
---

# PHP Code Review

## Instructions

1. Read the relevant PHP files.
2. Identify security vulnerabilities.
3. Check input validation.
4. Review database queries.
5. Check authentication and authorization.
6. Run available tests when possible.
7. Report findings by severity.

## Important Rules

- Do not modify files without permission.
- Do not assume a test has passed.
- Explain each identified issue.
- Suggest the smallest safe correction.

Οι δύο σημαντικότερες πληροφορίες βρίσκονται στην αρχή του αρχείου.

Το name προσδιορίζει το Skill, ενώ το description περιγράφει τι κάνει και πότε πρέπει να χρησιμοποιείται.

Ακολουθούν οι πραγματικές οδηγίες που πρέπει να εφαρμόσει ο agent.

Δεν γράφουμε απλώς «κάνε καλό code review». Περιγράφουμε μια σαφή, επαναλήψιμη διαδικασία, μαζί με τους απαραίτητους περιορισμούς.

Πώς χρησιμοποιούμε ένα Skill στην πράξη;

Τα Skills υποστηρίζονται από διαφορετικά εργαλεία, αλλά ο τρόπος εγκατάστασης και ενεργοποίησης δεν είναι πάντοτε ίδιος.

Στο ChatGPT

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

Για παράδειγμα:

«Δημιούργησε ένα Skill που μετατρέπει τεχνικές ειδήσεις σε ελληνικά άρθρα, με τίτλο, εξηγήσεις όρων, πηγές και SEO metadata».

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

Τα διαθέσιμα Skills μπορούν να εμφανίζονται στη βιβλιοθήκη /skills, ενώ μπορούμε να επιλέξουμε κάποιο χρησιμοποιώντας το @ μέσα στη συνομιλία.

Εφόσον η περιγραφή ταιριάζει με το αίτημά μας, το ChatGPT μπορεί επίσης να ενεργοποιήσει το κατάλληλο Skill αυτόματα.

Στο Claude Code

Στο Claude Code μπορούμε να τοποθετήσουμε τα Skills μέσα στο project.

Για παράδειγμα:

my-php-project/
├── app/
├── public/
├── .claude/
│   └── skills/
│       └── php-code-review/
│           └── SKILL.md
└── composer.json

Ο Claude Code μπορεί να αναγνωρίσει το Skill όταν εργαζόμαστε στο συγκεκριμένο repository.

Μπορούμε επίσης να το καλέσουμε ρητά:

/php-code-review

Ή να περιγράψουμε απλώς την εργασία, επιτρέποντας στον agent να επιλέξει το κατάλληλο Skill.

Για προσωπικά Skills που θέλουμε διαθέσιμα σε διαφορετικά projects, χρησιμοποιούμε τον φάκελο ~/.claude/skills/.

Στο OpenAI Codex

Το Codex ακολουθεί παρόμοια λογική, με διαφορετικές συμβάσεις για τους φακέλους.

Για ένα Skill που ανήκει σε συγκεκριμένο repository, μπορούμε να χρησιμοποιήσουμε:

my-php-project/
└── .agents/
    └── skills/
        └── php-code-review/
            └── SKILL.md

Στο Codex μπορούμε να επιλέγουμε διαθέσιμα Skills μέσω του /skills ή να αναφέρουμε ένα συγκεκριμένο με το σύμβολο $.

Για παράδειγμα:

$php-code-review

Η συμβατή δομή SKILL.md διευκολύνει την επαναχρησιμοποίηση οδηγιών σε διαφορετικούς agents.

Ωστόσο, η εγκατάσταση σε ένα εργαλείο δεν σημαίνει ότι το Skill εγκαθίσταται αυτόματα και στα υπόλοιπα.

Πραγματικό παράδειγμα: Ένα τεχνολογικό περιοδικό με δικά του Skills

Ας χρησιμοποιήσουμε ένα περισσότερο ρεαλιστικό σενάριο.

Έχουμε ένα τεχνολογικό περιοδικό, όπως το CodeCraft.gr, που λειτουργεί με μια προσαρμοσμένη εφαρμογή PHP.

Ο ιστότοπος περιλαμβάνει διαχείριση άρθρων, βάση δεδομένων, δυνατότητες SEO και διαδραστικά στοιχεία.

Για αυτή την εφαρμογή μπορούμε να δημιουργήσουμε δύο διαφορετικά Skills.

Το πρώτο, codecraft-php, περιγράφει την αρχιτεκτονική του CMS, τους κανόνες ανάπτυξης και τους απαιτούμενους ελέγχους πριν από κάθε αλλαγή.

Το δεύτερο, codecraft-interactive-articles, περιγράφει πώς δημιουργούμε άρθρα με διαδραστικό περιεχόμενο, animations, εικόνες και ενσωματωμένα components.

Όταν ζητήσουμε από τον agent να διορθώσει έναν controller, θα χρειαστεί τις οδηγίες για την εφαρμογή PHP.

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

Ενδέχεται επίσης να χρειαστεί και τα δύο Skills για μία πιο σύνθετη εργασία.

Αυτή η οργάνωση μειώνει την ανάγκη για επαναλαμβανόμενες οδηγίες και βοηθά τον agent να ακολουθεί τις συμβάσεις του project.

Skills, Prompts, Agents και MCP: Ποια είναι η διαφορά;

Οι όροι αυτοί εμφανίζονται συχνά μαζί, αλλά δεν περιγράφουν το ίδιο πράγμα.

ΈννοιαΡόλος
PromptΤο συγκεκριμένο αίτημα που δίνουμε
SkillΗ επαναχρησιμοποιήσιμη διαδικασία
AgentΤο σύστημα που αναλαμβάνει την εργασία
MCPΤο πρωτόκολλο σύνδεσης με εξωτερικά εργαλεία και δεδομένα
PluginΠακέτο που μπορεί να διανέμει Skills και άλλες δυνατότητες

Ας φανταστούμε ότι ζητάμε από έναν agent να δημοσιεύσει ένα άρθρο.

Το prompt περιγράφει ποιο άρθρο θέλουμε να δημιουργηθεί.

Το Skill καθορίζει τη διαδικασία, από την έρευνα μέχρι τους ελέγχους ποιότητας.

Ο agent αναλαμβάνει να εκτελέσει την εργασία, χρησιμοποιώντας τα διαθέσιμα εργαλεία του.

Μια σύνδεση μέσω MCP μπορεί να του επιτρέπει να επικοινωνήσει με ένα εξωτερικό σύστημα διαχείρισης περιεχομένου.

Επομένως, ένα Skill δεν αποτελεί από μόνο του σύνδεση με εξωτερικές υπηρεσίες ούτε προσθέτει αυτόματα δικαιώματα πρόσβασης.

Τι είναι το Superpowers;

Το Superpowers είναι ένα πρόσθετο framework για AI-assisted ανάπτυξη λογισμικού, διαθέσιμο μεταξύ άλλων στο Claude Code.

Αντί να επικεντρώνεται στις τεχνικές ιδιαιτερότητες ενός project, προσφέρει οργανωμένες μεθόδους εργασίας.

Περιλαμβάνει διαδικασίες brainstorming, συστηματικού debugging, σχεδιασμού και Test-Driven Development (TDD).

Το TDD είναι μια προσέγγιση ανάπτυξης όπου γράφουμε πρώτα έναν έλεγχο και έπειτα τον κώδικα που πρέπει να τον ικανοποιήσει.

Ένα project-specific Skill μπορεί να συνεργάζεται με αυτές τις διαδικασίες, δίνοντας στον agent τις πληροφορίες που αφορούν την ίδια την εφαρμογή.

Έτσι, τα Superpowers και τα δικά μας Skills μπορούν να λειτουργούν συμπληρωματικά, χωρίς να είναι το ίδιο πράγμα.

Τι κερδίζουμε και τι πρέπει να προσέξουμε;

Το σημαντικότερο πλεονέκτημα είναι η επαναχρησιμοποίηση.

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

Τα Skills μπορούν επίσης να αποθηκεύονται στο Git, επιτρέποντας την παρακολούθηση αλλαγών και τη συνεργασία μεταξύ προγραμματιστών.

Ωστόσο, η ύπαρξη ενός Skill δεν εγγυάται ότι ο agent θα εκτελέσει σωστά κάθε βήμα.

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

Επιπλέον, ένα Skill από άγνωστη πηγή μπορεί να περιέχει επικίνδυνες οδηγίες ή scripts.

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

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

Το επόμενο βήμα στη συνεργασία ανθρώπου και AI

Τα Skills δεν δημιουργούν ένα καινούργιο μοντέλο Τεχνητής Νοημοσύνης.

Δίνουν όμως έναν οργανωμένο τρόπο να μεταφέρουμε τις δικές μας μεθόδους εργασίας στα εργαλεία που ήδη χρησιμοποιούμε.

Αντί να προσπαθούμε συνεχώς να διατυπώσουμε το τέλειο prompt, μπορούμε να καταγράφουμε τις διαδικασίες που αποδίδουν καλύτερα.

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

Η αξία των Skills δεν βρίσκεται στο ότι ο AI agent γνωρίζει περισσότερα, αλλά στο ότι μπορεί να ακολουθεί καλύτερα τον τρόπο με τον οποίο έχουμε επιλέξει να εργαζόμαστε.


Πηγές

 
Πώς σου φάνηκε;

Ευθύμιος Θεοτοκάτος

Η συντακτική ομάδα του CodeCraft καλύπτει τεχνολογία, AI, hardware και software.

Σχόλια

Φόρτωση σχολίων…