Artefaktai
Artefaktai leidžia saugoti patvarius darbo eigos rezultatus nedidinant pagrindinio darbo eigos būsenos naudingojo turinio.
Jie tinka juodraščių dokumentams, išgautiems JSON planams, citatoms, šaltinių manifestams, sugeneruotų failų keliams ar raginimų ir atsakymų momentinėms kopijoms, kurias norite peržiūrėti vėliau. Tai ypač naudinga agentų darbo eigose: galutinė būsena išlieka nedidelė ir lengvai skaitoma, nors kiekvieno vykdymo metu gali būti sukurta daug tarpinių rezultatų.
Kodėl verta rinktis artefaktus, o ne darbo eigos būseną
Darbo eigos būsena labiausiai tinka nedideliems viešiems duomenims, kurių kitam žingsniui reikia iš karto.
Artefaktai geriau tinka, kai rezultatas didesnis nei įprastos būsenos reikšmės, daugiausia skirtas vėlesnei peržiūrai, praverčia peržiūros ar eksporto vietose arba jį geriau modeliuoti kaip pavadintą rezultatą, o ne vieną didelį būsenos objektą.
Artefakto saugojimas dabartiniam darbo eigos žingsniui
Kai kodas jau vykdomas darbo eigos žingsnyje, naudokite 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 automatiškai priskiria dabartinį darbo eigos ID ir žingsnio indeksą.
Artefakto saugojimas už darbo eigos ribų
Jei jau žinote darbo eigos ID, naudokite Queuety::put_artifact():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Artefaktų skaitymas
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Kiekviename artefakto įraše yra laukai key, kind, content, metadata, step_index, created_at ir updated_at. Queuety::workflow_artifacts() content neįtraukia, nebent kaip antrą argumentą perduosite true.
Integravimas su darbo eigos būsena
Queuety::workflow_status() dabar pateikia trumpą artefaktų suvestinę:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Taip artefaktai matomi, bet visas jų turinys neįtraukiamas į būsenos išvestį.
CLI
Išvardykite darbo eigos artefaktus:
wp queuety workflow artifacts 42
Parodykite vieną artefaktą su turiniu:
wp queuety workflow artifact 42 draft
Visą komandų nuorodą rasite čia: CLI.
Eksportavimas ir pakartotinis vykdymas
Artefaktai įtraukiami į darbo eigos eksportus ir nukopijuojami į pakartotinai vykdomas darbo eigas.
Taigi agentų vykdymai, kuriuose naudojami artefaktai, lieka patikrinami perkėlus juos į kitą aplinką arba atkūrus vykdymą iš eksportuotos vykdymo istorijos.