Using Large Language Models and AI Agents to Create an Index Biblicus Scholasticus


Jeffrey C. Witt (Loyola University Maryland)
https://jeffreycwitt.com | jcwitt@loyola.edu


May 8, 2026, University of Towson, Towson, MD


Slide Deck: http://jeffreycwitt.com/slides/2026-05-08-cenacolo

https://creativecommons.org/licenses/by-nc-sa/4.0/

## Part 1: A GPS for Scholastic Texts

The problem with container based references

Material Container References: "1959 edition, volume 35, p. 123"

1. Container references are not sufficiently granular.

2. References are tethered to a specific physical volume or presentation.

3. References via the material container are detached from important context information.

In contrast, we need to think about our corpus as a giant pool of granular and identifiable fragments of text, that share hierarchical and non-hierarchical relationships with one another.

We used to use containers to find granular places

Now we use the abstract id of granular places, and let the places locate themselves along with all their containers

### A GPS coordinate system for our texts
## Part 2: Deploying AI Agents
What we need our AI agent to do. 1. request a paragraph fragment from the pool of data using its unique identifier 2. request a candidate bible verse fragment from the pool of data using its unique identifier 3. make a decision about whether the bible verse really is quoted within that paragraph 4. if present, identify the quoting fragment of the paragraph and mint a new unique identifier 5. if present, identify the quoted fragment of the bible verse (e.g. words 4-11) 6. link the quoting fragment to the quoted fragment.
```js { "name": "textLookup", "description": "Retrieves the text content for a given SCTA resource identifier.", "input_schema": { "type": "object", "properties": { "resourceId": { "type": "string", "description": "The SCTA resource identifier. Can be a full URL (e.g., 'http://scta.info/resource/rom1_1') or a short ID (e.g., 'rom1_1')." } }, "required": ["resourceId"] }, "output_schema": { "type": "object", "properties": { "resourceId": { "type": "string", "description": "The full SCTA resource ID" }, "text": { "type": "string", "description": "The text content of the resource" } } }, "endpoint": "http://localhost:3001/textLookup", "method": "POST" } ```
```js { "name": "textRangeIdentify", "description": "Finds the token position range of a quote fragment within a source text identified by SCTA resource ID.", "input_schema": { "type": "object", "properties": { "resourceId": { "type": "string", "description": "The SCTA resource identifier. Can be a full URL (e.g., 'http://scta.info/resource/rom1_1') or a short ID (e.g., 'rom1_1')." }, "quoteFragment": { "type": "string", "description": "The text fragment to locate within the source text." } }, "required": ["resourceId", "quoteFragment"] }, "output_schema": { "type": "object", "properties": { "resourceId": { "type": "string", "description": "The full SCTA resource ID" }, "quoteFragment": { "type": "string", "description": "The quote fragment searched for" }, "start": { "type": "number", "description": "Starting token position (1-indexed)" }, "end": { "type": "number", "description": "Ending token position (1-indexed)" }, "found": { "type": "boolean", "description": "Whether the quote fragment was found" } } }, "endpoint": "http://localhost:3001/textRangeIdentify", "method": "POST" } ```
## Part 3: Making the most of a machine actionable index

Conclusion

1: AI can be positively used in our field when our texts are prepared as data first.

2: The traditional publication paradigm is in conflict with the data-first paradigm required to use AI effectively.

C: If we want to reap the benefits of AI, there is an urgent need for scholarly editors and academic institutions to support and demand a new publication workflow.

## Contact me! * Interested in editing a scholastic text as machine actionable data? Contact me! * Interested in using the [Index Biblicus Scholasticus](https://lombardpress.org/index-scholasticus) for research? Contact me! * jcwitt@loyola.edu