Inicio / Artículos

Notas prácticas: Su agente de programación no necesita un prompt mejor.

Guía paso a paso para utilizar las notas prácticas: Su agente de programación no necesita un prompt mejor; contratos, verificaciones y espacios para código integrable para equipos que utilizan este patrón.

Editor: REACTAPP.TOP11 min de lectura2442 palabras

Fuentes: Your Coding Agent Doesn’t Need a Better Prompt

Las notas siguientes reconstruyen un enfoque práctico basado en el principio de que “Su agente de programación no necesita un prompt mejor”. Se pone énfasis en los contratos, las verificaciones y los marcadores de posición para código, en lugar de en enfoques motivacionales.

Necesita mejores condiciones de trabajo

Al trabajar en la etapa de “Necesita mejores condiciones de trabajo”, 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. Mantenga 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. Almacene en caché las instrucciones del sistema estables y los esquemas de las herramientas. Reenviar un preámbulo idéntico es una causa común de agotamiento del sistema.

El bucle curl

Al trabajar en la etapa del bucle de curl, anote primero el contrato: las entradas requeridas, 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 junto con ello el camino óptimo y el camino de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no de mejoras posteriores. Almacene en caché las instrucciones estables del sistema y los esquemas de las herramientas. Reenviar un preámbulo idéntico es una causa común de agotamiento.

search for artifact
      ↓
try dependency
      ↓
Maven failure
      ↓
search web
      ↓
curl documentation
      ↓
download JAR
      ↓
inspect classes
      ↓
try another version
      ↓
search again

Iteración 1: Arreglar el entorno

Al trabajar en la fase de Corrección de Iteración 1, anote primero el contrato: las entradas requeridas, 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. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el fallo debe apuntar a una única responsabilidad y no a un proceso complicado. Almacene en caché las instrucciones del sistema estables y los esquemas de las herramientas. Reenviar un preámbulo idéntico es una causa común de desperdicio.

LLM + prompt
Model
  + instructions
  + repository
  + build
  + tools
  + runtime
  + available evidence
  + project knowledge
  + feedback loops

Iteración 2: Proporcionar al agente las herramientas de navegación que ya utilizan los ingenieros

Al trabajar en la Iteración 2, escribe primero el contrato para esa etapa: los datos de entrada requeridos, la señal de éxito y qué ocurre en caso de un fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones del código. Considere esta etapa como un contrato entre los datos de entrada y los resultados validados. Asigne nombres a los artefactos, defina las comprobaciones de éxito y rechace cualquier completación parcial silenciosa. Almacene en caché las instrucciones del sistema estables y los esquemas de las herramientas. Reenviar un preámbulo idéntico es una causa común de desperdicio de recursos.

shell + filesystem + internet
interface
   ↓
implementation
   ↓
usage
   ↓
test

Iteración 3: A veces el mejor contexto es que una persona señale el archivo correcto

Al trabajar en la Etapa 3 de Iteración, anote primero el contrato: los datos de entrada requeridos, la señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación garantiza que los cambios posteriores en el código sean transparentes. Registre los tiempos de ejecución 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. Almacene en caché las instrucciones del sistema estables y los esquemas de las herramientas. Reenviar un preámbulo idéntico es una causa común de consumo excesivo de recursos. Al trabajar en la Etapa 3 de Iteración, anote primero el contrato: los datos de entrada requeridos, la señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación garantiza que los cambios posteriores en el código sean transparentes. 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 adicionales realizadas posteriormente.

AllMiniLmL6V2EmbeddingModel
        ↓
AbstractInProcessEmbeddingModel
        ↓
OnnxBertBiEncoder
Hugging Face tokenizer
        ↓
ONNX Runtime
        ↓
token representations
        ↓
pooling
        ↓
normalization
        ↓
embedding

Iteración 4: ¿Por qué decidimos qué necesita aprender el agente?

La etapa “¿Por qué?” de la Iteración 4 funciona mejor cuando se trata como una superficie medible. Capture un registro de éxito ejemplar, un caso de fallo y la nota de reversión antes de ampliar el alcance. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el fallo debe apuntar a una sola responsabilidad y no a un proceso complicado. Establezca un límite de tokens por turno y por sesión. Las herramientas agentes amplían el contexto de forma excesiva; los límites estrictos evitan que las demostraciones se conviertan en facturas inesperadas.

Un pequeño experimento con Integrallis Vectors

Un pequeño experimento con fases funciona mejor cuando se trata como una superficie medible. Capture un registro exitoso, un caso de fallo y la nota de reversión antes de ampliar el alcance. Trate esta fase como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace completaciones parciales silenciosas. Asigne un presupuesto de tokens por turno y por sesión. Las herramientas agentes amplían el contexto de forma excesiva; los límites máximos evitan que las demostraciones se conviertan en facturas inesperadas.

../vectors/
Initial working model
        ↓
low confidence recognized
        ↓
specific evidence requested
        ↓
source inspected
        ↓
previous hypothesis falsified
        ↓
new working model
        ↓
better engineering recommendation

Sí, el agente aprendió…

La etapa de aprendizaje del agente 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. 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 fase de demostración a entornos compartidos. Asigne un presupuesto de tokens por turno y por sesión; las herramientas de agente amplían el contexto de forma intensiva, por lo que los límites máximos evitan que las demostraciones se conviertan en facturas sorpresa. La etapa de aprendizaje del agente 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. Documente tanto el camino óptimo como el camino de recuperación. Los intentos repetidos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son correcciones realizadas posteriormente.

El aprendizaje de un agente debe perdurar más allá del propio agente.

En la fase de aprendizaje del agente, 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. Prefiera unidades pequeñas y verificables sobre scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Opte por salidas estructuradas con validación de esquema en lugar de texto libre cuando el paso siguiente sea código o una llamada a una herramienta.

docs/engineering/
docs/knowledge/
docs/knowledge/vector-backends/
    onnx-embedding-pipeline.md
    integrallis-vectors.md
    candidate-assessment.md
Local embedding baseline:
- all-MiniLM-L6-v2
- 384 dimensions
- ONNX Runtime
- DJL HuggingFaceTokenizer
- mean pooling
- L2 normalization
Long inputs:
- partitioned before inference
- embeddings combined using token-count weightingLangChain4j:
- useful as a verified reference implementation
- not required by the runtime designUpstream source:
- available locally for deeper verification
retained knowledge
       ↓
task understanding
       ↓
remaining uncertainty
       ↓
targeted evidence
       ↓
new learning
       ↓
updated retained knowledge
       ↓
next agent

La investigación forma parte de la delegación

Para que la investigación forme parte de esta etapa, 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. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Prefiera resultados estructurados con validación de esquema sobre textos en formato libre cuando el siguiente paso sea la escritura de código o una llamada a una herramienta.

"Agent, do everything."
"Human specifies every line."

El agente no es un genio en una lámpara

En los casos en que el agente no se encuentra en una etapa definida, es necesario establecer las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea 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 temprana del costo evita facturas inesperadas cuando la tarea pasa de un entorno de demostración a uno compartido. Cuando el siguiente paso sea escribir código o realizar una llamada a una herramienta, es preferible utilizar salidas estructuradas con validación de esquema en lugar de texto libre. En los casos en que el agente no se encuentra en una etapa definida, es necesario establecer las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Se deben documentar tanto la ruta óptima como las rutas de recuperación. Las intentonas repetidas, los controles humanos y el manejo de mensajes no entregados forman parte del producto, y no son algo que se añada posteriormente.

Coding Agent
                          │
          ┌───────────────┼───────────────┐
          │               │               │
       Harness         Knowledge        Research
          │               │               │
        tools          project facts     source
        build          decisions         docs
        IDE            constraints       experiments
        runtime        prior learning    external evidence
          │               │               │
          └───────────────┼───────────────┘
                          ↓
                    Clear boundaries
                          ↓
                   Precise delegation
                          ↓
                    Implementation
                          ↓
                     Verification
                          ↓
                  Retained knowledge
                          │
                          └──────→ next agent

De la formulación de instrucciones a la configuración de condiciones de trabajo

Al trabajar en la etapa que va desde la formulación de instrucciones hasta la configuración técnica, 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 del código. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el fallo debe apuntar a una sola responsabilidad y no a un proceso complicado. Almacene en caché las instrucciones del sistema estables y los esquemas de las herramientas. Reenviar un preámbulo idéntico es una causa común de agotamiento.

better environment
      ↓
cheaper investigation
      ↓
better evidence
      ↓
better decisions
      ↓
retained learning
      ↓
better starting environment
      ↓
next agent

Origen de OSK

Al trabajar en la etapa de determinar el origen de OSK, anote primero el contrato: los datos 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. Considere esta etapa como un contrato entre los datos de entrada y las salidas validadas. Asigne nombres a los artefactos, defina comprobaciones de éxito y evite completaciones parciales silenciosas. Almacene en caché las instrucciones del sistema estables y los esquemas de las herramientas. Reenviar un preámbulo idéntico es una causa común de problemas.

Una forma diferente de programar con agentes

Al trabajar en el “Un método diferente para la puesta en escena”, anote primero el contrato: los datos de entrada 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. 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. Almacene en caché las instrucciones del sistema estables y los esquemas de las herramientas. Reenviar un preámbulo idéntico es una causa común de gastos innecesarios. Al trabajar en el “Un método diferente para la puesta en escena”, anote primero el contrato: los datos de entrada 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 camino de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores.

Human request
      ↓
Agent generates code
Human hypothesis
      ↓
discussion
      ↓
agent reconnaissance
      ↓
identify uncertainty
      ↓
targeted research
      ↓
retained evidence
      ↓
human + agent design
      ↓
implementation
      ↓
real-world friction
      ↓
verification
      ↓
revised architecture
      ↓
new retained knowledge

Estas son hipótesis, no leyes

Estas son hipótesis, no trabajos en etapas; funcionan mejor cuando se tratan como una superficie medible. Capture un registro exitoso, un caso de fallo y la nota de reversión antes de ampliar el alcance. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el fallo debe apuntar a una sola responsabilidad y no a un proceso complicado. Asigne un límite de tokens por turno y por sesión; las herramientas agentes amplían el contexto de forma excesiva; los topes estrictos evitan que las demostraciones se conviertan en facturas inesperadas.

Lista de verificación operativa

En la etapa de lista de verificación operativa, 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 único lugar que los operadores puedan auditar sin tener que leer todo el sistema.

Preferir outputs estructurados con validación de esquema en lugar de texto libre cuando el siguiente paso sea escribir código o realizar una llamada a una herramienta.

Cree puntos 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.

Fije las versiones de las dependencias y registre el resumen de la imagen que ejecutó la demostración. La reproducibilidad es mejor que el conocimiento basado en prácticas internas.

Trate esta etapa como un contrato entre las entradas y los outputs validados. Asigne nombres a los artefactos, defina comprobaciones de éxito y rechace las completaciones parciales silenciosas.

Antes de promocionar la solución, congele las versiones, capture una transcripción de referencia para el camino crítico y confirme los pasos de reversión. 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 ddfa012877c8: 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 posteriores en el modelo sigan siendo comparables.

Para la nota de fortalecimiento de la etapa 0, 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. Registre los tiempos de ejecución y el costo de tokens o consultas junto a los resultados funcionales. La visibilidad temprana de los costos evita facturas inesperadas cuando el proceso pasa de las demostraciones a los entornos compartidos.

Detalle de endurecimiento 0/867: mida el tiempo de ejecución, la clase de error y el consumo de tokens para esta nota, y luego decida si mantener el cambio basándose en un conjunto fijo de preguntas en lugar de en anécdotas.