A lightweight, extensible Python framework for building agentic AI systems. The goal of AgenticAI is to provide a clean, modular foundation for agents, tools, planning, memory, and workflow orchestration. It is designed to be simple enough for beginners to understand, yet flexible enough to support advanced multi-agent systems in future iterations.
This repository contains the core framework only. A separate repository (AgenticAI-App) demonstrates how to build applications on top of this framework.
- Minimal, backend-agnostic LLM client abstraction
- ResearchAgent for simple agentic workflows
- PlanningAgent for step extraction and multi-step detection
- WorkflowAgent for executing plans and coordinating tool use
- Modular tool system (definition, summarization, search, math, file)
- Basic memory abstractions (episodic, vector, base memory)
- Clean architecture with clear separation of concerns
- Examples directory for future demos
- Tests directory for future unit tests
- Fully editable installation for development
agenticai/
llm_client.py – Minimal LLM abstraction layer
agents/ – High-level agents (ResearchAgent)
core/ – Base agent, messages, reasoning utilities
memory/ – Memory abstractions and MemoryAgent
orchestration/ – Planner, router, supervisor (future)
planning/ – Plan model and PlanningAgent
tools/ – Built-in tools (search, summarize, define, etc.)
utils/ – Config and logging placeholders
workflow/ – WorkflowAgent for executing plans
docs/
architecture.md – Architectural notes (future expansion)
patterns.md – Design patterns and usage notes
roadmap.md – Future development roadmap
examples/
simple_agent_demo.py – Placeholder for basic agent usage
tool_use_demo.py – Placeholder for tool demonstration
multi_agent_demo.py – Placeholder for multi-agent orchestration
tests/
(empty for Iteration 1; reserved for future unit tests)
Clone the repository and install in editable mode:
pip install -e .This allows you to modify the framework and immediately test changes without reinstalling.
Below is a minimal example of how to use the ResearchAgent with the built-in tools.
This example assumes you have installed the framework in editable mode.
from agenticai.agents.research_agent import ResearchAgent
from agenticai.tools.definition_tool import DefinitionTool
from agenticai.tools.summarizer_tool import SummarizerTool
from agenticai.llm_client import LLMClient
llm = LLMClient()
tools = [
DefinitionTool(llm_client=llm),
SummarizerTool(llm_client=llm)
]
agent = ResearchAgent(llm_client=llm, tools=tools)
response = agent.run("define quantum computing")
print(response)AgenticAI is built around five core principles:
The framework should be easy to read, understand, and extend.
Agents, tools, memory, planning, and workflow are cleanly separated.
New tools, agents, and workflows can be added without modifying core components.
The LLMClient abstraction allows you to plug in any LLM provider.
The framework avoids hidden magic. All logic is explicit and inspectable.
- Implement real planning logic
- Add clarifying question generation
- Add tool selection improvements
- Add basic memory retrieval
- Add real examples in the examples directory
- Add initial unit tests
- Multi-agent orchestration (Supervisor, Router)
- Advanced workflow execution
- Tool chaining and intermediate reasoning
- Vector memory integration
- Logging and tracing utilities
- Real LLM integration (Azure OpenAI, OpenAI, local models)
- Streaming responses
- Retry logic and rate limiting
- Plugin system for third-party tools
- Full documentation site
Contributions are welcome. The project is intentionally simple in Iteration 1 to allow for clean growth.
Please open issues or submit pull requests for discussion.
This project is licensed under the MIT License.