- BlogBot: Intelligent Multi-Agent Blog Writer
BlogBot is an autonomous AI agent designed to streamline the blog writing process. Built using LangGraph, it orchestrates a team of specialized AI agents (Researcher, Writer, Editor) to produce high-quality content with minimal human intervention.
- Architecture
BlogBot utilizes a State Graph architecture (A2A Protocol) to manage the workflow between agents.
- Key Features (Course Requirements)
This project demonstrates mastery of the following concepts:
- Multi-Agent System
We implement a Sequential + Loop pattern:
Sequential: Researcher -> Writer -> Editor.
Loop: If the Editor rejects the draft, it loops back to the Writer with specific feedback.
- Tools (MCP)
Search Tool: The Researcher agent is equipped with a web search tool (simulated for this demo, capable of swapping with TavilySearchResults) to ground content in reality.
- State Management & Memory
TypedDict State: We use a shared BlogState object that persists across agent nodes. This serves as the Session Memory, retaining the research data, current draft, and revision history throughout the lifecycle of the request.
- Installation & Usage
Prerequisites
Python 3.9+
OpenAI API Key (or any LangChain compatible LLM)
- Clone the Repository
git clone https://github.com/jinava/blogbot.git
cd blogbot
- Install Dependencies
pip install langgraph langchain langchain_openai tavily-python
- Run the Agent
python blogbot_agent.py
- Code Structure
BlogState: Defines the schema for the agent's short-term memory.
researcher_node: Entry point; gathers context.
writer_node: Generates content based on state.
editor_node: Evaluator node; decides whether to finish or loop (conditional edge).
workflow: The LangGraph object connecting nodes and edges.
- Credits
Developed for the AI Agent Development Course.