Agentic AI: Patterns

August 19, 2025
blog image

The new era of software is defined by agentic intelligence—systems that plan, act, learn, and adapt with minimal human oversight. Where traditional applications responded only to direct commands, modern AI agents orchestrate multi-step goals, coordinate across tools and services, and sustain context over long interactions. This shift transforms software from a passive instrument into an autonomous collaborator capable of managing complex processes end-to-end.

At the heart of this transformation are specialized agentic patterns—recurring architectures and behaviors that give AI systems distinct strengths. Some agents excel at decomposing goals into executable workflows, while others specialize in reflection and self-correction, coordination with peers, or blending reasoning with external computation. These patterns form a practical taxonomy that explains how today’s most advanced AI systems actually work in production.

By categorizing these capabilities, we can better understand how to design, deploy, and combine agents for real-world tasks. Goal-oriented execution engines, for example, act as self-driving project managers, while retriever-augmented generators merge retrieval with generation for precision answers. Multi-agent collaborators distribute work across specialized roles, and tool-enhanced reasoners integrate APIs and databases into their reasoning process—bridging the gap between language and action.

These architectures are not theoretical—they already underpin enterprise automation, developer copilots, research assistants, and creative production systems. Long-term memory agents build persistent relationships with users, context-aware interpreters adapt to dynamic environments, and multi-modal processors unify text, code, image, and audio reasoning. Together, these capabilities mark the emergence of generalist operators that can shift fluidly between domains.

Equally important are meta-capabilities like meta-reasoning agents that supervise others, feedback-driven learners that improve without retraining, and environmental adapters that maintain robustness in changing conditions. These higher-order functions enable AI systems to scale reliably, maintain quality, and operate within safety or compliance constraints—critical for deployment in business, government, and high-stakes environments.

Understanding and leveraging these patterns will define the next competitive frontier in AI adoption. Organizations that can assemble the right blend of agents into coherent, goal-aligned systems will unlock new forms of automation, strategic intelligence, and adaptive decision-making. This article maps the core agentic patterns shaping that future—offering a blueprint for building AI systems that are not only smart, but operationally autonomous.

Summary

  1. Goal-Oriented Execution Engine

    • Decomposes user instructions into sub-tasks, executes them in sequence or parallel toward a defined end-goal.

  2. Autonomous Planning + Reflection Loop

    • Iteratively plans, acts, observes outcomes, and updates its plan using self-evaluation or environmental feedback.

  3. Chain-of-Thought (CoT) Optimizer

    • Runs internal monologue or simulation to evaluate multiple options before committing to a next action.

  4. Multi-Agent Collaborator

    • Communicates and coordinates with other agents through a shared protocol or memory for parallel problem-solving.

  5. Tool-Enhanced Reasoner

    • Uses external APIs/tools/calculators/databases to augment reasoning (e.g., Wolfram, search, code interpreter).

  6. Retriever-Augmented Generator (RAG)

    • Pulls contextually relevant information from vector databases or memory before generating output.

  7. Long-Term Memory Agent

    • Maintains persistent episodic and semantic memory across interactions to refine personalization or context awareness.

  8. Context-Aware Interpreter

    • Adapts behavior dynamically based on historical input, user profile, session memory, or real-time sensory input.

  9. Multi-Modal Processor

    • Understands and acts upon inputs across text, code, images, audio, and video using modality fusion and alignment.

  10. Autonomous API Orchestrator

    • Acts as a controller that chains together APIs/services intelligently to fulfill user goals.

  11. Feedback-Driven Learner

    • Improves iteratively from thumbs-up/down, RLHF signals, or task outcome metrics without re-training.

  12. Workflow Synthesizer

    • Builds and executes workflows across apps or cloud functions based on inferred or prompted user intentions.

  13. Stateful Code Generator

    • Maintains variable states, scopes, and code logic over a long session or file generation process.

  14. Simulated Persona Agent

    • Adopts a persona (e.g., coach, assistant, character) and sustains it over long-form interaction via embeddings and state.

  15. Error Correction Agent

    • Monitors its own outputs or third-party outputs and suggests/debugs issues autonomously.

  16. Meta-Reasoning Agent (Agent-over-Agent)

    • Observes behavior of another agent and either critiques or improves it (e.g., supervisor model).

  17. Recursive Task Executor

    • Breaks down complex tasks into recursive subtasks and handles execution with depth-aware planning.

  18. Multi-Turn Dialog Manager

    • Manages conversational flow, memory, user interruptions, corrections, or deviations intelligently.

  19. Autonomous Scheduler

    • Optimizes time/resource allocation across tasks using constraints, deadlines, and priorities.

  20. Simulation & Forecasting Agent

    • Runs simulations based on current state/data to project outcomes and suggest optimizations.

  21. Personalization Engine

    • Learns user preferences over time and adjusts outputs accordingly in tone, format, or suggestion ranking.

  22. Autonomous Evaluator

    • Reviews, scores, and refines other agents or models using benchmark tasks or heuristic rules.

  23. Environmental Adapter

    • Adjusts its behavior based on changing system or API constraints without explicit human prompts.

  24. Task Rewriter + Optimizer

    • Reformulates ambiguous, inefficient, or impractical goals into executable task structures.

  25. Prompt Compiler

    • Generates optimized prompt instructions for other agents or LLMs to maximize task accuracy or speed.


Agentic Patterns

1. Goal-Oriented Execution Engine

🔍 Logic:

At its core, this agent receives a goal and decomposes it into actionable steps. It doesn't just react—it plans toward a destination, assessing what needs to be done and tracking progress along the way.

⚙️ How It Works:

  • Takes high-level input: “Create a marketing campaign.”

  • Breaks it into subtasks: e.g., research audience → write copy → design visuals → schedule posts.

  • Executes or delegates each task using internal tools, APIs, or other agents.

  • Monitors task completion and loops back if corrections are needed.

🌍 Use Cases:

  • Launching projects (e.g., product launch coordination)

  • Automating onboarding flows (e.g., for employees or customers)

  • Managing CRM updates or sales pipelines

  • Running long multi-step tasks like data pipelines or content creation

✨ Why It's Special:

This type of agent mimics human-level project management. It can operate independently for extended periods, especially in complex business or technical environments. It’s the closest thing we have to a “self-driving executive assistant.”


2. Autonomous Planning + Reflection Loop

🔍 Logic:

This agent follows a deliberate think-act-reflect cycle. Instead of executing blindly, it evaluates its actions, learns from them, and adjusts dynamically—building toward better outcomes.

⚙️ How It Works:

  • Makes a plan (e.g., write a blog post)

  • Takes the first action (e.g., generate outline)

  • Reflects on quality or feedback (e.g., “Is this structure clear?”)

  • Adjusts plan or retries based on feedback or self-evaluation

🌍 Use Cases:

  • Research assistants that refine strategies

  • Coding agents that debug and improve code with iteration

  • Writing agents that revise based on tone/style feedback

  • Decision-support tools that model alternatives before acting

✨ Why It's Special:

Reflection adds strategic adaptability. These agents outperform static systems by self-correcting mid-flight, reducing error rates and producing outputs more aligned with user goals or standards.


3. Chain-of-Thought (CoT) Optimizer

🔍 Logic:

Instead of jumping to answers, this agent "thinks aloud" through a reasoning trail. It models its own logic steps, evaluating different paths before choosing one—just like a human solving a puzzle.

⚙️ How It Works:

  • Receives a prompt: “What’s the best laptop for video editing under $1500?”

  • Runs a structured thought chain: evaluates specs, brands, prices, user needs

  • Chooses an answer after evaluating options

🌍 Use Cases:

  • Complex product recommendations

  • Math or logic problem solving

  • Legal or policy reasoning

  • Scenario comparisons in enterprise decision-making

✨ Why It's Special:

This is the bridge from raw language models to true reasoning agents. CoT logic ensures transparency (“why this answer?”), better accuracy, and explainability in critical domains.


4. Multi-Agent Collaborator

🔍 Logic:

This agent doesn’t act alone—it coordinates with others. Think of it as an “agent teammate” in a mesh of specialized agents, each handling part of a broader task.

⚙️ How It Works:

  • Assigned a domain (e.g., “data wrangler”)

  • Shares updates and receives tasks from a manager agent

  • Communicates via shared memory or agent protocol (e.g., CrewAI, LangGraph)

  • Optimizes its own function while staying in sync with others

🌍 Use Cases:

  • Multi-stage creative workflows (e.g., script → visuals → voiceover)

  • Business process automation (e.g., HR agent + finance agent + legal agent)

  • Game agents coordinating NPCs or environment actions

  • DevOps agents deploying code with QA and rollback agents

✨ Why It's Special:

This is the core idea behind “agentic workflows”. Teams of agents can now operate as modular microservices—scaling with complexity while remaining flexible, like a digital cooperative.


5. Tool-Enhanced Reasoner

🔍 Logic:

This agent doesn’t rely solely on language—it knows when and how to invoke tools like search engines, calculators, APIs, or databases to solve problems better.

⚙️ How It Works:

  • Faces a question it can’t answer confidently

  • Invokes the right tool: e.g., web search, SQL query, Python code

  • Parses results, interprets, and synthesizes a final output

  • May iterate with additional tool calls if needed

🌍 Use Cases:

  • AI research assistants with live data access

  • Spreadsheet/finance helpers that compute and visualize

  • Legal or policy analysts who reference external statutes

  • Engineers debugging with tool-based code interpreters

✨ Why It's Special:

This makes agents superhuman in scope. They aren't confined to memory or training—they access the internet, proprietary databases, and run logic—blending LLM intelligence with external computation.


6. Retriever-Augmented Generator (RAG)

🔍 Logic:

This agent combines language generation with context retrieval. Instead of generating from memory alone, it fetches relevant information from structured or unstructured data sources in real time before generating a response.

⚙️ How It Works:

  • Receives a query (e.g., “Summarize Q2 sales trends”)

  • Converts it into a vector search to retrieve context from DBs, PDFs, emails, etc.

  • Merges retrieved data with prompt

  • Generates a context-aware response

🌍 Use Cases:

  • Enterprise search agents

  • Legal assistants accessing document repositories

  • Personalized FAQ bots with access to internal wikis

  • Contract or code reviewers working on large corpora

✨ Why It's Special:

RAG agents can scale with data—enabling deep expertise, custom answers, and real-time alignment without re-training the base model. They’re foundational to most production-grade LLM agents today.


7. Long-Term Memory Agent

🔍 Logic:

This agent remembers what happened—not just in a single session, but over time. It stores and recalls past interactions, facts, goals, and preferences to build continuity and evolve behavior.

⚙️ How It Works:

  • Logs user interactions and task outcomes into structured memory

  • Indexes memory for fast retrieval

  • Uses it to personalize responses or improve task execution

  • Optionally allows memory editing or summarization

🌍 Use Cases:

  • Personal assistants that recall past tasks, tone preferences, or calendar events

  • Customer support agents that track recurring issues

  • Language tutors adapting over weeks/months

  • Sales agents remembering prior lead interactions

✨ Why It's Special:

This agent has a persistent identity—it grows with the user, much like a real assistant or collaborator. It makes long-term relationships between humans and software possible.


8. Context-Aware Interpreter

🔍 Logic:

This agent adjusts behavior based on surrounding context, not just static instructions. It can interpret commands differently based on situation, prior conversation, or user history.

⚙️ How It Works:

  • Ingests real-time signals (user session state, environment variables, user metadata)

  • Parses prompt with that context in mind

  • Routes or adapts logic to fit situation

🌍 Use Cases:

  • In-product assistants adapting to UI state

  • Customer bots shifting tone for frustrated users

  • Agents handling different workflows based on detected user roles

  • Smart command agents embedded in IDEs, design tools, or SaaS dashboards

✨ Why It's Special:

These agents can “read the room” — tailoring behavior and output with dynamic intelligence. They act like truly integrated digital coworkers rather than static bots.


9. Multi-Modal Processor

🔍 Logic:

This agent understands and reasons across multiple modalities—text, image, audio, video, code, or structured data. It can take a voice command, inspect an image, read a doc, and generate code—all in a single flow.

⚙️ How It Works:

  • Accepts multi-modal input (e.g., image + voice + spreadsheet)

  • Translates each modality to a shared latent space

  • Performs reasoning tasks across formats

  • Outputs in one or more modalities

🌍 Use Cases:

  • AI designers interpreting sketches and generating Figma prototypes

  • Assistants parsing photos, receipts, and written notes

  • Real-time surveillance or diagnostics combining video + logs

  • Multilingual customer agents processing documents and voice notes

✨ Why It's Special:

This is true general intelligence architecture—the ability to understand the world as it is (not just as text) and respond naturally across any channel or medium.


10. Autonomous API Orchestrator

🔍 Logic:

This agent knows how to interact with and sequence external APIs or microservices autonomously. It doesn’t just complete tasks—it builds and executes a backend pipeline live.

⚙️ How It Works:

  • Parses user goal (e.g., “Send email to top 10 leads”)

  • Plans API calls: CRM → Filter → Email → Log

  • Executes, checks responses, retries or adapts if failures occur

  • May visualize steps or log outcomes

🌍 Use Cases:

  • No-code backend automators (Zapier for LLMs)

  • Workflow agents for bizops, IT, or operations

  • Marketing automation that spans multiple tools

  • Personal agents chaining calendar, messaging, task apps

✨ Why It's Special:

This makes agents infrastructure-aware. They act as digital operators for businesses—blending cognitive intelligence with real-time systems control.


11. Feedback-Driven Learner

🔍 Logic:

This agent improves itself without retraining by using user feedback, outcome signals, or scoring functions to adjust its future behavior, strategy, or outputs.

⚙️ How It Works:

  • Collects feedback: thumbs up/down, scores, corrections, engagement time

  • Stores results in short-term or long-term memory

  • Adjusts prompts, weights, or behavior using rules, heuristics, or light fine-tuning

  • Optionally leverages reinforcement or preference models

🌍 Use Cases:

  • Customer support bots that refine tone and solution quality over time

  • Code agents that adjust suggestions based on merge acceptance rates

  • Personal AI tutors adapting to student learning preferences

  • Product recommendation agents learning from click-through or conversion data

✨ Why It's Special:

This is an always-learning architecture—dynamic, personalized, and reactive to evolving needs. It brings software closer to human-level adaptation.


12. Workflow Synthesizer

🔍 Logic:

This agent can compose and execute entire workflows from scratch. It understands the steps needed to achieve a goal, connects tools or tasks, and runs the process end-to-end.

⚙️ How It Works:

  • Receives high-level prompt: e.g., “launch a newsletter”

  • Identifies toolset: e.g., Notion + Mailchimp + Canva

  • Synthesizes a flow: content → design → email setup → launch

  • Executes steps or delegates them to other agents

🌍 Use Cases:

  • Creative teams automating design → content → publishing flows

  • Ops teams coordinating multi-system tasks (e.g., form submissions → CRM)

  • SMBs or solopreneurs launching campaigns or products without manual setup

✨ Why It's Special:

It offers orchestration at the intent level—you give the what, the agent builds the how. This unlocks zero-to-deployment automation for non-technical users.


13. Stateful Code Generator

🔍 Logic:

This agent writes code while maintaining state, scope, dependencies, and context across sessions or modules—unlike stateless completion models.

⚙️ How It Works:

  • Tracks variable definitions, imports, logic flow across files/functions

  • Understands and maintains code structure, project architecture, and comments

  • Updates or reuses prior logic based on state memory

  • Integrates with IDE or version control if needed

🌍 Use Cases:

  • Full-stack coding assistants for projects and apps

  • Data pipeline builders with reusable components

  • AI copilots that generate and maintain infrastructure-as-code

  • Agents that collaborate with human developers in teams

✨ Why It's Special:

This goes beyond code snippets—these agents behave like AI software engineers, handling long-form, coherent development over time.


14. Simulated Persona Agent

🔍 Logic:

This agent embodies a consistent persona (e.g., a coach, teacher, friend, advisor) and sustains it with emotional tone, values, memory, and interaction history.

⚙️ How It Works:

  • Receives or defines a personality profile (e.g., “empathetic career coach”)

  • Uses memory, tone, and history to maintain consistency

  • Adapts dialogue, behavior, and recommendations to the persona’s style

  • May evolve persona traits over time

🌍 Use Cases:

  • Virtual therapists, tutors, and life coaches

  • In-game NPCs with persistent identities

  • Relationship-building agents (e.g., Character.AI, Replika)

  • Personal finance advisors, fitness mentors, or career consultants

✨ Why It's Special:

This unlocks emotional resonance in agents—creating continuity and trust. It makes AI feel more human, safe, and personalized over time.


15. Error Correction Agent

🔍 Logic:

This agent is built to detect and fix mistakes—in its own outputs or others’. It plays a critic or debugger role across text, code, logic, or documents.

⚙️ How It Works:

  • Reviews generated or external outputs

  • Detects inconsistencies, factual errors, or bugs using patterns, heuristics, or tool support

  • Suggests or applies corrections

  • Optionally retriggers the generating agent or provides retraining data

🌍 Use Cases:

  • QA agents reviewing code, emails, reports

  • Real-time agents detecting hallucinations or biases in LLM outputs

  • Financial/medical data verifiers

  • Moderators reviewing generated content before publishing

✨ Why It's Special:

It closes the loop. These agents don’t just act—they evaluate, improve, and enforce quality, making them critical in enterprise and high-stakes use cases.


16. Meta-Reasoning Agent (Agent-over-Agent)

🔍 Logic:

This agent monitors, evaluates, and improves other agents. It acts as a manager, coach, or critic, overseeing reasoning chains, workflows, or task performance.

⚙️ How It Works:

  • Observes logs, outputs, or memory traces of other agents

  • Applies critique heuristics or quality benchmarks

  • Offers suggestions or corrections (e.g., better prompt, refactored plan)

  • May reroute tasks to a better-suited agent

🌍 Use Cases:

  • Debugging or optimizing agent teams (e.g., in CrewAI, LangGraph)

  • Supervising long-running autonomous workflows

  • Agent eval + fine-tuning via internal critique

  • Enhancing reliability in safety-critical environments

✨ Why It's Special:

This introduces introspection into agentic systems—it enables reliability, self-improvement, and even hierarchical agent governance, where smarter agents supervise others.


17. Recursive Task Executor

🔍 Logic:

This agent excels at task decomposition. Given a complex objective, it recursively breaks it down into smaller tasks and executes or delegates each one.

⚙️ How It Works:

  • Parses goal → creates sub-goals

  • For each sub-goal: re-runs itself or spawns a new executor

  • Collects and integrates results into the final output

  • Repeats until the original goal is satisfied

🌍 Use Cases:

  • Research agents conducting multi-layered topic exploration

  • Strategy planners decomposing business or tech roadmaps

  • Design agents iterating from concept → wireframe → prototype

  • Agents handling long-chain, interdependent logic tasks

✨ Why It's Special:

It’s how agents scale intelligence hierarchically—mirroring how humans handle complexity by breaking it down into manageable pieces. This is a foundation of general problem-solving.


18. Multi-Turn Dialog Manager

🔍 Logic:

This agent maintains coherent, adaptive conversation across multiple interactions—handling corrections, tangents, clarifications, and long-term dialogue memory.

⚙️ How It Works:

  • Tracks dialog history, user state, goals

  • Uses dialogue policy to manage flow: clarification, escalation, closure

  • Handles interruptions or redirects naturally

  • May escalate to different modes or agents

🌍 Use Cases:

  • Enterprise chatbots and customer service agents

  • Long-term personal assistants

  • Virtual interviewers or training agents

  • Complex onboarding or troubleshooting flows

✨ Why It's Special:

It makes agents feel truly interactive—not just reactive. These agents maintain context, emotional tone, and progression across sessions, which is key for trust and usability.


19. Autonomous Scheduler

🔍 Logic:

This agent specializes in optimizing time, resources, or task ordering based on constraints, deadlines, availability, or priorities.

⚙️ How It Works:

  • Gathers constraints (e.g., time windows, dependencies, resources)

  • Computes optimal task allocation or sequencing

  • Dynamically adapts to changes (delays, new tasks, shifting availability)

  • May directly modify calendars, queues, or pipelines

🌍 Use Cases:

  • Personal productivity assistants

  • Factory task schedulers

  • DevOps pipeline optimizers

  • AI operations coordinators across systems

✨ Why It's Special:

These agents introduce constraint-aware planning into software logic. They think about not just what to do, but when and how best to do it.


20. Simulation & Forecasting Agent

🔍 Logic:

This agent models possible futures. It simulates outcomes based on current conditions, decisions, or strategies—and proposes actions based on projected results.

⚙️ How It Works:

  • Takes input data/state + set of possible actions

  • Runs scenario simulations using predefined models, learned logic, or external simulators

  • Ranks or presents outcomes

  • May explain tradeoffs or generate recommendations

🌍 Use Cases:

  • Financial advisors running risk forecasts

  • Strategic planners simulating business outcomes

  • Climate models for policy testing

  • A/B testing and campaign performance prediction

✨ Why It's Special:

These agents provide proactive intelligence—shifting from reaction to anticipation. They enable human-in-the-loop forecasting or even fully autonomous scenario-based decision-making.


21. Personalization Engine

🔍 Logic:

This agent dynamically adapts its outputs, recommendations, or interaction style based on personal user preferences, goals, history, and identity.

⚙️ How It Works:

  • Gathers and stores user data: preferences, interaction history, behavioral signals

  • Builds a user profile or embedding

  • Tailors outputs in tone, format, content, or priority

  • Continuously updates preferences through feedback and behavior

🌍 Use Cases:

  • Personalized learning or coaching agents

  • Shopping assistants that adapt to user style

  • Writing or editing tools that reflect personal tone/formatting

  • B2B agents learning company-specific workflows or rules

✨ Why It's Special:

This gives agents a relationship memory. They stop being generic tools and evolve into hyper-personal interfaces—fitting each user like a digital glove.


22. Autonomous Evaluator

🔍 Logic:

This agent can score or rank other agents, outputs, or processes—providing quality assurance, benchmarking, or alignment checking without human input.

⚙️ How It Works:

  • Applies predefined rubrics, criteria, or learned preferences

  • Takes as input: task results, code, text, plan steps, etc.

  • Outputs scores, ranks, or critiques

  • May integrate with RLHF or human feedback pipelines

🌍 Use Cases:

  • AI feedback loops for training (RLHF, preference ranking)

  • Agent performance evaluation in distributed systems

  • Automated grading in education

  • Enterprise QA agents for marketing, legal, or compliance content

✨ Why It's Special:

This agent type is critical for agent reliability at scale. It allows for feedback without bottlenecking on human review—unlocking autonomous tuning and continuous improvement.


23. Environmental Adapter

🔍 Logic:

This agent senses its external context and environment and modifies its behavior accordingly—adapting to availability, load, tools, data schemas, or user state.

⚙️ How It Works:

  • Continuously monitors environment variables (API status, UI state, user actions, system logs)

  • Detects changes or disruptions

  • Adjusts execution plan, tool selection, or fallback logic

  • May replan or reroute to a different task or path

🌍 Use Cases:

  • Embedded SaaS copilots adjusting to UI or page changes

  • Code agents that adapt to shifting frameworks or build environments

  • Smart home agents adjusting to sensor input

  • Agents that manage API workflows with failover logic

✨ Why It's Special:

This is true robustness logic—akin to real-world resilience. These agents don’t crash—they pivot, enabling reliability in dynamic, unpredictable environments.


24. Task Rewriter + Optimizer

🔍 Logic:

This agent improves unclear, inefficient, or impractical tasks by rewriting, restructuring, or simplifying them into more executable or efficient forms.

⚙️ How It Works:

  • Parses ambiguous or verbose prompts/tasks

  • Refactors goals using heuristics or past experience

  • Outputs optimized task plan, prompt, or code

  • May simplify, clarify, remove redundancies, or restructure steps

🌍 Use Cases:

  • Enterprise bots refining vague team instructions

  • Dev agents optimizing inefficient workflows or scripts

  • AI assistants rephrasing or clarifying user prompts

  • Content agents simplifying long briefs or legalese

✨ Why It's Special:

This introduces self-improvement logic into agents. Instead of executing blindly, they refine the job before starting—leading to faster, smarter, more accurate task execution.


25. Prompt Compiler

🔍 Logic:

This agent doesn’t act directly—it creates optimized prompts for other agents or models. It translates high-level goals into precise, performant, structured prompts.

⚙️ How It Works:

  • Receives user intention or a meta-task

  • Chooses appropriate prompt template, format, or API interface

  • Injects variables, context, goals, and constraints

  • Outputs the prompt or pipeline for another model or agent to run

🌍 Use Cases:

  • Meta-agents optimizing prompting across multiple LLMs

  • Prompt engineering copilots for devs or teams

  • Fine-tuning optimization via structured prompt variation

  • Middleware between user UI and backend model logic

✨ Why It's Special:

These are the translators and compilers of the agent ecosystem. They make LLMs smarter by giving them better instructions, improving performance without touching the model weights.

