<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
    <title>Notas Rápidas - Apunte Impensado</title>
    <description>Pensamientos rápidos y notas breves sobre tecnología</description>
    <link>https://apunteimpensado.com/</link>
    <language>es</language>
    <lastBuildDate>Tue, 07 Apr 2026 17:53:29 </lastBuildDate>
    <atom:link href="https://apunteimpensado.com/notas/feed.xml" rel="self" type="application/rss+xml" />
    <item>
        <title><![CDATA[¿Agregar demasiados principios de programación arruinan el prompt?]]></title>
        <description><![CDATA[<!-- CONTEXT: En esta nota reviso la idea de usar algunos de los llamados principios pragmáticos de programación al momento de crear una instrucción para LLM/IA-->
<p>Estuve leyendo un poco sobre prompts.</p>
<p>Pero antes de seguir con el tema de instrucciones, hay algunos
principios de programación que ayudan de una forma u otra al momento de
escribir código.</p>
<p>Estos principios son:</p>
<p><a
href="https://es.wikipedia.org/w/index.php?title=YAGNI&amp;oldid=125042627">YAGNI:</a>
You Aren’t Gonna Need It / No lo vas a necesitar</p>
<p><a
href="https://es.wikipedia.org/w/index.php?title=SOLID&amp;oldid=169601945">SOLID:</a>
Single Responsibility, Open-Closed, Liskov Substitution, Interface
Segregation, Dependency Inversion / Responsabilidad única,
Abierto-cerrado, Sustitución de Liskov, Segregación de interfaces,
Inversión de dependencias</p>
<p>En el caso de SOLID contiene cinco principios en su interior.</p>
<p><a
href="https://es.wikipedia.org/w/index.php?title=Principio_KISS&amp;oldid=163445334">KISS:</a>
Keep It Simple, Stupid / Manténlo simple, estúpido</p>
<p><a
href="https://es.wikipedia.org/w/index.php?title=No_te_repitas&amp;oldid=125268970">DRY:</a>
Don’t Repeat Yourself / No te repitas</p>
<p>Entonces estas filosofías actúan como una guía al momento de diseñar
un programa.</p>
<p>La idea central de esta nota es pensar ¿qué ocurre cuando agregamos
estos principios al darle un prompt a una LLM/IA?</p>
<p>Por ejemplo, puedo pedirle a la IA que no agregue funcionalidades
extra a la pieza de código que le estoy pidiendo. O puedo directamente
decirle “necesito que te adhieras a los principios YAGNI al llevar
adelante la tarea”.</p>
<p>¿Funciona esta idea de adherirnos a estas formas de pensar para
estructurar los resultados?</p>
<p>Necesito hacer más pruebas al respecto. Tengo que decir que hay dos
formas de usar estos principios:</p>
<p>1- Asignarlos al prompt antes de empezar a generar el código.</p>
<p>2- Utilizar los principios en un segundo momento, para revisar el
código que ya fue generado.</p>
<p>En mi poca experiencia la idea funciona mejor en el segundo caso,
cuando tenemos que revisar un código que ya fue generado. Encuentro que
si utilizo estas instrucciones desde un primer momento, la IA se aleja
un poco del objetivo principal al tratar de encajar y priorizar estos
conceptos.</p>
<p>Pero cuando la IA repasa un código ya generado, tener estas
referencias extras para saber qué tiene que mejorar en el programa le
ayuda más.</p>
<p>Lo siguiente que encontré en mi experiencia es que no siempre es
bueno agregar todos estos principios al mismo tiempo. Por ejemplo en
lugar de decir:</p>
<p>“When designing or extending code, rigorously apply YAGNI, SOLID,
KISS, and DRY principles, adapting them to each development
scenario.”</p>
<p>Es mejor decir:</p>
<p>“When designing or extending code, rigorously apply the YAGNI
principle, adapting it to each development scenario.”</p>
<p>Aunque también es cierto que estoy agregando un problema extra: SOLID
contiene cinco principios individuales en su interior. Quizás al pedir
todo a la vez no hago más que saturar la instrucción, agregando
complejidad extra a la tarea.</p>
<p>Por lo que puedo entender al usar todas los principios juntos al
mismo tiempo los cambios que se aplican no siempre resultan favorables.
El código mejora en apariencia pero deja de funcionar al romper su
funcionalidad, como si la necesidad por cubrir todas esas demandas
hiciera aparecer errores en la respuesta.</p>
<p><strong>¿Comentarios o preguntas?</strong> Escríbeme tu opinión a: <a href="mailto:gustavol@apunteimpensado.com">gustavo@apunteimpensado.com</a></p>]]></description>
        <link>https://apunteimpensado.com/notas/principios-prompt-ia-codigo/</link>
        <guid isPermaLink="true">https://apunteimpensado.com/notas/principios-prompt-ia-codigo/</guid>
        <pubDate>Sun, 11 Jan 2026 00:00:00 </pubDate>
    </item>
    <item>
        <title><![CDATA[Una forma gratuita pero poco práctica para completar tareas con IA]]></title>
        <description><![CDATA[<!-- CONTEXT: Esta nota se me ocurrió cuando pensaba: ¿es posible delegar la parte de planificación de una tarea a un LLM de acceso en línea y asignar la parte de acción a una API gratuita accesible en Cline? La herramienta en línea es gratis y parece más "potente" que la opción gratuita en Cline. Por ejemplo, usar Qwen en línea para detallar la tarea y MiniMax en Cline para actuar sobre los archivos locales. -->
<p>Digamos que buscamos hacer una tarea más o menos compleja en un
directorio de nuestra computadora. Algo como hacer cambios en unos
archivos CSS y HTML en un proyecto personal.</p>
<p>Nos gustaría resolver la tarea con IA, pero nuestro presupuesto
consiste exactamente de $0. Y nuestra computadora no tiene la potencia
para correr LLM locales.</p>
<p>Esta es mi solución poco práctica pero gratuita. Es cierto, nada es
“gratuito” en el mundo, quiero decir que podemos seguir adelante sin
pagar una suscripción.</p>
<p>Entonces esto es lo que vamos a hacer. Vamos a rebotar entre dos
LLM/IA. Una de ellas va a actuar para planear la mejor forma de llevar
adelante los cambios, la otra va a accionar directamente sobre los
archivos.</p>
<h2 id="parte-1-the-players">Parte 1: The Players</h2>
<p>Primero vamos a necesitar una inteligencia artificial que pueda
generar cambios directamente sobre nuestros archivos.</p>
<p>Para editar el código <a href="https://code.visualstudio.com/">vamos
a usar VSCode</a>. O también alternativamente podemos usar <a
href="https://vscodium.com/">VS Codium.</a></p>
<p>Vamos a instalar ahora <a href="https://cline.bot/">la extensión
Cline.</a> Y vamos a crear una cuenta. Cline va a permitir que podamos
conectarnos a diferentes API de distintas LLM. Algunas de esas opciones
son gratuitas.</p>
<p>Bien, entonces Cline nos conecta con una IA que puede hacer cambios
en nuestro directorio de trabajo si le damos autorización. Por ejemplo
al momentos de escribir estas palabras una de esas IA es “minimax-m2.1”.
Estas opciones gratuitas son geniales en su funcionamiento, pero con una
ventana de contexto corta. Su efectividad para planear con efectividad
puede variar según el caso.</p>
<p>Por eso vamos a necesitar un cerebro más poderoso. Necesitamos
entonces utilizar otra IA gratuita, pero de acceso en linea (API solo
por medio de pago). Por ejemplo Gemini o DeepSeek.</p>
<p>Hay varias opciones gratuitas de IA en linea, y todas tienen sus
ventajas/desventajas. Esta IA solamente va a tener acceso a una parte
del proyecto, pero con algunas instrucciones va a ayudarnos a organizar
la resolución del problema.</p>
<p>Mi teoría es que de esa forma vamos a aliviar presión sobre la tarea
que le encargamos al asistente de Cline. Y el proyecto se v a completar
sin necesidad de volver a generarlo.</p>
<h2 id="parte-2-copiar-y-pegar">Parte 2: Copiar y pegar</h2>
<p>Ahora vamos a llevarle las partes necesarias para comprender el
asunto a la IA en linea.</p>
<p>Con “llevarle” las partes necesarias me refiero a la clásica
actividad de “copy &amp; paste”.</p>
<p>En el caso de nuestro ejemplo eso puede ser las partes relevantes de
nuestro archivo CSS y el documento HTML correspondiente.</p>
<p>Y le decimos a la IA algo como:</p>
<pre><code>Teniendo en cuenta los fragmentos relevantes en los archivos de mi proyecto (index.html, style.css, script.js):

- Quiero crear una nueva sección que debe llamarse &quot;ejemplos&quot;
- La sección debe ubicarse después del header y antes del content en el HTML
- El menú en JS debe ser un botón de &quot;Ver más ejemplos&quot; que expande/colapsa el contenido

Instrucciones:
1. Lista exactamente 3 pasos en orden:
   a) Cambios en HTML (solo la nueva sección con estructura mínima)
   b) Estilos CSS necesarios (solo para .ejemplos y el botón)
   c) Lógica JS mínima (toggle de expansión/collapsing)

2. Genera la respuesta en un único codeblock sin formato incluyendo detalles como:
&lt;!-- index.html: Insertar después de &lt;section id=&quot;servicios&quot;&gt; --&gt;
&lt;section class=&quot;ejemplos&quot;&gt;...&lt;/section&gt;

/* style.css: Agregar al final */
.ejemplos { ... }

// script.js: Insertar después de DOMContentLoaded
document.querySelector(...) { ... }

3. PROHIBIDO:
- Explicaciones adicionales
- Código para funcionalidades no solicitadas
- Comentarios en el código</code></pre>
<p>Lo anterior es solamente un ejemplo sencillo, se puede expandir para
tareas más complejas. Vamos a obtener una respuesta con una serie de
pasos a implementar.</p>
<p>Es cierto que esa LLM en linea tiene la capacidad de completar el
proyecto por si sola, pero para hacerlo tendría que escribir los tres
archivos completamente desde cero. Eso es lo que estamos tratando de
evitar, en especial si son archivos muy largos.</p>
<p>Lo que vamos a obtener es un codeblock con una serie de pasos para
completar, con todo el código generado para la sección que intentamos
implementar.</p>
<p>Ahora movemos la respuesta que vamos a obtener a Cline, en el area de
“Act”. Y le pedimos que ejecute esos pasos. La IA gratuita a la que
estemos conectados, digamos Minimax para seguir el ejemplo, va a ir paso
a paso actuando sobre esta lista que le damos.</p>
<p>¿Puede esto mejorar el resultado? Pensemos que la IA en VSCode ahora
tiene que solamente interpretar lo que le pedimos. No necesita idearlo.
Caso contrario tendría que interpretar nuestro pedido original + crear
un plan + ejecutarlo.</p>
<p>Por supuesto esta idea tiene varios problemas. Requiere bastante
seguimiento de nuestra parte para copiar y pegar código. También
necesitamos revisar los cambios. Y todo la actividad es bastante frágil,
pueden aparecer errores inesperados en esta triple conversación entre
dos LLM y un humano. No es algo para proyectos complejos.</p>
<p>Pero incluso si el desarrollo de la idea no es de utilidad real, me
sirvió escribir la nota para pensar un poco en el tema.</p>
<p><strong>¿Comentarios o preguntas?</strong> Escríbeme tu opinión a: <a href="mailto:gustavol@apunteimpensado.com">gustavo@apunteimpensado.com</a></p>]]></description>
        <link>https://apunteimpensado.com/notas/idea-poco-practica-para-ia/</link>
        <guid isPermaLink="true">https://apunteimpensado.com/notas/idea-poco-practica-para-ia/</guid>
        <pubDate>Tue, 06 Jan 2026 00:00:00 </pubDate>
    </item>
    <item>
        <title><![CDATA[Nueva Sección de notas rápidas en el blog]]></title>
        <description><![CDATA[<p><a
href="https://es.wikipedia.org/w/index.php?title=Blog&amp;oldid=170702197">Este
artículo de Wikipedia</a> nos recuerda que una de las características de
los blogs es que son actualizados con frecuencia.</p>
<p>Este es un blog de tutoriales, pero nunca tuve muchas intenciones de
actualizarlo de forma constante. Una publicación larga de tanto en tanto
para cubrir lo último que estaba aprendiendo siempre me pareció
suficiente.</p>
<p>Sin embargo esto cambio en los últimos tiempos. Con la aparición de
herramientas IA/LLM el uso de publicaciones 100% informativas ya no
parece tan necesario como antes.</p>
<p>¿Sobre qué escribir entonces? ¿Qué puedo hacer con el blog?</p>
<h2 id="las-opciones">Las opciones</h2>
<p>Es una situación rara. No quiero dejar de escribir, pero tampoco
quiero publicar textos que nadie va a leer.</p>
<p>Si quiero escribir actualizaciones rápidas sobre algo, creo que las
redes sociales ya tienen cubierto ese terreno. Y si escribo un tutorial
muy largo tampoco voy a encontrar público, las personas pueden consultar
los detalles interactuando directamente con una inteligencia
artificial.</p>
<p>Una solución rápida puede ser la de escribir artículos de opinión.
Pero no me gusta mucho la polémica, y supongo que las redes sociales ya
tienen esos temas cubierto.</p>
<p>Por supuesto estoy generalizando un poco. Estoy seguro que muchos
blogs triunfan todavía el día de hoy escribiendo tutoriales en
profundidad o sobre temas muy avanzados. Pero no tengo tanta experiencia
como para hacer ese tipo de material.</p>
<p>Entonces se me ocurrió…</p>
<h3 id="una-vieja-nueva-forma-de-actualizar-el-blog">Una vieja nueva
forma de actualizar el blog</h3>
<p>Quizás puedo encontrar una forma de actualizar el blog de una forma
casi periódica, con un post nuevo cada día. Retomando un poco esa idea
del blog que se actualiza día a día.</p>
<p>Para eso voy a escribir post de un largo intermedio, y los voy a
agregar en esta nueva sección de notas.</p>
<p>Esta sección tiene su propia categoría, y su propio feed de RSS. De
esa forma las notas van a poder coexistir con los ocasionales apuntes
largos, que no van a mezclarse con esta nueva parte del blog.</p>
<p>El tema de las notas también va a ser el de tecnología y computación.
Pero mejor dejo de escribir, o esta nota va a tener más palabras que un
post largo.</p>
<p>Espero que puedas seguir leyendo el blog, no olvides compartirme tu
opinión enviándome un correo electrónico.</p>
<p><strong>¿Comentarios o preguntas?</strong> Escríbeme tu opinión a: <a href="mailto:gustavol@apunteimpensado.com">gustavo@apunteimpensado.com</a></p>]]></description>
        <link>https://apunteimpensado.com/notas/nueva-seccion-notas-rapidas/</link>
        <guid isPermaLink="true">https://apunteimpensado.com/notas/nueva-seccion-notas-rapidas/</guid>
        <pubDate>Sun, 04 Jan 2026 00:00:00 </pubDate>
    </item>
</channel>
</rss>