Obtener el Grafo de Contexto del Proceso
El grafo de contexto del proceso es un documento JSON único que describe cómo se ejecuta realmente su proceso, construido a partir del registro de eventos de su proyecto: qué es un caso, cómo comienzan y terminan los casos, los pasos y los traspasos entre ellos, las rutas que siguen los casos, los puntos donde se dividen y las reglas que explican la división, qué sale mal, cuánto tiempo toman las cosas y quién hace qué. Cada parte indica la cantidad de datos en la que se basa.
"Grafo de contexto del proceso" es un nombre que el mercado usa sin un estándar definido detrás. Esto es lo que mindzie entiende por ello: un valor predeterminado que definimos, hecho a partir de cosas que el proyecto ya puede responder, puesto en un solo documento con una forma fija para que un agente pueda cargarlo y una persona pueda revisarlo. El proyecto puede responder mucho más de lo que contiene el grafo; Sus propios informes y JSON trata sobre eso.
Dos tipos de agente se conectan a través del grafo. El agente interno - el agente mindzie que se ejecuta en el proyecto - lo construye cuando se ejecuta el informe Grafo de Contexto del Proceso. Un agente externo - su propio agente codificado, trabajando desde su máquina - solicita el archivo al proyecto en una sola llamada. Conectar su propio agente le guía desde cero, con la imagen de cómo ambos encajan.
Para qué sirve
- Un agente lo carga antes de trabajar en su proceso, para que conozca los nombres reales de los pasos, la ruta normal, los puntos de decisión y las excepciones, sin tener que descubrirlos pregunta a pregunta.
- Una persona lo revisa. El mismo contenido se exporta como un informe en la pantalla de Informes, con un mapa del proceso, una tabla de decisiones para cada decisión explicada y la evidencia junto a cada afirmación. Las tablas del informe y el JSON se generan a partir de los mismos datos, por lo que no pueden decir cosas diferentes.
Es una descripción y solo una descripción. No recomienda nada, ni indica lo que alguien puede hacer.
Obténgalo en dos pasos
Paso 1 - Ejecute el informe Grafo de Contexto del Proceso una vez
En la pantalla: abra la pantalla Informes del proyecto, haga clic en Crear informe en la tarjeta Grafo de Contexto del Proceso, luego en Iniciar. Vea Informes.
Desde su propio agente: con el proyecto iniciado y sus datos cargados, el agente encuentra la tarjeta y la inicia:
mz reports cards
mz jobs create-agent --card process-context-graph
mz jobs run --slug process-context-graph
mz jobs status --slug process-context-graph
mz jobs create-agent --card responde con el slug del trabajo, que toman los dos comandos siguientes; en un proyecto donde la tarjeta nunca ha corrido es process-context-graph. La ejecución es un trabajo de IA: usa sus créditos de IA del proyecto. Cuando termina, el informe se publica en la pantalla de Informes como cualquier otro.
Espere. En un registro de 1.6 millones de eventos y unos 250,000 casos, la ejecución tomó 45 minutos, así que planee hasta una hora para un registro de ese tamaño. mz jobs status dice running hasta que dice done; no muestra progreso intermedio. Los trabajos en un proyecto se ejecutan uno por vez, por lo que cualquier otro que se inicie mientras espera.
Ejecutarlo de nuevo más tarde publica la siguiente versión del mismo informe. La versión anterior y su JSON permanecen exactamente como estaban.
Paso 2 - Recupere el grafo en una llamada
mz reports context-graph > process-context-graph.json
Esto escribe el grafo de contexto del proceso actual del proyecto en el archivo como JSON: el documento publicado más reciente que tiene la forma mindzie.process-context-graph. Nada se calcula de nuevo y no se usa IA – la llamada lee el informe ya publicado. El mismo documento es el archivo process-context-graph.json que lleva el informe de la tarjeta, por lo que mz reports attachment --slug process-context-graph --name process-context-graph.json devuelve exactamente los mismos bytes.
Si el informe nunca se ha ejecutado en este proyecto, la llamada se rechaza y menciona los comandos que lo crean (Paso 1). Nunca inicia la ejecución por sí misma, porque eso consumiría sus créditos de IA sin solicitud.
En Windows, ejecute esto en el Símbolo del sistema: Windows PowerShell recodifica el texto enviado a un archivo con >. Para comprobar el archivo contra la definición, vea Revise un grafo usted mismo, abajo. Cómo su agente obtiene mz y su clave está explicado en Conectar su propio agente.
Cómo es uno real
El grafo a continuación fue hecho por la tarjeta Grafo de Contexto del Proceso en un registro real de compra a pago: 1,593,532 eventos en 251,658 casos, un caso por línea de pedido. Su JSON mide unos 300 KB y contiene 44 pasos, 188 traspasos, 16 variantes, 25 puntos de decisión, 48 reglas de secuencia, 48 excepciones, 4 escalaciones, 25 políticas, 20 supuestos y 7 preguntas abiertas. Cumple la definición al final de esta página.
Representado como imagen

Esta imagen se dibujó directamente desde el JSON, mediante un pequeño script, para mostrar qué contiene. Muestra los pasos y los traspasos más frecuentes - cada uno tomado por al menos el 4 % de los casos - en las propias etapas del grafo, con cuántos casos toman cada traspaso y la espera típica. Las líneas gruesas son el flujo principal, las líneas punteadas otras rutas, y las líneas rojas punteadas lo que el grafo marca como excepciones. Se puede leer que el 72 % de los ítems terminan con Factura Liquidada y la espera típica más larga es desde la recepción de la factura hasta liquidarla, 36 días.
El JSON, abreviado
Tal cual lo recibió el agente, con la mayoría de listas truncadas a una entrada y 14 de las 22 partes omitidas, como indica la última línea. Cada afirmación lleva su evidencia: cuántos casos, de cuántos, cómo se midió y qué tan fuerte es.
{
"schema": "mindzie.process-context-graph",
"schema_version": "1.0",
"source": {
"data_version": "v0001",
"log_digest": "4804d5916fc0",
"case_notion": "una línea de pedido (número de pedido más número de ítem)",
"cases": 251658,
"events": 1593532,
"period_start": "2015-03-08",
"period_end": "2020-04-09",
"time_basis": "clock"
},
"success_criteria": [
{
"id": "sc:cleared",
"statement": "El ítem está pagado: el caso termina con Factura Liquidada.",
"test": "último evento del caso es Factura Liquidada",
"share_met": 0.7203,
"evidence": {
"cases": 181257,
"of_cases": 251658,
"share": 0.7203,
"strength": "counted",
"method": "conteo directo de casos cuyo último evento es Factura Liquidada"
}
}
],
"outcomes": [
{
"id": "out:clear-invoice",
"end_activity": "Clear Invoice",
"kind": "success",
"cases": 181257,
"share": 0.7203
},
{
"id": "out:record-invoice-receipt",
"end_activity": "Record Invoice Receipt",
"kind": "open",
"cases": 23089,
"share": 0.0917
}
],
"edges": [
{
"id": "edge:record-invoice-receipt>clear-invoice",
"from": "act:record-invoice-receipt",
"to": "act:clear-invoice",
"kind": "normal",
"cases": 132667,
"share_of_from": 0.6575,
"median_wait_hours": 865.617,
"slow_wait_hours": 2479.663,
"evidence": {
"cases": 132667,
"of_cases": 211303,
"share": 0.6279,
"strength": "counted",
"method": "casos con este traspaso al menos una vez, sobre casos con el primer paso; las proporciones del primer paso cuentan cada visita"
}
}
],
"decisions": [
{
"id": "dec:block-purchase-order-item",
"at": "act:block-purchase-order-item",
"branches": [
{
"to": "end",
"cases": 163,
"share": 0.3417
},
{
"to": "act:delete-purchase-order-item",
"cases": 131,
"share": 0.2746
},
{
"to": "act:reactivate-purchase-order-item",
"cases": 111,
"share": 0.2327
},
{
"to": "act:change-quantity",
"cases": 72,
"share": 0.1509
}
],
"baseline_share": 0.3417,
"rules": [
{
"id": "rule:block-purchase-order-item-1",
"when": [
"El área de gasto no es Comercio y Product End",
"El valor de la orden (EUR) está entre 502.5 y 2884.5"
],
"then": "act:delete-purchase-order-item",
"cases": 113,
"holds": 0.708,
"evidence": {
"cases": 80,
"of_cases": 113,
"share": 0.708,
"strength": "weak",
"method": "regla ajustada por árbol de decisión sobre los traspasos contados aquí; la proporción indica cuántas veces coincidió el siguiente paso"
}
}
],
"explained": true,
"evidence": {
"cases": 477,
"of_cases": 499,
"share": 0.6688,
"strength": "weak",
"method": "primera visita al paso en cada caso; las reglas anotan 67% frente a 34% por siempre adivinar el siguiente paso más común; explicado requiere al menos 10 puntos más"
}
}
],
"policies": [
{
"id": "pol:create-purchase-order-item-record-goods-receipt-within-30-days",
"kind": "service_level",
"statement": "Posible nivel de servicio, inferido: Crear Ítem de Orden de Compra -> Registrar Recepción de Mercancías en 30 días (88% de 74,809 casos terminan dentro; 8.1% terminan en el cuartil límite justo adentro, 4.0% justo afuera)",
"threshold_hours": 720.0,
"share_met": 0.8839,
"evidence": {
"cases": 66126,
"of_cases": 74809,
"share": 0.8839,
"strength": "hypothesis",
"method": "proporción de esperas positivas al o bajo el límite; se cuenta un límite cuando al menos la mitad de las esperas lo cumple y el doble cae en el cuartil justo adentro que just afuera"
}
}
],
"...": "y 14 partes más"
}
Las partes
| Parte | Qué contiene |
|---|---|
source |
De qué datos se construyó el grafo: versión de los datos, qué registro se leyó, qué es un caso, casos, eventos y período, tiempo de reloj o trabajo |
process |
Qué representa un caso y para qué parece ser el proceso |
success_criteria |
Cómo se reconoce un caso exitoso y la proporción de casos que cumple cada prueba |
outcomes |
Todas las formas en que un caso termina, con sus casos y proporción |
stages |
Las etapas por las que pasa un caso y las actividades en cada una |
nodes |
Una entrada por actividad, además del inicio y fin: casos, eventos, repeticiones, tiempo típico al siguiente paso, roles |
edges |
Una entrada por traspaso: casos, proporción, espera típica y la espera de los casos más lentos |
variants |
La ruta principal, las variaciones permitidas y las rutas excepcionales con al menos un caso de cada cien |
model |
Un modelo de proceso descubierto a partir de las rutas y la proporción de casos que acepta |
decisions |
Cada punto donde los casos se dividen: ramas, y las reglas si-entonces que explican la división, si existen |
sequence_rules |
Reglas de orden que casi siempre se cumplen, con la proporción de casos donde se cumplen |
exceptions |
Pasos repetidos, saltados y fuera de orden, actividades raras y finales fallidos |
escalations |
Pasos que aparecen principalmente después de una espera larga o un intento fallido |
policies |
Límites de tiempo en los que la mayoría de casos se mantienen, y la proporción que cumple cada uno |
roles |
Qué roles hacen qué actividades, cuando el registro indica quién hizo el trabajo |
object_types, object_relations |
Los tipos de objeto y cómo se relacionan, para un registro centrado en objetos |
evidence_levels |
Las cinco etiquetas de fuerza, definidas una vez cada una |
assumptions, open_questions |
Lo que se decidió antes de empezar, lo que no pudo medirse y qué debe investigar el lector |
Los conteos son números enteros, las proporciones son fracciones de 0 a 1 y los tiempos están en horas. Cada parte está presente en todo grafo; una lista sin datos está vacía en vez de faltante y ningún valor es nulo.
Algunas partes se cuentan mediante código: una segunda ejecución sobre los mismos datos da el mismo número. Otras son interpretación de los datos: qué representa un caso, qué finales cuentan como éxito, dónde están las etapas. El informe indica cuál es cuál.
Cuánto confiar en cada parte
Cada parte que hace una afirmación lleva un objeto evidence - cuántos casos la sustentan, cuántos podrían aplicarla, la proporción donde se cumple, cómo se midió - y una etiqueta de fuerza:
| Etiqueta | Significado |
|---|---|
counted |
Conteo directo del registro |
strong |
Se cumple en al menos el 95% de los casos relevantes y se basa en al menos 100 casos |
moderate |
Se cumple en al menos el 80% y se basa en al menos 30 casos |
weak |
Menos que lo anterior |
hypothesis |
Deducido de nombres o tiempos de actividades, no probado como regla |
Lea la fuerza primero: counted es un hecho sobre el registro; hypothesis es una idea que vale la pena revisar.
La definición completa
La forma es fija y versionada. Esta es la versión 1.0, y un documento que pasa una vez pasa para siempre; cualquier cambio en los campos es una nueva versión con su propio archivo esquema.
Descargar mindzie.process-context-graph-1.0.schema.json
El archivo esquema es la forma completa, como un JSON Schema (borrador-07) que cualquier validador lee. Cada grafo se chequea contra este cuando se publica su informe: un informe cuyo grafo no tenga la forma no se publica y el motivo nombra la parte y la falta.
Revise un grafo usted mismo
Coloque el archivo esquema junto al grafo y compruebe uno contra otro con cualquier validador JSON Schema. En Python, guarde esto como check_graph.py:
import json
import jsonschema
with open("process-context-graph.json", encoding="utf-8") as file:
graph = json.load(file)
with open("mindzie.process-context-graph-1.0.schema.json", encoding="utf-8") as file:
schema = json.load(file)
jsonschema.validate(graph, schema)
print("valid")
y ejecútelo:
pip install jsonschema
python check_graph.py
Imprime valid, o se detiene indicando la parte que no tiene la forma. Como el proyecto verifica cada grafo cuando se publica, un grafo publicado siempre pasa.
Próximo
- Conectar su propio agente - cree una clave, pegue una frase y delegue un proyecto a su propio agente.
- Sus propios informes y JSON - vaya más allá del valor predeterminado con informes y archivos JSON propios, obtenidos de la misma manera.
- La Caja de Herramientas del Cubo - las herramientas de las que se construye el grafo, y el resto de ellas.