September 7, 2026 · 12 min read
AI-First Engineering: How Production AI Systems Are Actually Built
Build production AI systems around business tasks, source context, integrations, evaluation, recovery, and clear operating ownership.
AI-first engineering starts with a business task and carries it through to an outcome that someone can verify. The work may involve interpreting documents, finding evidence, proposing a decision, updating an application, or coordinating several people. Building the model interaction is one part of that system. The surrounding software determines what information the model sees, which actions are possible, and what happens when the work cannot be completed.
For a business leader, the useful question is whether the team can deliver and operate that complete workflow. For an engineering leader, it is how to make changing model behavior compatible with reliable software and a clear product promise. Both need the same foundation: a defined user, a bounded task, an acceptance standard, and an owner for the result.
This guide explains a practical delivery method. It distinguishes engineering an AI application from using AI to help write software, then joins the two where they affect production quality. The examples and decision framework are illustrative design guidance, not claimed KeenSight client results.
Connect the business task to a practical engineering and delivery approach.
Explore AI Strategy & EnablementDefine the service the system must deliver
Start with the event that creates work and the condition that ends it. “Help account managers” is too broad to guide a release. “Prepare a renewal briefing from the account's approved records, identify unresolved service issues, and send a draft to the assigned manager” creates a testable boundary. It also makes clear that preparing a briefing is different from offering a discount or contacting the customer.
Write down the intended user, the sources they may access, the decisions the application can propose, and the actions it can execute. Specify what a complete result contains. For the briefing, that might be a renewal date, evidence of recent commitments, unresolved issues with owners, and questions requiring confirmation. Missing information should appear as a gap the user can resolve.
Define the service around actual work conditions. A user may arrive from a case record, switch accounts, lose access, or resume a task after someone else has changed the underlying data. The application must handle those transitions. A polished answer on a fixed sample does not establish that the service works across an ordinary operating day.
Capture examples before selecting a model or framework. Include routine work, ambiguous requests, outdated records, and cases that should stop. These examples become the shared language for product, engineering, and the operating team. They also reveal whether the first useful release needs AI interpretation, conventional automation, better search, or some combination.
Separate AI product engineering from AI-assisted coding
An AI application uses model behavior inside the experience delivered to users. AI-assisted coding uses models inside the development process. A team can use coding assistance to build a conventional application, or build an AI application with little coding assistance. Their evaluation questions differ: one concerns the quality of the business task, the other the quality and maintainability of the delivered software.
Google Cloud's 2025 DORA research summary describes AI-assisted development as amplifying the surrounding organizational system. That research framing supports examining delivery practices alongside tool adoption; it does not establish that a particular coding assistant will improve the economics of your project.
For application code, retain accountable review, reproducible builds, dependency controls, and tests at meaningful boundaries. A generated integration still needs to interpret errors correctly. A generated database change still needs a migration and recovery plan. Measure accepted changes and production behavior instead of treating the amount of generated code as progress.
For model behavior, evaluate task completion, source support, permitted actions, and the user's ability to recognize uncertainty. Traditional software tests and task evaluations complement each other. A response can match a valid data structure and still recommend the wrong action; a useful recommendation can still fail because the application writes it to the wrong record.
Divide the workflow into explicit responsibilities
A useful architecture makes the responsibilities visible before making the implementation elaborate. Keep stable rules in ordinary software where practical. Use model interpretation where language, ambiguity, or varied source material makes it useful. Retrieve evidence through an access-aware layer, and place business actions behind narrow interfaces with explicit inputs and permissions.
Scroll horizontally to see all columns.
| Responsibility | Engineering decision | Evidence of readiness |
|---|---|---|
| Intake | Identify the user, task, account, and requested scope | Ambiguous or unauthorized requests are handled explicitly |
| Context | Retrieve current, permitted source material | The same request under different roles respects access boundaries |
| Interpretation | Produce a supported result in a defined format | Representative examples meet the task standard |
| Decision | Apply rules and route unresolved questions | Conflicts and missing information reach the right owner |
| Action | Execute a specific approved operation | Destination, parameters, authorization, and outcome are recorded |
| Operation | Monitor, recover, and maintain the service | An operator can diagnose and resolve incomplete work |
This division does not require six separate products or services. A small application can implement several responsibilities together. The point is to give each concern a testable contract and an accountable owner. The AI agent architecture guide explains the execution patterns in more technical detail.
Make shared capabilities earn their place through concrete reuse. Two workflows might share an identity layer and document retrieval while requiring different evaluation sets and approval rules. Reusing a component does not mean inheriting permission to use every record or action available to its other consumers.
Use the workflow boundaries to define the next delivery commitment.
Explore AI Strategy & EnablementBuild one complete workflow through the real systems
Consider an illustrative renewal-preparation service. A manager selects an account and renewal period. The application checks their access, reads the current opportunity and service records, retrieves approved commitments, and produces a briefing with dated evidence. It flags a conflicting contract date and an unresolved implementation issue instead of choosing an answer silently.
The manager reviews the proposed briefing and corrects the date using the authoritative contract. The application records that correction and creates a follow-up task for the service owner. It does not change commercial terms. If the task cannot be created, the interface shows that the briefing exists but the follow-up action remains incomplete.
Deliver this path before expanding to every account type or downstream action. It exercises context retrieval, model interpretation, user correction, application integration, and completion tracking together. A set of disconnected demonstrations would leave the hard questions about handoffs and ownership unresolved.
The first release can keep some steps manual. The manager might select the source documents while automated retrieval is being validated. Describe that behavior honestly in the acceptance criteria. Manual work is a legitimate operating choice when its volume and owner are understood; an invisible manual dependency makes the service difficult to support or scale.
Review the experience with the people who perform the work. Ask them to locate the source for a statement, correct a mistake, recognize a stopped action, and resume a task. Their ability to complete these steps matters as much as the quality of the initial generated text.
Treat context as a maintained product dependency
The application's context should have a defined source of truth, a refresh process, and an access boundary. Separate authoritative records from working notes and external background information. When two sources disagree, retain the distinction so the application can request clarification or apply an approved precedence rule.
Record the identifiers and versions needed to understand a result. A source citation that always opens the latest document may be useful to the reader but insufficient to explain yesterday's decision. Preserve the evidence reference appropriate to the workflow's retention requirements without copying more sensitive content than the application needs.
Test what happens when a document is revised, a user changes teams, or an account is removed from scope. Context quality includes the ability to stop using material that is no longer valid or permitted. Refreshing an index and refreshing the application cache may be different operations, and both can affect the answer.
Give business owners a practical way to correct source problems. If the product team receives recurring feedback that a policy is unclear, the durable fix may be to improve the policy rather than continually adjust the prompt. Keep model changes, source corrections, and workflow changes distinguishable in the delivery record.
Engineer actions for interruption and recovery
Business actions need stronger completion evidence than a model saying it performed them. Record the intended operation, its destination, the authorized parameters, and the result returned by the receiving system. Treat a timeout as an unknown outcome until the application can determine whether the action succeeded.
Temporal's Activity Definition documentation recommends idempotent activities because execution can be retried. It explains that an activity may finish its external work before completion is recorded. The engineering implication is to design duplicate protection and reconciliation at the action boundary; adding a workflow engine alone does not make an external write happen safely once.
For the renewal service, use a stable business identifier for the follow-up task and check the destination before retrying an uncertain creation. If the receiving application supports an appropriate idempotency key, use that capability. Otherwise define the lookup or reconciliation procedure and an owner for cases that cannot be resolved automatically.
Plan for actions that cannot be reversed by restoring application code. A customer message may already have been received. A business record may already have triggered another process. Recovery may require a compensating action or human intervention. The long-running agent guide develops these state and recovery choices further.
Evaluate the business task and the software together
Build the evaluation set from representative work, with the permissions and source conditions that the application will encounter. Include ordinary successes, missing information, conflicting evidence, attempted scope expansion, and interrupted actions. Define the expected handling for each case before using the set to compare versions.
Evaluate components where a failure can be diagnosed. Did retrieval find the right record? Did interpretation preserve the actual commitment? Did the approval step show the proposed destination? Did the external write complete? A single overall score can help summarize a release, but it cannot replace these diagnostic distinctions.
Agree on severity as well as frequency. A minor formatting problem and an unauthorized customer action should not cancel each other out in an average quality score. Set explicit release conditions for behaviors that would violate the product promise. Keep a review route for unusual cases where expert judgment is needed.
Test the operating workload, including review effort and peak demand. If reviewers need to reopen every source because the evidence presentation is poor, the application may relocate effort instead of creating capacity. The AI agent evaluation guide provides a deeper method for turning task expectations into release evidence.
Run evaluations after changes to prompts, models, tools, retrieval, and source conventions. Keep the version being tested identifiable. A good result from an earlier configuration is useful historical evidence, but it should not silently stand in for the configuration that will reach users next.
Release with a measurable operating contract
Choose an initial population whose work can be observed and supported. State what the application handles, what it escalates, and how users return to the established process. Start with the access and actions that have been evaluated. Expand scope when the evidence supports the next operating responsibility.
Monitor accepted task completion, elapsed time, reviewer effort, repeated corrections, unresolved actions, and user abandonment. Relate those measures to the original business aim. For renewal preparation, faster briefing completion is an operating measure; renewal conversion or retention requires observation across the relevant customer cohort and time period.
Keep capacity and realized financial value separate. Time made available can support more customer work, shorter queues, better preparation, or reduced overtime. Which benefit occurs depends on management choices and demand. State that choice in the operating plan so the team can determine whether the intended value actually materializes.
Name the product owner, source owner, technical operator, and escalation contact. These may be shared roles on a small team. They still need explicit responsibilities for reviewing feedback, correcting data, approving scope changes, and responding when a workflow stops. An application without this arrangement is difficult to improve consistently.
Review the handoff package before accepting ownership
A receiving team needs enough information to operate the service without depending on the original builder's memory. Package the supported workflow, source dependencies, evaluation examples, action permissions, and recovery procedures together. Include the known limits that affect daily work and the person responsible for deciding whether those limits can change.
Walk through a concrete incident during the handoff. For the renewal briefing, imagine that the contract system is temporarily unavailable while the service record is current. Ask the operator to determine which information is missing, whether an older result can be used, and how to tell the manager that the task is incomplete. The answer should come from the operating contract and available evidence.
Then rehearse a change. Suppose the business introduces a new account category with different implementation commitments. Identify which source rules, evaluation examples, permissions, and user guidance need updating. This exercise reveals whether the service can evolve through a controlled process or whether each change requires rediscovering its assumptions.
Document the fallback in the place users encounter the workflow. A support page that nobody can find will not help a manager facing a deadline. The fallback should say how to continue the business task, how to preserve useful work already completed, and how to report the issue with the appropriate reference.
Finally, agree on what acceptance means for the receiving owner. They should understand the supported workload, review demand, expected support involvement, and the evidence available to assess performance. Acceptance is a transfer of operating responsibility supported by a usable service package, not simply a demonstration that the application starts successfully.
Make the next investment decision from delivery evidence
The next phase should resolve a specific remaining constraint. If task quality is strong but integrations are incomplete, additional model comparisons may add little. If the application works but users cannot fit review into their day, the next investment may be workflow redesign and role practice. If source access is unreliable, address that before widening the audience.
Use a short delivery record to keep these decisions concrete: the supported task, accepted examples, unresolved failure categories, actual review demand, operating cost components, and the proposed scope change. Describe what new evidence would justify that change. This gives business and engineering leaders a common basis for choosing the next step.
For an organization coordinating several initiatives, connect these records through an enterprise AI roadmap. For a defined workflow that needs implementation, Custom AI Development provides the commercial path from requirements into a working system. The pilot-to-production guide explains the transition between proving a task and owning its operation.
Before a release discussion, work through the Production AI Launch Checklist. Bring examples of real work, the current source systems, and the outcome you want to improve. These materials make the engineering decision reviewable without requiring a complete technical specification in advance.
Bring the task, current systems, and the result your team needs to deliver.
Discuss an AI ProjectConnect engineering to a defined business outcome
Bring the task, current systems, and the result your team needs to deliver.
Related Analysis
Continue with research and practical guidance on adjacent AI architecture, governance, and operating-model questions.
AI Agent Architecture: Graph Workflows, Loops, Tools, and Control
Design AI agents with explicit graphs, bounded loops, narrow tools, durable business state, review controls, and outcome-based evaluation.
AI Agent Evaluation: How to Test Production AI Systems
Build agent evaluations around representative tasks, verified outcomes, tool behavior, permissions, review quality, and production release evidence.
AI Agent Security: Permissions, Prompt Injection, Tool Use, and Control
Secure AI agents with identity, permission-aware retrieval, narrow tools, validated actions, human approval, deployment controls, and operational tests.
Continue with practical guidance
- Enterprise AI Integrations: What to Plan Before an Agent Touches Real Systems
A research-led guide to enterprise agent integration with standards and data on identity, least privilege, OAuth, zero trust, tool security, data contracts, idempotency, observability, and test architecture.
