Notas prácticas: ¿Ayudan las habilidades del agente? Realicé 72 pruebas para averiguarlo.
Guía paso a paso para leer las notas prácticas: ¿Ayudan las habilidades del agente? Realicé 72 pruebas para averiguarlo: contratos, cheques y espacios para código adicional para los equipos que utilizan este patrón.
Las notas siguientes reconstruyen un camino práctico para abordar la pregunta “¿Ayudan las habilidades del agente? Realicé 72 pruebas para averiguarlo”. Se da énfasis en los contratos, las verificaciones y los marcadores de código genéricos, en lugar de en un enfoque motivacional. Al trabajar en la etapa de Resumen, anote primero el contrato: los datos de entrada requeridos, la señal de éxito y qué ocurre en caso de un fallo parcial. Esa lista de verificación garantiza que los cambios posteriores en el código sean transparentes. Considere esta etapa como un contrato entre los datos de entrada y los resultados validados. Asigne nombres a los elementos generados, defina las verificaciones de éxito y evite completaciones parciales silenciosas.
Ayuda o alucinación?
La etapa de ayuda o alucinación funciona mejor cuando se trata como una superficie medible. Capture una transcripción exitosa, un caso de fallo y la nota de reversión antes de ampliar el alcance. Registre los tiempos y el costo en tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de la demostración a entornos compartidos. Mantenga el estado del grafo plano y tipado; los bloques anidados ocultan qué nodo escribió qué campo y provocan interrupciones en la continuación del proceso.
Prueba de Claude Code en un entorno aislado
Probar el código de Claude en fase funciona mejor cuando se trata como una superficie medible. Capture un transcripte ideal, un caso de fallo y la nota de reversión antes de ampliar el alcance. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin tener que leer todo el grafo. Mantenga el estado del grafo plano y tipado. Los bloques anidados ocultan qué nodo escribió qué campo y provocan interrupciones en la continuación del proceso.
Lo que muestran las cifras
La etapa “Lo que muestran las cifras” funciona mejor cuando se trata como una superficie medible. Capture un registro ideal, un caso de fallo y la nota de reversión antes de ampliar el alcance. Documente tanto el camino óptimo como el de recuperación. Los intentos repetidos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son ajustes realizados posteriormente. Mantenga el estado de los gráficos simple y tipado; los bloques anidados ocultan qué nodo escribió qué campo y provocan interrupciones en la continuación del proceso. La etapa “Lo que muestran las cifras” funciona mejor cuando se trata como una superficie medible. Capture un registro ideal, un caso de fallo y la nota de reversión antes de ampliar el alcance. Considere esta etapa como un contrato entre las entradas y las salidas validadas. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas.
Por qué los agentes de referencia obtuvieron cero en eficiencia
Para determinar la etapa en la que obtienen puntaje los agentes según el criterio de “por qué”, se deben definir las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Se deben registrar los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Se debe incluir la aprobación humana en aquellos casos en que se gastan fondos o se modifican datos de producción. La configuración en tiempo de compilación no equivale a la completitud del proceso empresarial.
Dónde marcó la diferencia el plugin
Para la etapa creada por el plugin Where, defina las entradas, el propietario de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa desde un punto de control conocido sin tener que adivinar el estado oculto. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar que los operadores puedan auditar sin tener que leer todo el grafo. Autentique en la pasarela y vuelva a autorizarlo en el plano de datos. Un token portador por sí solo no constituye un límite entre tenencias.
Autenticación en Cloud Run
Para la etapa de autenticación en Cloud Run, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Incluya la aprobación humana en aquellos casos que impliquen gastos o cambios en datos de producción. La configuración en tiempo de compilación no equivale a la completitud del proceso empresarial. Para la etapa de autenticación en Cloud Run, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Trate esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina comprobaciones de éxito y rechace las completaciones parciales silenciosas.
# Plugin recipe: create custom identity and bind least-privilege role
gcloud iam service-accounts create batch-worker \
--project="my-app-prod" \
--display-name="Batch Worker Service Account"
gcloud projects add-iam-policy-binding my-app-prod \
--member="serviceAccount:batch-worker@my-app-prod.iam.gserviceaccount.com" \
--role="roles/storage.objectViewer"
gcloud run jobs create batch-job \
--image="gcr.io/my-app-prod/job:latest" \
--service-account="batch-worker@my-app-prod.iam.gserviceaccount.com" \
--region="us-central1"
Verificación de la sintaxis antes de la ejecución
Al trabajar en la fase de verificación de la sintaxis antes de la ejecución, anote primero el contrato: entradas requeridas, señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación ayuda a mantener la transparencia en los cambios posteriores del código. Registre los tiempos y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Haga una verificación después de los pasos costosos. La reanudación no debe volver a facturar la misma llamada al LLM cuando un operador intenta nuevamente un nodo posterior.
# Verified via leaf-level help check before drafting final command
gcloud run deploy invoice-service \
--image="gcr.io/my-app-prod/invoice:latest" \
--region="us-central1" \
--add-volume="name=data-vol,type=cloud-storage,bucket=my-data,readonly=true" \
--add-volume-mount="volume=data-vol,mount-path=/mnt/gcs" \
--set-secrets="DB_PASSWORD=db-password:latest"
Encontrar habilidades según la demanda
Al trabajar en la etapa de “Encontrar habilidades bajo demanda”, anote primero el contrato: los datos necesarios, la señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación ayuda a mantener honestas las futuras modificaciones en el código. Guarde la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos secretos y las banderas de funcionalidad deben encontrarse en un lugar donde los operadores puedan auditarlos sin tener que leer todo el sistema. Haga un punto de control después de los pasos costosos. La función de reanudación no debe volver a facturar la misma llamada al LLM cuando un operador intente nuevamente un nodo posterior.
Filtrado de datos en el servidor
Al trabajar en la etapa de filtrado de datos, anote primero el contrato: los ingresos requeridos, la señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones del código. Documente tanto el camino óptimo como el de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no de mejoras posteriores. Haga un punto de control después de los pasos costosos. La función de reanudación no debe volver a facturar la misma llamada al LLM cuando un operador vuelve a intentar un nodo posterior. Al trabajar en la etapa de filtrado de datos, anote primero el contrato: los ingresos requeridos, la señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones del código. Trate esta etapa como un contrato entre los ingresos y las salidas validadas. Asigne nombres a los artefactos, defina comprobaciones de éxito y rechace las completaciones parciales silenciosas.
gcloud compute disks list \
--project="my-app-prod" \
--filter="-users:*" \
--format="table(name, zone, sizeGb)"
Ampliación del acceso secreto entre proyectos
El acceso secreto para delimitar el alcance entre etapas funciona mejor cuando se trata como una superficie medible. Capture un registro clave, un caso de fallo y la nota de reversión antes de ampliar el alcance. Registre los tiempos y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de la fase de demostración a entornos compartidos. Mantenga el estado del gráfico simple y con tipos definidos. Los bloques anidados ocultan qué nodo escribió qué campo y provocan interrupciones en la continuación del proceso.
# Resource-level binding: grants access strictly to stripe-webhook-key in sec-vault-prod
gcloud secrets add-iam-policy-binding stripe-webhook-key \
--project="sec-vault-prod" \
--member="serviceAccount:app-runner@app-prod.iam.gserviceaccount.com" \
--role="roles/secretmanager.secretAccessor"
Protección de comandos destructivos con confirmación
Los comandos de protección contra daños mediante etapas funcionan mejor cuando se tratan como una superficie medible. Capture un registro dorado, un caso de fallo y la nota de reversión antes de ampliar el alcance. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin tener que leer todo el grafo. Mantenga el estado del grafo plano y tipado. Los bloques anidados ocultan qué nodo escribió qué campo y provocan interrupciones en la continuación después de las interrupciones.
# Step 1: Preview candidate instances safely
gcloud compute instances list \
--filter="name:legacy-worker-* AND zone:us-central1-a" \
--format="table(name, status)"
# Step 2: Prompt user for confirmation before executing deletion
# (Execution refused until explicit human consent is given)
Credenciales locales vs. claves de cuenta de servicio
Las credenciales locales frente a la etapa de servicio funcionan mejor cuando se tratan como un aspecto medible. Capture una transcripción ideal, un caso de fallo y la nota de reversión antes de ampliar el alcance. Documente tanto el camino óptimo como el de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Mantenga el estado de los gráficos simple y tipado; los bloques anidados ocultan qué nodo escribió qué campo y provocan interrupciones en la continuación. Las credenciales locales frente a la etapa de servicio funcionan mejor cuando se tratan como un aspecto medible. Capture una transcripción ideal, un caso de fallo y la nota de reversión antes de ampliar el alcance. Considere esta etapa como un contrato entre las entradas y las salidas validadas. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas.
Cuatro reglas para desarrollar mejores habilidades
Para las cuatro reglas para construir etapas, defina los insumos, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. La visibilidad temprana de los costos evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Implemente la aprobación humana en aquellos casos en que se gastan fondos o se modifican datos de producción. La conexión en tiempo de compilación no equivale a la completitud del proceso empresarial.
1. Revise la ayuda de la CLI antes de ejecutar comandos
Para la fase de ayuda de Inspect CLI, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin necesidad de leer todo el sistema. Coloque la aprobación humana en las operaciones que generan gastos o modifican datos de producción. La conexión en tiempo de compilación no equivale a la completitud del proceso empresarial.
Rule: When using gcloud subcommands with volume mounts, IAM bindings,
or filtering, always run 'gcloud help <group> <command>' first.
Never invent parameter names.
2. Hacer que los scripts de configuración sean idempotentes y no interactivos
En la fase de scripts de configuración de 2 Make, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Incluya la aprobación humana en aquellos casos que impliquen gastos o cambios en los datos de producción. La conexión en tiempo de compilación no equivale a la completitud del proceso empresarial. En la fase de scripts de configuración de 2 Make, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Considere esta fase como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina comprobaciones de éxito y rechace las completaciones parciales silenciosas.
# Check before creating to ensure idempotency
if ! gcloud iam service-accounts describe "${SA_EMAIL}" --project="${PROJECT_ID}" >/dev/null 2>&1; then
gcloud iam service-accounts create "${SA_NAME}" \
--project="${PROJECT_ID}" \
--display-name="App Service Account" \
--quiet
fi
3. Filtrar datos en el servidor
Al trabajar en la etapa de filtrado de datos, anote primero el contrato: entradas requeridas, señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación ayuda a mantener honestos los cambios posteriores en el código. Registre los tiempos y el costo de tokens o consultas junto con los resultados funcionales. Ver la información sobre costos desde el principio evita facturas inesperadas cuando se pasa de entornos de demostración a entornos compartidos. Haga una verificación después de los pasos costosos. La función de reanudación no debe volver a facturar la misma llamada al LLM cuando un operador intenta nuevamente un nodo posterior.
# Return only running VM names and internal IPs in compact tabular form
gcloud compute instances list \
--project="my-app-prod" \
--filter="status:RUNNING" \
--format="table(name,networkInterfaces[0].networkIP:label=INTERNAL_IP)"
4. Requerir confirmación antes de realizar acciones destructivas
Al trabajar en las 4 etapas que requieren confirmación previa, anote primero el contrato: los datos necesarios, la señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones del código. Guarde la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin tener que leer todo el sistema. Haga un punto de control después de los pasos costosos. La función de reanudación no debe volver a facturar la misma llamada al LLM cuando un operador intente nuevamente un nodo posterior.
Más allá de las verificaciones básicas
Al trabajar en la etapa de ir más allá de las verificaciones iniciales, anote primero el contrato: los datos requeridos, la señal de éxito y qué ocurre en caso de un fallo parcial. Esa lista de verificación garantiza que los cambios posteriores en el código sean transparentes. Documente tanto la ruta de éxito como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras realizadas posteriormente. Haga una verificación después de los pasos costosos. Resume no debe volver a facturar la misma llamada al LLM cuando un operador vuelve a intentar un nodo posterior. Al trabajar en la etapa de ir más allá de las verificaciones iniciales, anote primero el contrato: los datos requeridos, la señal de éxito y qué ocurre en caso de un fallo parcial. Esa lista de verificación garantiza que los cambios posteriores en el código sean transparentes. Trate esta etapa como un contrato entre los datos de entrada y los resultados validados. Asigne nombres a los artefactos, defina las verificaciones de éxito y rechace las completaciones parciales silenciosas.
Lista de verificación operativa
En la fase de lista de verificación operativa, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto.
Preferir unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado.
Incluya la aprobación humana en aquellas tareas que implican gastos o modificaciones en datos de producción. La configuración en tiempo de compilación no equivale a una solución completa para el negocio.
Escriba un manual breve: cómo rotar claves, cómo vaciar la cola y cómo revertir la última inserción.
Trate esta fase como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina pruebas de éxito y rechace cualquier completación parcial silenciosa.
Se debe obtener aprobación humana para las operaciones que implican gastos o modificaciones en los datos de producción. La configuración en tiempo de compilación no equivale a una solución completa para los negocios.
Antes de promocionar la solución, congele las versiones, guarde una transcripción de referencia para el camino crítico y confirme los pasos para revertir cambios. Los entornos compartidos requieren límites de velocidad, verificaciones de asignación y un responsable claro para la rotación de credenciales secretas. Prefiera una fiabilidad sencilla a demostraciones ingeniosas pero puntuales.
Nota para el lote b328ba4d66b2: mantenga las claves del proveedor fuera del repositorio, establezca un límite para los tokens por sesión y almacene las transcripciones junto a los archivos de prueba para que los cambios en los modelos posteriores sigan siendo comparables.
Lecturas relacionadas
- Notas prácticas: Evals: Un curso rápido para agentes y habilidades — Guía paso a paso de Notas prácticas: Evals: Un curso rápido para agentes y habilidades: contratos, verificaciones y espacios para código listo para usar para los equipos que implementan este patrón.
- Notas prácticas: AWS DevOps Agent y AWS DevOps Agent Skills — Simplificado con — Guía paso a paso de Notas prácticas: AWS DevOps Agent y AWS DevOps Agent Skills — Simplificado con: contratos, verificaciones y espacios para código listo para usar para los equipos que implementan este patrón.