> ## Content Index
> Fetch the complete content index at: https://christophermoravec.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Episode 79 - AI-Generated Metadata Philosophy
- URL: https://christophermoravec.com/episode-79-ai-generated-metadata-philosophy/
- Published: 2026-08-21T19:59:54.000Z
- Updated: 2026-08-21T19:59:53.000Z
- Description: Metadata matters to search as much as it does to the AI Agent, so make it count!
- Author: Christopher Moravec
- Tags: Almost Entirely Human

# Prologue

Back in [Episode 76](https://christophermoravec.com/episode-76-dont-write-metadata/), we talked about metadata and concluded that the most important thing metadata provides (from an AI Agent perspective in ArcGIS) is making layers visible in the search when the agent goes looking. So this week, I want to look at a common GIS Agentic Loop and how metadata plays a role. We’ll wrap up with my treatise on metadata.

**TL;DR** \- Skip to the bottom to see how I recommend generating metadata to power your AI Agents. The short of it is: make good tags, titles, summaries, and descriptions, and consider how the layers will be used. Of course, AI can help you do this, but watch out!

# **Loopologue**

Before we talk about how to write good metadata for an AI agent, we should understand what an “AI Agent” is, how an “agentic loop” uses metadata, and which parts are consumed by different technologies.

🧪

Some of what I’m outlining here isn't technically knowable to me. I, for example, don’t know exactly how the ArcGIS Online search works within an organization, but I can tell from testing and experimentation how it behaves. And by knowing how it behaves, we can plan for how an agent uses it. Of course, any of this could change at any time whenever ArcGIS gets enhancements.

## What is an AI Agent?

In this context, when I say “AI Agent,” I mean something that is capable of calling multiple tools based on one request that you make. It used to be that things like Claude Desktop could only answer a simple question by responding to it, but the modern version of Claude (or ChatGPT, Gemini, or even Copilot) is capable of making many tool calls, carrying out complex research tasks, writing code, executing that code, and then synthesizing a result back to you.

Sometimes, when folks use the word “Agent,” they mean an AI that can act on its own, though that’s not strictly what I mean here; modern interfaces like Claude are more like Agents than chatbots. For things that can take action on their own, I usually use the word "harnesses" (like Jaws or Hermes).

An “Agentic Loop” is part of an AI Agent, the part that loops over the task until it is complete. This can be controlled from the outside, or the agent can decide how it should loop over things. Let’s take a look at how an agent uses a loop to find the correct data in ArcGIS Online.

## A typical GIS Agent

The diagram below describes a common loop that a GIS-powered agent will use to find the appropriate data:

![A flowchart showing a six-step agentic loop where an AI agent processes a user's question by picking search words, executing a search via API, retrieving the first page of results, skimming layer metadata to avoid opening unnecessary layers, and either opening a promising layer to investigate further or looping back to adjust search terms if results are unsatisfactory.](https://storage.ghost.io/c/50/54/50548939-6904-4e8f-9326-30234f6091dc/content/images/2026/08/gis-agent-loop.png)

 A typical loop that an AI will use to search for data.

1. Based on your question, decide what to search for
2. Execute the search process
3. Retrieve the results
4. Skim the metadata (try to avoid opening the layer)
5. If the layers look promising, dive into them
6. If the layers don’t have the right vibe, try searching again using new words (sometimes double check by opening layers anyway)

Like us, the AI typically doesn’t go past the first page of results, assuming the search is doing a good job of matching keywords and surfacing the right potential layers.

The most important thing to notice here is that the metadata is used twice:

1. By the search to find potential layers. This is not actually related to the AI at all; it is just standard search technology.
2. By the agent, to skim for information and look for candidate layers it might dig into further.

The most important thing the metadata does here is surface the right layers in the search! In my testing and observations, the AI often runs a limited query to confirm the layer is what it thinks it is before continuing, which helps prevent false positives. But if the layer it needs never appears in the search results, the AI has no hope of answering your question correctly.

## So, what metadata?

It turns out that in ArcGIS Online specifically, there are certain fields within an item that are used by the search, and those are the ones we care about.

![A wireframe diagram of an ArcGIS Online item page (arcgis.com/home/item.html) showing the metadata fields that influence search ranking, including Title ("Median Household Income by Census Tract"), Tags (ACS, median income, census tracts, Multnomah), Summary, Description, Field Names & Aliases (B19049_001E mapped to "Median Household Income" and GEOID to "Census Tract ID"), and Attached Metadata. A gradient bar at the bottom indicates which sections contribute most to least in search ranking, with darker shading on the higher-priority fields.](https://storage.ghost.io/c/50/54/50548939-6904-4e8f-9326-30234f6091dc/content/images/2026/08/metadata-score.png)

This is supposed to look a little like an ArcGIS item page. Dark blue indicates it contributes most to the index, and white the least, as far as I can tell.

When a search request is made (by you or an AI), the algorithm in ArcGIS seems to rank results based on:

1. Tags
2. Title
3. Summary
4. Description

Field names and aliases are also indexed, directly out of the service.

💽

It is worth noting that when I’m talking about metadata here, I mean things like Tags, Title, Summary, and Description. ArcGIS also supports ISO-standard metadata. If you import it, it will [overwrite](https://www.esri.com/arcgis-blog/products/arcgis-online/announcements/sync-attribute-fields-using-the-metadata-editor?ref=christophermoravec.com) your Tags, Title, Summary, and Description with the provided metadata (It will also store your full XML metadata). The rest of the metadata information doesn’t seem to appear in the search index, though.

## Creating Metadata

Let’s be honest with each other: metadata is not the most exciting thing, and we all have been known to skip it from time to time. Beyond that, writing good metadata is genuinely work. Now that we have these magical LLMs, it is easy to just push that off on them and never think of it again. While that can work, it is worth understanding the consequences; after all, if we get this metadata wrong, the most important layer might not even show up when an agent goes looking for it.

Let’s do a quick exercise, close your eyes…

Okay, so that’s not going to work, but bear with me here. If someone on your team asked you to write metadata for a GIS layer, what information would you want in order to do a good job?

Here’s my list:

1. What is the data? (schema and sample rows)
2. How did you make it, or where did it come from?
3. What’s it about?
4. What have you already used it for?
5. Are there standard names or processes that go with it? (a subset of census data, based on census tracts, and so on)

If you can’t at least provide these items to the AI writing your metadata, how do you expect it to do a good job?

You’ve got to provide as much raw context to the AI as possible, and at least give it a sample of the data, if not direct access. If you don’t, the AI will be guessing or rephrasing the text that is already there, filling in gaps, and that can lead to some very serious hallucinations.

🐸

Whenever I write a phrase like this, where I’m claiming that the AI fills in gaps in knowledge, I imagine that scene in Jurassic Park where they talk about using frog DNA to fill in the gaps in dinosaur DNA, and then things go wrong. It’s like that; hopefully you won’t get eaten, though.

![A Tyrannosaurus rex rampages through the destroyed visitor center lobby in a scene from Jurassic Park, illustrating the author's analogy about AI "filling in gaps" with hallucinated information the way frog DNA was used to fill gaps in dinosaur DNA—with similarly chaotic results.](https://storage.ghost.io/c/50/54/50548939-6904-4e8f-9326-30234f6091dc/content/images/2026/08/Jurassic-Park-Dinosaur-GIF-by-Vidiots.gif)

Objects in mirror are closer than they appear. (I grew up obsessed with this message on car mirrors, probably because of Jurassic Park)

ArcGIS Online has a new tool called the [Item Details Assistant](https://www.esri.com/arcgis-blog/products/arcgis-enterprise/announcements/introducing-item-details-assistant-beta?ref=christophermoravec.com) (currently in beta) that can help you generate metadata. It is genuinely helpful, and Esri even published what it leverages to generate new metadata: existing metadata, table schema, geometry, extent, and field statistics. I’d prefer the actual data values were on that list too, but it is still very helpful. Since it reads the existing metadata, I suggest doing a brain dump into the description field to give the AI as much context as possible. You can hand it a mess, and then let it suggest how to clean it up.

That said, I still prefer the frontier models, but use what you have! My rules below can apply to whatever tools are available to you.

## Christopher’s AI Metadata Rulz

1. Use a modern frontier model: Opus, Fable, Sol, Terra, Gemini, etc.
2. Define what you want in the metadata, and the output you want (see my prompt example below).
3. Give it as much context as you can manage. My favorite way to do this is to talk at the model. Tell it how you made it, what’s in it, examples of what you use the data for, literally anything you can think of that is related to the data.
4. Let the model query the data or provide a sample (provide both schema and data).
5. Rewrite the most important metadata in your own words (Use AI to help you edit if you like, or tools like Grammarly).
6. If you skipped rule 5, add a disclaimer at the bottom of the description (don’t be a secret cyborg), like:  
> Generated using Anthropic’s Claude Opus 5 on August 21, 2026; Reviewed by C.Moravec
7. Test and update your metadata as use cases evolve over time. Use logs, support tickets, whatever you can to build some insight on what your AI agents might be looking for and not finding.
8. Enjoy your new GIS-Infused AI Agents!

## Christopher’s AI Metadata Generation Prompt

> I need metadata for a GIS layer in ArcGIS Online. The metadata has two jobs. First, make this layer appear in search results. People and AI agents find layers through the same search index, which weighs Tags, Title, Summary, and Description most heavily, with field names/aliases also indexed. Second, let an AI agent skimming a page of search results decide whether this layer is worth opening, without opening it.   
>  
> Before you write anything, read the context below. If something important is missing or unclear, ask me. Do not guess and do not invent facts about the data. Anything you can't confirm from what I gave you, leave out or flag.   
>  
> CONTEXT: \[Talk at the model here. How you made the data, where it came from, what's in it, what you've used it for, standard names that apply (census tracts, parcel fabric, NHD…), and who you expect to come looking for it.\]   
>  
> DATA: \[Give it query access to the layer, or paste the schema and a handful of rows.\]   
>  
> Produce:   
>  
> Title—specific and plain, place and subject up front. No internal acronyms unless people would actually search by them.   
>  
> Tags—8 to 15, the words a searcher would actually type: subject, place names, standard program or dataset names, common synonyms. No filler like "data" or "GIS."   
>  
> Summary—two sentences max: what it is, where, what it's for. Written so someone who reads only this can decide whether to open the layer.   
>  
> Description—a few short paragraphs: what the data represents, how and when it was made, source and update cadence, known limitations, example uses. Explain any field names that don't explain themselves.   
>  
> Flags—anything you assumed, couldn't verify, or want me to confirm before this gets published.   
>  
> End the Description with a disclosure line: "Generated using \[model\] on \[date\]; reviewed by \[name\]." 

# Newsologue

(written by Jaws)

- [**Overture Maps shipped its August release on the 19th and started deprecating the "categories" property in places.**](https://docs.overturemaps.org/blog/2026/08/19/release-notes/?ref=christophermoravec.com) It is being replaced by basic\_category and taxonomy, and all three run side by side until the September release. If anything you own searches Overture places by category, that is your deadline.
- [**On CGTrader, one in six uploaded 3D models is now AI-generated, and they bring in $1 of every $90.**](https://fortune.com/2026/08/20/ai-product-fatigue-online-marketplace-ecommerce/?ref=christophermoravec.com) AI models are 2.6% of units sold and 20% of buyers called them inadequate, which is a lot of catalog for very little revenue. Christopher here: I’ve been doing a lot of CAD design work with Fable and yeah, it’s kinda rough still.
- [**CEOs have gotten careful about saying AI did the layoffs.**](https://www.axios.com/2026/08/20/ceos-shift-messaging-around-ai-and-layoffs?ref=christophermoravec.com) Patreon cut 20% and Jack Conte said it was not because AI could replace people, and Microsoft said its 4,800 eliminated roles were "not being replaced by AI." Both added, in the same breath, that AI has changed how the work gets done.

# Epilogue

This week was a pretty typical workflow for me. I had a long conversation with Jaws about this; it even provided content outlines for me. But in the end, I only used the two images. I wrote the rest of it from my own brain, using my own experience. Then I used Jaws to help me edit. Then Holly edited.

One exception is the Metadata Generation Prompt. I asked Jaws to synthesize it, then I refined it.