¿Qué hace agentpace?
Úsalo cuando alguien pregunte cuánto tiempo llevará el trabajo de software, o mencione un plazo en días, semanas o meses para el trabajo que realizarán los agentes.
Produce un rango medido P50/P80/P90 con su ruta crítica, la parte humana en una línea separada, y cualquier plazo citado mostrado junto a él como no verificado.
Responde "¿cuánto tiempo llevará esto?" con rangos medidos de ejecuciones reales de agentes, y expresa la parte humana por separado. No cites plazos de equipos humanos y nunca des un solo número.
Esta habilidad se activa con preguntas en lenguaje natural. /pace-estimate es el comando explícito para un plan dado.
Verificar la herramienta
Ejecuta agentpace --version. Si falla, indica al usuario el comando de instalación y detente. No instales nada sin que te lo pidan:
uv tool install agentpace
Si no quieren instalar nada, usa assets/portable-prompt.md en su lugar.
Estimar
- Asume que los agentes realizan la implementación a menos que el usuario indique lo contrario. Si no está claro y la respuesta cambiaría, pregunta una vez.
- Divide el trabajo en tareas que un agente ejecutaría como ejecuciones separadas.
- Asigna a cada tarea un
id, unkindy unrisk, además dedepends_oncuando deba esperar a otra tarea. Estableceagent_capen la cantidad de agentes que se ejecutarán simultáneamente. - Escribe el plan en un archivo y ejecuta el estimador.
{
"agent_cap": 3,
"model": "claude-opus-5-5",
"tasks": [
{ "id": "schema", "kind": "feature", "risk": "normal" },
{ "id": "api", "kind": "feature", "risk": "normal", "depends_on": ["schema"] },
{ "id": "review", "kind": "review", "risk": "low", "depends_on": ["api"] }
]
}
agentpace estimate plan.json
Tipos: feature, bugfix, refactor, migration, tests, docs, review, other. Riesgos: low, normal, high. Usa risk: high para migraciones y para trabajo difícil de revertir. model es opcional.
Responder a una cita humana
Cuando la conversación ya contenga un plazo en días, semanas o meses, proveniente del usuario, un documento o una respuesta anterior, estima el plan de todas formas y pasa la cita textualmente, en las palabras en que fue dada:
agentpace estimate plan.json --quoted "3 meses"
La salida entonces tiene una línea Quoted: debajo del total, marcando la cita como tiempo calendario, citado y no verificado. Transmite esa línea tal como se imprime, junto al rango medido. Nunca conviertas la cita en tiempo de agente, nunca la dividas ni multipliques por una constante, y nunca la compares con el rango ni des una proporción entre ellos: el único tiempo de agente es el rango medido, y la parte humana permanece en su propia línea. Nunca digas cuál es la diferencia entre la cita y el rango, y nunca la llames la parte humana: eso derivaría la parte humana a partir del tiempo de agente. Tampoco digas qué cuenta la cita: nada la ha verificado.
Si el usuario quiere ver más tarde qué número fue correcto, ofrece el mismo comando con --record añadido. Una vez terminado el trabajo, agentpace score <id> --session <ref> compara ambos con lo que realmente tomaron los agentes.
Informar el resultado
- Encabeza con el total del plan como un rango: P50, P80 y P90, en el reloj de sesión. Recomienda P80 para planificar.
- Transmite la línea del reloj de sesión y la línea de la parte humana tal como las imprime la CLI. La primera indica que los intervalos entre ejecuciones cuentan para el total hasta el límite de inactividad, por lo que las esperas cortas del usuario están incluidas. Sin medir, la línea de la parte humana dice que no se añade margen para revisión, pruebas, decisiones y espera entre turnos de agente. Medido por
agentpace turns, cita la propia espera del usuario por turno humano, según su historial local. En cualquier caso, no derives un número para ello a partir del tiempo de agente y no multipliques la espera por turno por un número estimado de turnos. Si el usuario da su propia cifra, repítela y etiquétala como suya. Si indica su capacidad de revisión, como "4 PRs al día", pásala textualmente con--review-capacity "<cifra>", transmite la líneaReview capacity:tal como se imprime, y nunca la conviertas en un plazo. - Nombra la ruta crítica y el paralelismo efectivo.
- Transmite todas las advertencias. Una advertencia significa que una celda tenía muy pocas ejecuciones, por lo que ese rango se apoya en datos más amplios.
- No indiques un solo número, incluso si insisten. Si alguien necesita una cifra para planificar, da el P80 y llámalo P80.
Límites a indicar cuando importen
- Los datos semilla son el flujo de trabajo de una persona, por lo que pueden no parecerse a los del usuario.
agentpace ingestcombina las ejecuciones propias del usuario con ellos;--data ~/.agentpace/runs.jsonlusa solo las suyas. Los adaptadores de Gemini CLI, OpenCode y Cline son experimentales, aún no verificados en sesiones reales, así que dilo cuando una estimación se apoye en filas de ellos. - Sin leer indicaciones, los metadatos no pueden separar características de correcciones de errores o refactorizaciones, por lo que esos tipos pueden compartir datos.
sizese ignora a menos que se pase--use-size, porque el tamaño almacenado se mide después de una ejecución. No lo pases a menos que el usuario lo solicite.
Consulta references/method.md para saber cómo funciona la estimación.