Basado en un caso real de programación automática con Claude Code, comparto algunos consejos sobre prompts

Este artículo, a través de un caso real, les comparto un ejemplo práctico del uso de Claude Code. Antes de compartir, hagamos una pequeña encuesta.
Requisito original: Un usuario premium pagó y deseaba que agregara la fecha de modificación en los artículos.
A primera vista, este requisito era un poco difícil de implementar. Porque los artículos de mi sitio web no están almacenados en una base de datos, todos se construyen usando SSG de next.js. Simplemente no tienen una fecha de actualización.
Un truco aquí es: al resolver problemas, no debemos alimentar directamente el requisito original a Claude Code, por las siguientes razones:
1. El requisito original es relativamente vago, podría malinterpretarlo. Si lo malinterpreta, aunque finalmente agregue una fecha, esa fecha podría no ser confiable.
2. El consumo de Tokens de Claude Code es realmente muy caro. Por lo tanto, un requisito vago podría llevar a un consumo significativo de Tokens sin sentido.
Por lo tanto, debemos desglosar el requisito original. Primero consulté en deepseek, y deepseek me dio dos soluciones:
1. Tiempo de construcción del archivo: cada vez que hacemos build, necesitamos obtener el tiempo de construcción del archivo. Pero la estrategia de empaquetado de turbopack es un poco diferente; cada vez que se construye, el hash del archivo cambia, por lo que este tiempo de construcción podría no ser confiable.
2. Tiempo de commit de git: Pensé que este debería ser más confiable.
Con una dirección general de solución, tuve este prompt simple: Compilar el tiempo de commit de git en el encabezado de cada artículo .mdx.
Claude Code es bastante confiable. Si el prompt es preciso, generalmente no hay problemas. Simplemente comenzó a ejecutar.
Después de consumir 7 dólares de mi crédito, tomó unos 20 minutos y finalmente se ejecutó con éxito.
Como era de esperar, ocurrió lo inesperado: omitió los cambios en 171 archivos.
Aquí hay un punto muy engañoso: en realidad, los archivos omitidos solo tenían un parámetro adicional pass pasado, todo lo demás era exactamente igual.
<PostLayout pass>...Pero no fue flexible; definió este parámetro adicional pasado como un componente personalizado completamente diferente. Luego lo omitió y no lo procesó ~ ~
import Layout from 'components/post-layout';
import { getGitFileInfo } from '@/utils/git-info';
export default function Article({ children }: any) {
const gitInfo = getGitFileInfo('src/app/tu-ruta/page.mdx');
return (
{children}
);
}Pero la situación real es que necesitaba este resultado, y el resultado de la ejecución sería completamente idéntico.
import MdxLayout from 'components/mdx-layout';
export default function Article({ children }: any) {
return (
{children}
);
}Luego, en este momento, caí en un problema con el prompt.
Ingresé el prompt nuevamente: Usa la misma manera que arriba para refactorizar los 171 archivos omitidos.
Mi expresión, pensándolo bien, tenía un poco de ambigüedad. Porque Claude Code ya me había dado un plan sugerido, pero yo no aceptaba ese plan. Mi intención era modificar los archivos omitidos usando el plan como los cientos de archivos ya modificados, pero durante la ejecución, lo interpretó como: el plan que me sugirió arriba.
Esta ambigüedad hizo que ejecutara durante 20 minutos según el plan que yo no quería, incluso hubo 2 errores de auto-reparación en el medio, devorando mis tokens vorazmente. Las dos ambigüedades comenzaron a chocar, causando errores.
Finalmente, tuve que abandonar esta ejecución y aclarar mi semántica nuevamente.
Resumen
1. En los prompts, es mejor incluir soluciones relativamente estables y precisas. Cuanto menos piense la IA, mejor, para reducir la tasa de alucinaciones.
2. Los prompts de requisitos no deben tener ambigüedad. La ambigüedad puede causar errores. Aunque Claude Code finalmente puede repararlos, esto consume una gran cantidad de tokens. Y dado que los LLM generan resultados basados en mecanismos de predicción, malinterpretaciones o ambigüedades tempranas harán que cada paso subsiguiente se aleje más en la dirección equivocada. Además, intentará ser lógicamente coherente, generando cosas que no existen. Cuanto más escribe, mayores son los problemas, y también aumenta la dificultad de revisión para el desarrollador. Si te dejas engañar por sus alucinaciones, puede tener consecuencias graves.
3. Las restricciones del lenguaje natural no son tan precisas como el código. Incluir nombres de archivos, variables de código, términos específicos de código, terminología técnica, etc., en los prompts reduce enormemente las alucinaciones de Claude Code.





