===== AgentWiki ===== Welcome to the **AgentWiki**, a comprehensive resource for understanding and leveraging Large Language Models (LLMs) for agent applications. Catch up on the latest developments, explore various architectures and design patterns, and discover the libraries and tools that empower these intelligent systems to perform autonomously across diverse domains. ==== Introduction ==== 🤖 Large Language Model (LLM) Agents are sophisticated AI systems that utilize large-scale neural language models to perform tasks autonomously. By comprehending natural language, reasoning through complex problems, and interacting with external tools and environments, LLM Agents represent a significant advancement in artificial intelligence. They are capable of planning, executing, and adapting their actions based on given objectives and feedback from their environment. ==== Agent System Overview ==== 🧠 In an LLM-powered autonomous agent system, the LLM functions as the agent's central processing unit, complemented by several key components: * **[[planning|Planning]]** * Task Decomposition * Self-Reflection * **[[memory|Memory]]** * Hierarchical Memory Systems * Efficient Retrieval Mechanisms * **[[tool_use|Tool Use]]** * External API Integration * Dynamic Tool Selection * **[[structured_outputs|Structured Outputs]]** * Grammars * Constrained Outputs 🚀 These components enable the agent to: * **Plan** complex tasks through decomposition and strategic reasoning. * **Remember** past interactions using advanced memory architectures. * **Utilize Tools** to extend capabilities beyond text generation. ==== Key Features of LLM Agents ==== 🌀 **[[advanced_reasoning_planning|Advanced Reasoning and Planning]]**: Employ sophisticated reasoning strategies to analyze complex tasks, devise multi-step plans, and sequence actions to achieve specific goals. 🔧 **[[tool_utilization|Tool Utilization and API Interaction]]**: Interface with external tools, APIs, databases, and services to perform actions such as web searches, code execution, and data manipulation. 📚 **[[hierarchical_memory|Hierarchical Memory and Context Management]]**: Use multi-level memory architectures to maintain extensive context over interactions, enabling long-term coherence and adaptability. 💡 **[[natural_language_understanding|Natural Language Understanding and Generation]]**: Interpret and generate human-like text, facilitating effective communication and instruction following. 🔄 **[[autonomy|Autonomy and Adaptive Behavior]]**: Operate independently, making informed decisions and adapting to new information or changes in their environment through iterative learning processes. ==== Workflows ==== Workflows in LLM Agent systems streamline the design, implementation, and orchestration of complex tasks by structuring multi-step processes for optimal performance. 🌊 **Key Workflow Tools** * **[[flowise|Flowise]]**: A visual programming interface for designing agent workflows. * **[[promptflow|PromptFlow]]**: A framework for defining and testing prompt sequences in a systematic manner. These tools enhance the modularity and reusability of task definitions, enabling seamless experimentation and deployment. ==== Components of LLM Agents ==== === Planning === 🧩 Planning involves the strategic breakdown of complex tasks into manageable sub-tasks, devising algorithms, and sequencing actions based on logical reasoning and predicted outcomes. == Task Decomposition == 🌳 **[[chain_of_thought|Chain-of-Thought (CoT) Reasoning]]** 🌲 **[[tree_of_thoughts|Tree of Thoughts]]** ⚙️ **[[llm_with_planning|LLM+P (LLM with Classical Planning)]]** == Self-Reflection == 🔍 **[[react_framework|ReAct (Reasoning and Acting)]]** 🔄 **[[reflexion_framework|Reflexion Framework]]** 🪞 **[[chain_of_hindsight|Chain of Hindsight (CoH)]]** 📉 **[[algorithm_distillation|Algorithm Distillation (AD)]]** === Memory === 📦 Memory mechanisms allow agents to retain, retrieve, and utilize information over extended periods, significantly enhancing their ability to maintain context, learn from past experiences, and build upon accumulated knowledge. == Hierarchical Memory Systems == 🕒 **[[sensory_memory|Sensory Memory]]** ⏳ **[[short_term_memory|Short-Term Memory (Working Memory)]]** 📜 **[[long_term_memory|Long-Term Memory (Persistent Memory)]]** * 📂 **[[explicit_memory|Explicit/Declarative Memory]]** * 🤫 **[[implicit_memory|Implicit/Procedural Memory]]** == Efficient Retrieval Mechanisms == 🔎 **[[maximum_inner_product_search|Maximum Inner Product Search (MIPS)]]** * 🧮 **[[locality_sensitive_hashing|Locality-Sensitive Hashing (LSH)]]** * 📊 **[[approximate_nearest_neighbors|Approximate Nearest Neighbors (ANNOY)]]** * 🗺️ **[[hnsw_graphs|Hierarchical Navigable Small World (HNSW) Graphs]]** * 🔍 **[[faiss|Facebook AI Similarity Search (FAISS)]]** * 📈 **[[scann|Scalable Nearest Neighbors (ScaNN)]]** === Tool Use === 🔧 Tool use extends the agent's functionality by enabling interaction with external systems, APIs, and tools, allowing the agent to perform actions beyond its inherent capabilities and access up-to-date information. * 🧰 **[[mrkl_systems|MRKL Systems (Modular Reasoning, Knowledge, and Language)]]** * 🛠️ **[[tool_augmented_language_models|Tool-Augmented Language Models (TALM)]]** * 🤖 **[[toolformer|Toolformer]]** == API Integration == 🔗 **[[openai_function_calling|OpenAI Function Calling and ChatGPT Plugins]]** 🔗 **[[hugginggpt|HuggingGPT]]** 🗂️ **[[api_bank_benchmark|API-Bank Benchmark]]** ==== Types of LLM Agents ==== 🧠 **[[chain_of_thought_agents|Chain-of-Thought Agents]]** 🔄 **[[react_agents|ReAct Agents]]** 🤖 **[[autonomous_agents|Autonomous Agents]]** * 🤖 **[[autogpt|AutoGPT]]** * 🤖 **[[babyagi|BabyAGI]]** * 🤖 **[[agentgpt|AgentGPT]]** 📋 **[[plan_and_execute_agents|Plan-and-Execute Agents]]** 💬 **[[conversational_agents|Conversational Agents]]** 🔧 **[[tool_using_agents|Tool-Using Agents]]** ==== Design Patterns for LLM Agents ==== 🔗 **[[prompt_chaining|Prompt Chaining and Orchestration]]** 📈 **[[rlhf|Reinforcement Learning from Human Feedback (RLHF)]]** 🔄 **[[agent_loop|Agent Loop (Perception-Thought-Action Cycle)]]** 🗂️ **[[context_window_management|Context Window Management]]** 🔧 **[[tool_integration_patterns|Tool Integration Patterns]]** 📂 **[[memory_augmentation_strategies|Memory Augmentation Strategies]]** 🏗️ **[[modular_architectures|Modular and Layered Architectures]]** ==== Libraries and Frameworks ==== Explore a range of tools and platforms for developing LLM agents: **Frameworks & Platforms** ⚙️ **[[agent_protocol|Agent Protocol]]** 🤖 **[[anthropic_context_protocol|Anthropic Model Context Protocol]]** 💻 **[[chatdev|ChatDev]]** ⚡ **[[bolt_new|Bolt.new]]** 🔗 **[[flowise|Flowise]]** 📋 **[[instructor_framework|Instructor]]** 🔎 **[[llamaindex|LlamaIndex]]** 🧠 **[[autogpt|AutoGPT]]** 🤖 **[[babyagi|BabyAGI]]** 🔗 **[[langroid|Langroid]]** 📊 **[[microsoft_graphrag|Microsoft GraphRAG]]** 🌟 **[[lite_llm|LiteLLM]]**