This is probably the easiest transition. The roles are very similar. You just replace a call to a locally hosted model with a call to OpenAI. The rest is the same.
- Production ML systems - deployment, serving, monitoring
- Python, PyTorch/TensorFlow
- Docker, Kubernetes, CI/CD
- Model evaluation and metrics
- Cloud platforms (AWS, Azure, GCP)
- MLOps practices - MLflow, experiment tracking
- Infrastructure management
- Fine-tuning experience
- LLM APIs - OpenAI, Anthropic (you are used to hosting models yourself)
- Prompt engineering and prompt versioning
- RAG patterns - vector databases, retrieval strategies, chunking
- Agent patterns - LLMs with tools, orchestration loops, step limits
- LLM-specific evaluation - different from traditional ML metrics. Think about hallucination detection, answer quality, tool usage correctness
- Frameworks - LangChain, LangGraph, LlamaIndex
The task of an ML engineer is to integrate machine learning into the product. The task of an AI engineer is to integrate AI into the product. The difference: AI engineers typically use third-party models via APIs, while ML engineers own the model weights.
Everything you know about model serving, monitoring, CI/CD, and production reliability applies directly. ML engineers are more focused on engineering but would need to work on the evaluation side specific to LLMs.
- Start calling LLM APIs - OpenAI, Anthropic. Understand structured outputs, function calling
- Learn prompt engineering - iteration, testing, versioning (similar to experiment tracking you already know)
- Build a RAG system - vector DBs, embeddings (you know embeddings), retrieval + generation
- Build an agent - tool use, orchestration loops, multi-step evaluation
- Learn LLM-specific evaluation - LLM-as-judge, golden datasets for generation quality
The fastest transition of all roles. You already have the engineering foundation and production mindset. Focus on the LLM-specific patterns and you can be productive quickly.
You understand model behavior deeply. When an LLM is not performing well, you can reason about why - is it a prompt issue, context issue, or model limitation? You also know how to serve models locally when API-based solutions are not suitable (privacy, latency, cost). This is valuable for the subset of roles that need self-hosted LLMs.