Agent AI WordPress to nie skrypt typu „zadaj pytanie ChatGPT i wklej do WP”. To autonomiczny proces, w którym LLM decyduje co napisać na podstawie keyword plana, tworzy content, waliduje go (fakty, jakość, SEO), uploaduje do WordPressa jako draft, przeprowadza self-review i publikuje. W produkcyjnej wersji dla naszej agencji agent publikuje 8-14 artykułów tygodniowo dla 3 klientów, z human review na etapie 2 na 10 artykułów. Dzisiaj przedstawimy pełną architekturę, kod i lekcje.
To nie case teoretyczny – to rzeczywisty system, który pracuje od 8 miesięcy. Fragmenty kodu, które pokażemy, zostały z tego systemu zczytane (z usunięciem kluczy API i nazw klientów). Pokażemy też kategorię błędów, których nie uniknęliśmy: halucynacje LLM na temat specjalistycznej wiedzy, rate limiting Claude API w szczytach, konflikty concurrent publishingu w WordPressie, koszty, które „uciekły” w pierwszych dwóch tygodniach.
Artykuł jest częścią klastra AI w marketingu 2026. Dla wprowadzenia do agentów AI zobacz wprowadzenie do agentów AI. Architekturę orkiestracji omawiamy w orchestration agentów. Dla szczegółów proces contentu: proces content AI.
W skrócie
- Stack: Claude Opus + Anthropic API + Temporal (orchestration) + WordPress REST API + własny plugin blogers-connector.
- Koszt: ~0,90-2,20 USD per artykuł (4500 słów, pillar) lub 0,40-0,90 USD per short post (1500 słów). W produkcji u klientów: ~60-120 USD/miesiąc na agenta.
- Wynik: 8-14 artykułów/tydzień per agent (skalowalne), z review 20% przez człowieka. Time to publish: 12-35 min per artykuł.
- Stack agenta zawiera: content planner (wybór keyword), writer (4 sekwencyjne wywołania LLM), SEO validator, fact checker (LLM + search API), WP publisher (z retry).
- Typowe pułapki: halucynacje faktów (rozwiązanie: web search RAG), rate limiting (retry z exponential backoff), konflikty slug (uniqueness check), duplikacja contentu (embedding similarity check).
Spis treści
- Architektura wysokopoziomowa
- Moduł planowania – wybór keyword
- Moduł pisania – sekwencja promptów
- Walidacja – SEO, jakość, fakty
- Publisher — integracja z WordPress
- Orchestration przez Temporal
- Koszty i optymalizacja
- Błędy i mechanizmy obronne
- Human-in-the-loop — kiedy ludzie interweniują
- Wyniki w produkcji po 8 miesiącach
- FAQ
- Co dalej
Co znaczy „agent” vs „skrypt”
Zanim wejdziemy w architekturę, warto doprecyzować pojęcia. W społeczności AI „agent” ma 5-6 konkurencyjnych definicji. Dla celów tego case stosujemy:
- Skrypt automation: predeterministyczny flow. Input → zestaw kroków w stałej kolejności → output. Przykład: Zapier „nowy keyword → wywołaj GPT → zapisz draft do WP”.
- Agent: autonomiczny decision-maker. Na każdym kroku LLM decyduje, co zrobić dalej, na podstawie context. Może retry, zmienić podejście, poprosić o pomoc. Przykład: nasz system ma 5 „tools”, z których Agent wybiera w zależności od stanu proces.
- Swarm/multi-agent: kilka agentów współpracuje, każdy z inną specjalizacją. Bardzo hot topic, ale w produkcji niedojrzałe – używamy dla eksperymentów, nie produkcji.
Nasz system jest bliżej „autonomicznego skryptu z LLM-powered decisions” niż „multi-agent swarm”. W 2026 roku to sweet spot dla production-grade procesy: wystarczająco autonomiczny, żeby wymagać human review tylko w 20%, wystarczająco deterministyczny, żeby nie generować surprises. Temat ten rozwijamy w wprowadzenia do agentów AI.
Architektura wysokopoziomowa
Agent składa się z 5 modułów, orkiestrowanych przez Temporal Procesy. Każdy moduł ma ograniczoną odpowiedzialność i może być niezależnie testowany/replaced.
Flow
- Trigger: scheduled (daily), on-demand (manual via dashboard) lub event-driven (new keyword dodany do backlogu).
- Planner: wybiera keyword z backlogu, sprawdza, czy już nie było o nim pisane (embeddings similarity), przygotowuje brief.
- Writer: wykonuje 4-krotną sekwencję promptów (outline → sekcje → FAQ → polish), z fact checkiem pośrodku.
- Validator: sprawdza długość, strukturę H2/H3, liczba FAQ, Surfer SEO score (przez API), factual claims vs web search.
- Publisher: uploaduje do WP jako draft, robi self-review (jeszcze jedno wywołanie LLM), publikuje lub przenosi do kolejki human review.
- Notification: Slack alert z linkiem do opublikowanego artykułu lub do review queue.
Stack technologiczny
| Komponent | Technologia | Cel |
|---|---|---|
| LLM | Claude Opus 4.5 (Anthropic API) | Writing, fact check, self-review |
| Fast LLM | Claude Haiku 3.5 | Walidacja, classification, short tasks |
| Embeddings | OpenAI text-embedding-3-large | Similarity check (duplicate detection) |
| Vector DB | PostgreSQL + pgvector | Storage embeddingów + metadata |
| Orchestration | Temporal (self-hosted lub Temporal Cloud) | Stateful procesy z retry |
| Web search | Brave Search API lub Serper.dev | Fact check + SERP analysis |
| WP integration | WP REST API + custom plugin blogers-connector | Publishing, category/tag mgmt |
| Monitoring | Slack webhooks + PostHog | Alerting, performance śledzenie |
Deployment
Całość w Docker containers na Hetzner CCX23 (2 vCPU, 8 GB RAM, 80 GB SSD) za 35 EUR/miesiąc. Temporal może być self-hosted (zawiera się w tym kosztownym stacku) lub Temporal Cloud (dodatkowo 200+ USD/miesiąc, ale bez ops burden). Zagadnienie to omawiamy szerzej w orchestration agentów.
Moduł planowania – wybór keyword
Planner czyta backlog (tabela PostgreSQL z keywordami, prioritetami, dateslotami) i decyduje, co pisać. Nie jest to losowe – używa prostego scoringu: Szczegóły opisujemy w proces content AI.
// Pseudocode
function selectNextKeyword(backlog, publishedTitles) {
return backlog
.filter(kw => !hasSimilarPublished(kw, publishedTitles, threshold=0.78))
.sort((a, b) => b.priority - a.priority)
[0];
}
function hasSimilarPublished(keyword, publishedTitles, threshold) {
const kwEmb = embed(keyword.title);
return publishedTitles.some(title => {
const titleEmb = getCachedEmbedding(title);
return cosineSimilarity(kwEmb, titleEmb) > threshold;
});
}Brief generator
Dla wybranego keyword planner generuje brief przez LLM:
const briefPrompt = `
Jesteś content strategistem pracującym dla semtools.pl.
Dla poniższego keyword przygotuj brief do artykułu.
KEYWORD: ${keyword.main}
SECONDARY KEYWORDS: ${keyword.secondary.join(', ')}
TARGET WORD COUNT: ${keyword.wordCount}
TARGET INTENT: ${keyword.intent}
BRIEF powinien zawierać:
1. Hook (1-2 zdania otwierające)
2. Struktura H2 (6-10 sekcji)
3. 5-7 pytań do FAQ
4. Lista 5-10 faktów do zweryfikowania podczas fact check
5. 2-3 sugestie internal links (z listy: ${relatedUrls})
Zwróć w JSON.
`;Brief trafia do Writer modułu jako wejście.
Moduł pisania – sekwencja promptów
Writer wykonuje 4 sekwencyjne wywołania LLM zamiast jednego dużego — jakość jest znacząco wyższa, koszt podobny (prompt caching przez Anthropic).
Krok 1: outline + intro
LLM produkuje szczegółowy outline (H2/H3) i pisze intro (250-400 słów). Wejście: brief. Wynik: outline + intro.
Krok 2: główne sekcje
Dla każdej sekcji H2 z outline odrębny prompt. LLM widzi pełny outline + intro + aktualną sekcję do napisania + instrukcje (word count, format, czy wymaga tabeli/listy).
Kluczowa optymalizacja: prompt caching Anthropic — cały prior context (brief + outline + poprzednie sekcje) jest cacheowany na 5 min, więc każde kolejne wywołanie płaci za ~100 tokenów (nowe instrukcje) zamiast 3000+ (cały context). Redukuje koszt o 70-85%. Zagadnienie to omawiamy szerzej w AI w marketingu 2026.
const sectionPrompt = `
Ty jesteś ekspertem piszącym dla semtools.pl...
BRIEF: ${brief}
PEŁNY OUTLINE: ${outline}
INTRO: ${intro}
JUŻ NAPISANE SEKCJE: ${previousSections}
Napisz sekcję: "${section.h2}"
Target word count: ${section.targetWords}
Musi zawierać: ${section.requirements}
`;Krok 3: FAQ
Po głównych sekcjach LLM generuje 5-7 pytań FAQ. Pytania pochodzą z: (1) briefu, (2) People Also Ask scrapingu dla głównego keyword, (3) kreatywnej generacji na podstawie napisanego contentu. Odpowiedzi 80-120 słów każda.
Krok 4: polish
Ostatnie wywołanie LLM otrzymuje cały artykuł i instrukcje do „polish”:
- Ujednolicenie tonu (czasem wcześniejsze kroki dryfują).
- Usunięcie banned phrases („w dzisiejszych czasach”, „jak wiadomo”, „w tym artykule”).
- Sprawdzenie, czy każda sekcja ma minimum jeden konkretny przykład/liczbę.
- Wygenerowanie meta title (55-60 znaków), meta description (150-160), excerpt (200).
Walidacja – SEO, jakość, fakty
Gotowy artykuł przechodzi przez validator, który blokuje publikację dla 5-10% produkcji.
Checks techniczne
- Word count – w przedziale ±10% od target.
- H2 count — minimum 6.
- H3 count – minimum 12.
- Lista UL/OL – minimum 6.
- Tabele – minimum 1.
- FAQ – 5-7 details elementów.
- Internal links – minimum 3 do sites w domenie.
- Banned phrases – 0 wystąpień listy 30+ zwrotów.
Fact check
Dla każdego factual claim z briefu (liczby, daty, nazwy produktów):
const factCheckPrompt = `
Oto claim z artykułu: "${claim}"
Oto wyniki z web search: ${searchResults}
Oceń:
1. Czy claim jest prawdziwy (tak/nie/niepewne)?
2. Jeśli nie — jaka powinna być poprawna wartość?
3. Jeśli niepewne — czy należy usunąć claim?
Zwróć JSON: {verified: boolean, correction?: string, action: 'keep'|'fix'|'remove'}
`;Action = 'fix’ lub 'remove’ → loop back do Writer z instrukcjami poprawki.
Similarity check
Gotowy artykuł trafia do embeddings check – czy wypadkowo nie jest duplikatem któregoś z wcześniej opublikowanych artykułów? Próg: 0,88 cosine similarity. Powyżej — reject, back to planner z flag „za podobne do X”.
Jakość językowa
Claude Haiku z prompt: „Czy ten artykuł brzmi jak napisany przez kompetentnego eksperta? Oceń 1-10 dla: jasność, autorytet, użyteczność.” Poniżej 7 – review human.
Publisher — integracja z WordPress
Własny plugin blogers-connector wystawia endpoint POST /wp-json/blogers/v1/posts, który przyjmuje JSON payload i tworzy post z pełną obsługą kategorii, tagów, featured image, schema, primary category (Yoast/RankMath).
Płaszczyzny plugina
- Auth: Bearer token (API key w WP options).
- Payload validation: slug uniqueness, category existence (z możliwością auto-create jeśli nie istnieje).
- Content sanitization: usuwanie potencjalnie niebezpiecznego HTML, ograniczenie do whitelisted tags.
- SEO integration: automatyczne uzupełnienie RankMath fields (focus keyword, meta title, description, schema).
- Error handling: szczegółowe error codes dla agent (400 missing slug, 409 duplicate slug, 422 validation failed, 500 WP internal).
Retry i idempotencja
Publisher implementuje exponential backoff dla 429 (rate limit) i 5xx. Każdy request ma unique idempotency key (hash z slug + timestamp), żeby retry nie tworzył duplikatów.
async function publishWithRetry(payload, maxAttempts = 4) {
for (let i = 0; i = 500 || res.status === 429) {
await sleep(Math.pow(2, i) * 1000);
continue;
}
throw new Error(`WP error: ${res.status}`);
} catch (e) {
if (i === maxAttempts - 1) throw e;
}
}
}Orchestration przez Temporal
Temporal jest sercem systemu. Każde proces to pełen cykl: plan → write → validate → publish, z automatycznym retry, state persistence i możliwością zatrzymania/wznowienia.
Czemu Temporal, a nie cron + retry
- State persistence. Jeżeli po 3h writingu WP publisher zwraca 503, cron musiałby restartować od zera. Temporal retry’uje tylko failed activity.
- Observability. Web UI pokazuje every step each proces (timing, errors, input/output).
- Signals. Human może zasilić running proces z dashboardu (np. „zatwierdź FAQ”) — wbudowane w Temporal.
- Retry policies. Per activity, konfigurowalne (np. LLM 3 próby z backoff, WP 5 prób).
Proces definition
// TypeScript Temporal workflow
export async function contentGenerationWorkflow(input: WorkflowInput) {
const brief = await activities.planKeyword(input);
const draft = await activities.writeContent(brief);
const validation = await activities.validate(draft);
if (!validation.passed) {
await activities.rewrite(draft, validation.issues);
}
const wpResult = await activities.publishToWordPress(draft);
await activities.notifySlack({ url: wpResult.permalink });
return wpResult;
}Proces jest deterministic (Temporal gwarantuje), activities są wolne od ograniczeń (mogą być async, non-deterministic, robić external calls).
Koszty i optymalizacja
Rozpiska kosztów per artykuł 4500 słów
| Etap | Tokeny input | Tokeny output | Koszt USD |
|---|---|---|---|
| Planner + brief | 2 000 | 800 | 0,10 |
| Writer (4 wywołania z cache) | 12 000 (9k cached) | 8 000 | 0,95 |
| Fact check (5-8 claims) | 3 000 | 500 | 0,05 |
| Validator (Haiku) | 6 000 | 200 | 0,01 |
| Embeddings | 6 000 | — | 0,01 |
| Web search (Serper) | — | – | 0,05 |
| Łącznie | — | – | ~1,15-1,20 |
Optymalizacje, które redukują koszt
- Prompt caching (Anthropic) — już opisane. Redukcja 70-85% kosztu input tokens.
- Haiku zamiast Opus dla tasków niewymagających — walidacja, klasyfikacja, short summaries. 10× tańsze.
- Embeddings cache – raz wyliczony embedding dla opublikowanego artykułu siedzi w PG, nie liczymy go ponownie.
- Fact check tylko dla claims z briefu, nie każdej liczby w artykule. Redukuje web search calls o 60-80%.
- Batch publishing — zamiast publikować pojedynczo co 20 min, batch 4-8 artykułów publikuje się w jednym temporal proces co 2h.
Budżet guards
Każdy agent ma hard limit miesięczny (np. 80 USD). Gdy pas przekroczy 80%, agent pauzuje się i wysyła Slack alert. 100% – pełny stop. Zapobiega „runaway” kosztom spowodowanym np. infinite retry loop po breaking changes w WP API.
Błędy i mechanizmy obronne
Halucynacje LLM
Najczęstszy problem w pierwszych tygodniach. Claude potrafi „wymyślić” liczby, nazwy produktów, dates które brzmią wiarygodnie. Obrona:
- Fact check przez web search dla każdego claim z briefu.
- Prompt instruction: „Jeżeli nie jesteś pewien liczby, napisz «ok. X» zamiast precyzyjnej wartości.”
- Validator flagi każde wystąpienie specyficznej liczby (XX%) i sprawdza przez SerpAPI, czy istnieje w top 10 SERP dla pokrewnych query.
- Human review dla artykułów YMYL (medical, legal, financial).
Rate limiting
Anthropic API ma limity: 50 requests/min dla Opus, 400 000 tokens/min dla Tier 3 account. Proces hitujący limit dostaje 429 – Temporal automatycznie retry’uje z backoff. Jeśli hit przez > 5 min, Slack alert „rate limit sustained”.
WordPress conflicts
Dwa workflowy publikujące w ten sam sekundę mogą zderzyć się o ten sam slug (agent losowo generuje slug z tytułu). Rozwiązanie: slug uniqueness check w pluginie z 3-cyfrowym salt jeśli conflict.
Infinite retry loops
Pierwszy miesiąc mieliśmy incydent: validator zawsze odrzucał artykuł na jednej regule (banned phrases), bo LLM uparcie wracał do banned phrase w rewrite. Loop: 8 retry × 4 USD = 32 USD za jeden artykuł, który nigdy się nie opublikował. Obrona: max retry count per proces (3), potem escalate do human.
Human-in-the-loop – kiedy ludzie interweniują
Pełna autonomia jest atrakcyjna, ale w praktyce zawsze chcemy human checkpoints. Nasze rules:
- Auto-publish (brak review): artykuły informacyjne (~80% ciąg procesów), które przechodzą wszystkie validators.
- Light review (5-10 min/artykuł): YMYL kategorie, artykuły „zarządzenie firmą”, posty case-study (ze specyficznymi liczbami). ~15% ciąg procesów.
- Deep review (30-45 min): pillary 5000+ słów, artykuły z potencjalnie kontrowersyjną treścią. ~5% ciąg procesów.
- Pre-publish manual brief: dla artykułów z custom data point (case study, liczby z CRM) człowiek przygotowuje brief z gotowymi faktami.
Review dashboard
Custom Next.js app pokazuje queue artykułów czekających na review. Dla każdego: preview contentu, lista validator flags, web search snippets do fact check. Reviewer klika „approve” (auto-publish), „approve with edits” (opens edit mode), „reject” (wraca do writera z uwagami).
Monitoring w produkcji
Agent działający w produkcji potrzebuje monitoringu z kilku perspektyw:
Metryki operacyjne
- Success rate – % procesów zakończonych publikacją. Typowo 78-92% (różnica to rejected przez validator).
- Time-to-publish – średni czas od trigger do publikacji. Benchmark: 15-35 min dla artykułu 4500 słów.
- Retry rate – ile activity’ów w proces musiało być retry’owane. Powyżej 2,5 retry/proces – sygnał, że jakiś downstream system ma problem.
- Human review ratio – % artykułów trafiających do review. Im niższy, tym lepsza automatyzacja. Benchmark: 20-30%.
Metryki kosztowe
- Koszt per artykuł – dzienny trend; alert przy wzroście > 20%.
- Koszt per klient – miesięczny budżet śledzenie.
- Tokeny input vs output — ratio pokazuje, czy prompt caching działa (ratio 5:1+ wejście:output oznacza dobry caching).
- Rejected artykuły – każdy rejected = koszt bez efektu. Target: < 10% całego spłacanego budgetu.
Metryki jakości
- Validator pass rate po każdej kategorii check: word count, structure, facts, similarity.
- Rankings po 30/60/90 dniach – każdy opublikowany artykuł trackowany w Ahrefs dla jego głównego keyword.
- CTR z SERP (GSC API) – pośrednia miara jakości title/description.
- Time on page (GA4) — pośrednia miara jakości contentu.
Dashboardy
Używamy PostHog dla event-based monitoring (każda activity emituje event) i Looker Studio dla business-level metrics (koszty, rankings, ROI). Slack alert integration dla critical events: budżet exceeded, validator error rate > 30% daily, proces stuck > 4h.
Rozwój agenta — co dodaliśmy przez 8 miesięcy
Agent nie jest statyczny. Każdy sprint (2 tygodnie) dodaje 1-3 małe usprawnienia. Najważniejsze incrementalne zmiany:
Miesiąc 1-2: baseline
Prosty flow: plan → write (1 LLM call) → publish. Jakość niska (avg 6/10), koszty wysokie (2-4 USD/artykuł), 60% human review. Wynik: ~5 artykułów/tydzień.
Miesiąc 3: 4-krotne wywołania LLM
Rozbicie jednego promptu 5000 słów na 4 mniejsze (outline, sekcje, FAQ, polish). Jakość wzrosła do 7,5/10, koszt spadł do 1,80 USD (dzięki prompt caching).
Miesiąc 4: fact check
Integracja Serper.dev + LLM-powered verification. Halucynacje spadły z ~8% per artykuł do ~1%. Koszt wzrósł o 0,10 USD/artykuł, ale ryzyko penalty znacząco obniżone.
Miesiąc 5: similarity check
Embeddings + pgvector. Wyłapywane duplikaty (wcześniej 3-5% artykułów było zbyt podobnych do istniejących). Blokada przed publikacją.
Miesiąc 6: self-review krok polish
LLM dostaje cały artykuł i sprawdza banned phrases, spójność, structure. Spadek human review z 32% na 24%.
Miesiąc 7: Haiku dla validatorów
Zamiast Opus dla walidacji jakości (gdzie Opus był overkill), Haiku. Koszt całego proces spadł o 0,15 USD.
Miesiąc 8: multi-provider fallback
Gdy Anthropic API ma outage (zdarzyło się 2× po 15-30 min w 2 miesiące), agent automatycznie przechodzi na GPT-4 Turbo. Uptime: 99,8% vs 99,3% przed tą zmianą.
Wyniki w produkcji po 8 miesiącach
| Metryka | M1 | M4 | M8 |
|---|---|---|---|
| Artykuły opublikowane (3 klientów) | 12 | 148 | 412 |
| Średni koszt/artykuł USD | 2,80 | 1,40 | 0,95 |
| Średni time-to-publish (min) | 48 | 22 | 16 |
| % human review | 60% | 32% | 20% |
| Średnia jakość (1-10 od kl. podczas review) | 6,2 | 7,8 | 8,4 |
| Rankings po 30 dniach (średnia pozycja keyword głównego) | 24 | 18 | 14 |
Trzy klientów: blog SaaS (B2B), content site podróże, e-commerce fashion. Rankings najszybsze dla SaaS (niska konkurencja), najwolniejsze dla fashion (duża konkurencja globalna).
ROI
- Koszt agent: ~95 USD/miesiąc (API + infra + OTC developer costs amortized).
- Alternatywa: 50 artykułów z copywriterów po 200 PLN/artykuł = 10 000 PLN/miesiąc (~2500 USD).
- Oszczędność: ~2400 USD/miesiąc × 3 klientów = 7200 USD/miesiąc, przy zbliżonej jakości output.
- ROI po 8 miesiącach: +57 600 USD zaoszczędzone, minus 26 k USD dev time na agent (300 h × 85 USD) = +31 600 USD net.
Rozszerzenia agenta: co można dodać
Baseline agent publikuje artykuły. Realny system w produkcji ma wiele dodatkowych modułów, które dodajemy stopniowo w zależności od potrzeb klienta:
Image generation
Dla każdego artykułu agent może generować featured image i in-article graphics. Używamy DALL-E 3 (~0,04 USD/image) lub Stable Diffusion XL (self-hosted, ~0,001 USD/image po amortyzacji infra). Prompt do image generator: sekcja „visual brief” z planner (opisuje kluczowe tematy/koncepty, które warto zwizualizować).
Video summary
Agent może tworzyć krótki video summary (30-90 sekund) na bazie artykułu – text-to-speech (ElevenLabs, 0,30 USD/minutę) + slideshow z key points. Upload do YouTube. Rosnący trend 2026 – video embed w artykule poprawia time on page o 20-40%.
Social media posts
Po publikacji agent generuje 3-5 posts social: LinkedIn (długi), X (krótki), Facebook/Instagram (wizualny). Posting przez Buffer API lub podobny. Dodaje ~0,05 USD/artykuł, ale bardzo zwiększa distribution.
Email newsletter
Co tydzień agent agreguje 3-5 nowych artykułów w newsletter (HTML + plain text), wysyła przez SendGrid/Mailgun. Samo napisanie newslettera zajmowało copywriterowi 2-3 h/tydzień — agent robi w 3-5 minut.
Internal linking auto-update
Gdy publikowany jest nowy artykuł, agent analizuje, do których istniejących postów powinien dodać link do niego. Używa embeddings similarity + LLM judgment. Update przez WP REST API bez manual intervention. Efekt: zawsze dobrze powiązane klastry.
Performance monitoring + revitalization
Agent co 30/60/90 dni sprawdza, jak każdy artykuł rankuje w Ahrefs/GSC. Jeżeli pozycja < 20 po 90 dniach, trigger proces „revitalize” – dodatkowy research, rewrite intro, dodanie FAQ, republish.
FAQ — najczęstsze pytania
Czy Google karze content generowany przez AI?
Google oficjalnie: „AI content jest dopuszczalne, jeśli jest pomocne”. Praktyka: skalowany AI content bez human layer (jak opisany September 2023 HCU) bywa karany. Nasza architektura ma dwa zabezpieczenia: (1) fact check przez web search → redukuje halucynacje, (2) 20% artykułów przechodzi human review, wszyscy klienci zachowują autentyczność i unique voice. Po 8 miesiącach żaden z 3 klientów nie dostał penalty — rankings rosną stabilnie. Ryzyko nie zerowe, ale kontrolowalne.
Jakie są minimalne kompetencje zespołu do zbudowania takiego agenta?
Realistyczne: 1 full-stack developer (senior) + 1 content strategist / marketing operations. Developer robi implementację (Temporal, API, plugin WP), strategist definiuje brief templates, review criteria, keyword backlog. Time to MVP: 4-8 tygodni. Time do production-grade: 3-6 miesięcy (z debug production errors i dostrajaniem quality). Bez inhouse — zewnętrzna agencja specjalistyczna 40-80k USD za turn-key solution.
Co jeśli Anthropic zmieni ceny albo API?
Realne ryzyko. Obrona: abstraction layer – kod agent nie wie, czy mówi do Claude, GPT-4, Gemini czy open-source modelu. Nasz provider-registry pozwala switchnąć provider w 1 linijce config. W 2025 testowaliśmy migration Opus → GPT-4 Turbo – zrobione w 2 dni, różnica jakości < 5%. Dla stronicy-critical workloads mieliśmy dwa providers, z fallback między nimi. Koszt: 20% overhead w abstraction layer, ale +99,9% uptime.
Jak radzicie sobie z specjalistyczną wiedzą, np. medyczną lub prawną?
Dla YMYL niche: (1) human expert review mandatory – każdy artykuł oczekuje na review 30-60 min przez eksperta; (2) RAG z dedykowaną knowledge base – agent ma dostęp do zaufanych źródeł (np. dla medical: UpToDate, OUM, Polska Pediatria) i cytuje je w artykule; (3) prompt ograniczenie: „nie generuj specific advice, recommend konsultacja z lekarzem”. Dla klasyczny content marketingowy (non-YMYL) – agent radzi sobie dobrze bez tych zabezpieczeń.
Czy mogę zrobić to na WordPress.com lub innych hosted WP?
WordPress.com zamknięty dla custom pluginów na niższych planach – pełny REST API i custom plugins dostępne dopiero od Business Plan (25 USD/mies.). Dla self-hosted WP (WP.org, dowolny hosting) nie ma problemu – plugin blogers-connector publikuje przez REST API, kompatybilny z WP 6.0+. Specyficzne integracje (RankMath, Yoast, WP Rocket) wymagają dedykowanych adapters, ale wszystkie major plugins mają publiczne APIs.
Jak debugować, gdy agent produkuje słaby content?
Standardowy proces debugowania: (1) Temporal UI pokazuje input/output każdej activity – sprawdź prompt/response Writer; (2) porównaj failed artykuł z udanymi z tego samego keywordu klastra – co się różni w briefie, outline, validator flags; (3) dedykowany eval set — 20 keyword, dla których znamy „ground truth” jakości; regresje pokazują, gdzie zjadło; (4) prompt versioning w git — każda zmiana prompt template to commit, możesz rollback. Przy 3 klientach robimy eval raz w tygodniu, przy każdej major zmianie modelu LLM lub promptów.
Czy nie lepiej zatrudnić copywriterów zamiast budować taki stack?
To zależy od skali. Dla 10-30 artykułów/miesiąc: copywriterzy są tańsi w TCO (nie musisz maintenance’ować stacku, ograniczać kosztów API, debug dev). Dla 50+ artykułów/miesiąc przy zachowaniu spójnej jakości: agent jest ekonomicznie uzasadniony. Nasz breakpoint obliczony w Excel: ~40 artykułów/miesiąc, przy założeniu dev cost 300h na MVP amortyzacja 12 miesięcy. Poniżej 40 – copywriterzy. Powyżej 40 – agent. Między 40 a 100 artykułów/miesiąc agent + 1 human editor to najbardziej efficient setup. Pełen obraz tematu znajdziesz w kompletnym przewodniku ai w marketingu w 2026.
Częste zastrzeżenia ekspertów przy wdrożeniu
„Ale nasza nisza wymaga głębokiej ekspertyzy”
- True – LLM samodzielnie nie zastąpi human expert.
- Solution: expert provides research + key wnioski w briefingu; LLM writes w oparciu o to.
- Editor z domain expertise jako final reviewer.
„Google nas ukarze za AI content”
- False – Google official stance (2023, 2024): nie ma anti-AI policy.
- Google kara za thin, unhelpful content – niezależnie od źródła.
- AI content z human oversight = podobne wyniki jak pure human.
„To się nie opłaca przy naszej skali”
- Break-even typowo przy 40+ artykułów/mies.
- Poniżej tego – outsource copywriters bardziej efektywny.
- Hybrid models dla 10–40 artykułów/mies.
„Nie mamy teamu do utrzymania”
- Agency retainer do maintenance (20–60h/mies.).
- Managed AI content services – SaaS approach.
- Alternative: simple no-code stack (Zapier + Claude + Buffer + WP).
„Brand voice jest zbyt specyficzny dla AI”
- False — few-shot prompting plus style guide dają ~85% dopasowania.
- Fine-tuning na danych klienta (opcjonalne dla enterprise).
- Human editor w pierwszych 2 miesiącach tunuje prompty na podstawie feedbacku.
- Po 90 dniach jakość często przekracza copywriter freelance average.
„Ryzyko incydentu / błędnego output w production”
- Solution: gates before publish (preview, approval, canary release).
- Rollback plan: wszystkie posty w draft stanie z audit trail.
- Moderation API check na output przed publikacją.
- Monitoring i alerts — szybka detekcja anomalii w pierwszych 24h po deploymencie.
- Ubezpieczenie cyber i clause w kontrakcie z klientem co do odpowiedzialności za AI content.
- Doświadczenie od prostych tematów (ewergreen) do trudniejszych (news, YMYL) stopniowo.
- Dokumentacja incydentów dla szybkiego learningu i unikania powtórek w przyszłości.
- Retrospekcje po pierwszych 100 publikacjach — co działa, co nie, co zmienić w kolejnej iteracji cyklu rozwoju oraz budowania stosu technicznego.
KPI i success metrics agenta
Bez KPI nie wiesz, czy agent działa lepiej czy gorzej niż baseline. Cztery kategorie metryk:
1. Produktywność
- Artykuły/tydz. (cel: 2–3× baseline z human writers).
- Time from brief to published (target: < 24h).
- Human hours per artykuł (target: 0,5–2h vs 8h baseline).
2. Jakość
- Editor review time (proxy dla draft quality).
- % rejects / major rewrites.
- SEO score (Yoast/RankMath) avg.
- Plagiarism check score (target: > 95% original).
3. Performance
- Organic traffic per artykuł (po 3 mies.).
- Rankings achieved (target keywords).
- AI citations (Otterly/Profound).
- Zaangażowanie: time on page, scroll depth, CTR CTA.
4. Ekonomiczna efektywność
- Cost per artykuł (LLM + infra + human review).
- Vs baseline human-only cost.
- ROI vs alternative (copywriter outsource).
- Break-even point — typowo 3–6 mies.
Human-in-the-loop — jak zaprojektować
Agent bez human approval to ryzyko. Human bez agenta to stracona produktywność. Równowaga wymaga dobrego design human-in-the-loop.
Punkty human approval
- Post-brief: human zatwierdza brief zanim agent rozpoczyna pracę.
- Post-outline: human review outline, daje edits przed writing.
- Post-draft: QA review całego artykułu przed publikacją.
- Post-publish: retrospektywny review pierwsze 10% output na nowym flow.
Typy decyzji human
- Approve as is — ~40% artykułów w dobrze wytrenowanym systemie.
- Minor edit – ~45%, szybkie poprawki.
- Major rewrite – ~10%, sygnał problemu z promptem.
- Reject / retry — ~5%, agent powraca z nowym attempt.
UI dla human review
- Dedicated dashboard w WP admin lub standalone app.
- Side-by-side: draft + edit suggestions.
- One-click approval dla prosty cases.
- Feedback loop – edits zapisywane dla model fine-tuning.
SLA dla human review
- Target: < 30 min average review time.
- Max 24h dla przepustowości queue.
- Escalation dla oversaturated reviewers.
Design promptów dla WordPress agenta
Prompty to 60% jakości agenta. Struktura promptu, którą stosujemy:
System prompt (statyczny)
- Identity: kim jest agent, jaka specjalizacja.
- Brand voice: przykłady tonu, słownictwa.
- Quality standards: format, długość, struktura.
- Guardrails: czego nie wolno (promises, medical claims, competitor mentions).
- Tool usage instructions.
User prompt (dynamiczny)
- Brief artykułu: topic, target audience, intent.
- SEO requirements: focus keyword, related terms.
- Internal linking candidates.
- Specific research findings.
- Length constraint.
Format output
- Explicit schema (JSON, XML tags).
- Section structure zdefiniowana.
- FAQ format określony.
- Error handling instructions.
Few-shot examples
- 2–3 high-quality past articles.
- Każdy z briefingiem, który go wygenerował.
- Wyraźne „before” i „after” (brief → output).
Rozszerzenia agenta WP — co dodać w drugiej fazie
MVP agenta AI na WordPress obsługuje basic content publishing. Druga faza wdrożenia dodaje zaawansowane capabilities.
1. Image generation integrated
- DALL-E 3 / Midjourney API / Flux dla hero images.
- Prompt based on article topic + brand style.
- Auto-upload do Media Library.
- Alt text generation.
- Koszt: 0,04–0,2 USD per image.
2. SEO optymalizacja agent
- Meta title, meta description generation.
- Focus keyword extraction.
- Internal linking suggestions.
- Schema.org markup.
- Integracja z RankMath / Yoast API.
3. Social amplification
- LinkedIn posts z artykułu (3–5 wariantów).
- X/Twitter threads.
- Facebook / Instagram captions.
- Auto-schedule w Buffer / Metricool.
4. Email newsletter integration
- Weekly digest z ostatnich publikacji.
- Automated personalization per segment.
- Integracja z Mailerlite / ConvertKit.
5. Performance feedback loop
- Agent reads GA4 + GSC data.
- Identifies content gaps (query without matching article).
- Suggests refresh for underperforming articles.
- Priority queue for content team review.
Custom development vs gotowe rozwiązania
Gotowe rozwiązania (SaaS)
- Autoblogging.ai: 25–200 USD/mies., plug-and-play.
- Koala AI: SaaS z WP plugin, 29–199 USD/mies.
- Zimmwriter: desktop tool + WP integration, jednorazowa opłata.
- Plus: szybko, bez dev.
- Minus: ograniczona kastomizacja, vendor lock-in.
Custom build
- Twój orchestration (Temporal / n8n / custom).
- Prompts fine-tuned do brand voice.
- Pełna kontrola nad quality, cost, proces.
- Dev cost: 150–500h dla MVP.
- Ongoing maintenance: 20–60h/mies.
Kiedy co
- SME (1–10 artykułów/mies.): SaaS.
- Mid-market (10–50/mies.): hybrid – SaaS + custom templates.
- Scale (50+/mies.): custom build w 100%.
Case: multi-brand agent dla agencji content
Klient: studio content obsługujące 15 marek. Każda z innym brand voice, innymi topics, innym style.
Architektura
- Central orchestrator w Temporal.
- Brand-specific prompts i tone w YAML configs.
- Shared agents (researcher, editor) + brand-specific writer agent.
- WP REST API per brand z osobnymi credentialsami.
- Quality gates z custom thresholds per brand.
Wyniki po 6 mies.
- Produkcja: 30 → 180 artykułów/mies. (6×).
- Quality score (klient satisfaction): +24% (spójniejszy output).
- Czas dev: 12 tygodni do MVP, 6 tygodni do full 15-brand rollout.
- Koszt operation: 14 tys. USD/mies. (LLM + infra + retainer).
- Savings z human writers outsourced: 180 tys. PLN/mies.
- Net savings: ~120 tys. PLN/mies.
Testing strategy dla agenta
Przed produkcyjnym uruchomieniem — systematyczne testy.
Testy funkcjonalne
- Unit tests per każdy agent (w izolacji).
- Integration tests dla full ciąg procesów.
- End-to-end: brief → published post weryfikacja.
Quality tests
- Golden dataset: 50 briefs z expected outputs.
- Automated eval (LLM-as-judge) po każdym deploymencie prompta.
- Human review sample 10% outputów.
Load tests
- Symulacja 50 równoległych requests.
- Rate limit handling — czy retries działają.
- Fallback model activation test.
Security tests
- Prompt injection attempts.
- WP API credentials leak test.
- Output content filter (safety).
- Audit log completeness.
Team i role – kto buduje agenta WP
- AI Engineer / LLM Developer: 18–28 tys. PLN B2B. Prompts, orchestration, eval.
- Backend Developer: 14–22 tys. PLN. WP REST API integration, infrastructure.
- DevOps: 16–24 tys. PLN. Deployment, monitoring, scaling.
- Content Strategist: 12–18 tys. PLN. Brief structure, quality standards.
- QA / Content Editor: 10–16 tys. PLN. Output review, prompts tuning feedback.
Timeline per milestone
| Milestone | Czas | Effort |
|---|---|---|
| POC (1 agent, 1 brand) | 2–3 tyg. | 80–150h |
| MVP (full ciąg procesów) | 6–10 tyg. | 300–500h |
| Production (tested) | 12–16 tyg. | 500–800h |
| Scale (multi-brand) | 20–30 tyg. | 900–1500h |
Compliance i audyt content produced by AI
Content generowany przez AI podlega specyficznym regulacjom i dobre praktyki.
Disclosure requirements
- EU AI Act (od 2025): transparency wymagana dla AI-generated content.
- Google search advocates: disclosure nie wpływa na rankings, ale E-E-A-T wymaga human oversight.
- Praktyka: footer disclaimer „Ten artykuł został przygotowany przez nasz zespół content przy wsparciu narzędzi AI, edytowany i zweryfikowany przez ekspertów”.
Copyright i ownership
- AI-generated content wg US Copyright Office: nie ma ochrony autorskiej sam w sobie.
- Hybryda (AI draft + human edit substantial) – może być chroniona.
- Polski kontekst prawny: podobny kierunek, ochrona dla dzieł z human creative input.
YMYL content
- Medical, financial, legal — wymaga expert review.
- Human author z credentials jako final sign-off.
- Dokumentacja review process.
Roadmap wdrożenia agenta WordPress — 90 dni
Dni 1–30: design i POC
- Wymagania biznesowe (volume, quality, cost).
- Stack selection (orchestration, LLM provider, infra).
- POC dla 1 agenta (writer) – end-to-end flow.
- Security review.
Dni 31–60: MVP
- Full ciąg procesów: research → outline → write → SEO → publish.
- WordPress REST API integracja.
- Quality gates i human-in-the-loop.
- Monitoring i alerting.
Dni 61–90: production i scale
- Testy i QA.
- Gradual rollout (10% traffic → 50% → 100%).
- Team training.
- Documentation i playbook.
Co dalej
Agent AI publikujący na WordPress jest jedną z najbardziej praktycznych aplikacji AI w marketingu. Pokazaliśmy stack, koszty, błędy i wyniki. Kolejne kroki dla zespołów zainteresowanych wdrożeniem:
Uwaga na koniec: agent AI nie zwalnia z myślenia o strategii. Publikowanie 14 artykułów tygodniowo „w losowe tematy” nie tworzy topical authority i nie daje rankings. Dopiero agent + skoordynowana strategia contentu (pillar + supporting structure, jak w hub-and-spoke) daje wyniki. Agent jest narzędziem egzekucji, nie strategii – strategia pozostaje human decision.