Skip to content
Back to Blog
1 min read

Enterprise AI Lessons: What We Learned in 2023

I wrote “Enterprise AI Lessons: What We Learned in 2023” to share practical, production-minded guidance on this topic.

Working with teams across finance, healthcare and retail this year, the same practical lessons come up: start with the business question, instrument for measurement before you ship, and treat governance and observability as first-class requirements. The top ten lessons below are grounded in real deployments, not theory.

The Top 10 Lessons

The Top 10 Lessons

from dataclasses import dataclass
from typing import List

@dataclass
class EnterpriseLesson:
    lesson: str
    context: str
    what_worked: List[str]
    what_failed: List[str]
    recommendation: str

enterprise_lessons = [
    EnterpriseLesson(
        lesson="Start with the business problem, not the technology",
        context="Many organizations started with 'We need to use GPT-4' instead of 'We need to reduce customer wait times'",
        what_worked=[
            "Working backwards from business KPIs",
            "Involving business stakeholders from day one",
            "Framing AI as a tool, not a goal"
        ],
        what_failed=[
            "Technology-first approaches",
            "Solutions looking for problems",
            "Isolated R&D without business alignment"
        ],
        recommendation="Always start with a measurable business outcome"
    ),
    EnterpriseLesson(
        lesson="Human oversight is not optional",
        context="Early deployments that removed humans from the loop faced quality and trust issues",
        what_worked=[
            "Human-in-the-loop for high-stakes decisions",
            "Escalation paths to human agents",
            "Regular quality audits"
        ],
        what_failed=[
            "Fully autonomous customer service bots",
            "AI making final decisions on complex cases",
            "No feedback mechanism for corrections"
        ],
        recommendation="Design for human-AI collaboration, not replacement"
    ),
    EnterpriseLesson(
        lesson="Prompt engineering is a real skill",
        context="Same model produced vastly different results based on prompt quality",
        what_worked=[
            "Dedicated prompt engineering resources",
            "Systematic prompt testing and versioning",
            "Sharing prompt libraries across teams"
        ],
        what_failed=[
            "Treating prompts as one-time setup",
            "No version control for prompts",
            "Underestimating prompt complexity"
        ],
        recommendation="Invest in prompt engineering as a core competency"
    ),
    EnterpriseLesson(
        lesson="Data quality determines AI quality",
        context="Garbage in, garbage out applies strongly to AI",
        what_worked=[
            "Data quality initiatives before AI projects",
            "Clear data governance frameworks",
            "Continuous data monitoring"
        ],
        what_failed=[
            "Assuming existing data was 'good enough'",
            "No data validation in AI pipelines",
            "Ignoring data freshness requirements"
        ],
        recommendation="Treat data quality as a prerequisite, not an afterthought"
    ),
    EnterpriseLesson(
        lesson="Change management is half the battle",
        context="Technical success meant nothing without user adoption",
        what_worked=[
            "Executive communication campaigns",
            "Training programs for all users",
            "Champions network in each department"
        ],
        what_failed=[
            "Building without user input",
            "Deploying without training",
            "Ignoring resistance and concerns"
        ],
        recommendation="Invest equally in technology and change management"
    )
]

Cost Management Insights

cost_lessons = {
    "what_surprised_us": [
        "API costs can explode with success",
        "Long prompts are expensive",
        "Development costs often exceed API costs initially",
        "Hidden costs in data preparation"
    ],
    "cost_optimization_strategies": {
        "prompt_optimization": {
            "impact": "20-40% cost reduction",
            "techniques": [
                "Shorter, more focused prompts",
                "Remove redundant instructions",
                "Use system prompts effectively"
            ]
        },
        "model_tiering": {
            "impact": "50-70% cost reduction",
            "techniques": [
                "GPT-3.5 for simple tasks",
                "GPT-4 only for complex reasoning",
                "Open source for high-volume, simple tasks"
            ]
        },
        "caching": {
            "impact": "30-60% cost reduction",
            "techniques": [
                "Semantic caching for similar queries",
                "Response caching for repeated questions",
                "Embedding caching"
            ]
        },
        "batching": {
            "impact": "10-20% cost reduction",
            "techniques": [
                "Batch similar requests",
                "Asynchronous processing",
                "Off-peak processing"
            ]
        }
    },
    "budget_planning_tips": [
        "Plan for 3x initial estimates",
        "Monitor costs daily initially",
        "Set up alerts at 50%, 75%, 90% of budget",
        "Review and optimize monthly"
    ]
}

Security and Compliance Lessons

security_lessons = {
    "incidents_observed": [
        "Prompt injection attempts",
        "Data leakage through verbose outputs",
        "Model jailbreaking attempts",
        "PII exposure in logs"
    ],
    "effective_controls": {
        "input_validation": [
            "Content filtering on inputs",
            "Input length limits",
            "Prompt injection detection"
        ],
        "output_filtering": [
            "PII detection and redaction",
            "Content safety filters",
            "Response length limits"
        ],
        "access_control": [
            "Role-based access to AI services",
            "API key rotation",
            "Usage auditing"
        ],
        "data_protection": [
            "No training on customer data (Azure OpenAI)",
            "Data residency compliance",
            "Encryption at rest and in transit"
        ]
    },
    "compliance_considerations": {
        "gdpr": "Right to explanation for AI decisions",
        "industry_specific": "Healthcare: HIPAA, Finance: SOX",
        "ai_regulations": "EU AI Act preparation"
    }
}

Integration Lessons

integration_lessons = {
    "successful_integrations": {
        "crm_integration": {
            "pattern": "AI augments existing CRM workflows",
            "example": "Salesforce + GPT for email drafting",
            "success_factors": ["Native integration", "User stays in familiar tool"]
        },
        "document_processing": {
            "pattern": "AI extracts, humans verify",
            "example": "Invoice processing with human review",
            "success_factors": ["Clear handoff points", "Confidence scoring"]
        },
        "knowledge_base": {
            "pattern": "AI searches, synthesizes, cites",
            "example": "RAG over internal documentation",
            "success_factors": ["Good chunking", "Source attribution"]
        }
    },
    "failed_integrations": {
        "complete_automation": {
            "problem": "Removing humans entirely from complex processes",
            "lesson": "AI assists, doesn't replace for complex tasks"
        },
        "real_time_requirements": {
            "problem": "Expecting sub-second responses for all queries",
            "lesson": "Design for async where possible"
        },
        "complex_workflows": {
            "problem": "AI managing multi-step processes without checkpoints",
            "lesson": "Break into smaller, verifiable steps"
        }
    }
}

Organizational Lessons

organizational_lessons = {
    "team_structure": {
        "what_worked": "Cross-functional AI teams with business representation",
        "what_failed": "Siloed AI teams disconnected from business"
    },
    "skill_development": {
        "priority_skills": [
            "Prompt engineering",
            "AI integration patterns",
            "Responsible AI practices",
            "Cost optimization"
        ],
        "training_approach": "Hands-on workshops > theoretical training"
    },
    "governance": {
        "essentials": [
            "AI use case approval process",
            "Risk assessment framework",
            "Quality monitoring requirements",
            "Incident response procedures"
        ]
    },
    "culture": {
        "enablers": [
            "Psychological safety to experiment",
            "Tolerance for iteration",
            "Data-driven decision making"
        ],
        "blockers": [
            "Fear of job displacement",
            "Perfectionism preventing deployment",
            "Siloed thinking"
        ]
    }
}

Tomorrow, we’ll dive into AI governance frameworks for the enterprise!\n\n## Takeaways\n\nAdd a concise, personal takeaway and recommended next steps here.\n

Michael John Peña

Michael John Peña

Senior Data Engineer based in Sydney. Writing about data, cloud, and technology.