<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Bhuvesh's Tech Space]]></title><description><![CDATA[Bhuvesh's Tech Space]]></description><link>https://blog.bhuveshdhiman.com</link><image><url>https://cdn.hashnode.com/uploads/logos/6a1a80cd96959627500e3741/d914ac26-0bc6-45f3-9938-3c1eb26d49e7.jpg</url><title>Bhuvesh&apos;s Tech Space</title><link>https://blog.bhuveshdhiman.com</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 31 May 2026 12:34:35 GMT</lastBuildDate><atom:link href="https://blog.bhuveshdhiman.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Work today feels less like building and more like operating a system]]></title><description><![CDATA[Instead of writing everything from scratch, I find myself orchestrating multiple AI agents. Each one handles a specific part of the workflow. Code generation, debugging, documentation, testing.  
I am]]></description><link>https://blog.bhuveshdhiman.com/work-today-feels-less-like-building-and-more-like-operating-a-system</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/work-today-feels-less-like-building-and-more-like-operating-a-system</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[ai agents]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 07:00:14 GMT</pubDate><content:encoded><![CDATA[<p>Instead of writing everything from scratch, I find myself orchestrating multiple AI agents. Each one handles a specific part of the workflow. Code generation, debugging, documentation, testing.  </p>
<p>I am not replacing engineering effort. I am redistributing it.  </p>
<p>The role shifts from doing to directing.  </p>
<p>You define intent clearly, break problems into structured pieces, and route them to the right agents. The quality of output depends less on typing speed and more on how well you design the system around these agents.  </p>
<p>This changes what “being a good engineer” means.  </p>
<p>It is no longer just about writing clean code.  </p>
<p>It is about:<br />• Designing workflows<br />• Structuring problems<br />• Evaluating outputs critically<br />• Building feedback loops  </p>
<p>The leverage is real, but only if you know how to control it.  </p>
<p>Otherwise you just produce more, faster, with the same flaws.  </p>
<p>The real shift is subtle.  </p>
<p>You are no longer just building software.<br />You are building systems that build software.</p>
]]></content:encoded></item><item><title><![CDATA[I use AI in almost everything I do. But I don’t rely on it]]></title><description><![CDATA[There’s a difference most engineers miss.  
AI is a multiplier, not a replacement.  
If your thinking is weak, AI amplifies noise.If your thinking is strong, AI accelerates clarity.  
I treat AI like ]]></description><link>https://blog.bhuveshdhiman.com/i-use-ai-in-almost-everything-i-do-but-i-don-t-rely-on-it</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/i-use-ai-in-almost-everything-i-do-but-i-don-t-rely-on-it</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[ai agents]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:59:34 GMT</pubDate><content:encoded><![CDATA[<p>There’s a difference most engineers miss.  </p>
<p>AI is a multiplier, not a replacement.  </p>
<p>If your thinking is weak, AI amplifies noise.<br />If your thinking is strong, AI accelerates clarity.  </p>
<p>I treat AI like an engineer with infinite speed.  </p>
<p>It can draft, explore, and expand possibilities.<br />But direction, judgment, and trade-offs still come from me.  </p>
<p>The core thinking stays human.<br />The execution gets accelerated.  </p>
<p>This shift matters.  </p>
<p>Engineers who outsource thinking to AI will plateau.<br />Engineers who use AI to extend thinking will compound.  </p>
<p>The real skill now is not prompting.  </p>
<p>It is structured thinking, taste, and decision-making.  </p>
<p>AI just makes the gap more visible.  </p>
<p>That’s the game.</p>
]]></content:encoded></item><item><title><![CDATA[I haven’t written a single line of code by myself since April 2025]]></title><description><![CDATA[Everything I ship is AI-assisted.  
Not autocomplete. Not snippets. Full workflows.  
At first, it felt uncomfortable. Like I was skipping something important.  
But the constraint in software enginee]]></description><link>https://blog.bhuveshdhiman.com/i-haven-t-written-a-single-line-of-code-by-myself-since-april-2025</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/i-haven-t-written-a-single-line-of-code-by-myself-since-april-2025</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:59:05 GMT</pubDate><content:encoded><![CDATA[<p>Everything I ship is AI-assisted.  </p>
<p>Not autocomplete. Not snippets. Full workflows.  </p>
<p>At first, it felt uncomfortable. Like I was skipping something important.  </p>
<p>But the constraint in software engineering was never typing speed. It was clarity of thought.  </p>
<p>AI changes the role.  </p>
<p>I spend less time on boilerplate, wiring APIs, or fixing obvious bugs.  </p>
<p>More time goes into:<br />• Defining clear specs<br />• Breaking problems into precise steps<br />• Designing scalable systems<br />• Reviewing and validating outputs  </p>
<p>The core skill is no longer “can you code this?”  </p>
<p>It is “Can you express this clearly enough for a system to build it correctly?”  </p>
<p>I still debug. I still design from first principles.  </p>
<p>But I do not default to writing code anymore.  </p>
<p>I direct it.  </p>
<p>If you are using AI like a faster IDE, you are underestimating the change.  </p>
<p>This is not about speed.  </p>
<p>It is about how software gets built.</p>
]]></content:encoded></item><item><title><![CDATA[Most engineers are trying to fix AI with better prompts. The Claude docs point to a different approach]]></title><description><![CDATA[There are two layers: CLAUDE.md and Skills.
They look similar. Both use markdown. Both influence behavior. But they solve different problems.
CLAUDE.md is context.
It defines how Claude should behave ]]></description><link>https://blog.bhuveshdhiman.com/most-engineers-are-trying-to-fix-ai-with-better-prompts-the-claude-docs-point-to-a-different-approach</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/most-engineers-are-trying-to-fix-ai-with-better-prompts-the-claude-docs-point-to-a-different-approach</guid><category><![CDATA[claude]]></category><category><![CDATA[skills]]></category><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:58:11 GMT</pubDate><content:encoded><![CDATA[<p>There are two layers: CLAUDE.md and Skills.</p>
<p>They look similar. Both use markdown. Both influence behavior. But they solve different problems.</p>
<p>CLAUDE.md is context.</p>
<p>It defines how Claude should behave inside a project:</p>
<ul>
<li><p>Coding standards</p>
</li>
<li><p>Tool usage</p>
</li>
<li><p>Workflow guidance</p>
</li>
</ul>
<p>This improves consistency, but it still relies on interpretation. Every response is probabilistic.</p>
<p>Skills are capabilities.</p>
<p>They package workflows into reusable units:</p>
<ul>
<li><p>Structured inputs and outputs</p>
</li>
<li><p>Scripts and resources</p>
</li>
<li><p>Loaded only when relevant</p>
</li>
</ul>
<p>Instead of explaining tasks repeatedly, you encode them once. Claude applies them when needed.</p>
<p>The difference is simple:</p>
<p>CLAUDE.md improves reasoning. Skills improve execution.</p>
<p>What this means in practice</p>
<p>With CLAUDE.md:</p>
<ul>
<li><p>You are scaling prompt engineering</p>
</li>
<li><p>Behavior can drift</p>
</li>
</ul>
<p>With Skills:</p>
<ul>
<li><p>Workflows become reusable</p>
</li>
<li><p>Systems become more deterministic</p>
</li>
</ul>
<p>The real shift</p>
<p>AI is moving from prompt design to system design.</p>
<p>The advantage is no longer better prompts. It is building clear interfaces and capabilities around the model.</p>
<p>That is what makes AI reliable in production.</p>
]]></content:encoded></item><item><title><![CDATA[Spec-driven development is quietly becoming one of the most powerful workflows in modern engineering]]></title><description><![CDATA[Most teams still write code first and specifications later.
That worked when systems were smaller and requirements were simple. It breaks down quickly when software becomes distributed, AI-assisted, a]]></description><link>https://blog.bhuveshdhiman.com/spec-driven-development-is-quietly-becoming-one-of-the-most-powerful-workflows-in-modern-engineering</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/spec-driven-development-is-quietly-becoming-one-of-the-most-powerful-workflows-in-modern-engineering</guid><category><![CDATA[AI]]></category><category><![CDATA[aiagents]]></category><category><![CDATA[workflow]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:57:00 GMT</pubDate><content:encoded><![CDATA[<p>Most teams still write code first and specifications later.</p>
<p>That worked when systems were smaller and requirements were simple. It breaks down quickly when software becomes distributed, AI-assisted, and product-driven.</p>
<p>A spec-driven workflow flips the order.</p>
<p>You start with a clear specification of the problem, constraints, behavior, and expected outcomes. Only after the thinking is complete does implementation begin.</p>
<p>This has several important effects.</p>
<p>First, it forces clarity. Ambiguous thinking becomes visible immediately because the spec cannot be written cleanly.</p>
<p>Second, it separates problem design from code execution. Engineers spend more time designing systems and less time debugging accidental complexity.</p>
<p>Third, it works extremely well with AI-assisted development. When the specification is precise, AI tools can generate large portions of the implementation with surprisingly high accuracy.</p>
<p>In practice, the workflow becomes simple:</p>
<ol>
<li><p>Write the spec</p>
</li>
<li><p>Review the spec</p>
</li>
<li><p>Iterate on edge cases</p>
</li>
<li><p>Generate or implement the code</p>
</li>
<li><p>Validate against the spec</p>
</li>
</ol>
<p>The spec becomes the single source of truth.</p>
<p>Not the code. Not the comments. Not tribal knowledge.</p>
<p>Good engineering has always been about reducing ambiguity. Spec-driven workflows simply make that discipline explicit.</p>
<p>As systems get larger and AI becomes part of the development process, this approach will likely move from a niche practice to a default engineering pattern.</p>
]]></content:encoded></item><item><title><![CDATA[Most simple AI agents fail for one reason]]></title><description><![CDATA[They try to do everything in one step.  
A single prompt.A single response.And we expect perfect results.  
In reality, this approach is slow, brittle, and error-prone.  
The model has to reason, deci]]></description><link>https://blog.bhuveshdhiman.com/most-simple-ai-agents-fail-for-one-reason</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/most-simple-ai-agents-fail-for-one-reason</guid><category><![CDATA[AI]]></category><category><![CDATA[agentic AI]]></category><category><![CDATA[workflow]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:56:25 GMT</pubDate><content:encoded><![CDATA[<p>They try to do everything in one step.  </p>
<p>A single prompt.<br />A single response.<br />And we expect perfect results.  </p>
<p>In reality, this approach is slow, brittle, and error-prone.  </p>
<p>The model has to reason, decide, and produce the final output all at once.<br />When something goes wrong, the entire result breaks.  </p>
<p>A better approach is to think in workflows.  </p>
<p>Break the task into smaller steps.  </p>
<p>Each step has a clear responsibility:<br />• understand the input<br />• plan the task<br />• call the right tool<br />• validate the result<br />• produce the final output  </p>
<p>Now the system becomes easier to control and easier to debug.  </p>
<p>Instead of hoping the model gets everything right, you design the process so that mistakes are contained and corrected along the way.  </p>
<p>This is the difference between a demo and a reliable AI system.  </p>
<p>Simple agents look impressive in prototypes.<br />Structured workflows are what actually scale in production.  </p>
<p>The real shift in AI engineering is not just prompting models.  </p>
<p>It is designing systems around them.</p>
]]></content:encoded></item><item><title><![CDATA[Three years ago, I had a simple thought. Today, it is a reality]]></title><description><![CDATA[Back then, when building products, everything was clear in my head.The requirements. The vision. The architecture.I knew what to build and exactly where it should live in the system.  
And I kept wond]]></description><link>https://blog.bhuveshdhiman.com/three-years-ago-i-had-a-simple-thought-today-it-is-a-reality</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/three-years-ago-i-had-a-simple-thought-today-it-is-a-reality</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[agentic AI]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:55:40 GMT</pubDate><content:encoded><![CDATA[<p>Back then, when building products, everything was clear in my head.<br />The requirements. The vision. The architecture.<br />I knew what to build and exactly where it should live in the system.  </p>
<p>And I kept wondering:  </p>
<p>If the solution is already designed in my mind, what if something could just write the code for me?  </p>
<p>Now it can.  </p>
<p>AI coding agents execute the implementation layer.<br />Boilerplate. Repetitive logic. Standard integrations.<br />The parts that consume time but do not require deep judgment.  </p>
<p>My role has changed.  </p>
<p>I focus on system design, tradeoffs, edge cases, and product alignment.<br />I invest my thinking where it actually creates leverage.  </p>
<p>This is not about avoiding code.<br />It is about moving up the abstraction layer.  </p>
<p>When AI handles execution, engineers can concentrate on architecture.  </p>
<p>The advantage is no longer speed of typing.<br />It is clarity of thought.  </p>
<p>For product-oriented engineers, this shift is structural.  </p>
<p>Your value compounds when you design better systems and guide the agent with precision.  </p>
<p>AI does not replace engineering.<br />It increases the return on strong engineering judgment.  </p>
<p>That transition is reshaping how modern software gets built.</p>
]]></content:encoded></item><item><title><![CDATA[AI is generating more code than ever
]]></title><description><![CDATA[But we still version control only the output, not the reasoning  
Entire.io (https://entire.io/) is addressing that gap  
Their open source CLI, Entire, integrates with Git and captures full AI agent ]]></description><link>https://blog.bhuveshdhiman.com/ai-is-generating-more-code-than-ever</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/ai-is-generating-more-code-than-ever</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[agentic AI]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:55:03 GMT</pubDate><content:encoded><![CDATA[<p>But we still version control only the output, not the reasoning  </p>
<p><a href="http://Entire.io"><strong>Entire.io</strong></a> (<a href="https://entire.io/"><strong>https://entire.io/</strong></a>) is addressing that gap  </p>
<p>Their open source CLI, Entire, integrates with Git and captures full AI agent sessions alongside commits. These records, called Checkpoints, store prompts, transcripts, tool calls, and the resulting code changes  </p>
<p>So what is the real use of this data?  </p>
<p>• You can audit why a change was made<br />• You can review intent, not just diffs<br />• You can reproduce or refine past AI sessions<br />• You create long term organizational memory around decisions  </p>
<p>Traditional Git answers what changed  </p>
<p>Entire’s approach answers why it changed  </p>
<p>As AI agents become real contributors to codebases, that distinction becomes critical</p>
]]></content:encoded></item><item><title><![CDATA[Security Considerations When Integrating LLMs]]></title><description><![CDATA[LLMs are being integrated into products and internal systems at unprecedented speed. Security is often treated as secondary.  
An LLM is not just another dependency.It is an execution surface.  
Integ]]></description><link>https://blog.bhuveshdhiman.com/security-considerations-when-integrating-llms</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/security-considerations-when-integrating-llms</guid><category><![CDATA[AI]]></category><category><![CDATA[ai agents]]></category><category><![CDATA[agentic AI]]></category><category><![CDATA[llm]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:54:27 GMT</pubDate><content:encoded><![CDATA[<p>LLMs are being integrated into products and internal systems at unprecedented speed. Security is often treated as secondary.  </p>
<p>An LLM is not just another dependency.<br />It is an execution surface.  </p>
<p>Integrating an LLM introduces a probabilistic system that reasons and generates actions based on context you do not fully control. Traditional security models assume deterministic behavior. LLMs break that assumption.  </p>
<p>A common mistake is treating prompts as static input. Prompts are dynamic and shaped by user data, system state, and upstream outputs, making prompt injection a practical risk.  </p>
<p>Another mistake is over-trusting model output. LLMs can produce confident but incorrect or unsafe responses. When this output flows directly into APIs, databases, or automation, failures become silent.  </p>
<p>Data boundaries are also frequently overlooked. LLMs do not understand confidentiality. Sensitive context can be leaked or inferred outside intended controls.  </p>
<p>Effective LLM security requires explicit guardrails and constraints  </p>
<p>Assume the model is untrusted.<br />Constrain what it can see and do.<br />Validate every output.<br />Isolate execution paths.<br />Log aggressively.  </p>
<p>LLMs amplify capability.<br />They also amplify mistakes.  </p>
<p>Your architecture decides which one scales.</p>
]]></content:encoded></item><item><title><![CDATA[The software engineering lifecycle has shifted, and code is no longer the hardest part.]]></title><description><![CDATA[AI has compressed the time it takes to translate ideas into working code. That advantage is now table stakes.  
What still cannot be automated is product thinking.  
In an AI-driven lifecycle, enginee]]></description><link>https://blog.bhuveshdhiman.com/the-software-engineering-lifecycle-has-shifted-and-code-is-no-longer-the-hardest-part</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/the-software-engineering-lifecycle-has-shifted-and-code-is-no-longer-the-hardest-part</guid><category><![CDATA[AI]]></category><category><![CDATA[agentic AI]]></category><category><![CDATA[llm]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:53:46 GMT</pubDate><content:encoded><![CDATA[<p>AI has compressed the time it takes to translate ideas into working code. That advantage is now table stakes.  </p>
<p>What still cannot be automated is product thinking.  </p>
<p>In an AI-driven lifecycle, engineers are expected to reason about problems before they write anything. Understanding user intent, constraints, tradeoffs, and system impact matters more than syntax mastery.  </p>
<p>This is why flexibility has become a core engineering skill.  </p>
<p>Engineers who can adapt to a new lifecycle, where AI handles execution speed and humans handle direction, will compound their impact. They move faster not because they type faster, but because they think better.  </p>
<p>Engineers who define themselves only by coding output will struggle. When code becomes abundant, judgment becomes scarce.  </p>
<p>The role is evolving from writing code to shaping systems.  </p>
<p>The takeaway is simple. In the AI era, growth comes from pairing engineering depth with product clarity.</p>
]]></content:encoded></item><item><title><![CDATA[Most real-world AI agent problems are coordination problems, not intelligence problems]]></title><description><![CDATA[As agent-based systems grow, a single agent handling everything stops working.You need multiple AI agents, each with a clear role, working toward one outcome.  
That is where AI agents succeed or fail]]></description><link>https://blog.bhuveshdhiman.com/most-real-world-ai-agent-problems-are-coordination-problems-not-intelligence-problems</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/most-real-world-ai-agent-problems-are-coordination-problems-not-intelligence-problems</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[agentic AI]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:53:13 GMT</pubDate><content:encoded><![CDATA[<p>As agent-based systems grow, a single agent handling everything stops working.<br />You need multiple AI agents, each with a clear role, working toward one outcome.  </p>
<p>That is where AI agents succeed or fail in production.  </p>
<p>In practice:<br />One agent interprets intent.<br />Another plans the steps.<br />Others gather context, call tools, validate results, or enforce constraints.  </p>
<p>An agent in isolation is rarely useful.<br />Value comes from how agents interact.  </p>
<p>The hard part is not building AI agents.<br />It is orchestrating them.  </p>
<p>Without orchestration, agents duplicate work, contradict each other, and fail unpredictably.  </p>
<p>Orchestration defines:<br />Which agent acts.<br />In what sequence.<br />How handoffs happen.<br />How failures are handled.<br />When execution stops.  </p>
<p>This is not a model quality problem.<br />It is a systems problem.  </p>
<p>Strong orchestration makes even simple agents reliable.<br />Weak orchestration breaks even the best ones.  </p>
<p>The real question is not how smart your AI agents are.<br />It is how well they are orchestrated.</p>
]]></content:encoded></item><item><title><![CDATA[Coding agents did not make product building faster. They moved where the time goes]]></title><description><![CDATA[Earlier, a large part of engineering time was spent translating intent into code. That translation step is what has shrunk.
AI now converts a clear mental model into working code in minutes.
What did ]]></description><link>https://blog.bhuveshdhiman.com/coding-agents-did-not-make-product-building-faster-they-moved-where-the-time-goes</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/coding-agents-did-not-make-product-building-faster-they-moved-where-the-time-goes</guid><category><![CDATA[AI]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[ai agents]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:52:13 GMT</pubDate><content:encoded><![CDATA[<p>Earlier, a large part of engineering time was spent translating intent into code. That translation step is what has shrunk.</p>
<p>AI now converts a clear mental model into working code in minutes.</p>
<p>What did not shrink is the thinking.</p>
<p>Today, most time is spent deciding what should be built and explaining it precisely.</p>
<p>The agent is not slow. The bottleneck is clarity.</p>
<p>When you use coding agents seriously, you notice a clear shift. Implementation speed is no longer the constraint. Understanding is.</p>
<p>You spend more time on:</p>
<ul>
<li><p>Defining the problem precisely</p>
</li>
<li><p>Breaking behavior into explicit rules</p>
</li>
<li><p>Making tradeoffs visible</p>
</li>
<li><p>Describing intent instead of syntax</p>
</li>
</ul>
<p>Once this is done, the translation to code is almost instant.</p>
<p>AI did not eliminate engineering effort. It removed the mechanical step of turning thoughts into syntax.</p>
<p>Poor thinking now fails faster. Clear thinking now ships faster.</p>
<p>This shift rewards engineers who understand systems, products, and users, not just tools.</p>
<p>The real skill is no longer writing code. It is forming a precise intent that machines can execute.</p>
<p>AI did not change where value comes from. It just made that truth impossible to ignore.</p>
]]></content:encoded></item><item><title><![CDATA[Everyone is reaching for vector search. Few stop to ask if it is actually the right tool]]></title><description><![CDATA[I was reading this Anthropic engineering article on building agents, and one section stood out for its clarity and honesty:https://claude.com/blog/building-agents-with-the-claude-agent-sdk  
The part ]]></description><link>https://blog.bhuveshdhiman.com/everyone-is-reaching-for-vector-search-few-stop-to-ask-if-it-is-actually-the-right-tool</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/everyone-is-reaching-for-vector-search-few-stop-to-ask-if-it-is-actually-the-right-tool</guid><category><![CDATA[AI]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[ai agents]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:51:29 GMT</pubDate><content:encoded><![CDATA[<p>I was reading this Anthropic engineering article on building agents, and one section stood out for its clarity and honesty:<br /><a href="https://claude.com/blog/building-agents-with-the-claude-agent-sdk">https://claude.com/blog/building-agents-with-the-claude-agent-sdk</a>  </p>
<p>The part on semantic search is especially worth attention.  </p>
<p>Semantic search works by chunking context, embedding it as vectors, and retrieving results based on conceptual similarity. It is fast. It scales well. It looks clean on the architecture diagrams.  </p>
<p>But it comes with real tradeoffs.  </p>
<p>It is less accurate for complex reasoning.<br />It is harder to maintain as the context evolves.<br />It is less transparent, which makes debugging and trust difficult.  </p>
<p>Anthropic makes a counterintuitive recommendation. Start with agentic search.  </p>
<p>Agentic search allows the system to reason step by step, decide what to look for next, and adapt based on intermediate findings. It is slower, but it is explicit, debuggable, and closer to how real problem-solving works.  </p>
<p>Semantic search should be added only when you truly need speed or broader variation. Not by default. Not because it is trendy.  </p>
<p>This highlights a deeper principle in AI system design.  </p>
<p>Correctness comes before performance.<br />Clarity comes before scale.<br />Product value comes before architectural elegance.  </p>
<p>As AI native engineers, the goal is not to stack advanced tools. The goal is to build the smallest system that reliably works, then optimize with intent.  </p>
<p>Start with reasoning. Optimize later.</p>
]]></content:encoded></item><item><title><![CDATA[Most RAG systems fail for a reason no one talks about]]></title><description><![CDATA[Not because the model is weak.Not because embeddings are bad.But because the data feeding them is messy.  
Retrieval Augmented Generation only works as well as the structure of the data behind it.  
I]]></description><link>https://blog.bhuveshdhiman.com/most-rag-systems-fail-for-a-reason-no-one-talks-about</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/most-rag-systems-fail-for-a-reason-no-one-talks-about</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[RAG ]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:50:30 GMT</pubDate><content:encoded><![CDATA[<p>Not because the model is weak.<br />Not because embeddings are bad.<br />But because the data feeding them is messy.  </p>
<p>Retrieval Augmented Generation only works as well as the structure of the data behind it.  </p>
<p>If your inputs are inconsistent, duplicated, or overloaded with irrelevant fields, your vector search degrades.<br />The model then reasons over noise and confidently produces the wrong answer.  </p>
<p>This is where normalized data changes the game.  </p>
<p>Normalization forces structure before intelligence.  </p>
<p>It means converting raw, heterogeneous data into a consistent schema.<br />Same concepts, same fields, same semantics, regardless of where the data came from.  </p>
<p>Why this matters in practice:  </p>
<p>First, retrieval quality improves.<br />When similar entities share the same structure, embeddings cluster meaningfully.<br />Queries retrieve what you actually want, not approximate matches.  </p>
<p>Second, hallucinations reduce.<br />The model sees cleaner, deduplicated context.<br />Less ambiguity in inputs leads to more deterministic reasoning.  </p>
<p>Third, security and compliance get easier.<br />Normalization lets you explicitly exclude sensitive fields before embedding.<br />What never enters the vector store can never leak.  </p>
<p>Fourth, RAG scales across systems.<br />If you are pulling data from multiple tools, products, or customers, normalization gives you one mental model.<br />One retrieval strategy.<br />One pipeline.  </p>
<p>The key insight is simple.  </p>
<p>RAG is not just an LLM problem.<br />It is a data architecture problem.  </p>
<p>If you treat RAG as “add embeddings and prompt harder,” you will keep debugging symptoms.<br />If you treat it as “design a clean data contract for intelligence,” systems start to behave.  </p>
<p>The takeaway for engineers building AI products:  </p>
<p>Before optimizing prompts or models, normalize your data.<br />Structure first.<br />Intelligence later.  </p>
<p>That is how RAG systems move from demos to dependable infrastructure.</p>
]]></content:encoded></item><item><title><![CDATA[Most engineers use “vector index” and “vector database” as if they mean the same thing]]></title><description><![CDATA[They do not.  
I see this confusion often when discussing RAG systems and semantic search, so here is a simple way to separate the two.  
A vector index is a data structure.  
Its job is narrow.Given ]]></description><link>https://blog.bhuveshdhiman.com/most-engineers-use-vector-index-and-vector-database-as-if-they-mean-the-same-thing</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/most-engineers-use-vector-index-and-vector-database-as-if-they-mean-the-same-thing</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[vector database]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:49:05 GMT</pubDate><content:encoded><![CDATA[<p>They do not.  </p>
<p>I see this confusion often when discussing RAG systems and semantic search, so here is a simple way to separate the two.  </p>
<p>A vector index is a data structure.  </p>
<p>Its job is narrow.<br />Given a vector, find the most similar vectors efficiently.  </p>
<p>It stores embeddings and uses algorithms like HNSW or IVF to speed up similarity search.  </p>
<p>That is all it does.  </p>
<p>No metadata handling.<br />No persistence guarantees.<br />No APIs.<br />No lifecycle management.  </p>
<p>A vector index is an algorithmic component, not a system.  </p>
<p>A vector database is a system.  </p>
<p>It stores vectors along with metadata.<br />It supports insert, update, delete, and query operations.<br />It handles persistence, scaling, and reliability.<br />It exposes stable APIs for applications.  </p>
<p>Internally, a vector database uses one or more vector indexes to perform similarity search.  </p>
<p>Here is the clean mental model.  </p>
<p>A vector index answers.<br />How do I find similar vectors quickly?  </p>
<p>A vector database answers.<br />How do I store and query vectors in a real application?  </p>
<p>The takeaway.  </p>
<p>Indexes solve search.<br />Databases solve systems.</p>
]]></content:encoded></item><item><title><![CDATA[I read a great piece on context engineering for AI agents, and it changed how I think about agent design]]></title><description><![CDATA[The article made one thing very clear. Agents do not fail because models are weak. They fail because context is poorly managed.
Context engineering is about deciding what information lives inside the ]]></description><link>https://blog.bhuveshdhiman.com/i-read-a-great-piece-on-context-engineering-for-ai-agents-and-it-changed-how-i-think-about-agent-design</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/i-read-a-great-piece-on-context-engineering-for-ai-agents-and-it-changed-how-i-think-about-agent-design</guid><category><![CDATA[AI]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[context engineering]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:47:47 GMT</pubDate><content:encoded><![CDATA[<p>The article made one thing very clear. Agents do not fail because models are weak. They fail because context is poorly managed.</p>
<p>Context engineering is about deciding what information lives inside the context window at every step of an agent’s journey.</p>
<p>Not everything. Just the right things.</p>
<p>Here are the key takeaways I've learned.</p>
<ol>
<li>Think of context like working memory</li>
</ol>
<p>An LLM is like a CPU. The context window is its RAM.</p>
<p>It is limited, expensive, and fragile. Your job is to curate it carefully.</p>
<p>Context engineering is the discipline of deciding what earns a spot there.</p>
<ol>
<li>Agents suffer when context grows unchecked</li>
</ol>
<p>Long-running agents accumulate tool outputs, intermediate thoughts, and feedback.</p>
<p>This leads to real failure modes:</p>
<p>Confusion from irrelevant details. Distraction from too many signals. Poisoning occurs when hallucinations are stored as facts. Clashes when different context pieces disagree.</p>
<p>More tokens often mean worse performance.</p>
<ol>
<li>Four core strategies matter most</li>
</ol>
<p>The article grouped real-world agent designs into four practical strategies.</p>
<p>Write context Persist useful information outside the context window, like scratchpads or memories, so agents can refer back without carrying everything in line.</p>
<p>Select context Pull only task-relevant memories, tools, or knowledge into the context window. Retrieval quality matters more than retrieval volume.</p>
<p>Compress context Summarize or trim aggressively. Keep what matters, drop the rest. Compression is not optional for long agent runs.</p>
<p>Isolate context Split responsibilities across sub-agents, sandboxes, or structured state. Isolation reduces interference and improves reasoning.</p>
<p>These patterns show up again and again across strong agent systems.</p>
<ol>
<li>Tool output is context too</li>
</ol>
<p>Tool responses are often the biggest token hog. If you do not post process or isolate them, they dominate the context window and drown out reasoning.</p>
<p>Good agents treat tool feedback as a structured state, not raw text.</p>
<ol>
<li>Observability is part of context engineering</li>
</ol>
<p>You cannot improve what you cannot see.</p>
<p>Tracking token usage, context growth, and agent behavior is essential to know where context helps and where it hurts.</p>
<p>The big takeaway for me was this.</p>
<p>Building agents is less about prompt cleverness and more about memory, selection, compression, and boundaries.</p>
<p>Context engineering is not a trick.</p>
<p>It is core infrastructure.</p>
<p>This post is inspired by an excellent deep dive from the team at LangChain on context engineering for agents.</p>
<p>If you are building or planning serious agent systems, I highly recommend reading the full article here: <a href="https://www.langchain.com/blog/context-engineering-for-agents">https://www.langchain.com/blog/context-engineering-for-agents</a></p>
<p>Worth your time if you care about production-grade AI</p>
]]></content:encoded></item><item><title><![CDATA[Unlearning becomes essential as you grow into senior roles]]></title><description><![CDATA[Early in your career, doing many things at once feels like progress. You say yes to everything, context switch constantly, and measure impact by how busy you are.  
At senior levels, that approach bre]]></description><link>https://blog.bhuveshdhiman.com/unlearning-becomes-essential-as-you-grow-into-senior-roles</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/unlearning-becomes-essential-as-you-grow-into-senior-roles</guid><category><![CDATA[workflow]]></category><category><![CDATA[General Programming]]></category><category><![CDATA[process]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:46:15 GMT</pubDate><content:encoded><![CDATA[<p>Early in your career, doing many things at once feels like progress. You say yes to everything, context switch constantly, and measure impact by how busy you are.  </p>
<p>At senior levels, that approach breaks.  </p>
<p>The scope increases. Decisions get heavier. The cost of distraction becomes real.  </p>
<p>You still handle multiple responsibilities, but you cannot work on all of them at the same time. The skill shifts from execution speed to intentional focus.  </p>
<p>Prioritization is not about ignoring work. It is about sequencing it correctly.  </p>
<p>One problem at a time. One decision with full attention. One outcome owned end-to-end.  </p>
<p>This is not something frameworks fully teach. It develops through experience, mistakes, and reflection. You learn when to zoom in deeply and when to step back and align.  </p>
<p>Focus becomes a leadership skill, not a productivity trick.  </p>
<p>The real growth moment is when you stop trying to do everything and start choosing what deserves your best thinking.</p>
]]></content:encoded></item><item><title><![CDATA[What I learned after 3 years of working with LLMs]]></title><description><![CDATA[Most people think prompting is about asking sharper questions.My experience taught me something different.  
LLMs perform at their best when you give them the right context. Not just hints or fragment]]></description><link>https://blog.bhuveshdhiman.com/what-i-learned-after-3-years-of-working-with-llms</link><guid isPermaLink="true">https://blog.bhuveshdhiman.com/what-i-learned-after-3-years-of-working-with-llms</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[process]]></category><dc:creator><![CDATA[Bhuvesh Dhiman]]></dc:creator><pubDate>Sat, 30 May 2026 06:44:43 GMT</pubDate><content:encoded><![CDATA[<p>Most people think prompting is about asking sharper questions.<br />My experience taught me something different.  </p>
<p>LLMs perform at their best when you give them the right context. Not just hints or fragments. Real context that mirrors how a human would understand the situation.  </p>
<p>When we use these models every day, we usually skip this part. We jump straight to the question and expect the model to fill in the gaps. That is where hallucinations and weak answers start appearing.  </p>
<p>I used to do the same until I noticed a pattern.<br />Whenever I shared full context first and only then asked my questions, the responses became sharper, more accurate, and more aligned with what I needed.  </p>
<p>So I changed my workflow.<br />My first step is always to prime the model with the background, constraints, and details of the task.<br />My second step is to ask the actual question.  </p>
<p>This simple shift reduced hallucinations, improved quality, and saved a lot of time.  </p>
<p>Takeaway<br />If you want reliable output from LLMs, treat context as the starting point, not an afterthought  </p>
<p><strong>#ai #llm #process</strong></p>
]]></content:encoded></item></channel></rss>