Artefakti
Artefakti omogočajo shranjevanje trajnih izhodov poteka dela, ne da bi povečali koristni tovor glavnega stanja poteka dela.
Primerni so za osnutke dokumentov, izvlečene načrte JSON, navedke, manifeste izvornih datotek, ustvarjene poti do datotek ali posnetke pozivov in odgovorov, ki jih želite pregledati pozneje. To je posebej uporabno pri potekih dela z agenti, kjer naj končno stanje ostane majhno in pregledno, čeprav lahko vsaka izvedba ustvari velike vmesne izhode.
Zakaj artefakti namesto stanja poteka dela
Stanje poteka dela je idealno za majhne javne podatke, ki jih potrebuje naslednji korak.
Artefakti so primernejši, kadar je izhod večji od običajnih vrednosti stanja, namenjen predvsem poznejšemu pregledu, uporaben na zaslonih za pregled ali izvoz oziroma ga je preprosto bolje predstaviti kot poimenovan izhod kot pa kot velik skupek podatkov stanja.
Shranjevanje artefakta za trenutni korak poteka dela
Če se koda že izvaja znotraj koraka poteka dela, uporabite 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 samodejno doda trenutni ID poteka dela in indeks koraka.
Shranjevanje artefakta zunaj poteka dela
Če že poznate ID poteka dela, uporabite Queuety::put_artifact():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Branje shranjenih artefaktov
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Vsak zapis artefakta vključuje polja key, kind, content, metadata, step_index, created_at in updated_at. Queuety::workflow_artifacts() ne vključuje content, razen če mu kot drugi argument posredujete true.
Integracija s stanjem poteka dela
Queuety::workflow_status() zdaj vključuje kratek povzetek artefakta:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Tako so artefakti vidni, ne da bi se njihova celotna vsebina vključila v izpis stanja.
CLI
Seznam artefaktov za potek dela:
wp queuety workflow artifacts 42
Prikaz enega artefakta z vsebino:
wp queuety workflow artifact 42 draft
Za celoten pregled ukazov glejte CLI.
Izvozi in ponovitve
Artefakti so vključeni v izvoze potekov dela in kopirani v ponovljene poteke dela.
To pomeni, da je mogoče izvajanja agentov z artefakti pregledovati tudi, ko jih premaknete med okolji ali znova ustvarite izvedbo iz izvožene zgodovine izvajanja.