Prepare → Confirm: projektowanie bezpiecznych bramek decyzyjnych dla agentów AI
Dlaczego agent AI nigdy nie powinien mieć jednoetapowego narzędzia „opublikuj teraz” — i jak dwufazowe potwierdzanie chroni przed przypadkową publikacją.
- Modele językowe działają probabilistycznie, natomiast mutacje na zewnątrz (publikacja posta, odpowiedź klientowi, zmiana strategii) muszą być w 100% deterministyczne.
- Rozdzielenie każdego działania na `prepare_*` (walidacja i wygenerowanie podglądu + tokenu) oraz `confirm_*` (wykonanie tokenu) eliminuje przypadkowe publikacje.
- Token potwierdzenia musi być trwale powiązany z konkretnym kanałem, treścią i godziną — i wygasać przy jakiejkolwiek zmianie.
Ryzyko jednoetapowych narzędzi publikacji
Jeśli dasz agentowi AI pojedyncze narzędzie `publish_post(channel, text, time)`, niejednoznaczne polecenie użytkownika — np. „Pokaż, jak wyglądałoby zaplanowanie tego posta na jutro” — może skończyć się prawdziwą wysyłką na żywy profil. W profesjonalnych systemach przygotowanie podglądu działania nigdy nie może być tym samym wywołaniem co jego zatwierdzenie.
Jednoetapowe funkcje `publish_post()` lub `send_reply()` wykonujące akcję natychmiast przy pierwszym wywołaniu.
Faza 1: `prepare_publication_action` (walidacja + podgląd + token) → Ocena człowieka / polityki → Faza 2: `confirm_publication_action`.
1. Mechanika dwufazowej bramki Prepare → Confirm
Wzorzec Prepare → Confirm przenosi ideę transakcji dwufazowych (two-phase commit) do współpracy człowieka z agentem AI. Gdy agent chce zaplanować, przesunąć, ponowić lub opublikować materiał, musi najpierw wywołać narzędzie `prepare_publication_action`.
W fazie `prepare` serwer sprawdza możliwości techniczne kanału, weryfikuje poziom autonomii workspace’u oraz godziny ciszy, buduje dokładny podgląd (kanał, treść, media, slot czasowy) i zwraca krótkotrwały `confirmationToken` — bez wykonywania żadnego ruchu na zewnętrznej platformie.
NIEZMIENNIK BEZPIECZEŃSTWA AGENTAŻadna zewnętrzna publikacja nie może nastąpić bez ważnego tokenu wygenerowanego wcześniej przez wywołanie `prepare_*` dla dokładnie tej treści i terminu.
// FAZA 1: Prepare (Walidacja reguł i czytelny podgląd do zatwierdzenia)
{
"tool": "prepare_publication_action",
"arguments": {
"draftId": "draft_drift4l_ig_01",
"action": "schedule",
"channel": "instagram",
"scheduledAt": "2026-10-11T18:00:00Z"
}
}
// Odpowiedź serwera:
{
"status": "prepared_awaiting_confirmation",
"preview": {
"workspace": "fieldwork",
"channel": "Instagram (@fieldwork)",
"scheduledLocal": "11 paź · 18:00",
"captionPreview": "Dwa dni. Cztery litry. Kurtka, przekąski i zestaw naprawczy..."
},
"confirmationToken": "cfm_9f82a1b4c7e0_exp15m"
}
// FAZA 2: Confirm (Wywoływana wyłącznie po jawnej zgodzie człowieka lub zgodnie z polityką)
{
"tool": "confirm_publication_action",
"arguments": {
"confirmationToken": "cfm_9f82a1b4c7e0_exp15m"
}
}2. Spójna bramka dla postów, artykułów CMS, komentarzy i strategii
Dobrze zaprojektowana architektura stosuje ten sam dwufazowy standard na każdej granicy systemu: `prepare_publication_action` / `confirm_publication_action` dla kolejek społecznościowych, `prepare_article_action` / `confirm_article_action` dla publikacji artykułów w CMS, `reply_to_comment` / `confirm_comment_reply` dla publicznych odpowiedzi na komentarze oraz `prepare_content_strategy_approval` / `approve_content_strategy_draft` dla aktywacji nowej wersji strategii.
3. Projektowanie czytelnego interfejsu potwierdzenia dla człowieka
Bramka decyzyjna spełnia swoją rolę, gdy człowiek widzi na jednym ekranie dokładny tekst, docelowy kanał oraz godzinę publikacji. Po zatwierdzeniu warto dać bezpośredni link przenoszący fokus prosto do nowo dodanego wiersza w planie publikacji.
Bezpośrednie wykonanie vs. architektura dwufazowa Prepare → Confirm
| Właściwość | Jednoetapowe wywołanie | Dwufazowa bramka Prepare → Confirm (Wzorzec MUMRO) |
|---|---|---|
| Ryzyko pomyłki promptu | Wysokie — agent może opublikować przy prośbie o „test planu” | Zerowe — `prepare_*` tworzy wyłącznie bezpieczny podgląd i token |
| Integralność treści | Ryzyko zmiany tekstu między podglądem a wysyłką | Token jest trwale powiązany z przygotowanym szkicem i terminem |
| Sprawdzenie reguł | Weryfikowane za późno lub pomijane | Walidacja trybu autonomii i godzin ciszy już na etapie `prepare` |
| Ślad audytowy | Pojedynczy wpis w logach | Jawny zapis przygotowanego podglądu oraz osobnej autoryzacji (`AG03`) |
Symulator MCP: Bramka Prepare → Confirm oraz 3 poziomy autonomii
Agent odczytuje aktywną Strategię v2, zasady Brand Voice, godziny ciszy (22:00–07:00) oraz wolne okna w harmonogramie bez modyfikowania żadnych danych.
Agent zapisuje widoczny szkic posta w przestrzeni FIELDWORK. Szkic nigdy nie publikuje się sam na żywo i czeka na weryfikację.
Serwer MCP waliduje reguły autonomii i zwraca dokładny podgląd (Instagram · 11 paź · 18:00) wraz z krótkotrwałym tokenem `cfm_9f82a1b4`.
Po jawnej zgodzie człowieka token jest realizowany, a publikacja pojawia się bezpośrednio w planie MUMRO z zachowaniem pełnego śladu audytowego.
Weryfikacja podglądu MCP przed dodaniem posta DRIFT 4L do planu publikacji
W interaktywnym pokazie MCP agent przygotowuje post DRIFT 4L na 11 paź · 18:00 i zatrzymuje proces w stanie oczekiwania na decyzję (`review`).
- Agent odczytuje kontekst, tworzy szkic i wywołuje podgląd terminu.
- Użytkownik sprawdza dokładny tekst podpisu, kanał (Instagram) oraz godzinę (11 paź · 18:00).
- Dopiero po kliknięciu osobnej zgody wpis trafia do planu Wypraw Rowerowych, a link „Zobacz ten post w planie MUMRO” podświetla dodany wiersz.
Rezultat w procesie: Błyskawiczna praca agenta połączona ze 100% kontrolą człowieka nad momentem publikacji.
Dwufazowe bramki Prepare → Confirm dla każdej zewnętrznej akcji.
MUMRO wymaga dwufazowego przygotowania i potwierdzenia dla publikacji społecznościowych, artykułów CMS, odpowiedzi na komentarze oraz zatwierdzania strategii.
- Dwufazowe `prepare_publication_action` oraz `confirm_publication_action` przy planowaniu, przesuwaniu, ponawianiu i publikacji (`AG03`).
- Analogiczne bramki dla artykułów (`prepare_article_action`), odpowiedzi na komentarze (`confirm_comment_reply`) i aktywacji strategii.
- Bezpośredni link z potwierdzonego czatu MCP do dokładnego wpisu w planie publikacji MUMRO.