Skip to main content
Settings
Color Mode
Theme Skin
Background

Appearance preferences are saved in this browser only.

Environment
Current Environment Production

Built with JEKYLL_ENV=production. Changes require deployment.

Theme & Build
Jekyll v3.10.0
Last Build Jul 12, 21:59
Page Location
Page Info
Layout article
Collection posts
Path _posts/tech/2025-11-19-prompts-are-the-new-command-line.md
URL /posts/2025/11/19/prompts-are-the-new-command-line/
Date 2025-11-19

Prompts are the new command line

For most of the last forty years, getting real work out of a computer meant learning its syntax. grep, awk, SELECT … JOIN, an Excel formula three screens long — the people who knew the incantations got leverage; everyone else filed a ticket and waited. That syntax tax is a big reason small and medium businesses (SMBs) ended up paying enterprise prices for basic automation: the work was simple, but only a specialist could phrase it.

Prompts move the floor. A controller can now describe what she wants from a data extract in plain English and get a working Structured Query Language (SQL) query back. An office manager can ask for “a one-page summary of last month’s invoices grouped by client” without learning a Business Intelligence (BI) tool. The interface moved from the command line to the prompt, and the set of people who can drive the machine moved with it.

That is the opportunity. The catch is that a prompt you can type is not the same as a prompt you can trust with a journal entry. This post is about the gap between the two, and how a small team closes it.

Why this matters for SMBs now

The cost story is the headline. Work that used to need a contracted developer — small integrations, ad-hoc reports, document parsing — is now often hours, not weeks. For a 40-person Denver professional-services firm that could never justify a custom tool, that is the difference between buying software off the shelf and shaping it to how you actually work.

The risk story is the fine print. Prompts are not deterministic — they are not predictable the way a formula is: the same question can produce two different answers an hour apart, or after the vendor quietly updates the model. That variance is fine for a draft email and dangerous for a price quote, a payroll calculation, or a compliance filing. So the job is no longer “write the code.” It is “design the prompt, constrain the output, and verify it before it touches anything real.”

What “use software without syntax” looks like

Three concrete examples from the kind of back-office work Denver SMBs bring us:

  • The accounting clerk and the bank feed. Instead of hand-coding 300 uncategorized transactions, she describes the rules (“anything from these vendors is Cost of Goods Sold (COGS), anything under $25 from a gas station is vehicle expense”) and the model proposes the General Ledger (GL) codes. She reviews the exceptions, not the whole list.
  • The operations manager and the weekly report. She asks for last week’s job-costing numbers pulled from the project tracker and formatted the way the owner likes to read them. What used to be a Friday-afternoon copy-paste ritual becomes a saved prompt she runs in two minutes.
  • The clinic admin and intake forms. Faxed referrals get summarized into the fields the Electronic Health Record (EHR) needs, with anything ambiguous flagged for a human rather than guessed.

In each case nobody learned a query language. They described the outcome. That is the shift.

Prompt engineering is the new design layer

Here is the part vendors gloss over: typing a prompt and engineering one are different jobs. In traditional development we hide complexity behind functions and modules. Prompt engineering sits one layer up — instead of writing the steps, you write the specification and the model produces the steps. A prompt you can rely on usually pins down four things:

  • Role — who the model is acting as (“a senior tax accountant reviewing Accounts Payable entries”).
  • Inputs — the exact data it may use, and nothing else.
  • Constraints — format, tone, and the things it must refuse to do or must flag instead of guessing.
  • Acceptance criteria — what “done” looks like, written plainly enough that the output can be checked against it.

Skip any of the four and the output drifts. Get all four right and the prompt becomes a reusable asset — versioned, tested, and run the same way every time. Anthropic’s prompt engineering documentation walks through the same building blocks if your team wants the vendor’s own reference. That structure is the difference between a clever one-off and something you would put in front of a client.

What “trustworthy enough to ship” actually means

“Trustworthy enough to ship” is not a feeling. It is a short list of guardrails you can point to when the owner asks “what happens when it’s wrong?”

  • Validation on the way out. Don’t trust the prose — check the result. If the prompt returns a GL code, confirm it exists in the chart of accounts. If it returns a total, verify it sums. A model can write a confident number; your code decides whether to accept it.
  • A human in the loop where money or compliance is involved. For drafts, let it run. For anything that hits the books, the schedule, or a regulator, the output is a proposal a person approves — not a final action.
  • Refuse-and-flag over guess. Instruct the model to say “I don’t have enough information” instead of inventing a value. A flagged blank is recoverable; a plausible wrong answer that ships is not.
  • An audit trail. Log the prompt, the inputs, the model version, and the output. Without that, you cannot reproduce a result or defend a decision six months later.

A prompt clears the bar when a wrong answer is caught by a check, surfaced to a person, or simply impossible to commit silently. Until then it stays in the “drafts and suggestions” lane.

Where this shows up in SMB engagements

Across the work we see most, the same handful of prompt categories carry the load. Each becomes a template the team writes once and reuses — exactly like the bash aliases and Makefiles that used to live in a senior engineer’s home directory:

  1. Requirements capture — turning a client conversation into a one-page spec the team can quote against.
  2. Code generation — the boilerplate (Create/Read/Update/Delete (CRUD) endpoints, schema migrations, test scaffolds) so developers spend time on the parts that matter.
  3. Test generation — edge-case test suites from a function signature plus a few examples.
  4. Documentation — a working codebase into a README, runbook, or onboarding doc.
  5. Refactoring — rewriting a legacy module against explicit constraints (style, performance, security).
  6. Debugging — narrowing a stack trace and surrounding context down to the two or three likely causes.

When these templates start chaining together — one prompt’s output feeding the next, with checks between — you have crossed from typing prompts to running a pipeline. We walk through that next stage in [[From prompts to pipelines: agentic AI in VS Code]].

Watch-outs before a prompt goes near production

  • Prompt drift. Vendors update models. A prompt that worked in March can degrade in June. Treat prompts like code — version them and re-run a small test set on every model upgrade.
  • Sensitive data. A prompt is a contract with a third party. Decide explicitly what goes in and what stays out, and write that into the prompt’s constraints, not just a policy memo. For HIPAA, PCI, or client-confidential data, that decision is the whole ballgame.
  • Lock-in. Prompts tuned tightly to one vendor’s model are not portable. For anything load-bearing, keep the prompt readable and the integration thin so you can move if pricing or quality changes.
  • Confidence theater. The fluent, well-formatted wrong answer is the expensive one. The more polished the output looks, the harder your validation has to work.

Next step

If you are looking at a back-office process that “ought to be automatable” and isn’t worth a full software project, that is usually a prompt engineering problem, not a coding problem — and the value is in the validation and guardrails, not the clever wording. See how we approach this on our [[AI solutions and intelligent automation]] page, and we’ll scope it against your actual workflow.