← Back to Blog

State of AI Engineering 2024: Agents, MCP, and Open-Source Catches Up

2024 was the year AI engineering stopped being about building demos and started being about the hard engineering problems that production requires. The models got dramatically better (GPT-4o, Claude 3 Opus, Gemini 1.5 Pro with 1M token context). The agent frameworks matured from proof-of-concept to production-viable (LangGraph, CrewAI, AutoGen 0.4). And the open-source model ecosystem closed the capability gap with proprietary models substantially, changing the "build vs buy" calculation for many organizations.

The single most consequential infrastructure announcement of 2024 was Anthropic's Model Context Protocol (MCP) in November — a standard for connecting AI systems to tools and data sources. But before that, the year was defined by three core narratives: the agent reliability problem, the evaluation maturity push, and open-source LLMs becoming genuinely competitive.

Agents in 2024: From Demo to Production

2023 introduced the agent concept broadly. 2024 was the year we collectively learned how hard it is to make agents reliable in production. The core tension: agents are powerful because they can take multi-step actions autonomously — but every additional step is another opportunity for the agent to go wrong, and errors compound.

The failure modes that emerged from production experience:

  • Infinite loops: Agents cycling on a task without converging, burning tokens and time
  • Tool hallucination: Agents calling tools that don't exist or with incorrect parameters
  • Context window overflow: Long-running agents accumulating a context that exceeded limits, losing early reasoning
  • Premature termination: Agents declaring success before actually completing the task
  • Overconfident actions: Agents taking irreversible actions (deleting data, sending emails) when uncertain

The solutions that emerged were engineering patterns, not model improvements: structured output with Pydantic for tool calls, explicit stop conditions, human-in-the-loop checkpoints for irreversible actions, conversation summarization for long-running sessions, and aggressive logging of every agent step for debugging.

LangGraph: Stateful Agents with Explicit Control Flow

LangGraph (from the LangChain team) addressed the "agents as black boxes" problem by making agent logic explicit as a graph. Each node is a function; edges define the control flow; state is managed explicitly between nodes. This made agents debuggable, testable, and modifiable — three things that were very hard with the earlier "ReAct agent in a loop" pattern.

from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated, List
import operator

class AgentState(TypedDict):
    messages: Annotated[List[str], operator.add]
    data_retrieved: bool
    analysis_complete: bool

def retrieve_data(state: AgentState) -> AgentState:
    # Tool call: query the data warehouse
    results = query_snowflake(state["messages"][-1])
    return {"messages": [f"Retrieved: {results}"], "data_retrieved": True}

def analyze_data(state: AgentState) -> AgentState:
    # LLM call: analyze the retrieved data
    analysis = llm.invoke(state["messages"])
    return {"messages": [analysis.content], "analysis_complete": True}

def should_continue(state: AgentState) -> str:
    if not state["data_retrieved"]:
        return "retrieve"
    if not state["analysis_complete"]:
        return "analyze"
    return END

workflow = StateGraph(AgentState)
workflow.add_node("retrieve", retrieve_data)
workflow.add_node("analyze", analyze_data)
workflow.add_conditional_edges("retrieve", should_continue)
workflow.add_conditional_edges("analyze", should_continue)
workflow.set_entry_point("retrieve")

Claude 3 and the "Which Model for What" Problem

March 2024: Anthropic releases Claude 3 (Haiku, Sonnet, Opus). Opus benchmarked above GPT-4 on several measures; Haiku was competitively fast and cheap for high-volume use cases. GPT-4o (May 2024) brought GPT-4-class capability at GPT-3.5 pricing and significantly faster inference.

For the first time, AI engineers had to make real "which model for which task" decisions — not just "GPT-4 for everything important." The emerging framework:

Use Case2024 Model ChoiceReasoning
Complex reasoning, code generationClaude 3 Opus / GPT-4oBest quality, cost justified
High-volume classification / extractionClaude 3 Haiku / GPT-4o miniCost efficiency, fast latency
Long document processingClaude 3 (200K context)Context window advantage
Code completion (IDE)GitHub Copilot / ClaudeSpecialized fine-tuning
On-premise / data privacyLlama 3 70B / MistralNo data leaves your infra
Embeddingstext-embedding-3-largeCost, quality, standardization

Open-Source LLMs Close the Gap

Meta's Llama 3 (April 2024) was the moment open-source LLMs went from "good enough for internal chatbots" to "genuinely competitive with proprietary models for many production use cases." Llama 3 70B benchmarked comparably to GPT-3.5-turbo on coding and reasoning benchmarks — the model that powered ChatGPT for most of 2023.

The infrastructure for running open models had also matured. vLLM (efficient batched inference) made serving 70B models on A100 clusters practical and cost-effective. Ollama made local inference on developer MacBooks a one-line install. The quantization ecosystem (GGUF format, llama.cpp) let you run capable models on consumer hardware — 8GB VRAM for 7B models, 24GB for 13B.

For enterprises, the calculus shifted: if Llama 3 70B is competitive with GPT-3.5 for your specific task, and you can run it on your own infrastructure with no API costs and full data control, why pay per token? The answer depended on infrastructure cost and capability requirements, but the question became worth asking.

MCP: The USB-C Moment for AI Tools

November 2024: Anthropic announces the Model Context Protocol (MCP). MCP is a standard client-server protocol for connecting AI systems to external tools, databases, files, and APIs. The analogy used frequently: MCP is to AI tools what USB-C is to hardware peripherals — a standard connector that means any compatible AI client can talk to any compatible MCP server.

Before MCP, every AI application that needed to connect to external tools built its own integration. LangChain had one integration approach; the OpenAI function calling spec had another; custom agent frameworks had their own. MCP proposed a single protocol: servers expose tools and resources via a defined JSON-RPC interface; clients (LLM applications) discover and call them in a standard way.

Why MCP matters for data engineering: MCP servers can expose data warehouse query tools, dbt catalog resources, pipeline monitoring APIs, and data quality metrics — all in a standard way that any MCP-compatible AI client can discover and use. The vision: an AI assistant that can query Snowflake, check Airflow DAG status, run a data quality test, and interpret the results — without custom integration code for each system. The ecosystem was nascent in late 2024 but the adoption trajectory was clear.

AI Evaluation Becomes Real Engineering

The dirty secret of 2023 AI deployments: most teams shipped LLM applications without systematic evaluation. "We tried it and it seemed good" was the de facto evaluation process. By 2024, this was no longer acceptable, and the tooling to do better had matured.

LangSmith (LangChain's observability platform), Arize Phoenix (open-source), and MLflow 2.x (with LLM tracing) all became genuinely useful in 2024 for tracking prompt performance, identifying regression when model versions changed, and running automated evaluation suites. The RAGAS framework matured; "LLM as judge" evaluation became standard practice for non-trivial applications.

The pattern that emerged: pre-production evaluation (automated, with a curated test set representing the most important query types), post-deployment monitoring (sampling production traffic and evaluating outputs), and red-team testing (adversarial prompts, edge cases) as part of the release process.

2024 ended with AI engineering in a more mature, more serious state than it started. The models were better. The frameworks were production-ready. The evaluation culture was developing. And MCP had been announced, promising a next wave of tool-using agents that would define 2025's challenges. Those challenges turned out to be exactly what everyone expected — and simultaneously weirder than predicted.