Artefak
Artefak memungkinkan Anda menyimpan keluaran alur kerja yang tahan lama tanpa memperbesar payload status utama alur kerja.
Artefak cocok untuk dokumen draf, rencana JSON yang diekstrak, sitasi, manifes sumber, jalur file yang dihasilkan, atau snapshot prompt dan respons yang ingin Anda periksa nanti. Ini sangat berguna untuk alur kerja agent, karena status akhir harus tetap ringkas dan mudah dibaca meskipun setiap eksekusi dapat menghasilkan banyak keluaran perantara.
Mengapa menggunakan artefak alih-alih status alur kerja
Status alur kerja ideal untuk data publik berukuran kecil yang langsung diperlukan oleh langkah berikutnya.
Artefak lebih cocok ketika keluarannya lebih besar daripada nilai status biasa, terutama untuk pemeriksaan nanti, berguna di berbagai tampilan tinjauan atau ekspor, atau lebih tepat dimodelkan sebagai keluaran bernama daripada satu blob status besar.
Simpan artefak untuk langkah alur kerja saat ini
Jika kode sudah berjalan di dalam langkah alur kerja, gunakan 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 secara otomatis melampirkan ID alur kerja dan indeks langkah saat ini.
Simpan artefak dari luar alur kerja
Jika Anda sudah mengetahui ID alur kerja, gunakan Queuety::put_artifact():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Baca kembali artefak
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Setiap catatan artefak mencakup kolom key, kind, content, metadata, step_index, created_at, dan updated_at. Queuety::workflow_artifacts() tidak menyertakan content kecuali Anda meneruskan true sebagai argumen keduanya.
Integrasi status alur kerja
Queuety::workflow_status() kini menyertakan ringkasan artefak singkat:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Dengan demikian, artefak tetap terlihat tanpa memasukkan seluruh kontennya ke dalam keluaran status.
CLI
Daftarkan artefak untuk suatu alur kerja:
wp queuety workflow artifacts 42
Tampilkan satu artefak beserta kontennya:
wp queuety workflow artifact 42 draft
Lihat CLI untuk referensi perintah lengkap.
Ekspor dan pemutaran ulang
Artefak disertakan dalam ekspor alur kerja dan disalin ke alur kerja yang diputar ulang.
Artinya, eksekusi agent yang didukung artefak tetap dapat diperiksa bahkan saat Anda memindahkannya antarlingkungan atau membuat ulang eksekusi dari riwayat pelaksanaannya yang diekspor.