Wróć do bloga

Skille AI jako infrastruktura pracy technicznej

Skille AI zmieniają powtarzalne decyzje w audytowalną infrastrukturę pracy, łącząc kontekst, procedury, narzędzia i jasne kryteria akceptacji.

Jakub Czechowski

Buduje strony i sklepy internetowe w JC Web Studio, prowadzi StackCompass – publikację o architekturze treści i decyzjach stackowych – i współorganizuje CMS Conf, konferencję o systemach treści.

/ / 7 min czytania

Większość dyskusji o skillach AI zatrzymuje się na promptach wielokrotnego użytku. To skojarzenie jest technicznie bliskie, ale operacyjnie mylące.

W mojej pracy skill jest wersjonowanym pakietem kontekstu, procedur, ograniczeń i opcjonalnych narzędzi dla określonej klasy zadań. Nie sprawia, że model staje się mądrzejszy. Sprawia, że środowisko pracy pozostawia mniej miejsca na przypadkowe interpretacje.

To rozróżnienie ma znaczenie, ponieważ duża część pracy technicznej nie blokuje się na braku wiedzy. Spowalnia ją powtarzanie tych samych decyzji: zasad nazewnictwa, konwencji plików, kompromisów redakcyjnych, wykluczeń i kryteriów akceptacji. Gdy pozostają niejawne, przy każdym zadaniu trzeba odtwarzać je z pamięci. Gdy zostają zapisane i poddane przeglądowi, stają się infrastrukturą pracy.

Artykuł Bramki jakości AI wygrywają z listami kontrolnymi w potoku publikacji treści opisuje jeden element tego systemu: blokujące walidatory, które egzekwują kryteria akceptacji. Tutaj skupiam się na szerszej roli skilli, zanim te bramki zostaną uruchomione.

Skill opisuje sposób pracy, nie tylko wynik

Prompt prosi o wynik. Skill określa, jak należy podejść do powtarzalnego rodzaju pracy w konkretnym środowisku.

W używanym przeze mnie wzorcu SKILL.md metadane pomagają agentowi rozpoznać, kiedy skill jest właściwy. Główna instrukcja opisuje przebieg pracy i jego granice. Materiały referencyjne dostarczają szczegółowego kontekstu tylko wtedy, gdy jest potrzebny. Opcjonalne skrypty obsługują kroki wykonywane deterministycznie, a opcjonalne zasoby zawierają szablony lub pliki wykorzystywane w wyniku. Rdzeniem jest procedura i kryteria akceptacji, a nie drzewo katalogów skopiowane dla samej formy.

Ta struktura rozwiązuje dwa problemy.

Po pierwsze, oddziela trwałą wiedzę operacyjną od treści pojedynczego polecenia. Użytkownik może poprosić o podobny rezultat na kilka sposobów bez każdorazowego wyliczania wszystkich konwencji repozytorium.

Po drugie, chroni skill przed zamianą w jeden ogromny prompt. Agent najpierw otrzymuje główną procedurę, a po szczegółowe materiały lub skrypty sięga dopiero wtedy, gdy wymaga tego zadanie. Takie stopniowe ładowanie kontekstu ogranicza szum i ułatwia utrzymanie.

Trzeba też jasno wyznaczyć granicę: skill nie wykonuje pracy samodzielnie. Agent interpretuje instrukcje, narzędzia wykonują operacje, a skrypty i walidatory zapewniają deterministyczne egzekwowanie reguł. Skill może opisać regułę. Skrypt uruchomiony przez agenta może sprawdzić ją w trakcie zadania. Blokująca bramka w CI albo pre-commit może odmówić scalenia. Te warstwy się uzupełniają. Nazywanie całego pakietu automatyzacją jest wygodne, ale zaciera źródła jego niezawodności.

Ukrytym kosztem jest odtwarzanie kontekstu

Duża część samodzielnej pracy technicznej wygląda z zewnątrz różnorodnie, ale pod spodem wymaga podejmowania tych samych decyzji. Temat się zmienia, lecz otaczające ograniczenia często pozostają te same:

Napisanie artykułu. Przegląd struktury wtyczki. Dodanie metadanych do typu treści. Przygotowanie wersji roboczej zgodnej z głosem istniejącej strony. Ocena, czy statyczna witryna potrzebuje CMS. Sprawdzenie, czy wygenerowany tekst pasuje do projektu, a nie do generycznego stylu internetu.

Tematy są różne, lecz przyczyna porażki często pozostaje ta sama: zbyt dużo lokalnego kontekstu trzeba za każdym razem odbudować od zera.

Właśnie ten koszt ograniczają skille. Zwykle nie próbuję automatyzować trudnej decyzji stanowiącej sedno zadania. Usuwam zbędną debatę wokół kwestii, które zostały już rozstrzygnięte:

  • które katalogi i formaty plików są poprawne.
  • jakie tagi lub pola schematu są dozwolone.
  • jak tworzyć nazwy i slugi.
  • kiedy zastosować konkretną strukturę redakcyjną.
  • które polecenia weryfikacyjne trzeba uruchomić.
  • jakie dowody są potrzebne przed zaakceptowaniem pracy.

Żadna z tych reguł osobno nie wygląda imponująco. Razem decydują o tym, czy wynik pasuje do systemu, do którego trafia.

Ta sama logika wyjaśnia, dlaczego mała strona z treścią może czasem działać bez pełnego CMS. Nie framework jest czynnikiem rozstrzygającym, lecz koszt otaczającego go procesu. Tekst Astro + AI vs WordPress dla prostych stron z treścią pyta, kiedy ten proces redakcyjny i publikacyjny nadal wymaga CMS. Skille ograniczają pokrewny koszt o warstwę niżej, na poziomie wykonania. Granice kontekstu oparte na plikach stawiają podobne pytanie o to, co agent ładuje przed rozpoczęciem pracy.

Precyzyjnym skillom łatwiej zaufać

Skill, który próbuje opisać całą przestrzeń zadania, zwykle staje się dokumentem czytanym przez agenta i stosowanym wybiórczo. Zawiera zbyt wiele priorytetów, wyjątków i nie ma wyraźnej granicy akceptacji.

Lepszą jednostką jest jedno powtarzalne zadanie z rozpoznawalnymi danymi wejściowymi, wynikiem i scenariuszami awarii.

W praktyce korzystam z trzech nieformalnych wzorców:

  • Skille routingu kontekstu wskazują, który kontekst projektu, proces lub materiał referencyjny powinien sterować zadaniem, np. kierując pracę nad wtyczką WordPress przez skill-routera zanim agent otworzy instrukcję implementacji.
  • Skille produkcyjne opisują przebieg tworzenia powtarzalnego rezultatu: od zebrania kontekstu po zapis i walidację.
  • Skille weryfikacyjne stosują jawne kryteria akceptacji do pracy, która już istnieje.

Nie są to formalne kategorie ze specyfikacji skilli. To wzorce projektowe, które pomagają mi jasno rozdzielać odpowiedzialność.

Im węższy zakres działania, tym łatwiej poprawnie uruchomić skill, przetestować go na realistycznych przykładach i zaktualizować po zmianie procesu. Mały skill z wyraźnymi granicami jest użyteczniejszy niż rozbudowany skill o niejasnym zakresie decyzyjnym.

Skille porządkują dobór kontekstu, wykonanie i weryfikację

Pierwsza warstwa to dobór kontekstu: które zasady powinny sterować tym zadaniem?

Integracja WordPressa, decyzja dotycząca modelu treści i artykuł na StackCompass mogą wymagać edycji plików, ale nie podlegają tym samym ograniczeniom. Właściwy dobór kontekstu zapobiega sytuacji, w której wynik jest ogólnie wiarygodny, lecz błędny w danym projekcie.

Druga warstwa to wykonanie. Skill przechowuje procedurę, którą inaczej trzeba byłoby odtwarzać z pamięci: katalog docelowy, oczekiwaną strukturę, zasady nazewnictwa, zakazane skróty, preferowane narzędzia i domyślną ścieżkę weryfikacji.

Trzecia warstwa to przegląd. Jawne kryteria ułatwiają odrzucenie słabego wyniku z konkretnego powodu: tytuł jest za długi, zestaw tagów niepoprawny, link wewnętrzny dekoracyjny, abstrakcja zbyt szeroka, otwarcie rozwodnione albo build nie przeszedł.

Skill może te kontrole opisać. Niezawodność rośnie jednak wtedy, gdy obiektywne testy trafiają do kodu. Instrukcja w Markdown może nakazać walidację frontmatteru; schemat lub skrypt może odrzucić niepoprawny frontmatter w trakcie zadania; blokująca bramka w potoku może odmówić scalenia, jeśli kontrola w ogóle nie ruszyła. Czytelne dla człowieka wytyczne i egzekwowane maszynowo bramki uzupełniają się, ale nie są zamienne.

Dlatego nie traktuję skilli jako dodatków do modelu. To warstwa kontekstu i procedur połączona z narzędziami, które mogą egzekwować część kontraktu.

Spójność jest ważniejsza niż jednorazowa szybkość

Szybkość jest najbardziej widoczną korzyścią. Mniejszy dryf wyniku ma większe znaczenie.

Bez skodyfikowanego procesu każde zadanie zastępuje zapisane reguły projektu tym, co akurat jest pod ręką w danym momencie. Ton wynika z ulubionych sformułowań z tego tygodnia, struktura plików z konwencji poprzedniego repozytorium, układ tekstu z domyślnego wzorca modelu językowego, a akceptacja wyniku z tego, ile czasu zostało do terminu. To nie są świadome decyzje. To dryf, który każde kolejne zadanie utrwala trochę inaczej.

Utrzymywany skill pozwala świadomie odtworzyć założenia operacyjne. Plik trafia we właściwe miejsce. Metadane są zgodne ze schematem kolekcji. Potrzebne materiały są dostępne. Kontrole przebiegają w oczekiwanej kolejności. Wynik nie staje się automatycznie świetny, ale rzadziej okazuje się subtelnie niezgodny z projektem.

Dla osoby pracującej samodzielnie zastępuje to część warstwy koordynacyjnej, którą zespoły budują przez role, przeglądy i wspólne procesy. Skille sprawiają też, że kompromisy stają się widoczne. Niezapisany nawyk może pozostawać niespójny przez lata. Wersjonowaną instrukcję można przejrzeć, zakwestionować i zmienić w diffie.

Ta audytowalność jest równie ważna jak możliwość ponownego użycia. Skill nie powinien tylko zachowywać decyzji. Powinien ujawniać ją na tyle wyraźnie, aby można było ją poprawić.

Nieaktualne skille utrwalają błędy

Kodyfikacja nie usuwa osądu. Przenosi jego część na wcześniejszy etap, do projektowania procesu.

W zamian powstaje obowiązek utrzymania. Skill może stać się błędny, gdy zmienia się odbiorca, struktura repozytorium, schemat danych, używane narzędzie albo wyjątek występuje już tak często, że podważa domyślną regułę.

Najgroźniejszy nie jest skill jawnie uszkodzony. Jest nim wiarygodnie brzmiący, nieaktualny skill, który konsekwentnie produkuje wyniki niedopasowane do obecnego procesu.

Dlatego oczekuję, że skill jasno określi cztery rzeczy:

  • co powinno go uruchomić.
  • za które decyzje odpowiada.
  • które decyzje nadal wymagają świeżej oceny.
  • jak należy zweryfikować wynik.

Wolę też reguły lokalne od uniwersalnych deklaracji. Użyteczny skill opisuje, jak publikuje ten projekt, jak testowane jest to repozytorium lub jak zachować spójność tego głosu redakcyjnego. Jego wartość wynika z konkretu dopasowanego do projektu, a nie z udawania dobrej praktyki dla wszystkich.

Pod tym względem skill przypomina dobry model treści. Powinien uchwycić strukturę potrzebną do ponownego użycia i walidacji, a potem zatrzymać się, zanim struktura zamieni się w ceremoniał. Nadmierne modelowanie podnosi koszt utrzymania. Zbyt słabe odbiera korzyści.

Kodyfikuj stabilne decyzje, nie każde zadanie

Użyteczne pytanie nie brzmi, czy skille są przyszłością pracy. Brzmi: które powtarzalne decyzje są wystarczająco kosztowne, aby zasługiwały na kodyfikację?

Tworzę lub rozwijam skill, gdy spełnionych jest kilka warunków:

  • zadanie powraca.
  • kryteria akceptacji są względnie stabilne.
  • odtwarzanie kontekstu kosztuje zauważalny czas lub powoduje błędy.
  • przynajmniej część procedury można zweryfikować.
  • instrukcje mają właściciela i jasny sposób utrzymania.

Jeśli praca za każdym razem wygląda zupełnie inaczej, skill może stać się dodatkowym narzutem. Jeśli zadanie się powtarza, ale nikt nie potrafi określić, jak wygląda dobry wynik, kodyfikacja utrwali niejasność zamiast ją usunąć.

Skille nie zastępują ekspertyzy. Pakują jej powtarzalną część tak, aby uwagę można było przeznaczyć na decyzje, które rzeczywiście są nowe.

Na tym polega praktyczna wartość traktowania ich jak infrastruktury pracy. Skill dostarcza kontekst i procedurę. Narzędzia wykonują operacje. Walidatory egzekwują reguły. Człowiek nadal odpowiada za osąd, którego nie da się sprowadzić do żadnej z tych warstw.