Lan Graph
Lan Graph
This document summarizes key themes and insights from provided source materials focused on AI
agents, LangGraph, and agentic workflows.
Definition: AI agents are systems that perform tasks autonomously by reasoning, planning,
and interacting with tools and environments. They operate through iterative workflows,
leading to superior results compared to one-shot LLM interactions.
Analogy: The process of co-authoring a paper, involving planning, research, drafting, and
review, exemplifies an agentic workflow.
Key Design Patterns:Planning: Defining the steps required to achieve a goal, e.g., outlining
an essay.
LangChain Framework: Provides tools for building agents, managing memory, function
calling, and tool execution. Recent updates enhance support for agentic workflows like ReAct
(Reasoning and Action) and Self Refine.
Agent State: Tracks information relevant to the agent's task, accessible at each node and
edge.
From Scratch: Using basic Python and the ReAct pattern, an agent can be built by combining
an LLM's reasoning ability with actions performed by external functions.
With LangGraph: LangGraph components simplify the process by abstracting complex logic
into nodes, edges, and agent states.
Distinction from Traditional Search: Agents require structured, actionable information rather
than links to relevant web pages. Agentic search tools focus on retrieving specific answers
and their sources.
Tavily: A specialized agentic search tool that understands complex queries, identifies
appropriate sources, extracts relevant information, scores results, and provides structured
data for agents to utilize.
Flow Engineering: Optimizing the flow of information within agents, often utilizing a plan-
and-execute style.
Language Agent Tree Search: Exploring possible action states through a tree search, enabling
reflection and backpropagation to inform future decisions.
Persistence: Storing an agent's state at specific points allows resuming interactions and
facilitates human-in-the-loop interactions and debugging.
Streaming: Provides real-time updates on the agent's progress, enabling visibility into token
generation and message exchange.
Interrupts: Pausing execution before specific actions allow humans to approve or deny
actions, ensuring proper tool execution.
State Modification: Modifying the agent's state enables course correction and exploration of
alternative paths.
Time Travel: Revisiting previous states allows backtracking and analyzing past decisions.
Mocking Tool Responses: Manually providing results instead of calling tools can aid in testing
and development.
LangGraph Repository: Contains in-depth documentation, tutorials, and how-to guides for
LangGraph.
DeepLearning.AI Courses: Offer valuable insights into LLMs, LangChain, and agent
development.
LangChain GitHub Repository: Offers additional resources like cookbooks and templates.
LangChain Prompt Hub: Provides inspiration and examples of effective prompt engineering.
By leveraging the concepts and tools discussed in these resources, developers can build increasingly
sophisticated AI agents capable of tackling complex tasks and revolutionizing various domains.
Understanding AI Agents and LangGraph: A Detailed Table of Contents
Setting the Stage: The Rise of AI Agents: This section introduces the concept of AI agents
and their growing impact on the development of applications. It highlights the key
advancements that have enabled the creation of sophisticated agents, including function-
calling LLMs, specialized tools like agentic search, and improved frameworks. (Source:
"Welcome to AI Agents and LangGraph")
Deconstructing Agentic Workflows: This section dives into the fundamental design patterns
that underpin the functionality of AI agents. It explores concepts like planning, tool
utilization, reflection, multi-agent communication, and memory, illustrating how these
elements contribute to the effectiveness of agentic systems. (Source: "Welcome to AI Agents
and LangGraph")
Introducing LangChain and LangGraph: This section introduces the LangChain framework
and its role in supporting the development of AI agents. It highlights key features like
memory, function calling, and tool execution, while emphasizing the recent updates that
have enhanced LangChain's ability to handle agentic workflows. This section specifically
focuses on LangGraph, a new addition to LangChain designed for building agents using a
graph-based approach. (Source: "Welcome to AI Agents and LangGraph")
Course Roadmap and Resources: This section outlines the structure of the course and the
topics that will be covered, starting from building a basic agent from scratch and progressing
to more complex concepts like LangGraph, agentic search, and persistence. It also provides a
curated list of resources for further exploration, including the LangChain documentation,
GitHub repositories, previous courses, and the prompt hub. (Source: "Welcome to AI Agents
and LangGraph," "Resources for Further Exploration")
Creating a Basic ReAct Agent from Scratch: This section provides a hands-on guide to
building a simple ReAct (Reasoning and Acting) agent using only an LLM and Python code. It
breaks down the process step-by-step, starting with initializing the language model, creating
the agent class, and implementing core methods like call and execute. The section
emphasizes the interplay between the LLM's reasoning capabilities and the code's role in
managing actions and observations. (Source: "Building an Agent from Scratch")
Deconstructing the Agent's Logic: This section delves into the system message used to guide
the ReAct agent, explaining the significance of the thought, action, pause, and observation
loop. It showcases how specific tools, like calculating average dog weight, are integrated into
the agent's functionality through Python functions. The section concludes by demonstrating
the agent's capabilities through various examples, highlighting its ability to reason and
perform actions based on user input. (Source: "Building an Agent from Scratch")
Transitioning to LangGraph: This section shifts the focus to LangGraph, a powerful tool for
building agents within the LangChain framework. It starts by breaking down the agent built
in the previous lesson into its core components, mapping its logic to the concepts of nodes,
edges, and state in LangGraph. This section provides a visual representation of the agent's
flow as a graph, illustrating how LangGraph can streamline the development process.
(Source: "Implementing the Agent using LangGraph")
Implementing the Agent with LangGraph: This section provides a detailed walkthrough of
implementing the agent using LangGraph. It covers importing necessary components,
creating tools (using the Tavily search engine as an example), defining the agent state, and
constructing the agent class. The section explains how to create nodes and edges within
LangGraph, demonstrating how to connect different components and control the agent's
flow. It concludes by showcasing how to use the agent to answer complex questions,
highlighting the benefits of using LangGraph for agent development. (Source: "Implementing
the Agent using LangGraph")
Understanding Agentic Search: This section focuses on the crucial role of search in agent
applications. It explains how agentic search differs from traditional search engines,
highlighting the need for structured, directly referencable answers that agents can use
effectively. The section explores the inner workings of an agentic search tool, including
question decomposition, source selection, information extraction, and result scoring. It
demonstrates the effectiveness of agentic search using the Tavily API, comparing its output
with traditional search results. (Source: "Agentic Search")
Persistence and Streaming for Robust Agents: This section introduces two essential
concepts for building robust and production-ready agents: persistence and streaming.
Persistence allows the agent to store its state, enabling it to resume conversations and
maintain context over time. Streaming provides real-time visibility into the agent's actions
and thoughts, allowing for better monitoring and debugging. The section demonstrates how
to implement persistence using SQLite checkpointers in LangGraph and explores different
streaming options, including message-level and token-level streaming. (Source: "Persistence
and Streaming")
Conceptualizing the AI Essay Writer: This section introduces the concept of building a more
complex agent—an AI essay writer. It outlines the multi-step process, involving planning,
research, writing, reflection, and revision. The section emphasizes the iterative nature of the
agent's workflow, highlighting how each step contributes to the creation of a well-structured
and informative essay. (Source: "Building an AI Essay Writer")
Implementing the Agent with LangGraph: This section provides a detailed walkthrough of
implementing the AI essay writer using LangGraph. It covers creating the agent state,
defining prompts for various stages of the writing process, and implementing individual
agents for planning, research, writing, and reflection. The section explains how to connect
these agents using conditional and basic edges in LangGraph, demonstrating how to build a
more complex and interconnected workflow. It concludes by showcasing the agent in action,
demonstrating its ability to generate a plan, conduct research, write drafts, and iteratively
revise the essay based on critiques. (Source: "Building an AI Essay Writer")
Beyond Single Agents: Multi-Agent and Supervisor Architectures: This section expands the
discussion beyond single-agent systems, introducing multi-agent and supervisor agent
architectures. It explains how multiple agents can collaborate on a shared state or how a
supervisor agent can coordinate the actions of sub-agents. The section highlights the
benefits of these architectures, such as increased efficiency, specialization, and improved
decision-making. (Source: "Advanced Agent Architectures")
Emerging Concepts: Flow Engineering and Language Agent Tree Search: This section
explores two cutting-edge paradigms for designing agentic workflows: flow engineering and
language agent tree search. It explains how flow engineering, inspired by the AlphaCodium
paper, focuses on optimizing information flow for agents to perform tasks effectively. It also
introduces language agent tree search, which utilizes a tree search over possible action
states, allowing for backpropagation and dynamic adjustment of the agent's path based on
reflections and feedback. (Source: "Advanced Agent Architectures")
This table of contents provides a comprehensive overview of the course material, guiding you
through the fundamentals of AI agents and LangGraph, equipping you with the knowledge and skills
to build sophisticated and effective agentic applications.
1. What are AI agents and how do they differ from traditional LLM usage?
AI agents are systems that can perform tasks autonomously by interacting with their environment
and utilizing tools like LLMs. Unlike traditional LLM usage, where the model provides a single
response to a prompt, agents operate in a multi-step process, iteratively planning, taking action,
reflecting on outcomes, and adapting their behavior based on new information. This allows agents to
tackle more complex and dynamic problems than single-shot LLM interactions.
LangGraph is a framework within LangChain specifically designed for building and orchestrating
complex agent workflows. It provides a way to visually represent agent behavior as a graph, with
nodes representing actions and edges defining the flow of execution. LangGraph also manages agent
state, allowing persistence of information and enabling more intricate behaviors like reflection and
backtracking.
3. What is Agentic Search and how does it differ from regular search?
Agentic Search is a specialized form of search tailored to the needs of AI agents. Unlike traditional
search engines that return lists of links, Agentic Search focuses on retrieving structured data that can
be directly processed by the agent. It involves understanding the agent's query, selecting appropriate
data sources, extracting relevant information, and presenting it in a format easily usable by the
agent.
Tool Use: Agents leverage tools like search engines, calculators, or APIs to access information
and perform actions.
Reflection: Agents reflect on the outcomes of their actions and adjust their plans or behavior
accordingly.
Multi-Agent Communication: Complex tasks can be broken down and handled by multiple
specialized agents that communicate and collaborate.
Memory: Agents maintain memory of past actions, observations, and decisions, enabling
them to learn from experience and handle long-running tasks.
LangGraph allows developers to define an "agent state," which is a collection of data structures that
store information relevant to the agent's operation. This state is accessible at any point in the agent's
workflow and can be modified as the agent interacts with its environment. LangGraph also provides
mechanisms for persistence, allowing the agent's state to be saved and loaded, enabling resuming
tasks and debugging.
Yes, LangGraph supports human-in-the-loop interactions. Agents can be designed to pause at specific
points in their workflow, allowing human users to review intermediate results, provide feedback, or
approve actions before proceeding. This is particularly useful when agents need to make critical
decisions or when their actions may have significant real-world consequences.
Multi-Agent Systems: Multiple agents working together on a shared task, potentially with
different roles and capabilities.
Supervisor Agents: A hierarchical structure where a supervisor agent delegates tasks to sub-
agents and coordinates their actions.
Flow Engineering: Designing intricate workflows with loops, backtracking, and conditional
execution based on the specific problem domain.
8. Where can I find more resources and examples for building AI agents with LangChain and
LangGraph?
LangChain GitHub Repository: Contains code examples, cookbooks, and templates for
various agent applications.
LangChain Prompt Hub: A collection of curated prompts for different agent tasks and
workflows.