AI Agents are intelligent software entities that can autonomously perceive their environment, reason about it, and take actions to achieve specific goals. They represent a significant advancement beyond single-turn LLM interactions, incorporating memory, planning, and tool use. Traditional LLM applications often follow a linear chain, processing inputs sequentially. This approach struggles with complex scenarios requiring dynamic decision-making, iterative refinement, or persistent memory. LangGraph addresses these limitations by providing a framework for building agents as directed acyclic graphs (DAGs) or cyclic graphs. It allows for defining sophisticated workflows where an agent's path can dynamically change based on intermediate results, enabling conditional logic, loops, and human intervention. LangGraph's core components are: State, representing the shared memory and context of the agent; Nodes, which are discrete computational steps or actions the agent can perform (e.g., calling an LLM, using a tool, executing a function); and Edges, which define the transitions between nodes, dictating the flow of execution based on conditions or unconditional routing.