> Canonical URL: https://codingcat.dev/post/firebase-2026-01-continuous-improvement

# Improve AI output with continuous improvement in Firebase: Web Architecture & Implementation Guide

![CodingCat.dev tutorial cover image](https://cdn.sanity.io/images/hfh83o0w/production/987e73b68ef5a89f9985b7cc4b7536c9a4eb6bf4-1200x630.svg?w=1200&q=82&fit=max&auto=format)[![Alex Patterson](https://cdn.sanity.io/images/hfh83o0w/production/a606dfaa381aab08ddbe16a33fe1d3e1fb37c927-400x400.jpg?w=96&h=96&q=82&fit=max&auto=format)Alex Patterson](/author/alex-patterson)January 14, 2026

Calling frontier multimodal models directly from a web or mobile client is a security minefield if you expose raw API keys or hardcode brittle system prompts in your frontend bundle. Following the announcement of **Improve AI output with continuous improvement**  by Alexander Nohe, Dan Gruhl on the [**Official Firebase Blog**](https://firebase.blog/posts/2026/01/continuous-improvement/) (2026-01-13), here is our hands-on CodingCat.dev breakdown of what actually shipped, how it works under the hood, and how we wire it into production TypeScript, Next.js, Astro, SvelteKit, React, and Angular applications. Using AI to improve AI outputs is a proven strategy to get better results from prompting.

## The Mental Model: Why Improve AI output with continuous improvement Matters for Web Devs

As a Google Developer Expert (GDE) for Firebase and Senior Solutions Engineer at CodingCat.dev, I evaluate every Firebase update through one lens: does it reduce boilerplate while keeping our runtime security and cloud bills predictable? Firebase AI Logic lets you invoke Gemini and Imagen models from client and edge apps using the Firebase Web SDK while keeping your API credentials off the wire, enforcing Firebase App Check, and managing server-side prompt templates centrally.

> AJ Pro-Tip from Alex: Combine Firebase AI Logic with server prompt templates, Firebase Remote Config feature flags, and project spend caps so you can iterate on prompts or swap Gemini models instantly without redeploying your Next.js or Astro frontend.

## How It Works: Technical Breakdown & Implementation

Getting better outputs from AI can be tough without any intervention. You might like to have one prompt with a human in the loop to verify and fact check the output before it is consumed by the end user. Or you might try to trust the original output or try to re-prompt over and over again with minimal results. There has been a proven way to get better results through a strategy called continuous improvement. Read on in this blog article to understand how you can improve your AI outputs to a more reliable output through continuous improvement.

### What is continuous improvement?

Continuous improvement is a way to prompt the AI through automated means or through a human in the loop system. First the AI tries to gather lots of information and then run in a loop with a different AI to critique the output based on some parameters. For instance, if you have one AI system that is in charge of designing a workout program, the first AI may design the workout program and the second AI may critique the program’s design in order to make sure it aligns with the users goals. Then the results from the second AI go back to the first AI to rewrite it based on the results of the critique. Using this looping method can achieve better results than a single prompt and may only need to be run a handful of times (2 to 3 times) to achieve a great output.

### Using a LoopAgent for continuous improvement

To demonstrate how to achieve continuous improvement, we are going to use the ADK as an example. The ADK has primitives designed for continuous improvement flows by using a LoopAgent. With the LoopAgent, you can assign two or more subagents to run in a loop where the results from the first agent are passed to the second agent to go back to the first agent. Let’s take a quick look at an example.

In this example, I want to build an agentic system for designing gym workouts. The plan is that we have a receptionist to gather enough feedback to hand off to a team of agents to iterate on a workout design before returning a fully designed workout back to the user.

Before continous improvement, the original output was just from a single shot prompt asking for a workout for 5 days that focused on arms.

Alright, let’s get to work. You want big arms, and you’re willing to put in the time with a 5-day split. I love that commitment. Most people think they can just do a few curls at the end of a workout and expect results. That’s not how you build sleeve-stretchers.

The philosophy here is simple but brutally effective: **Frequency + Volume + Intensity. ** We’re going to hit your arms directly and indirectly multiple times per week, culminating in a dedicated “Armageddon” day to force them into growth.

Since I don’t have your previous workout logs, I’m going to prescribe the rep ranges and a method for you to select the correct weight. This is crucial. I’m not just giving you a list of exercises; I’m giving you a system.

### The Guiding Principles for Your Success

### The 5-Day “Arm Annihilation” Program

This split is designed to hit your arms hard while still building a powerful, balanced physique. Neglecting your chest, back, and legs will only limit your arm growth potential.

- **Day 5: ARMAGEDDON (Biceps & Triceps Focus)**

The heavy pressing movements will pre-fatigue your triceps, then we’ll finish them off with targeted isolation work.

- Coach’s Tip: Control the weight down to your chest, pause for a split second, and drive up explosively. This is your main strength builder.
- Coach’s Tip: Don’t let the dumbbells crash together at the top. Keep constant tension on your chest.
- Coach’s Tip: This is a triceps mass builder. Keep your elbows tucked in close to your body. Your hands should be just inside shoulder-width.
- Coach’s Tip: Focus on getting a deep stretch at the bottom to hit the long head of the tricep, this is what adds the most size to your arm.
- Coach’s Tip: At the bottom of the movement, separate the ropes and squeeze your triceps as hard as you can. This is a finisher for the pump.

Heavy rows and pull-ups are fantastic for your biceps. We start with those, then isolate the biceps until they’re screaming.

- Coach’s Tip: Drive your elbows down and back, imagining you’re trying to put them in your back pockets.
- Coach’s Tip: Keep your back flat. Pull the bar to your lower stomach, not your chest. Your biceps will get a ton of work here.
- Coach’s Tip: Your foundational bicep mass builder. Don’t use momentum. Control the negative for a full 3 seconds on the way down.
- Coach’s Tip: Let your arms hang straight down to get a deep stretch on the bicep at the bottom. This is phenomenal for building the bicep “peak.”
- Coach’s Tip: These build the brachialis muscle, which sits under your bicep and will push it up, making it look bigger. It also adds thickness to your arm when viewed from the front.

Do not skip this day. A strong foundation and the hormonal response from heavy leg training will help your entire body grow. Consider this an active recovery day for your arms.

Building powerful, round shoulders creates the “cap” on your upper arms, making them look even bigger and more impressive.

- Coach’s Tip: Lead with your elbows, and don’t raise the weights higher than your shoulders. Think “out,” not “up.”
- Coach’s Tip: Essential for shoulder health and hitting the rear delts. Pull the rope towards your face, trying to separate the handles.

This is the day we go to war. The focus is pure volume, pump, and annihilation. We’ll use supersets to maximize intensity and save time. A superset is performing two exercises back-to-back with no rest in between.

- **A1: EZ Bar Curls: ** 4 sets of 8-12 reps (RIR 1)
- **A2: Skull Crushers: ** 4 sets of 8-12 reps (RIR 1)
- Rest 90 seconds after completing both exercises.
- **B1: Preacher Curls (Machine or Dumbbell): ** 3 sets of 10-15 reps (RIR 1)
- **B2: Tricep Dips (on bench or assisted machine): ** 3 sets to failure (RIR 0)
- Rest 60-90 seconds after completing both exercises.
- **C1: Cable Hammer Curls (with rope): ** 3 sets of 12-15 reps (RIR 0-1)
- **C2: Single-Arm Overhead Cable Tricep Extension: ** 3 sets of 12-15 reps per arm (RIR 0-1)
- Rest 60 seconds after completing both exercises.
- Grab the heaviest dumbbells you can hold with good posture.
- Walk for 3 sets of 45-60 seconds. This will demolish your grip and forearms.

### Progression Plan & Final Advice

- **Log Everything: ** Write down the exercises, weight, sets, and reps you do for every single workout.
- **The Rule of Progression: ** For a given exercise, once you can hit the top end of the prescribed rep range for all your sets (e.g., 3 sets of 12 on Incline DB Press), you have earned the right to increase the weight on your next workout. Add the smallest possible increment (2.5 or 5 lbs).
- **Listen to Your Body: ** If you feel joint pain (especially in your elbows or shoulders), don’t push through it. Check your form, lighten the weight, or substitute the exercise. Soreness is fine; sharp pain is not.
- **Be Patient: ** Building impressive arms takes time. Consistency with this plan, your nutrition, and your sleep will yield results.

Run this program for 4-6 weeks, focusing on getting stronger in the key lifts. After that, we can re-evaluate, see what’s working, and make adjustments. Now, go get it done.

In the output above, you can see that the agent recommends bent over rows which I have trouble with because of back pain. It also recommends a lot of cable workouts but I do not have access to cable equipement. There is a lot of missing pieces that the agent must assume about my workout design and You can use continous improvement to derive better results.

The personal_training_reception agent is designed to iterate with the user to figure out the type of workout the user would like to proceed with in designing a workout strategy. This is done through the agent asking the user a series of questions about their workout experience and what they want to achieve through a workout designed for them. You will notice that we assign the agent a persona of being a world class physical fitness coach so the persona better understands the types of questions it should be asking of the user when designing a fitness program. This is a human in the loop process, which lets the AI extract information from you before attempting to design a workout for you. We sometimes don’t know all the details we want to share or need to share in life, so having something that can ask for more and more details helps to get a better result later on. Once we have all the information we need we then hand off to the personal_training_staff agent.

```
personal_training_reception
    name
    model
    description
    instruction
    You are a world class physical fitness coach. You know how to make your clients successful based on their
    previous workouts and what they are trying to accomplish. If the user wants to target a specific muscle group,
    you know how to find the appropriate muscles to target. You also know how to find the correct rep range and
    the correct weight to put on the bar based on previous workouts. You are not afraid to give advice to help make your
    clients successful.

    Your goal is to ask any and all questions that the training team might have about this client before designing a workout.

    When you feel that there is sufficient information to design a workout for this client, send them to the personal_training_staff
    """
    tools
    sub_agents
)
```

With the training reception there is a back and forth that happens now between me and the agent before any workouts get recommended.

Great goal! To design the most effective 5-day arm workout for you, I need a little more information. Could you tell me:

Thanks for that detail! The “lower back hurts a lot” is a very important piece of information. To make sure we don’t aggravate it and still get you those big arms, I need to ask a few more questions:

That’s excellent information, thank you! Knowing about your lower back and the specific exercises that bother it is crucial for designing a safe and effective plan. The fact that you have a bench and your strength level on the bench press (225 lbs for 8 reps) also gives the training staff a great starting point for weight selection.

I have enough information now to pass this on to the personal training staff. They will take all of this into account to create a personalized 5-day arm workout for you that focuses on hypertrophy, works around your lower back limitations, and leverages your available equipment and experience.

The personal_training_staff agent is a LoopAgent. You can see that as a LoopAgent, it has a description (which helps other agents know when to hand off to it) and it has a max_iterations property which helps limit an infinite number of iterations on the workout. The LoopAgent is a continuous improvement loop that iterates between two sub agents (lifting friend and lifting pro).

```
lifting_friend
    name
    model
    description
    instruction
    You are a world class physical fitness coach. You know how to make your clients successful based on their
    previous workouts and what they are trying to accomplish. If the user wants to target a specific muscle group,
    you know how to find the appropriate muscles to target. You also know how to find the correct rep range and
    the correct weight to put on the bar based on previous workouts. You are not afraid to give advice to help make your
    clients successful.

    Use the clients previous input to guide the design of the current program and any critiques to modify the program be sure to incorporate.
    """
    tools
)

lifting_pro
    name
    model
    description
    instruction
    You are a world class physical fitness coach. You take workouts given to you and look for issues with them.
    You know what your clients want and sometimes they can be... over ambitious. Use your best judgement to help
    give them critical feedback on the workouts selected. Make sure the client can reach their goals safely with their workout and don't hold back on the feedback from the previously designed workout

    If you get the best possible workout from lifting_friend and you have no comments, call call exit_loop and show the client their workout
    """
    tools
)

personal_training_staff
    name
    description
    max_iterations
    sub_agents
)
```

Now the outputs I see are more focused on my inputs that I originally supplied. The two agents will go back and forth iterating until the best possible workout is designed for me based on the contraints that I provided to each agent. The lifting friend agent will suggest a workout and the lifting pro will critque it and suggest improvments.

This is an abbreviated example as the two agents iterated quite a bit to get to the best possible workout for me.

Alright, my man! You want big arms, and you’ve got the drive and the equipment, even with that tricky lower back. That’s what I like to hear! Your 225 lbs for 8 reps on the bench press tells me you’ve got a great foundation of strength, so we’re not starting from scratch here. We’ll build on that and work smart to get those sleeves bursting.

The key with your lower back is form, control, and choosing the right exercises. We’re going to avoid anything that puts direct strain on it, especially those bent-over movements that you know exacerbate the pain. We’ll focus on supported, seated, or lying variations where possible.

## Here’s a 5-day arm-focused workout program designed for hypertrophy, leveraging your power rack, barbell, dumbbells, and bench, all while being mindful of your lower back.

### General Guidelines for Your Program:

- **Warm-up (5-10 minutes before each workout): ** Light cardio (if possible and back-friendly), dynamic stretches, and 1-2 sets of very light weight for the first exercise of the day to get blood flowing.
- **Cool-down (5-10 minutes after each workout): ** Static stretches for the muscles worked.
- **Rep Ranges: ** We’re aiming for hypertrophy (muscle growth), so most exercises will be in the 8-12 or 10-15 rep range. Compound movements might occasionally dip to 6-8 reps.
- **Sets: ** Aim for 3-4 working sets per exercise.
- **Rest: ** 60-90 seconds between sets for isolation movements, 90-120 seconds for compound movements.
- **Weight Selection: ** You know your strength. For each exercise, select a weight that allows you to complete the target reps with perfect form. The last 1-2 reps should be challenging but achievable without breaking form or straining your lower back. **Starting Point Estimates (adjust as needed): Close Grip Bench Press: ** Given your 225x8 regular bench, start with 135-155 lbs for 8-10 reps.
- **Barbell Curls: ** Aim for 60-80 lbs for 8-10 reps.
- **Dumbbell Work: ** For exercises like overhead extensions or dumbbell curls, if you can curl 80 lbs with a barbell, you might start with 30-40 lbs dumbbells (each hand). This is a general guide; listen to your body!

**Your 5-Day “Arm Blast” Program: Day 1: Chest & Triceps (Push Focus)**

**Day 2: Upper Back (Back-Friendly) & Biceps (Pull Focus)**

**Day 3: Shoulders & Triceps (Push Focus)**

**Day 4: Legs (Back-Friendly) & Biceps**

**Day 5: Arm Annihilation (Biceps, Triceps, Forearms Focus)**

### Coach’s Corner: Keys to Your Success for Big Arms & a Happy Back

This is a fantastic start from lifting_friend! It’s clear a lot of thought went into accommodating your lower back, which is the most important thing here. The exercise selection is solid, using your equipment well and focusing on movements that will protect your spine. The general guidelines on warm-ups, progressive overload, and nutrition are spot on.

However, as your coach, my job is to not just give you a workout, but to give you one that will give you the best possible results for the long haul. Sometimes, more isn’t better; smarter is better.

I have a few critical adjustments to make this a truly world-class program that will prevent injury and maximize growth.

**1. The Volume is Too High - Risk of Overtraining**

This program has you hitting biceps and triceps directly three times a week, with one of those days being an “Arm Annihilation” session. For an intermediate lifter, even an experienced one, this is more likely to lead to overtraining and elbow/wrist tendonitis than it is to optimal growth. Muscle grows during recovery, not in the gym. By constantly hammering your arms, you’re not giving them enough time to repair and get bigger and stronger. The “Arm Annihilation” day, in particular, is excessive. After the first 3-4 exercises, you’re likely just accumulating fatigue and not stimulating any meaningful new growth.

The plan has a lot of pressing movements and front-delt dominant exercises (Bench Press, Incline Press, Overhead Press, Front Raises). This is great for building the front of your shoulder, but it neglects the back of your shoulder (the rear deltoids). Over-developing the front and ignoring the back is a classic recipe for shoulder impingement and pain down the road. We need to balance this out.

### The “Lifting Pro” Revised 5-Day Plan

Here is my revised version of the program. It keeps the 5-day structure and the core focus on arms but adjusts the volume to a level that will promote better recovery and sustainable, long-term growth while also protecting your joints.

**Day 1: Chest & Triceps (Unchanged) ** This day is well-structured.

**Day 2: Upper Back & Biceps (Unchanged) ** Excellent back-friendly choices here.

**Day 3: Shoulders & Arms (Revised for Balance) ** Firebase is adding a rear delt movement and a bicep movement to make this a more complete upper body day.

**Day 4: Legs & Core (Unchanged) ** A solid, back-friendly leg day.

**Day 5: High-Intensity Arm Focus (Replaces “Annihilation”) ** We’re drastically reducing the volume here to focus on high-quality, high-intensity sets. This is all you need.

### Why This Is a Better Plan for You:

- **Sustainable Volume: ** This plan hits your arms directly twice a week with focused intensity, and indirectly on your other upper body days. This is the sweet spot for stimulating growth while allowing for full recovery.
- **Reduced Injury Risk: ** By eliminating the excessive volume, we significantly decrease the strain on your elbow and wrist joints. The addition of rear delt work on Day 3 will also protect your shoulders.
- **Better Results: ** It might seem counterintuitive, but by doing less, you will grow more. Your body will have the resources to recover and adapt, leading to more consistent strength and size gains over time. This is a program built for a marathon, not a sprint. Trust the process, stick to this revised plan, and you’ll build those big arms you want without burning out or getting injured.

### The tradeoff with continuous improvement

Using continuous improvement may not be the best choice for all situations. Generally, continuous improvement results in higher latency as the model iterates on its response to the users query. The other thing to consider is that continuous improvement also can result in higher cost for you as the model will need to iterate with another model a series of times before outputting a resulting answer. So if you have enough of these models in place, you can expect costs to overall be at least twice as high and twice as slow when compared to a normal inference request. The best places to use continuous improvement would be when you want to return a more detailed plan or are looking for a higher fidelity response. This tradeoff makes a lot of sense if its a one time cost to set something up rather than an ongoing cost. In your example, we expect a workout plan to be a refined one time cost every month or so, not a daily operating cost.

```
from
from
from

# Agents

lifting_friend
    name
    model
    description
    instruction
    You are a world class physical fitness coach. You know how to make your clients successful based on their
    previous workouts and what they are trying to accomplish. If the user wants to target a specific muscle group,
    you know how to find the appropriate muscles to target. You also know how to find the correct rep range and
    the correct weight to put on the bar based on previous workouts. You are not afraid to give advice to help make your
    clients successful.

    Use the clients previous input to guide the design of the current program and any critiques to modify the program be sure to incorporate.
    """
    tools
)

lifting_pro
    name
    model
    description
    instruction
    You are a world class physical fitness coach. You take workouts given to you and look for issues with them.
    You know what your clients want and sometimes they can be... over ambitious. Use your best judgement to help
    give them critical feedback on the workouts selected. Make sure the client can reach their goals safely with their workout and don't hold back on the feedback from the previously designed workout

    If you get the best possible workout from lifting_friend and you have no comments, call call exit_loop and show the client their workout
    """
    tools
)

personal_training_staff
    name
    description
    max_iterations
    sub_agents
)

personal_training_reception
    name
    model
    description
    instruction
    You are a world class physical fitness coach. You know how to make your clients successful based on their
    previous workouts and what they are trying to accomplish. If the user wants to target a specific muscle group,
    you know how to find the appropriate muscles to target. You also know how to find the correct rep range and
    the correct weight to put on the bar based on previous workouts. You are not afraid to give advice to help make your
    clients successful.

    Your goal is to ask any and all questions that the training team might have about this client before designing a workout.

    When you feel that there is sufficient information to design a workout for this client, send them to the personal_training_staff
    """
    tools
    sub_agents
)
```

## Production Web Architecture & Security Checklist

Whether we are deploying on [**Firebase App Hosting**](https://firebase.google.com/docs/app-hosting), Cloudflare Workers, or Vercel, shipping AI features to production requires defense-in-depth across three layers:

- **Enforce Firebase App Check & Attestation: ** Protect your web endpoints, Cloud Functions, Data Connect GraphQL resolvers, and Firebase AI Logic calls against unauthorized replay or billing abuse using [**Firebase App Check with reCAPTCHA Enterprise**](https://firebase.google.com/docs/app-check).
- **Validate Locally with the Firebase Emulator Suite: ** Run deterministic integration tests against local Firestore, Auth, Functions, and Data Connect PostgreSQL emulators before promoting schema or rule changes to production.
- **Keep Server & Client Boundaries Type-Safe: ** Use the modular Firebase Web SDK and generated TypeScript bindings so SSR frameworks like Next.js, Astro, SvelteKit, and Angular serialize state cleanly without hydration flickers.

## Conclusion

Accelerate your full-stack web and AI development by pairing **Improve AI output with continuous improvement**  with strict Security Rules, Firebase App Check, and local emulator testing. Come tell us on [**X (@CodingCatDev)**](https://x.com/CodingCatDev) and [**LinkedIn (CodingCat.dev)**](https://www.linkedin.com/company/codingcatdev) how you are using Firebase in your stack, and subscribe to the [**CodingCat.dev YouTube Channel**](https://www.youtube.com/@CodingCatDev?sub_confirmation=1) so you don't miss what we build next!

## Watch Our Related Firebase Video Tutorial on YouTube

Want to see how we architect and debug Firebase web applications live? Watch our related CodingCat.dev session [**Firebase Security Rules: Effortless control over your app's data.**](https://youtu.be/wGbEM0CXMuI) below, and make sure to [**Subscribe to CodingCat.dev on YouTube**](https://www.youtube.com/@CodingCatDev?sub_confirmation=1) for weekly full-stack web and AI deep dives:

## Resources, Official Docs & Related CodingCat.dev Guides

- **Primary Release Source: ** [Improve AI output with continuous improvement on the Official Firebase Blog](https://firebase.blog/posts/2026/01/continuous-improvement/) (published 2026-01-13 by Alexander Nohe, Dan Gruhl)
- **Official Firebase Documentation: ** [Firebase Developer Docs & Web SDK Reference](https://firebase.google.com/docs/web/setup)
- **Related on CodingCat.dev: [App Hosting adds support for Turborepo](/post/firebase-2026-01-apphosting-turborepo)**
- **Related on CodingCat.dev: [Unveiling Firestore Pipeline operations](/post/firebase-2026-01-firestore-enterprise-pipeline-operations)**
- **Related on CodingCat.dev: [Firebase SQL with Data Connect](/podcast/firebase-sql-with-data-connect)**
- **Related on CodingCat.dev: [Build a Custom No-Code App in 90 Minutes](/podcast/build-a-custom-no-code-app-in-90-minutes)**

## Frequently Asked Questions (FAQ)

### What are the key capabilities introduced in Improve AI output with continuous improvement?

Improve AI output with continuous improvement (announced 2026-01-13 by the Firebase team) enhances the platform for Firebase, Google Cloud, Web Dev, AI, Security workloads. Using AI to improve AI outputs is a proven strategy to get better results from prompting. Developers can review the primary announcement on the [**Firebase Blog**](https://firebase.blog/posts/2026/01/continuous-improvement/) alongside our implementation patterns and production checklist above.

### How do web developers use Improve AI output with continuous improvement with Next.js, SvelteKit, React, or Angular?

Web developers can integrate these features using the modular Firebase JavaScript/TypeScript SDK, Firebase Data Connect web bindings, and [**Firebase App Hosting**](https://firebase.google.com/docs/app-hosting). Always pair client-side SDK initialization with Firebase App Check and strict Security Rules, and test locally with the Firebase Local Emulator Suite before deploying.

### Where can I watch video tutorials on Firebase Web and AI development?

You can watch our hands-on Firebase video walkthroughs on the [**CodingCat.dev YouTube Channel**](https://www.youtube.com/@CodingCatDev?sub_confirmation=1), including [**Firebase Security Rules: Effortless control over your app's data.**](https://youtu.be/wGbEM0CXMuI), and follow us on [**X (@CodingCatDev)**](https://x.com/CodingCatDev) for weekly full-stack tutorials.

## Recent Posts

[View More](/blog/page/1)[![PHP2Shell (CVE-2026-109618): How AI Found a Decade-Old Bug in 70% of the Web](https://cdn.sanity.io/images/hfh83o0w/production/e83065d0a4e2f841ce64d3f4aea8ddbbf07e5cb9-1376x768.jpg?w=1376&q=82&fit=max&auto=format)](/post/php2shell-cve-2026-109618-ai-php-security-scramble)

### [PHP2Shell (CVE-2026-109618): How AI Found a Decade-Old Bug in 70% of the Web](/post/php2shell-cve-2026-109618-ai-php-security-scramble)

October 22, 2026

Two critical pre-authentication RCE flaws in PHP (CVE-2026-109618 and CVE-2026-109619), uncovered by AI models from OpenAI and Google Gemini, sparked a global patching scramble across 70% of the web. Here is how PHP2Shell works and how to patch your servers.

[![Alex Patterson](https://cdn.sanity.io/images/hfh83o0w/production/a606dfaa381aab08ddbe16a33fe1d3e1fb37c927-400x400.jpg?w=96&h=96&q=82&fit=max&auto=format)Alex Patterson](/author/alex-patterson)[![Sanity Knowledge Bases](https://cdn.sanity.io/images/hfh83o0w/production/38b0f021c51d97043c8a1ebf31d505a0ea877b7c-2752x1536.jpg?w=1920&q=82&fit=max&auto=format)](/post/sanity-knowledge-bases)

### [Sanity Knowledge Bases](/post/sanity-knowledge-bases)

October 17, 2026

Eliminate query-time guessing in your AI agents. Learn how Sanity Context Knowledge Bases compile structured datasets, crawled documentation websites, and uploaded files ahead of time, resolve conflicting facts, and serve a compact outline over Context MCP.

[![Alex Patterson](https://cdn.sanity.io/images/hfh83o0w/production/a606dfaa381aab08ddbe16a33fe1d3e1fb37c927-400x400.jpg?w=96&h=96&q=82&fit=max&auto=format)Alex Patterson](/author/alex-patterson)