Microsoft Agent Framework-munkafolyamatok – Megfigyelhetőség

A megfigyelhetőség betekintést nyújt a munkafolyamatok belső állapotába és viselkedésébe a végrehajtás során. Ez magában foglalja a naplózási, metrikák és nyomkövetési képességeket, amelyek segítenek a munkafolyamatok monitorozásában és hibakeresésében.

Jótanács

A megfigyelhetőség egy keretrendszerre kiterjedő funkció, és nem korlátozódik a munkafolyamatokra. További információ: Megfigyelhetőség.

A standard GenAI-telemetria mellett az Ügynök-keretrendszer munkafolyamatai további spanokat, naplókat és metrikákat bocsátanak ki, így mélyebb betekintést nyerhetnek a munkafolyamat-végrehajtásba. Ezek a megfigyelhetőségi funkciók segítenek a fejlesztőknek megérteni az üzenetek áramlását, a végrehajtók teljesítményét és az esetlegesen előforduló hibákat.

Megfigyelhetőség engedélyezése

A megfigyelhetőség alkalmazásbeli engedélyezésével kapcsolatos utasításokért tekintse meg az Megfigyelhetőség engedélyezése című témakört.

A megfigyelhetőség alkalmazásbeli engedélyezésével kapcsolatos utasításokért tekintse meg az Megfigyelhetőség engedélyezése című témakört.

Munkafolyamat-áthúzódások

A következő szakaszok keletkeznek a munkafolyamat végrehajtása folyamán:

Span név Description
workflow.build Minden munkafolyamat-létrehozáshoz létrehozva.
workflow.session A munkafolyamat-végrehajtás teljes élettartamát jelképező külső span az indítástól a leállásig vagy hiba esetén tart.
workflow_invoke A munkafolyamat-munkamenetek minden egyes bemeneti és leállási ciklusához kibocsátva.
executor.process {executor_id} Az üzenetet feldolgozó egyes végrehajtók számára kibocsátva. A végrehajtó azonosítója hozzá van fűzve a span névhez.
edge_group.process Üzenet feldolgozásakor minden egyes peremhálózati csoport számára kibocsátva.
message.send A végrehajtótól egy másik végrehajtónak küldött minden egyes üzenethez kibocsátva.

A munkafolyamat végrehajtása során a következő intervallumok lesznek kezdeményezve:

Span név Description
workflow.build A munkafolyamat minden felépítéséhez kibocsátva.
workflow.run Minden munkafolyamat-végrehajtáshoz kibocsátva.
executor.process {executor_id} Az üzenetet feldolgozó egyes végrehajtók számára kibocsátva. A végrehajtó azonosítója hozzá van fűzve a span névhez.
edge_group.process {edge_group_type} Üzenet feldolgozásakor minden egyes peremhálózati csoport számára kibocsátva. A peremcsoport típusa hozzá van fűzve a span névhez.
message.send Minden egyes olyan üzenet kibocsátásakor, amelyet egy végrehajtó küld egy másik végrehajtónak.

Span attribútumok

A spanok olyan attribútumokat hordoznak, amelyek további kontextust biztosítanak a művelethez. Az alábbi attribútumok a munkafolyamatok időtartamára vannak beállítva:

Attribute Span(ok) Description
workflow.id workflow.build, workflow.session A munkafolyamat egyedi azonosítója.
workflow.name workflow.session A munkafolyamat neve.
workflow.description workflow.session A munkafolyamat leírása.
workflow.definition workflow.build A munkafolyamat-gráf JSON-definíciója.
session.id workflow.session Az egyedi munkamenet-azonosító.
executor.id executor.process A végrehajtó egyedi azonosítója.
executor.type executor.process A végrehajtó típusneve.
executor.input executor.process A bemeneti üzenet. Csak akkor legyen beállítva, ha a bizalmas adatok engedélyezve van.
executor.output executor.process A végrehajtó kimenete. Csak akkor legyen beállítva, ha a bizalmas adatok engedélyezve van.
message.type executor.process, message.send Az üzenet típusa.
message.content message.send Az üzenet tartalma. Csak akkor legyen beállítva, ha a bizalmas adatok engedélyezve van.
message.source_id message.send Az üzenetet küldő végrehajtó azonosítója.
message.target_id message.send A cél végrehajtó azonosítója, ha meg van adva.
edge_group.type edge_group.process Az élcsoport típusa.
edge_group.delivered edge_group.process A(z) üzenet kézbesítve lett-e (logikai).
edge_group.delivery_status edge_group.process A kézbesítés eredménye (lásd : Edge Group Delivery Status).
error.type Bármilyen hibatartomány A kivételtípus neve.
Attribute Span(ok) Description
workflow.id workflow.build, workflow.run A munkafolyamat egyedi azonosítója.
workflow.name workflow.run A munkafolyamat neve.
workflow.description workflow.run A munkafolyamat leírása.
workflow.definition workflow.build A munkafolyamat-gráf JSON-definíciója.
workflow_builder.name workflow.build A munkafolyamat-szerkesztő neve.
workflow_builder.description workflow.build A munkafolyamat-szerkesztő leírása.
executor.id executor.process A végrehajtó egyedi azonosítója.
executor.type executor.process A végrehajtó típusneve.
message.type executor.process, message.send Az üzenet típusa.
message.payload_type executor.process Az üzenet haszna adattípusa.
message.destination_executor_id message.send A cél végrehajtó azonosítója, ha meg van adva.
message.source_id edge_group.process Az üzenetet küldő végrehajtó azonosítója.
message.target_id edge_group.process A cél végrehajtó azonosítója, ha meg van adva.
edge_group.type edge_group.process Az élcsoport típusa.
edge_group.id edge_group.process Az élcsoport egyedi azonosítója.
edge_group.delivered edge_group.process A(z) üzenet kézbesítve lett-e (logikai).
edge_group.delivery_status edge_group.process A kézbesítés eredménye (lásd : Edge Group Delivery Status).

Események időtartama

A spanesemények a spanokhoz csatolt strukturált naplóbejegyzések, amelyek az egyes időtartamokon belül a legfontosabb pillanatok idővonalát biztosítják.

Esemény neve Kiterjedés(ek) Description
build.started workflow.build A létrehozási folyamat kezdetekor kibocsátva.
build.validation_completed workflow.build Kibocsátva, ha a build érvényesítése sikeres.
build.completed workflow.build A rendszer a build sikeres befejezésekor bocsátja ki.
build.error workflow.build Kibocsátva, ha a build meghiúsul.
session.started workflow.session A munkamenet kezdetekor kibocsátva a munkafolyamat során.
session.completed workflow.session A munkamenet befejezésekor kibocsátva.
session.error workflow.session Kibocsátva, ha egy munkafolyamat-munkamenet hibát tapasztal.
workflow.started workflow_invoke A munkafolyamat-hívás indításakor kibocsátva.
workflow.completed workflow_invoke Kibocsátva, amikor egy munkafolyamat-hívás befejeződik.
workflow.error workflow_invoke Amikor egy munkafolyamat-meghívás hibát észlel, generálódik.
Esemény neve Span(ok) Description
build.started workflow.build A létrehozási folyamat kezdetekor kibocsátva.
build.validation_completed workflow.build Kibocsátva, ha a build érvényesítése sikeres.
build.completed workflow.build A rendszer a build sikeres befejezésekor bocsátja ki.
build.error workflow.build Értesítés történik, amikor a build meghiúsul.
workflow.started workflow.run A munkafolyamat-futtatás indításakor kibocsátva.
workflow.completed workflow.run Kibocsátva, ha egy munkafolyamat futtatása befejeződött.
workflow.error workflow.run Kibocsátva, ha egy munkafolyamat futtatása hibát tapasztal.

Amikor egy végrehajtó üzenetet küld egy másik végrehajtónak, a message.send hatókör a executor.process hatókör gyermekeként jön létre. A executor.process célvégrehajtó hatásköre azonban nem a message.send hatásköre gyermeke, mert a végrehajtás nem beágyazott. Ehelyett a executor.process célvégző hatóköre a forrás-végrehajtó hatóköréhez message.send. Ez a csatolás nyomon követhető útvonalat hoz létre a munkafolyamat-végrehajtáson keresztül anélkül, hogy beágyazott híváshierarchiára utal.

Ugyanez a csatolási módszer vonatkozik azokra a edge_group.process szakaszokra, amelyek message.send forrásszakaszokhoz csatolódnak az ok-okozati nyomon követés érdekében. Ez támogatja a ventilátoros forgatókönyveket, ahol több forrástartomány is hozzájárul egyetlen feldolgozási tartományhoz.

Edge-csoport kézbesítési állapota

Az edge-csoportok feldolgozási tartományai olyan kézbesítési állapotattribútumokat tartalmaznak, amelyek az egyes peremhálózati csoportokon keresztüli üzenet-útválasztás eredményét jelzik. Az edge_group.delivery_status attribútum a következő értékek egyikére van állítva:

Status Description
delivered Az üzenet a cél végrehajtójának lett kézbesítve.
dropped type mismatch A célvégrevezető nem tudja kezelni az üzenettípust.
dropped target mismatch Az üzenet olyan célt adott meg, amely nem felel meg ennek az élnek.
dropped condition false A perem útválasztási feltétel kiértékelése hamis.
exception Kivétel történt az élfeldolgozás során.
buffered Az üzenet pufferelve lett, további üzenetekre várva (ventilátor).

A edge_group.delivered logikai attribútum gyorsan ellenőrzi, hogy az üzenet sikeresen kézbesítve lett-e.

Telemetriai konfiguráció

A munkafolyamat-telemetria a munkafolyamat-szerkesztő bővítménymetódusán keresztül WithOpenTelemetry engedélyezhető. Az WorkflowTelemetryOptions osztály részletes vezérlést biztosít a kibocsátott tartományokra:

Lehetőség Alapértelmezett Description
EnableSensitiveData false Nyers bemeneteket, kimeneteket és üzenettartalmakat tartalmaz span attribútumokban.
DisableWorkflowBuild false Letiltja a workflow.build spanokat.
DisableWorkflowRun false Letiltja workflow.session és workflow_invoke kiterjedéseit.
DisableExecutorProcess false Letiltja a executor.process spanokat.
DisableEdgeGroupProcess false Letiltja a edge_group.process spanokat.
DisableMessageSend false Letiltja a message.send spanokat.

Figyelmeztetés

A bizalmas adatok engedélyezésével a nyers üzenettartalmak, a végrehajtói bemenetek és a végrehajtói kimenetek bekerülnek a telemetriai adatokba. Ezt csak olyan biztonságos környezetekben engedélyezze, ahol a telemetriai adatok megfelelően védettek.

A munkafolyamat-telemetria a globális enable_instrumentation() függvényen keresztül engedélyezve van. Ha az instrumentáció engedélyezve van, a rendszer automatikusan kibocsátja az összes munkafolyamat szakaszát. A configure_otel_providers() függvény használatával exportőröket állíthat be nyomkövetésekhez, metrikákhoz és naplókhoz.

Figyelmeztetés

Tekintse át a telemetriai folyamat konfigurációját, hogy a bizalmas adatok megfelelően védve legyenek a nyomkövetések exportálása során.

Következő lépések