{"id":293,"date":"2026-05-28T21:42:00","date_gmt":"2026-05-29T01:42:00","guid":{"rendered":"https:\/\/mauriciobeltran.cl\/?p=293"},"modified":"2026-05-28T21:43:12","modified_gmt":"2026-05-29T01:43:12","slug":"mi-proceso-de-desarrollo-agentico","status":"publish","type":"post","link":"https:\/\/mauriciobeltran.cl\/index.php\/2026\/05\/28\/mi-proceso-de-desarrollo-agentico\/","title":{"rendered":"Mi proceso de desarrollo ag\u00e9ntico"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Como desarrollador, ingeniero de software, programador y un largo etc. con muchos a\u00f1os de experiencia, miraba con recelo el desarrollo potenciado con Inteligencia Artificial. Comenc\u00e9 a dar mis primeros pasos hace poco m\u00e1s de 1 a\u00f1o cuando estaba en boca de todo el submundo TI el que la AI se iba a comer a los programadores, como buen snob, creia que esto era imposible, ya que siempre se necesitaria de alguien que sepa que se est\u00e1 haciendo por si todo sale mal. Aunque a\u00fan sostengo en parte esas palabras, es verdad que el n\u00famero necesario para desarrollar apps \u00fatiles, con rigurosidad t\u00e9cnica, esta descendiendo dram\u00e1ticamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo primero que debemos notar es que para describir rigurosidad t\u00e9cnica, no basta con decirle al modelo \u00abno te equivoques\u00bb o \u00abusa arquitectura hexagonal\u00bb o \u00abel stack debe estar estandarizado a las buenas pr\u00e1cticas internacionales\u00bb, esto es un caldo de cultivo para que el modelo infiera cualquier cosa y termine desarrollando piezas con sobre ingenier\u00eda o con caracter\u00edsticas de la NASA para una POC. Debemos por tanto, guiar de manera met\u00f3dica el desarrollo de una aplicaci\u00f3n, o mejora, para poder tener un resultado satisfactorio, en los m\u00e1rgenes que nuestra aplicaci\u00f3n requiera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Actualmente, existe una serie de inciativas que abordan este proceso reflexivo, guiado y aterrizado, llamado Spec Driven Development (o desarrollo guiado por especificaciones) y para ello se ha dispuesto de m\u00faltiples Frameworks que abordan este enfoque, como <a href=\"https:\/\/github.com\/github\/spec-kit\" data-type=\"link\" data-id=\"https:\/\/github.com\/github\/spec-kit\">Github Spec Kit<\/a>. El fin de este post no es abordar spec kit en s\u00ed, pero es bueno tener la idea de este en mente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/mattpocock\" data-type=\"link\" data-id=\"https:\/\/github.com\/mattpocock\">Matt Pocock<\/a>, ingeniero de Reino Unido y divulgador de desarrollo ag\u00e9ntico, es el creador del proceso que relatar\u00e9 y constructor insigne de Sandcastle, la herramienta quien se encargar\u00e1 de llevar a cabo todo el proceso de implementaci\u00f3n ag\u00e9ntica.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El proceso<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Este proceso consta de 4 etapas rigurosamente definidas mediante <a href=\"https:\/\/github.com\/mattpocock\/skills\" data-type=\"link\" data-id=\"https:\/\/github.com\/mattpocock\/skills\">skills<\/a>: Interrogaci\u00f3n, Definici\u00f3n del PRD, Creaci\u00f3n de los slices para generar issues y por \u00faltimo, implementaci\u00f3n ag\u00e9ntica con Sandcastle.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2026\/05\/image-2.png\" alt=\"\" class=\"wp-image-306\" srcset=\"https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2026\/05\/image-2.png 1024w, https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2026\/05\/image-2-300x164.png 300w, https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2026\/05\/image-2-768x419.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">1. Interrogaci\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esta etapa se encarga de generar un entendimiento com\u00fan del problema a resolver, por medio de la skill grill-me, cuya definici\u00f3n es la siguiente:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ask the questions one at a time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If a question can be answered by exploring the codebase, explore the codebase instead.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">algunos aspectos claves de esta skill son:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Interrogar implacablemente<\/li>\n\n\n\n<li>Entendimiento comun<\/li>\n\n\n\n<li>Arbol de dise\u00f1o<\/li>\n\n\n\n<li>Recomendaci\u00f3n<\/li>\n\n\n\n<li>Explorar codebase incial para evitar preguntas que ya se encuentren resueltas.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">to-prd<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que tengamos un entendimiento com\u00fan, y un an\u00e1lisis del arbol de dise\u00f1o completo, usaremos la skill to-prd para generar un documento de requerimientos de producto (PRD). Este documento tiene por objetivo formalizar el entendimiento comun, para ello el documento aborda:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>La declaracion del problema<\/li>\n\n\n\n<li>La solucion esperada<\/li>\n\n\n\n<li>Historias de usuario<\/li>\n\n\n\n<li>Decisiones de implementacion<\/li>\n\n\n\n<li>Declaraciones de testing<\/li>\n\n\n\n<li>Fuera del alcance<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">to-issues<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que se genera el PRD, ocupamos esta skill para poder realizar generaci\u00f3n de issues con slices verticales, este concepto de verticalidad lo que busca, es que el issue generado sea implementado en su integralidad y no por capas (Frontend, backend y asi) eso permite un incremento funcional y no estructural.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2026\/05\/image.png\" alt=\"\" class=\"wp-image-302\" srcset=\"https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2026\/05\/image.png 1024w, https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2026\/05\/image-300x164.png 300w, https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2026\/05\/image-768x419.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Sandcastle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es una <a href=\"https:\/\/github.com\/mattpocock\/sandcastle\" data-type=\"link\" data-id=\"https:\/\/github.com\/mattpocock\/sandcastle\">aplicacion<\/a> desarrollada por el propio Matt, que permite ejecutar multiagentes de forma paralela para implementar toda la definici\u00f3n previa. Esta preciosura adem\u00e1s realiza las pruebas, realiza revisiones de codigo y finalmente mezcla el issue con la rama en la que estemos trabajando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto permite delegar tareas sumamente precisas, bien diferenciadas y paralelizables, cosa que nosotros nos vayamos a hacer otras cosas. Una maravilla.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Espero que este enfoque les sirva, ya crear\u00e9 un post t\u00e9cnico de como se ve en la vida real esto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como desarrollador, ingeniero de software, programador y un largo etc.<\/p>\n","protected":false},"author":1,"featured_media":308,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,14,8],"tags":[29,30],"class_list":["post-293","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-fundamentals","category-story-telling","tag-genai","tag-sdd"],"_links":{"self":[{"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/posts\/293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/comments?post=293"}],"version-history":[{"count":12,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/posts\/293\/revisions"}],"predecessor-version":[{"id":310,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/posts\/293\/revisions\/310"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/media\/308"}],"wp:attachment":[{"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/media?parent=293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/categories?post=293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/tags?post=293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}