keepcalculator

06 Numbers and Powers

AI in Engineering: From Coding Help to Reliable Delivery

Card No. 06·57159 · Updated · Standard formula, shown below

AI in engineering becomes useful for reliable delivery when teams treat its output as a draft to verify, not as finished work. Set clear boundaries, connect assistance to engineering requirements, and require the same reviews, tests, and release controls used for human-written changes.

Where AI fits in engineering work

AI tools can help engineers write or explain code, suggest tests, summarize technical documents, search internal knowledge, and automate repetitive tasks. Their value depends on the work: generating a small utility function is different from proposing a change to a safety-critical control system or a production database.

Engineering delivery also includes more than code. A change must meet requirements, work with existing systems, be maintainable, and be deployable without unacceptable risk. AI can assist with portions of that process, but it does not independently establish that a design is correct or that a product is safe.

It helps to distinguish two broad uses:

  • Assistance to an engineer: A person asks for an explanation, draft, test idea, or code completion and evaluates the result.
  • Automated action: A system takes steps such as editing files, running commands, or opening a change request. The more authority it has, the stronger the controls should be.

Neither category should bypass normal accountability. A named engineer or team still needs to own the decision to accept, test, and release a change.

Build a path from suggestion to release

Reliable use starts by making the path from a prompt to a shipped change explicit. A practical workflow looks like this:

  1. Define the task. State the expected behavior, constraints, relevant interfaces, and what must remain unchanged. Provide only context the tool is allowed to receive.
  2. Ask for a bounded contribution. Request a small, reviewable change or explanation rather than a broad rewrite. Ask it to identify assumptions and uncertainties.
  3. Inspect the result. Check logic, dependencies, generated files, error handling, and whether the change matches the actual requirement. Treat citations, APIs, and claimed behavior as items to verify.
  4. Run ordinary engineering checks. Use relevant unit, integration, system, and regression tests, plus static analysis, formatting, and builds where applicable.
  5. Review and document. Have an accountable reviewer evaluate the change. Record meaningful design decisions, test results, and any known limitations in the usual project workflow.
  6. Release with established controls. Use staged deployment, monitoring, and rollback procedures appropriate to the system. AI-generated code does not make these controls less important.

For example, an assistant might draft a parser for a new input format. The engineer should compare it with the format specification, test valid and malformed inputs, check how errors are handled, and verify compatibility with callers. A plausible-looking implementation is not evidence that edge cases are covered.

Requirements, tests, and review

AI suggestions are easier to assess when requirements are observable. “Make it robust” is difficult to verify; “reject an empty identifier, preserve the existing response format, and report invalid input through the established error path” gives reviewers and tests concrete criteria. If requirements are unclear, resolve that uncertainty before asking for implementation.

Tests should reflect the risk and behavior of the change rather than the way it was produced. Useful checks can include:

  • Tests for expected inputs and important boundary cases.
  • Regression tests for behavior that must not change.
  • Integration checks for interactions with services, hardware, or dependent components.
  • Performance, reliability, or fault-condition tests when those properties are requirements.

Tests are not proof of correctness: they only check cases and properties that have been encoded and exercised. Reviewers should also look for missing tests, incorrect assumptions, unsafe defaults, and complexity that makes future maintenance harder. For physical products, control systems, and other consequential applications, use the domain-specific verification and validation process; ordinary software tests alone may not establish system safety.

Data handling and tool selection

Before using a tool, determine what information it receives, where that information is processed, whether prompts or outputs are retained, and what the organization permits. Policies may restrict sending source code, customer information, credentials, design files, or unpublished product details to an external service. Never paste secrets such as access tokens into a prompt.

Choose tools by the job and the controls available, not just by how fluent their answers sound. Consider whether the tool can work with the approved development environment, whether its suggestions are reviewable, and whether teams can apply existing access, logging, and testing practices. For outputs that depend on current libraries or specifications, verify against maintained documentation rather than trusting a generated explanation.

Access should be limited to what the task requires. A tool that can read a repository has a different risk profile from one that can also run shell commands, modify infrastructure, or deploy changes. Use human approval for consequential actions, and avoid giving automated systems broad permissions merely for convenience.

Common failure modes and misconceptions

A frequent misconception is that code which compiles or passes a test suite must be correct. It may still implement the wrong requirement, omit an important case, introduce a security weakness, or fail under real operating conditions. Likewise, a confident explanation can contain an invented API or outdated detail; verify claims that affect the implementation.

Other common problems include:

  • Vague prompts: Missing constraints invite assumptions. Supply relevant requirements and ask the tool to surface gaps.
  • Large, opaque changes: Broad generated edits are harder to review. Break work into small changes with clear acceptance criteria.
  • Overreliance on generated tests: Tests written from the same mistaken interpretation may reinforce it. Compare tests with independent requirements and review edge cases.
  • Untracked dependencies or licensing concerns: Inspect added packages and generated material under the organization’s normal dependency and intellectual-property policies.
  • Weak ownership: “The tool suggested it” is not a substitute for an accountable author, reviewer, or release owner.

AI can also be a poor fit when the task requires verified reasoning from incomplete evidence, when sensitive information cannot be shared, or when the cost of an undetected error is high and adequate independent verification is unavailable. In those cases, conventional methods or a narrowly scoped assistive role may be more appropriate.

Measure delivery, not generated output

Counting lines generated or prompts used does not show whether engineering improved. Teams can evaluate a trial by looking at outcomes such as review effort, time to complete a defined task, defect patterns, rework, test quality, and maintainability. Interpret measures in context: a faster first draft may still create more downstream review or correction work.

Start with a limited, low-consequence task and a baseline for comparison. Agree in advance on success criteria, collect feedback from engineers and reviewers, and stop or revise the trial if quality or data-handling requirements are not met. Results may differ across tasks, codebases, and teams, so avoid assuming that a result in one setting will generalize.

Frequently Asked Questions

Can AI-generated engineering code be trusted?
Not without verification. Treat it as a proposal and check it against requirements, tests, review standards, dependencies, and the system’s risk controls.

Should AI-written code have a human reviewer?
Yes, under the same ownership and review rules as other code. Review should focus on correctness, maintainability, security, and whether the tests genuinely cover the intended behavior.

How can engineers use AI without exposing source code?
Follow organizational data rules, use approved tools and environments, and avoid sending confidential material or credentials to services not authorized to receive them. When necessary, use a minimal or sanitized example.

Does AI reduce the need for software testing?
No. Testing remains necessary, and generated code may need careful coverage of assumptions and edge cases. Tests also cannot replace design review or system-level validation.

Where should a team start?
Choose a bounded, low-risk task with clear acceptance criteria. Compare the result with the existing process, retain normal reviews and checks, and expand only when evidence supports it.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →