Tartós ágensvégrehajtás
Kifejezett életciklusállapottal, tartós eszköztörténettel és korlátozott folytatással teszi helyreállíthatóvá a megszakadt ágensvégrehajtást.
agent-runtime-state
Ezt a skillt használó csapattagok
Mikor hasznos?
Akkor használd, ha futások jóváhagyásra várnak, kapcsolatot veszítenek vagy egy esetleg már végrehajtott művelet közben összeomlanak.
Miben segít neked?
- Pontosan meghatározza a várakozó, futó, jóváhagyási és végállapotokat.
- Végrehajtás előtt menti az eszközszándékot, újrahasználja a rögzített eredményt.
- Korlátozza a ciklusokat, újrapróbálás előtt tisztázza a bizonytalan írásokat.
Például ezt kérheted
Állíts helyre megszakadt ágensfutást a már elküldött üzenet megismétlése nélkül. Szimulálj összeomlást a kézbesítés után, a végső mentési pont előtt. Egyeztesd az üzenetazonosítót, és csak a befejezetlen munkát folytasd.
Részletes dokumentáció
Itt a skill eredeti útmutatóját, példáit és ellenőrzési szempontjait olvashatod az eredeti nyelven.
Összecsukás
Agent Runtime & State Machines
Treat an agent run as a durable, event-sourced state machine rather than an in-memory while loop around an LLM call. Every model turn, tool invocation, human approval pause, and cancellation must transition through explicit states and persist enough history to resume cleanly after a process restart or crash.
Explicit Run State Machine
Model the lifecycle of an agent run and each turn with unambiguous states and legal transitions:
| State | Meaning | Allowed Next States | Persistence Requirement |
|---|---|---|---|
queued |
Run created, awaiting worker slot | running, cancelled |
Initial input, configuration, correlation ID |
running |
Model inference or turn orchestration active | awaiting_tool, awaiting_approval, completed, failed, cancelled |
Append turn_started and streamed deltas or final assistant message |
awaiting_tool |
One or more tool calls dispatched | running, awaiting_approval, failed, cancelled |
Persist tool_call_requested with tool_call_id, name, and canonical arguments before executing |
awaiting_approval |
Paused on human or policy gate | awaiting_tool, running, cancelled, timed_out |
Persist pending tool_call_id, approval payload, and resume token |
completed |
Terminal goal or stop condition reached | (terminal) | Final structured output, stop reason, aggregated usage |
failed |
Unrecoverable error or budget exhausted | queued (explicit retry/resume) |
Structured error code, failure phase, last checkpoint ID |
cancelled / timed_out |
Aborted by caller, signal, or deadline | queued (explicit resume) |
Cancellation reason, any partial tool outputs completed before abort |
Append-Only Event Log & Checkpointing
- Write-ahead tool intent: Persist the assistant message containing
tool_useblocks to the run store before invoking any tool handler. If the worker crashes mid-tool, recovery knows exactly which tool call was in flight. - Idempotent tool result recording: Record each
tool_resultkeyed by(run_id, turn_index, tool_call_id). When resuming an interrupted turn, replay already-recordedtool_resultentries from storage instead of re-executing completed tools. - Side-effect classification:
read_only: Safe to automatically re-run on crash recovery if no result was recorded.idempotent_write: Safe to re-run only when called with the persisted deterministicidempotency_key(sha256(run_id + tool_call_id)).non_idempotent: Never auto-retry after an ambiguous crash (in_flightwithout result); transition toawaiting_approvalor emit a reconciliation status check tool first.
Loop Guards, Budgets & Termination
Never rely solely on the model deciding to stop:
- Hard turn & step ceilings: Enforce
max_turnsandmax_tool_calls_per_turn. Whenturn_count == max_turns - 1, inject a final system notice instructing the model to synthesize its best answer or return a structured partial-progress handoff without calling further tools. - Token and cost budgets: Track cumulative
input_tokens,output_tokens,cache_creation_input_tokens, andcache_read_input_tokensafter every response. Halt withbudget_exceededbefore starting a turn that would breach the run budget. - Cycle and repetition detection: Hash
(tool_name, canonical_json(args))across a sliding window. If the agent invokes the identical failing or no-op tool call $N$ times (e.g., 3 consecutive identical calls), intercept the call and return a syntheticisError: truetool result explaining the loop and requiring a different strategy. - Cooperative cancellation (
AbortSignal): Thread anAbortSignalinto both the LLM stream and every tool execution context. On abort, cancel in-flight HTTP streams, terminate child processes withSIGTERMfollowed bySIGKILLafter grace period, and close the turn with a synthetic cancelledtool_resultso conversation history remains valid for future resumption.
Csomagban lévő fájlok 1
SKILL.md
