# Tutorial: AutoGen Core AutoGen Core helps you build applications with multiple **_Agents_** that can work together. Think of it like creating a team of specialized workers (*Agents*) who can communicate and use tools to solve problems. The **_AgentRuntime_** acts as the manager, handling messages and agent lifecycles. Agents communicate using a **_Messaging System_** (Topics and Subscriptions), can use **_Tools_** for specific tasks, interact with language models via a **_ChatCompletionClient_** while managing conversation history with **_ChatCompletionContext_**, and remember information using **_Memory_**. **_Components_** provide a standard way to define and configure these building blocks. **Source Repository:** [https://github.com/microsoft/autogen/tree/e45a15766746d95f8cfaaa705b0371267bec812e/python/packages/autogen-core/src/autogen_core](https://github.com/microsoft/autogen/tree/e45a15766746d95f8cfaaa705b0371267bec812e/python/packages/autogen-core/src/autogen_core) ```mermaid flowchart TD A0["0: Agent"] A1["1: AgentRuntime"] A2["2: Messaging System (Topic & Subscription)"] A3["3: Component"] A4["4: Tool"] A5["5: ChatCompletionClient"] A6["6: ChatCompletionContext"] A7["7: Memory"] A1 -- "Manages lifecycle" --> A0 A1 -- "Uses for message routing" --> A2 A0 -- "Uses LLM client" --> A5 A0 -- "Executes tools" --> A4 A0 -- "Accesses memory" --> A7 A5 -- "Gets history from" --> A6 A5 -- "Uses tool schema" --> A4 A7 -- "Updates LLM context" --> A6 A4 -- "Implemented as" --> A3 ``` ## Chapters 1. [Agent](01_agent.md) 2. [Messaging System (Topic & Subscription)](02_messaging_system__topic___subscription_.md) 3. [AgentRuntime](03_agentruntime.md) 4. [Tool](04_tool.md) 5. [ChatCompletionClient](05_chatcompletionclient.md) 6. [ChatCompletionContext](06_chatcompletioncontext.md) 7. [Memory](07_memory.md) 8. [Component](08_component.md) --- Generated by [AI Codebase Knowledge Builder](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge)