Skip to content

dev-muhammad/agentic-programming

Repository files navigation

Agents: The Next Level of Software

A comprehensive seminar and learning resource on Agent Oriented Programming (AOP), covering concepts, frameworks, and practical implementations.

📋 Table of Contents

🎯 Overview

This repository contains educational materials and practical examples for learning Agent Oriented Programming - a paradigm shift from traditional software development to autonomous, intelligent software entities that can perceive, reason, and act independently.

What You'll Learn

  • Core Concepts: Understanding agents, autonomy, and multi-agent systems
  • Communication Technologies: MCP (Model Context Protocol) and A2A (Agent-to-Agent) communication
  • Development Frameworks: LangChain, LangGraph, AutoGen, CrewAI, and more
  • Practical Applications: Real-world examples in customer service, content management, and trading

📁 Repository Structure

📦 Agent Oriented Programming/
├── 📄 seminar-slides.md          # Complete seminar content in markdown
├── 📁 slides/                    # Interactive web presentation
│   ├── index.html               # Main presentation file
│   ├── styles.css               # Presentation styling
│   └── script.js                # Presentation functionality
└── 📁 projects/                 # Practical implementation examples
    └── personal_assistant/       # 🚧 Work in Progress
        ├── agents/              # Agent implementations
        └── mcp_servers/         # MCP server examples

🚀 Getting Started

Viewing the Seminar

Option 1: Web Presentation (Recommended)

  1. Navigate to the slides/ directory
  2. Open index.html in your web browser
  3. Use arrow keys or navigation buttons to browse slides

Option 2: Markdown Format

  • Open seminar-slides.md in any markdown viewer or text editor

Running Examples

The practical examples are designed to demonstrate real-world agent implementations:

# Navigate to project directory
cd "projects/personal_assistant"

# Follow individual project README files for setup instructions

📚 Seminar Materials

Topics Covered

  1. Introduction to Agents

    • What are software agents?
    • Key characteristics and types
    • Agent vs. traditional programming
  2. Agent Oriented Programming (AOP)

    • Core principles and mental models
    • Architecture patterns
    • Paradigm evolution
  3. Traditional vs. Agentic Programming

    • System architecture comparison
    • Control flow differences
    • Benefits of the agentic approach
  4. Communication Technologies

    • Model Context Protocol (MCP)
    • Agent-to-Agent (A2A) communication
    • Protocol selection guidelines
  5. Development Frameworks

    • LangChain: Rapid LLM application development
    • LangGraph: Graph-based agent workflows
    • AutoGen: Conversational multi-agent systems
    • CrewAI: Role-based agent coordination
  6. Practical Examples

    • Intelligent customer service system
    • Smart content management system
    • Real-time trading system
  7. Best Practices & Next Steps

    • Design principles
    • Testing strategies
    • Monitoring and observability

🛠️ Projects

🚧 Personal Assistant (Work in Progress)

A comprehensive multi-agent personal assistant system demonstrating:

  • Agent Architecture: Modular agent design with specialized capabilities
  • MCP Integration: Server implementations for external tool access
  • A2A Communication: Inter-agent coordination and collaboration
  • Real-world Applications: Calendar management, contact handling, and more

Status: 🔄 Active Development

Components:

  • agents/: Core agent implementations
  • mcp_servers/: MCP server examples (contacter service)
  • subagents/: Specialized agent modules

Note: All projects in this repository are currently in development. They serve as educational examples and learning resources. Check individual project README files for current status and setup instructions.

📖 Resources

Documentation and Tutorials

Code Examples and Templates

🎓 Learning Path

Beginner

  1. Start with the seminar slides (slides/index.html)
  2. Read through the markdown content (seminar-slides.md)
  3. Explore the basic concepts and terminology

Intermediate

  1. Dive into the practical examples in projects/
  2. Study the MCP server implementations
  3. Experiment with different communication patterns

Advanced

  1. Implement your own multi-agent system
  2. Contribute to the existing projects
  3. Explore advanced topics like agent learning and formal verification

🤝 Contributing

We welcome contributions to improve the educational content and project examples!

Ways to Contribute

  • Documentation: Improve explanations, fix typos, add examples
  • Code Examples: Add new agent implementations or improve existing ones
  • Projects: Help complete the work-in-progress projects
  • Resources: Suggest additional learning materials and references

Getting Started

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-improvement)
  3. Make your changes
  4. Submit a pull request

📝 License

This project is intended for educational purposes. Please check individual project directories for specific licensing information.

📧 Contact

Have questions or suggestions? Feel free to:

  • Open an issue in this repository
  • Contribute improvements via pull requests
  • Share your own agent implementations

"The future of software development is not just about writing code—it's about creating intelligent entities that can think, learn, and collaborate."

Happy Agent Building! 🤖✨