Why Python was first
Part of Java is Coming for Python’s Lunch - The Rise of JVM AI Agents. Slides 5–17.
Why Python was first slide 5 ↗
and why Java will last
AI started in the lab, and the lab spoke Python slide 6 ↗
research & quick prototyping
numpy
pandas
scikit-learn
Researchers joined companies and brought Python with them slide 7 ↗
research lab
companies
LangChain
LangGraph
Python was the glue, the heavy lifting always ran in C and C++ slide 8 ↗
the API you call
the code that actually does the math
LLMs moved the heavy lifting into the datacenter slide 9 ↗
your application
HTTPS
thousands of GPUs
What travels over the wire is JSON and JSON Schema slide 10 ↗
type safety
{
"name": "create_invoice",
"parameters": {
"type": "object",
"properties": {
"customer": { "type": "string" },
"total": { "type": "number" },
"dueDate": { "type": "string", "format": "date" }
},
"required": ["customer", "total", "dueDate"]
}
}
An agent is mostly concurrent network IO, and the JVM is built for it slide 11 ↗
performance
your agent
JSON
LLM API
JSON
tools & services
Jackson turns a record into the schema and the answer back into a record slide 12 ↗
type safety
Java
Javarecord Invoice(String customer, BigDecimal total, LocalDate dueDate) {}
JsonSchema schema = schemaGenerator.generateSchema(Invoice.class);
Invoice invoice = mapper.readValue(llmResponse, Invoice.class);
The context an agent needs already lives in JVM systems slide 13 ↗
context
the data, the domain model, the business rules
banking
insurance
logistics
manufacturing
healthcare
Put the agent inside the system, not next to it slide 14 ↗
integration
an MCP server and a Python agent per legacy system
the agent lives in the Java project you already have
A production agent needs the same safety net as any other service slide 15 ↗
reliabilityobservability
your agent
retries
security
OpenTelemetry
Prometheus
Grafana
The big JVM vendors are building best-in-class agent frameworks slide 16 ↗
Spring AI
Koog
Most AI projects fail because they automate the wrong thing slide 17 ↗
replacing human interaction
boring, repetitive, time-consuming processes