Ayude a Embedder a verificar su trabajo
Embedder funciona mejor cuando puede verificar su propio trabajo. Sin criterios claros de éxito, se pueden generar soluciones que parecen correctas pero que fracasan en la práctica. En esos casos, usted se convierte en la única fuente de retroalimentación y cada error requiere revisión e intervención manual.
Su verificación puede adoptar muchas formas, como un conjunto de pruebas, un linter o un comando Bash que valida la salida. Invierta tiempo para que estas comprobaciones sean confiables y exhaustivas, ya que una verificación sólida permite resultados consistentes y confiables.
Explora y planifica, luego codifica
Permitir que Embedder salte directamente a la codificación puede producir código que resuelva el problema equivocado. Utilice el Modo Planificación para separar la investigación y la planificación de la ejecución. El flujo de trabajo recomendado tiene cuatro fases:1
Explore
Ingrese al modo de planificación. Embedder lee archivos y responde preguntas sin realizar cambios.
Embedder (Plan Mode)
2
Plan
Pídale a Embedder que cree un plan de implementación detallado.Cuando Embedder termina de crear un plan, puede aprobarlo y continuar con la ejecución o darle comentarios sobre qué cambiar. Puede editar manualmente el plan yendo a
Embedder (Plan Mode)
.embedder/plans en su directorio de proyectos.3
Implement
Vuelva al modo Act y deje que Embedder codifique, verificando su plan.
Embedder (Act Mode)
4
Commit
Pídale a Embedder que se comprometa con un mensaje descriptivo y cree un PR.
Embedder (Act Mode)
Proporcionar contexto específico en las indicaciones
Embedder a menudo puede inferir su intención, pero no tiene conocimiento implícito de sus objetivos o suposiciones. Sea explícito y preciso en sus instrucciones. Haga referencia a los archivos exactos que desea modificar, indique las restricciones o requisitos y enlace a ejemplos o patrones relevantes a seguir.
Las indicaciones vagas pueden resultar muy útiles cuando estás explorando o estás abierto a sugerencias. Preguntar “¿Qué errores hay en este archivo?” puede sacar a la luz cosas que de otro modo no habrías encontrado.
Proporcionar contexto
Puede proporcionar datos enriquecidos a Embedder de varias maneras:- Archivos de referencia con @ en lugar de describir dónde reside el código.
- Documentación de referencia en el espacio de trabajo de tu proyecto.
- Proporcione URL para documentación y referencias en línea.
Configure su entorno
Una pequeña cantidad de configuración inicial puede hacer que Embedder sea mucho más efectivo en cada sesión. Tomarse el tiempo para configurar su entorno y proporcionar el contexto adecuado ayuda al agente a trabajar de manera más precisa, consistente y eficiente desde el principio.Escribir un archivo EMBEDDER.md
Embedder lee automáticamente un archivo EMBEDDER.md al comienzo de cada sesión. Utilice este archivo para definir detalles importantes, como comandos bash comunes, convenciones de codificación y pautas de flujo de trabajo. Esto proporciona un contexto persistente que no se puede inferir de manera confiable únicamente a partir del código base.
El comando /init escanea su proyecto para identificar sistemas de compilación, marcos de prueba y patrones recurrentes. Esto crea un sólido punto de partida que luego puedes personalizar y perfeccionar.
No se requiere una estructura estricta para EMBEDDER.md, pero debe ser concisa y fácil de entender. Trate de obtener instrucciones claras y legibles por humanos en lugar de documentación extensa.
Embedder.md
EMBEDDER.md se carga al inicio de cada sesión, por lo que solo incluye información que se aplique ampliamente a todo el proyecto.
Mantenga el archivo breve y enfocado. Para cada línea, pregúntese: “Si esto faltara, ¿Embedder cometería errores?” Si la respuesta es no, elimínelo. Un EMBEDDER.md demasiado grande o desordenado diluye la guía importante y hace más probable que Embedder pase por alto sus instrucciones reales.
Si Embedder sigue haciendo algo que usted ha prohibido explícitamente, su
EMBEDDER.md probablemente sea demasiado largo y la regla se esté enterrando. Si hace preguntas que ya están respondidas en el expediente, es probable que la redacción sea ambigua o poco clara.
Trate EMBEDDER.md como código: revíselo cuando el comportamiento salga mal, elimine periódicamente las líneas innecesarias o redundantes y pruebe los cambios para confirmar que el comportamiento de Embedder realmente cambia. También puede mejorar la adherencia agregando un énfasis claro como “IMPORTANTE” o “DEBE”.
Verifique el archivo en git para que su equipo pueda contribuir, ya que las pequeñas mejoras se acumulan con el tiempo y hacen que el documento sea cada vez más valioso.
Proporcionar documentación
Muchas plataformas y periféricos tienen documentación preindexada. Si descubre que Embedder está haciendo cosas mal con respecto a su placa o periféricos, considere cargar documentación complementaria a través de la consola web. Si ha agregado su propia plataforma o periférico, asegúrese de cargar documentación suficiente y actualizada. Puede agregar más documentación para su plataforma o periféricos usando el comando/console y cargando más documentación en la sección de proyectos de la aplicación web.
Utilice herramientas CLI
La forma más eficaz de interactuar con servicios externos es mediante herramientas CLI. Si usa GitHub, instale la CLIgh. Embedder sabe cómo usarlo para crear problemas, abrir solicitudes de extracción y leer comentarios. Sin gh, Embedder aún puede usar la API de GitHub, pero las solicitudes no autenticadas a menudo alcanzan límites de velocidad.
Embedder también es excelente para aprender herramientas CLI que aún no conoce. Pruebe indicaciones como Use 'cli-tool --help' to learn about more about the cli tool, then use it to solve A, B, C.
Haga preguntas sobre su código base
Al incorporarse a una nueva base de código, utilice Embedder para aprender y explorar. Puede hacerle a Embedder preguntas que le haría a otro ingeniero:- ¿Cómo funciona el registro de errores?
- ¿Cómo leo los datos del sensor utilizado en este proyecto?
- ¿Qué hace el
handle_sample()en la línea 134 delfoo.c? - ¿Qué casos extremos aborda el artículo
TIMER_CTRL? - ¿Por qué este código llama
foo1()en lugar defoo2()en la línea 173?
Gestiona tu sesión
Las conversaciones son persistentes y los cambios realizados durante ellas pueden revertirse.Corrija el rumbo temprano y con frecuencia
Embedder funciona mejor con un circuito de retroalimentación estrecho. La corrección de Embedder produce rápidamente mejores soluciones a un ritmo más rápido.Esc: Detenga el Embedder en mitad de la acción con la teclaEsc. El contexto se conserva, por lo que puedes redirigir.Ctrl + z (2x)o/rewind: presioneCtrl + z (2x)o ejecute/rewindpara abrir el menú de rebobinado y restaurar la conversación anterior y el estado del código.Ctrl + z or /undo: PresioneCtrl + zo ejecute/undopara que Embedder revierta su cambio más reciente./clear: Restablecer contexto entre tareas no relacionadas. Sesiones largas con contexto irrelevante pueden reducir el rendimiento.
/clear y comience de nuevo con un mensaje más específico que incorpore lo que aprendió. Una sesión limpia con mejores indicaciones casi siempre supera a una sesión larga con correcciones acumuladas.
Gestionar el contexto de forma agresiva
Embedder comprime automáticamente el historial de conversaciones durante sesiones largas, preservando el código y las decisiones importantes y liberando espacio. Durante sesiones más largas, la ventana contextual de Embedder puede llenarse de información irrelevante. Esto reduce el rendimiento y, en ocasiones, distrae a Embedder.- Utilice
/clearcon frecuencia entre tareas para restablecer la ventana de contexto por completo - Cuando se activa la compresión automática, Embedder resume lo más importante, incluidos patrones de código, estados de archivos y decisiones clave.
- Para tener más control, puede ejecutar
/compresspara elegir cuándo se produce la compresión. - Personalice el comportamiento de compresión en
EMBEDDER.mdcon instrucciones como"When compressing, make sure to keep track of the full list of modified files"para asegurarse de que cualquier contexto importante sobreviva al resumen.
Utilice subagentes para la investigación
Los subagentes son una de las herramientas más efectivas para mantener enfocadas las sesiones. Cuando Embedder investiga una base de código, lee muchos archivos, lo que puede ralentizar el rendimiento en sesiones largas. Los subagentes completan la tarea en una ventana contextual separada e informan resúmenes:Rebobinar a puntos de control anteriores
Embedder controla automáticamente los puntos antes de los cambios. Ejecute/undo para deshacer el último cambio o /rewind para abrir el menú de puntos de control.
En lugar de planificar cuidadosamente todos tus movimientos, puedes decirle a Embedder que pruebe algo y, si no funciona, retroceder e intentarlo de otra manera.
Reanudar conversaciones
Embedder guarda una copia de las conversaciones localmente. Cuando una tarea abarca varias sesiones (inicia una función, lo interrumpen, regresa al día siguiente), no es necesario volver a explicar el contexto.Evitar trampas
Estos son algunos consejos útiles para evitar errores comunes.- Ejecutar
/clearentre tareas no relacionadas. De lo contrario, puedes inflar tu ventana contextual con mucha información irrelevante. - Ejecutar
/cleardespués de fallas. Si Embedder hace algo mal, después de dos o tres correcciones fallidas, ejecute/cleary escriba un mensaje inicial mejor incorporando lo que aprendió, ya que el contexto se verá contaminado con enfoques fallidos. - Agregue documentación adicional. Si Embedder parece no entender aspectos de su hardware. Considere cargar documentación adicional o reemplazar la actual.
- Podar
EMBEDDER.mda menudo. SiEMBEDDER.mdes demasiado largo, Embedder ignorará gran parte ya que las reglas importantes se perderán en el ruido. Cuantas menos directrices haya enEMBEDDER.md, más centrado estará el Embedder en mantener esas directrices. - Amplia el alcance de las tareas y utiliza subagentes. Si le pides a Embedder que “explore” algo y no lo analizas, Embedder puede terminar llenando su contexto rápidamente. Alcance las tareas o utilice subagentes para preservar el contexto.
