AI Implementation Consultant: Job Description

Most job descriptions I read for AI implementation consultants are either a wishlist of every buzzword from the last three years, or a rebadged data scientist role that forgets production exists. Neither one matches what the job actually is. Having spent the last few years moving AI systems from "cool demo" to "runs unattended on Monday morning," I want to write the description I wish more companies would use.
This is what an AI implementation consultant actually does, what they should be accountable for, and a template you can lift directly if you are hiring one.
What the role actually is
An AI implementation consultant is the person who takes an AI idea from a whiteboard through a shipped, monitored, secure system that non-engineers can trust. They are half solutions architect, half applied ML engineer, half product manager, and (yes, that is more than a whole) fully accountable for the outcome. The role is different from a data scientist (who explores and models), an ML engineer (who trains and serves models), and a generalist software consultant (who does not usually own model behavior).
In practice, I split the job into six responsibilities:
- Discovery and workflow design
- Architecture and stack selection
- LLM integration and prompt/context engineering
- Evaluation, guardrails, and observability
- Security, compliance, and cost control
- Handoff, enablement, and post-launch iteration
If a candidate cannot speak fluently to all six, they are not an implementation consultant. They are a specialist in one slice, which is fine, but you will need to hire around them.
Discovery: turning "we want AI" into a shippable scope
The first two weeks of any engagement are the most valuable and the most abused. A good discovery process ends with a written scope that a CFO would sign, not a Notion doc full of ambitions.
What I actually do in discovery:
- Shadow the workflow. Sit with the humans doing the work today. Time them. Capture the edge cases they handle in their head. On a support automation project, I found that 22% of tickets required a lookup in a system nobody mentioned in the kickoff. That single observation reshaped the whole architecture.
- Quantify the current cost. Hours per month, dollars per year, SLA hits and misses. If you cannot express the pain in a number, you cannot express the ROI later.
- Identify the smallest useful slice. Not the MVP. The Minimum Useful Slice: the narrowest thing that, if it worked, would save real time or unlock real revenue.
- Write a one-page decision doc. Problem, proposed solution, non-goals, success metric, budget, timeline, risks. Non-goals are the most important line on the page.
A good consultant will sometimes tell you not to build anything. That is a feature, not a bug. I have talked clients out of AI projects that would have cost more to run than they would save. That conversation is why they hire me for the next one.
Architecture and stack selection
The stack choices you make in week two lock in six months of pain or ease. The consultant owns these choices and, more importantly, the justification for them.
Here is the decision matrix I use, simplified:
| Concern | Default choice | When I deviate |
|---|---|---|
| LLM provider | Claude (Sonnet for most, Opus for complex reasoning) | OpenAI for structured output at scale, local Llama/Qwen via Ollama when data cannot leave |
| Orchestration | Plain Python or Node with a thin agent loop | LangGraph when the graph has real branching + state |
| Vector store | pgvector on Postgres | Dedicated store (Qdrant, Weaviate) only above ~10M vectors |
| Retrieval | Hybrid: BM25 + dense, fused with RRF | Pure dense only for tiny, semantically clean corpora |
| Compute | AWS Lambda + EventBridge | Fargate/ECS when cold starts or 15-min limits bite |
| Frontend | Next.js on Vercel | Only when a UI is actually needed (often it isn't) |
| Data | Supabase + Postgres | Enterprise Postgres or Snowflake when required by IT |
The consultant should be able to defend every row of that table against a skeptical CTO. Not with "it's popular" but with a real trade-off: cost per 1K tokens, latency at p95, operational burden, portability if the vendor changes pricing.
Serverless is the default I keep coming back to. For an autonomous content system I built (BizFlowAI ContentStudio), the entire pipeline runs on scheduled Lambdas triggered by EventBridge, with state in Postgres. It scales to zero when idle, which matters when you are billing a client for a system that fires four times a day, not 24/7.
LLM integration: prompt and context engineering as real work
This is where junior consultants embarrass themselves and senior ones earn their fee. Prompting is not "writing a good sentence." It is engineering context under a token budget, with retries, structured outputs, and failure modes you can actually catch.
What I expect an implementation consultant to own:
- System prompt architecture. A layered system prompt with role, constraints, tools, output schema, and refusal rules. Versioned in git, not pasted into a console.
- Structured output. JSON schema enforcement (tool calls, response_format, or a validator with retries). Free-text responses have no place in a production pipeline that hands data to another system.
- Context assembly. Not just RAG. Deciding what to include, what to summarize, what to link to, and what to leave out. On a legal-doc RAG system I built, cutting retrieved context from top-20 to top-6 (with reranking) improved answer accuracy and cut token costs by 58%.
- Tool use and function calling. Deterministic tools for anything that must be right (dates, math, database lookups). Let the LLM decide when to call, not what the answer is.
- Failure handling. Timeouts, rate-limit backoff, model fallback (e.g., Sonnet fails over to Haiku for a degraded but available response), and a dead-letter queue for anything that could not be handled.
A quick sketch of the kind of loop I write for a production agent:
def run_agent(task, max_steps=8):
state = {"task": task, "history": [], "budget_usd": 0.50}
for step in range(max_steps):
plan = call_llm(system=SYS, messages=state["history"], tools=TOOLS)
state["budget_usd"] += plan.cost
if state["budget_usd"] > 0.50:
return escalate_to_human(state, reason="budget")
if plan.tool_call:
result = execute_tool(plan.tool_call)
state["history"].append({"tool": plan.tool_call, "result": result})
else:
return finalize(plan.answer, state)
return escalate_to_human(state, reason="max_steps")
Notice what is not in that loop: infinite retries, silent failures, unbounded costs, blind trust in the model. Those are the failure modes I see in prototypes that never make it to production.
Evaluation, guardrails, and observability
If you cannot measure it, you cannot ship it. This is the section most job descriptions skip and it is the section that separates a consultant who will get you into production from one who will hand you a demo that regresses in month two.
The three things I put in place on every engagement:
- An eval set. 50 to 500 real examples with expected outputs, kept in version control. Every prompt change, every model change, every retrieval change is run against it. A pass rate below the last release blocks the deploy.
- Guardrails. Input validation (PII scrubbing, jailbreak detection where relevant), output validation (schema, allowed values, business rules), and human-in-the-loop for anything above a confidence threshold or a value threshold.
- Observability. Every LLM call logged with prompt, response, tokens, latency, cost, and a trace ID that links to the business event. I use a combination of Langfuse or a lightweight Postgres logging table depending on scale. When something goes wrong at 2am on a Tuesday, you need to be able to answer "what did the model see and what did it say" in under five minutes.
Anthropic's own guidance on building effective agents is worth reading here. The pattern they push (simple, composable, evaluable) is the same one that survives contact with production.
Security, compliance, and cost control
The consultant is accountable for making sure the system does not leak data, does not blow the budget, and does not create a compliance incident.
Concretely, that means:
- Data flow map. Which vendors see which data. Is customer PII crossing a boundary it should not? For a healthcare-adjacent client, this analysis alone killed one candidate LLM provider and shaped the whole architecture around a self-hosted model.
- Secrets management. No API keys in code, no keys in environment files committed to git. AWS Secrets Manager, Vercel encrypted env, or the platform equivalent.
- Rate and cost limits. Per-user, per-tenant, per-endpoint. A single runaway agent loop can burn $500 in an hour on the wrong model. I set hard budget caps at the code level, not just the billing dashboard.
- Audit trail. Who did what, when, with what model, at what cost. Required for SOC 2, useful for everyone else.
- DPA and vendor review. Data processing agreements with every AI provider, retention settings turned to the minimum, zero-retention modes enabled where offered.
Cost control deserves its own note. A well-designed LLM system should cost roughly what the humans it replaces cost, ideally 10 to 20% of that. If your unit economics do not work at model prices today, they will not work at scale.
Handoff and enablement
The engagement is not done when the system works. It is done when the client's team can run, debug, and extend it without me.
My handoff checklist:
- Architecture doc (one page, current, with a diagram that reflects reality)
- Runbook for the three most likely failure modes
- Eval harness with instructions for running it locally and in CI
- Dashboard: cost per day, calls per day, error rate, p95 latency, human-escalation rate
- A 60-minute walkthrough recorded, plus a live session with Q&A
- 30-day follow-up window for bugs the client did not catch during UAT
If a consultant leaves and nobody on the client team can explain how the system works, that consultant failed, no matter how good the system is.
The job description template you can steal
Here is the description I would post if I were hiring an AI implementation consultant into a well-funded scale-up today.
Role: Senior AI Implementation Consultant (Contract or Fractional)
Mission: Take our highest-value AI use cases from concept to production. Own the outcome end to end.
You will:
- Run discovery workshops and produce written scopes with success metrics
- Design and build LLM-powered systems (agents, RAG, automation pipelines) on our chosen cloud
- Choose the stack: model, orchestration, retrieval, storage, compute, and defend the choice
- Write production code (Python or TypeScript) and ship it, not just diagrams
- Build eval sets, guardrails, and observability from day one
- Own cost, latency, and reliability targets (define them, then hit them)
- Hand off with documentation, runbooks, and a team that can operate the system
You should have:
- 5+ years shipping production software, 2+ years shipping LLM systems in production
- Deep familiarity with at least one major LLM API (Claude, OpenAI) and one local option (Ollama, vLLM)
- Real experience with RAG: chunking, hybrid retrieval, reranking, pgvector or equivalent
- Cloud fluency: AWS or GCP or Azure, serverless patterns, event-driven design
- Strong opinions about evaluation and observability, backed by war stories
- The ability to say no to a bad idea and propose a better one
Deliverables in first 90 days:
- Week 1-2: Discovery doc, scoped MVP, signed-off success metrics
- Week 3-8: Working system in staging, eval set at v1, cost model validated
- Week 9-12: Production deploy, monitoring live, team trained, handoff complete
Compensation: Day rate or fixed-fee engagement, based on scope. Fractional (2 to 3 days per week) or full engagement.
What I'd do if I were hiring
Two things.
Anchor the interview on a real system, not trivia. Ask the candidate to walk through an AI system they shipped, end to end: the scope, the stack choice, the eval approach, the failure modes, the cost per transaction, what broke in production, what they would do differently. Twenty minutes of that tells you more than any take-home.
Insist on a paid trial scope. Two weeks, a real problem, a written deliverable at the end (scope + architecture + eval plan). If they cannot produce that in two weeks, they cannot produce it in six months. If they can, you have already de-risked the whole engagement.
If you are hiring for this role or thinking about starting one, I am happy to compare notes. You can reach me at lazar-milicevic.com/#contact, or read more of how I approach shipping AI systems in the rest of the blog.
Frequently asked questions
What does an AI implementation consultant actually do?
An AI implementation consultant takes an AI idea from whiteboard to a shipped, monitored, secure system that non-engineers can trust. In my work, the role covers six responsibilities: discovery and workflow design, architecture and stack selection, LLM integration and prompt/context engineering, evaluation and guardrails, security and cost control, and handoff plus post-launch iteration. It's distinct from a data scientist (who explores and models) or an ML engineer (who trains and serves models) because the consultant owns the full outcome, not just a slice. If someone can only speak fluently to one of those six areas, they're a specialist, not an implementation consultant.
How should discovery work on an AI implementation project?
Discovery should end with a one-page decision doc a CFO would sign, covering the problem, proposed solution, non-goals, success metric, budget, timeline, and risks. In practice I shadow the humans doing the work today, time them, and capture the edge cases they handle in their heads, then quantify the current cost in hours and dollars. I then identify the Minimum Useful Slice, the narrowest thing that, if it worked, would save real time or unlock real revenue. A good discovery process sometimes ends with the recommendation not to build anything at all, and that honesty is what earns the next engagement.
What's the default tech stack for building production AI systems?
My defaults are Claude (Sonnet for most tasks, Opus for complex reasoning) as the LLM, plain Python or Node with a thin agent loop for orchestration, and pgvector on Postgres for vector storage until you exceed roughly 10 million vectors. For retrieval I use hybrid BM25 plus dense embeddings fused with RRF, and I run compute on AWS Lambda with EventBridge so the system scales to zero when idle. I only deviate when a real trade-off forces it: local Llama or Qwen via Ollama when data cannot leave the environment, Fargate when cold starts or the 15-minute Lambda limit bite, or a dedicated vector store above 10M vectors. Every choice should be defensible on cost per 1K tokens, p95 latency, operational burden, and vendor portability.
What does good prompt and context engineering look like in production?
Production prompt engineering is context engineering under a token budget, with retries, structured outputs, and catchable failure modes, not just writing a good sentence. I use a layered system prompt (role, constraints, tools, output schema, refusal rules) versioned in git, and I enforce JSON schema on every response through tool calls or a validator with retries because free-text has no place in a pipeline that hands data downstream. Context assembly means deciding what to include, summarize, link to, or leave out. On a legal-doc RAG system I built, cutting retrieved context from top-20 to top-6 with reranking improved accuracy and cut token costs by 58%.
How is an AI implementation consultant different from a data scientist or ML engineer?
A data scientist explores data and builds models, an ML engineer trains and serves models, and a generalist software consultant typically doesn't own model behavior in production. An AI implementation consultant is accountable for the full outcome, from discovery and workflow design through architecture, LLM integration, evaluation, security, cost control, and post-launch handoff. In practice I'm half solutions architect, half applied ML engineer, and half product manager, focused on shipping systems that run unattended on Monday morning. If you hire a specialist from one of the other roles, you'll need to hire around them to cover the rest.
Building something hard with AI or automation? I am open to talk.
Get in touch