Movie Rating Agent

AI-powered movie greatness scoring (0-100)

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

Agent workflow: Start fans out to 3 scorers, results merge through ProsConsRollup into WeightedScoreRollup

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.

Sequence diagram: POST /api/jobs returns 202, queue triggers the agent, client polls GET /api/jobs/{jobId} until Completed

Scoring Dimensions

ScorerWhat it evaluatesWeight
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 your input to a canonical movie title and looks up the 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

Health Probes