Artefakty
Artefakty umożliwiają przechowywanie trwałych wyników przepływu pracy bez powiększania głównego ładunku stanu przepływu pracy.
Sprawdzają się w przypadku roboczych dokumentów, planów JSON wyodrębnionych z danych, cytowań, manifestów źródłowych, wygenerowanych ścieżek plików oraz migawek promptów i odpowiedzi, które chcesz później przejrzeć. Jest to szczególnie przydatne w przepływach pracy agentów: stan końcowy pozostaje mały i czytelny, nawet jeśli każde uruchomienie może wygenerować duże wyniki pośrednie.
Dlaczego artefakty zamiast stanu przepływu pracy
Stan przepływu pracy najlepiej nadaje się do przechowywania niewielkich, publicznych danych potrzebnych natychmiast w następnym kroku.
Artefakty są lepsze, gdy wynik jest większy niż zwykłe wartości stanu, służy głównie do późniejszego przeglądania, przydaje się w widokach do sprawdzania lub eksportowania albo po prostu lepiej reprezentuje go nazwany wynik niż jeden duży obiekt stanu.
Zapisz artefakt dla bieżącego kroku przepływu pracy
Gdy kod działa już w kroku przepływu pracy, użyj Queuety::put_current_artifact():
use Queuety\Queuety;
use Queuety\Step;
final class DraftBriefStep implements Step
{
public function handle(array $state): array
{
$draft = [
'title' => 'Pricing brief',
'body' => '...',
];
Queuety::put_current_artifact(
'draft',
$draft,
'json',
[ 'source' => 'planner' ],
);
return [ 'draft_ready' => true ];
}
public function config(): array
{
return [];
}
}
Queuety automatycznie przypisuje bieżący identyfikator przepływu pracy i indeks kroku.
Zapisz artefakt spoza przepływu pracy
Jeśli znasz już identyfikator przepływu pracy, użyj Queuety::put_artifact():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Odczytaj artefakty
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Każdy rekord artefaktu zawiera pola key, kind, content, metadata, step_index, created_at i updated_at. Queuety::workflow_artifacts() pomija content, chyba że przekażesz true jako drugi argument.
Integracja ze statusem przepływu pracy
Queuety::workflow_status() zawiera teraz krótkie podsumowanie artefaktów:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Dzięki temu artefakty są widoczne, ale ich pełna zawartość nie trafia do danych wyjściowych statusu.
CLI
Wyświetl listę artefaktów przepływu pracy:
wp queuety workflow artifacts 42
Pokaż jeden artefakt wraz z zawartością:
wp queuety workflow artifact 42 draft
Pełny opis poleceń znajdziesz w CLI.
Eksport i odtwarzanie
Artefakty są uwzględniane w eksportach przepływów pracy i kopiowane do odtwarzanych przepływów.
Dzięki temu przebiegi agentów oparte na artefaktach można nadal przeglądać, nawet po przeniesieniu ich między środowiskami lub odtworzeniu na podstawie wyeksportowanej historii wykonania.