How It Works
The Movie Rating Agent evaluates films using a fan-out/fan-in workflow powered by the Microsoft.Extensions.AI Agent Framework. When you submit a movie title, the agent resolves it to a canonical title with release year, then runs three independent LLM-powered scorers in parallel:
Agent Workflow
Job Lifecycle
Jobs use an async HTTP 202 Accepted pattern. The client submits a movie, receives a job ID immediately, and polls until the agent finishes. The agent runs on a queue trigger โ decoupled from the HTTP request โ with all state persisted in Blob Storage.
Scoring Dimensions
| Scorer | What it evaluates | Weight |
|---|---|---|
| PopularityScorer | Box office, audience reach, streaming popularity, mainstream recognition | 30% |
| ArtisticValueScorer | Cinematography, direction, acting, screenplay, awards | 40% |
| IconicnessScorer | Memorable quotes, iconic scenes, cultural impact, influence on cinema | 30% |
The Pipeline
- Title Resolution โ Normalizes input to a canonical movie title with release year
- Fan-out โ Three scorers run in parallel, each returning a 0-100 score plus pros and cons
- Fan-in Barrier โ Waits for all three scorers to complete
- ProsConsRollup โ LLM merges, deduplicates, and identifies conflicts across scorer outputs
- WeightedScoreRollup โ Pure computation: 30/40/30 weighted average produces the final score
Tech Stack
.NET 10 Agent Framework Microsoft Foundry gpt-5.4 Azure Functions Azure Static Web Apps Azure Storage OpenTelemetry .NET Aspire Bicep IaC