Artefakty
Artefakty umožňujú ukladať odolné výstupy pracovného postupu bez zbytočného zväčšovania hlavnej časti údajov o jeho stave.
Hodia sa pre návrhy dokumentov, extrahované plány JSON, citácie, manifesty zdrojov, cesty k vygenerovaným súborom alebo snímky výziev a odpovedí, ktoré si chcete neskôr prezrieť. Je to obzvlášť užitočné pri pracovných postupoch agentov, kde má výsledný stav zostať stručný a prehľadný, hoci každý beh môže vytvoriť veľké množstvo priebežných výstupov.
Prečo použiť artefakty namiesto stavu pracovného postupu
Stav pracovného postupu je ideálny pre malé verejné údaje, ktoré nasledujúci krok potrebuje okamžite.
Artefakty sú vhodnejšie, keď je výstup väčší než bežné hodnoty stavu, slúži najmä na neskoršiu kontrolu, je užitočný pri kontrole alebo exporte, prípadne sa lepšie modeluje ako pomenovaný výstup než ako jeden veľký blok údajov stavu.
Uloženie artefaktu pre aktuálny krok pracovného postupu
Ak kód už beží v rámci kroku pracovného postupu, použite 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 automaticky pripojí aktuálne ID pracovného postupu a index kroku.
Uloženie artefaktu mimo pracovného postupu
Ak už poznáte ID pracovného postupu, použite Queuety::put_artifact():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Načítanie artefaktov
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Každý záznam artefaktu obsahuje polia key, kind, content, metadata, step_index, created_at a updated_at. Queuety::workflow_artifacts() vynechá content, pokiaľ ho neodovzdáte ako druhý argument true.
Integrácia so stavom pracovného postupu
Queuety::workflow_status() teraz obsahuje stručný súhrn artefaktov:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Vďaka tomu sú artefakty viditeľné bez načítania celého ich obsahu do výstupu stavu.
CLI
Zoznam artefaktov pracovného postupu:
wp queuety workflow artifacts 42
Zobrazenie jedného artefaktu aj s obsahom:
wp queuety workflow artifact 42 draft
Úplný prehľad príkazov nájdete v časti CLI.
Exporty a opätovné prehratie
Artefakty sú súčasťou exportov pracovných postupov a kopírujú sa do opätovne prehratých pracovných postupov.
To znamená, že behy agentov s artefaktmi zostávajú kontrolovateľné aj po presune medzi prostrediami alebo po obnovení behu z exportovanej histórie vykonávania.