[{"data":1,"prerenderedAt":132},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fmaking-sense-during-ai-revolution":25,"\u002Fblog\u002Fmaking-sense-during-ai-revolution-surround":128},[4],{"title":5,"path":6,"stem":7,"children":8,"page":24},"Blog","\u002Fblog","blog",[9,13,17,21],{"title":10,"path":11,"stem":12},"[object Object]","\u002Fblog\u002Fbanksy-what-not-to-do-with-ai","blog\u002Fbanksy-what-not-to-do-with-ai",{"title":14,"path":15,"stem":16},"Making Sense During the AI Revolution","\u002Fblog\u002Fmaking-sense-during-ai-revolution","blog\u002Fmaking-sense-during-ai-revolution",{"title":18,"path":19,"stem":20},"RAG vs AI Wiki","\u002Fblog\u002Frag-vs-ai-wiki-evolution-of-context","blog\u002Frag-vs-ai-wiki-evolution-of-context",{"title":10,"path":22,"stem":23},"\u002Fblog\u002Fvector-storage-in-rag-choosing-right-backend","blog\u002Fvector-storage-in-rag-choosing-right-backend",false,{"id":26,"title":14,"author":27,"body":31,"date":119,"description":120,"extension":121,"image":122,"meta":123,"minRead":124,"navigation":125,"path":15,"seo":126,"stem":16,"__hash__":127},"blog\u002Fblog\u002Fmaking-sense-during-ai-revolution.md",{"name":28,"avatar":29},"Andrés Renaud",{"src":30,"alt":28},"\u002Favatars\u002Fplaceholder.svg",{"type":32,"value":33,"toc":111},"minimark",[34,38,46,51,64,68,83,87,90,101,104,108],[35,36,37],"p",{},"AI tooling accelerated software delivery, but it also increased the cost of unclear intent.",[35,39,40,41,45],{},"I call this shift ",[42,43,44],"strong",{},"from vibe coding to harness engineering",": less focus on one-shot outputs, more focus on building systems that constrain, verify, and evolve AI-assisted work.",[47,48,50],"h2",{"id":49},"why-this-shift-matters","Why this shift matters",[52,53,54,58,61],"ul",{},[55,56,57],"li",{},"Prompts alone do not create quality bars.",[55,59,60],{},"Fast iteration without guardrails creates hidden operational debt.",[55,62,63],{},"AI-generated code scales risk as quickly as it scales output.",[47,65,67],{"id":66},"what-changes-in-practice","What changes in practice",[69,70,71,74,77,80],"ol",{},[55,72,73],{},"Define contracts before implementation.",[55,75,76],{},"Add observability from day one.",[55,78,79],{},"Use tests as executable product intent.",[55,81,82],{},"Add review checkpoints for security and data boundaries.",[47,84,86],{"id":85},"a-pragmatic-operating-model","A pragmatic operating model",[35,88,89],{},"For engineering teams, this usually means:",[52,91,92,95,98],{},[55,93,94],{},"short feedback loops,",[55,96,97],{},"measurable acceptance criteria,",[55,99,100],{},"and explicit rollback paths.",[35,102,103],{},"The goal is not to slow down AI usage. The goal is to make speed sustainable.",[47,105,107],{"id":106},"closing-note","Closing note",[35,109,110],{},"We do not need less AI in delivery pipelines. We need better engineering harnesses around it.",{"title":112,"searchDepth":113,"depth":113,"links":114},"",2,[115,116,117,118],{"id":49,"depth":113,"text":50},{"id":66,"depth":113,"text":67},{"id":85,"depth":113,"text":86},{"id":106,"depth":113,"text":107},"2026-05-27","From vibe coding to harness engineering, a practical perspective on building reliable systems while AI tooling evolves fast.","md","\u002Fimages\u002Fai_development.jpeg",{},8,true,{"title":14,"description":120},"0_FPFzRuQefhb-7VNWdMPRD9bzffi_iQjRUyIzEe4zI",[129,131],{"title":10,"path":11,"stem":12,"description":130,"children":-1},"I refactored Alex into my personal banking assistant under strict time constraints.",{"title":18,"path":19,"stem":20,"description":10,"children":-1},1780335304825]