Artefakter
Med artefakter kan du spara beständiga arbetsflödesresultat utan att göra arbetsflödets huvudsakliga tillståndsnyttolast större.
De passar bra för utkast till dokument, extraherade JSON-planer, citat, källmanifest, genererade filsökvägar eller ögonblicksbilder av prompter och svar som du vill granska senare. Det är särskilt användbart för agentarbetsflöden, där sluttillståndet ska förbli litet och lättläst även om varje körning kan generera stora mellanresultat.
Varför artefakter i stället för arbetsflödestillstånd
Arbetsflödestillstånd passar bäst för små offentliga data som nästa steg behöver omedelbart.
Artefakter är bättre när resultatet är större än vanliga tillståndsvärden, främst ska granskas senare, är användbart i gransknings- eller exportvyer eller helt enkelt passar bättre som ett namngivet resultat än som ett enda stort tillståndsobjekt.
Spara en artefakt för det aktuella arbetsflödessteget
När kod redan körs inuti ett arbetsflödessteg använder du 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 kopplar automatiskt till det aktuella arbetsflödes-ID:t och stegets index.
Spara en artefakt utanför arbetsflödet
Om du redan känner till arbetsflödes-ID:t använder du Queuety::put_artifact():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Läs artefakter
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Varje artefaktpost innehåller fälten key, kind, content, metadata, step_index, created_at och updated_at. Queuety::workflow_artifacts() utelämnar content om du inte skickar med true som dess andra argument.
Integration med arbetsflödesstatus
Queuety::workflow_status() innehåller nu en kort artefaktsammanfattning:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Då visas artefakter utan att hela innehållet tas med i statusutdata.
CLI
Lista artefakter för ett arbetsflöde:
wp queuety workflow artifacts 42
Visa en artefakt med innehåll:
wp queuety workflow artifact 42 draft
Se CLI för den fullständiga kommandoreferensen.
Export och återspelning
Artefakter ingår i arbetsflödesexporter och kopieras till arbetsflöden som spelas upp på nytt.
Det innebär att agentkörningar med artefakter förblir möjliga att granska även när du flyttar dem mellan miljöer eller återskapar en körning från dess exporterade körningshistorik.