AI-Powered Teacher Assistant for Core Curriculum Alignment in K-5 Education

espark · Education · 2024 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: K-5 education technology

eSpark needed to help teachers align its supplemental K-5 reading and math activities to district-mandated core curricula, while making the workflow fast enough for overwhelmed teachers and credible enough for administrators who wanted core-curriculum fidelity.

Constraints:

Architecture

eSpark built a teacher assistant that matches a teacher's current core-curriculum lesson to relevant eSpark assignments. The system moved away from a chatbot-first interface toward a lesson dropdown: the teacher selects the lesson they are on, a core-curriculum retrieval tool pulls that lesson into the prompt, an embeddings/RAG tool retrieves semantically relevant eSpark activities, and the LLM recommends a small set of assignments plus AI-generated follow-up questions. BrainTrust provides prompt/version tooling, tool-call traces, datasets, code-based and human scoring, and a go/no-go eval loop before new book curricula or model changes reach production.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  teacher-lesson-selector["teacher-lesson-selector"] --> core-curriculum-retriever["core-curriculum-retriever"]
  teacher-lesson-selector["teacher-lesson-selector"] --> assignment-recommendation-agent["assignment-recommendation-agent"]
  core-curriculum-retriever["core-curriculum-retriever"] --> assignment-recommendation-agent["assignment-recommendation-agent"]
  metadata-enrichment-pipeline["metadata-enrichment-pipeline"] --> espark-activity-embedding-index["espark-activity-embedding-index"]
  espark-activity-embedding-index["espark-activity-embedding-index"] --> assignment-recommendation-agent["assignment-recommendation-agent"]
  assignment-recommendation-agent["assignment-recommendation-agent"] --> follow-up-question-generator["follow-up-question-generator"]
  assignment-recommendation-agent["assignment-recommendation-agent"] --> braintrust-eval-observability["braintrust-eval-observability"]
  product-learning-design-review["product-learning-design-review"] --> braintrust-eval-observability["braintrust-eval-observability"]
  product-learning-design-review["product-learning-design-review"] --> metadata-enrichment-pipeline["metadata-enrichment-pipeline"]
  assignment-recommendation-agent["assignment-recommendation-agent"] --> support-routing-layer["support-routing-layer"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
teacher-lesson-selector Dropdown-style UI where teachers choose the lesson they are currently teaching from their core curriculum. core-curriculum-retriever, assignment-recommendation-agent
core-curriculum-retriever Retrieves the selected lesson or scope-and-sequence chunk directly rather than semantically searching all curricula. teacher-lesson-selector, assignment-recommendation-agent
espark-activity-embedding-index Pinecone/vector database over enriched eSpark assignment metadata, learning objectives, grade levels, topics, subtopics, domains, and standards. assignment-recommendation-agent, metadata-enrichment-pipeline
metadata-enrichment-pipeline Asynchronous LLM-assisted process that turns sparse activity metadata into richer embedding content. espark-activity-embedding-index
assignment-recommendation-agent LLM/tool-calling prompt that combines the lesson context and retrieved activities into recommendations and follow-up questions. teacher-lesson-selector, core-curriculum-retriever, espark-activity-embedding-index, follow-up-question-generator, braintrust-eval-observability
follow-up-question-generator Prompt logic that offers teacher-friendly next questions such as scaffolds, mini-lessons, and hands-on extensions. assignment-recommendation-agent
braintrust-eval-observability Prompt versioning, tool-call tracing, datasets, scoring, human review, and production go/no-go workflow. assignment-recommendation-agent, product-learning-design-review
product-learning-design-review Product managers, learning designers, former teachers, and human scorers who create datasets and judge recommendation quality. braintrust-eval-observability, metadata-enrichment-pipeline
support-routing-layer Knowledge and Intercom handoff for teachers who use open text to ask customer-support questions. assignment-recommendation-agent

Data flow

A teacher selects their core-curriculum lesson rather than typing an open prompt. The assistant retrieves that exact lesson text, which fits in the prompt window, and calls an embeddings database over enriched eSpark activity metadata. The LLM combines the current lesson with retrieved activities to recommend the best two or three assignments and generate three follow-up question suggestions. Interactions, prompts, tool calls, Pinecone returns, traces, and scores are logged in BrainTrust so product, learning-design, and engineering staff can evaluate relevance, recall, breadth, JSON shape, and human teacher impression before production rollout.

4 supporting quotes
“teachers really only work on one lesson at a time and we learned that one lesson can easily fit in the in pro in the token window”transcript, stated
“One tool is your embeddings database for your activities. Yeah. Another tool is something that allows it to retrieve the lesson”transcript, stated
“they basically select their lesson. They always know what lesson they're on like whatever it's called”transcript, stated
“here's what the prompt's doing, here's what the tool call's doing, here's what we got back from Pinecone.”transcript, stated

Why this architecture

eSpark settled on tool-calling RAG because core curricula and eSpark's activity catalog were too large and dense to stuff into prompts. The selected lesson could be retrieved directly, while eSpark assignments needed semantic search over richer embeddings. The UI moved away from open chat because teachers did not know what to ask and needed planning speed. BrainTrust became necessary because product and learning-design teams needed prompt/version control, traces, non-engineer scoring, and repeatable evals across many curricula before production changes.

4 supporting quotes
“the core curriculum data is too dense and too un it's just it was a mess. So we needed to figure out a way to chunk it”transcript, stated
“our content is much too vast and also if you just jam it into the prompt, you're paying for all the tokens”transcript, stated
“it took us four or five teacher interviews to realize open text is not the way for for this to be super easy.”transcript, stated
“BrainTrust is essentially like running the eval loop in BrainTrust is our go no go for bringing stuff into production”transcript, stated

Models used: OpenAI APIs · OpenAI Assistants API · LLMs · Pinecone · BrainTrust · Python scoring · LLM-based scores

Scale

Alternatives considered (roads not taken)

Manual alignment by curriculum provider

Rejected because: Hundreds of curricula, grade levels, and district-created sequences made one-provider-at-a-time mapping unsustainable for a small team.

“you wouldn't be able to like human manually do this in any sort of a sustainable way because you have hundreds of and for each grade level”transcript, stated

Open-text chatbot as the main teacher interface

Rejected because: Teachers did not know what to type and did not have time for a conversational planning workflow.

“what are you going to type in? And they were like, I don't know what I'm supposed to type in.”transcript, stated
“teachers don't have time to chat. Like they're planning.”transcript, stated

Stuffing all curriculum and activity data directly into prompts

Rejected because: The data was too dense and the activity catalog too vast, making token cost and context quality problematic.

“core curriculum data is too dense and too un it's just it was a mess.”transcript, stated
“if you just jam it into the prompt, you're paying for all the tokens and you all this want to be mindful”transcript, stated

Same semantic-search approach for curricula and eSpark activities

Rejected because: The selected core lesson could be retrieved directly, while eSpark activity matching required richer semantic embeddings.

“we thought we needed the same approach for both sides, but it turns out different approaches for each side depending on the need of the prompt.”transcript, stated

Patterns

rag-retrieval (retrieval)

The teacher assistant augments prompts with the selected core lesson and retrieved eSpark activities rather than relying on prompt-only generation.

“we had all this plethora of core curricula information, right? And then we also had all of the tons and tons of eSpark content.”transcript, stated
“Rag is retrieval augmented generation. So when an end user enters a prompt”transcript, stated

tool-use-orchestration (agent architecture)

The LLM decides when to call an assignment-retrieval tool and receives tool outputs describing relevant activities.

“we're talking about rag, but really it's like tool calling, right? Where you're handing over the keys to the prompt to decide does it call the tool or not?”transcript, stated
“We had it on auto and we had to make sure that we so we had it hooked up so it was open text so it was like I want to search for long division we would assume they would type in long division and then understanding like how long division as an input goes in goes into the prompt and then the prompt t”transcript, stated

retrieval-ranking (retrieval)

The team enriched metadata and tuned embeddings so retrieval could rank the best few eSpark activities instead of dumping many weak matches.

“We wanted to give teachers our best two or three results, right?”transcript, stated
“we wanted to do is offload that from the prompt and do that asynchronously and then depend much more on embeddings and semantic search”transcript, stated

eval-driven-development (evaluation)

BrainTrust datasets, traces, code scores, human scores, and go/no-go loops gate curriculum publication and model changes.

“we go BrainTrust is essentially like running the eval loop in BrainTrust is our go no go for bringing stuff into production”transcript, stated
“we've been doing some Python scoring with our evals to see what's the precision how is that going along with what are some of the other scoring”transcript, stated

observability-tracing (operations)

BrainTrust traces make the non-deterministic prompt/tool/RAG behavior inspectable when a recommendation fails.

“the visualization of the traces and being able to debug. Like one of the hardest things about the previous two years of building stuff before BrainTrust”transcript, stated
“Whenever anybody interacts with your AI tool, it gets logged as a trace.”transcript, stated

Tradeoffs

Use a lesson dropdown rather than open chat for the primary workflow.

Chose Guided lesson selection over Conversational blank text box.

Rationale: Teachers know what lesson they are on and need fewer clicks, not a prompt-writing task during lesson planning.

“teachers don't know what's possible, don't know what to ask.”transcript, stated
“they basically select their lesson. They always know what lesson they're on”transcript, stated

Use different retrieval approaches for each data source.

Chose Direct lesson retrieval plus semantic activity search over One RAG pattern for both core curricula and eSpark content.

Rationale: The selected lesson fits in context and does not require semantic search, while activity matching needs enriched embeddings.

“we didn't need semantic search there at all. It that was just much more basic rag to your point of just grab this chunk of text”transcript, stated
“One tool is your embeddings database for your activities. Yeah. Another tool is something that allows it to retrieve the lesson”transcript, stated

Limit recommendation count.

Chose Best two or three assignments, max five in eval framing over Returning all potentially relevant assignments.

Rationale: Teachers need actionable recommendations, and too many options are overwhelming even if many matches are technically valid.

“We didn't want to give teachers 10 or 15 or 20 results. We wanted to give teachers our best two or three results”transcript, stated
“there's a maximum of five.”transcript, stated

Gotchas (what bit them)

The chatbot-first interface did not fit teacher planning behavior.

Root cause: The team projected their own ChatGPT usage onto teachers, but teachers were time-constrained and anxious about typing the right thing.

Resolution: Replace the blank text box with lesson selection, recommended assignments, and suggested follow-up questions.

3 supporting quotes
“we went 100% with this is going to be a conversational thing.”transcript, stated
“Like the empty text box that we thought was a great answer, the teachers just had this trepidation like, how do I ask it the right way?”transcript, stated
“we basically have a simple drop-down right now and it like you choose your lesson that you're on”transcript, stated

Sparse activity metadata made embeddings retrieval poor.

Root cause: The original assignment table had titles, short descriptions, URLs, grade levels, and standards, but not enough semantic context for retrieval.

Resolution: Use LLM-assisted asynchronous enrichment to add learning objectives, grade level, keywords, topic, subtopic, and domain before embedding.

“we had the title of the activity like a short human written description of maybe like 80 characters, the URL which that's not very useful”transcript, stated
“we just worked on how can we enhance the small amount of data we have to imbue it with a lot more context and a lot more data”transcript, stated

Expected-answer datasets were expensive and imperfect.

Root cause: A single curriculum lesson can have many learning objectives and many acceptable assignments, so 100% complete golden sets are unrealistic.

Resolution: Combine code scores with human teacher-impression and breadth scoring to calibrate realistic thresholds.

“we still haven't found a way to like really quickly create these data sets because we're trying to match hundreds of assignments”transcript, stated
“we started doing these like human teacher impression score. So if a teacher is looking at this at a glance are they going to like it?”transcript, stated

Teachers used open text for customer-support questions.

Root cause: A general ask-anything box invited support requests outside the planned assignment-recommendation use case.

Resolution: Add basic support knowledge and route users toward Intercom when the assistant receives support-style questions.

“teachers are using the open text because there's a separate page that you can just ask anything”transcript, stated
“So we were scrambling when we first started this come through in the logs, we're scrambling and having it giving it a little bit of knowledge to answer some basic questions and having it divert over to our Intercom customer support.

I was going to say it sounds like you need Finn.”transcript, stated

Evaluation

Evaluation combines BrainTrust traces, prompt/version management, code-based precision/recall/JSON scores, human teacher-impression and breadth scores, learning-designer review, and go/no-go loops before curriculum publication or model switches.

Metrics: precision of recommended assignments against expected matches · recall or coverage across learning objectives · JSON output correctness · human teacher impression score · breadth of recommendations · trace debugging of RAG and tool calls · thumbs-up/thumbs-down teacher feedback

4 supporting quotes
“doing matching and so we've been doing some Python scoring with our evals to see what's the precision”transcript, stated
“We did the recall scoring. We have a JSON score to make sure you know that the output is correct”transcript, stated
“the human scoring is like the breadth of recommendations because these curriculum have so many learning objectives”transcript, stated
“We do have a classic sort of thumbs up, thumbs down in the flow and we're watching that like a hawk.”transcript, stated

Outcomes

The source reports tens of thousands of activities over 15 years, hundreds of curricula, thousands of teachers expected daily, and recommendation/eval limits shaped by lessons with up to 50 plausible matching assignments.

3 supporting quotes
“it's just made life so much less stressful because otherwise when you same thing goes if you want to switch a model.”transcript, stated
“the number one bucket we want to have the teacher assistant do better is work with student data better”transcript, stated
“what we've done now is helped this teacher. They have their Eastpark center that they can do those assignments on”transcript, implied