Artefaktumok
Az artefaktumok lehetővé teszik, hogy tartós munkafolyamat-kimeneteket tárolj a fő munkafolyamat-állapotcsomag felduzzasztása nélkül.
Jól használhatók piszkozatdokumentumokhoz, kinyert JSON-tervekhez, hivatkozásokhoz, forrásjegyzékekhez, generált fájlútvonalakhoz, valamint későbbi vizsgálatra szánt prompt- és válaszmásolatokhoz. Ez különösen hasznos az ügynökmunkafolyamatoknál, ahol a végső állapotnak kicsinek és áttekinthetőnek kell maradnia, még akkor is, ha egy futtatás sok nagy méretű köztes eredményt állít elő.
Miért artefaktumokat használjunk a munkafolyamat-állapot helyett
A munkafolyamat állapota ideális a következő lépés számára azonnal szükséges, kis méretű nyilvános adatokhoz.
Az artefaktumok akkor megfelelőbbek, ha a kimenet nagyobb a szokásos állapotértékeknél, főként későbbi vizsgálatra szolgál, hasznos lehet ellenőrzési vagy exportfelületeken, vagy egyszerűen jobb elnevezett kimenetként modellezni, mint egyetlen nagy állapotblobbá alakítani.
Artefaktum mentése az aktuális munkafolyamat-lépéshez
Ha a kód már egy munkafolyamat-lépésen belül fut, használd a Queuety::put_current_artifact() elemet:
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 [];
}
}
A Queuety automatikusan hozzárendeli az aktuális munkafolyamat-azonosítót és lépésindexet.
Artefaktum mentése a munkafolyamaton kívülről
Ha már ismered a munkafolyamat-azonosítót, használd a Queuety::put_artifact() elemet:
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Artefaktumok visszaolvasása
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Minden artefaktumrekord tartalmazza a következő mezőket: key, kind, content, metadata, step_index, created_at és updated_at. A Queuety::workflow_artifacts() nem tartalmazza a content értékét, kivéve ha második argumentumként átadod neki a true értéket.
Munkafolyamat-állapot integrációja
A Queuety::workflow_status() most már tartalmaz egy rövid artefaktum-összefoglalót:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Így az artefaktumok láthatók maradnak anélkül, hogy teljes tartalmuk bekerülne az állapotkimenetbe.
CLI
Artefaktumok listázása egy munkafolyamathoz:
wp queuety workflow artifacts 42
Egy artefaktum megjelenítése a tartalmával együtt:
wp queuety workflow artifact 42 draft
A teljes parancsreferenciát lásd itt: CLI.
Exportálás és visszajátszás
Az artefaktumok bekerülnek a munkafolyamat-exportokba, és átkerülnek a visszajátszott munkafolyamatokba is.
Ez azt jelenti, hogy az artefaktumokra támaszkodó ügynökfuttatások akkor is vizsgálhatók maradnak, ha áthelyezed őket más környezetekbe, vagy az exportált végrehajtási előzményekből újra létrehozol egy futtatást.