04 / 1819 min read

Start With the Work

Begin with the workflow that matters, not the model that is trending.

Workflow before model

Agent projects often begin with a model name and search for a reason to exist afterward. That reverses the order. A model is a capability inside a system; it is not the system. Start with the work, because the work tells you whether you need language reasoning, deterministic code, a database lookup, browser control, a person, or some combination.

A useful workflow has a recurring trigger, meaningful context, a decision or transformation, and an outcome worth verifying. If you cannot point to those elements, adding an agent will mostly add uncertainty.

The best agent idea is usually hiding inside work you already understand better than anyone else.

Watch the real process

The official process is rarely the real process. The real version includes the spreadsheet someone checks first, the Slack message that supplies missing context, the judgment call that only one teammate knows, and the manual cleanup nobody documented. Map those details before automating anything.

The visible action is rarely the whole job. Sending a payment follows validation and approval. Closing a support ticket follows diagnosis and confirmation. Publishing a campaign follows evidence, drafting, brand review, and legal review. Provisioning an employee account follows identity, role, and access decisions. Automating only the final click makes a faster bad process.

  • Trigger: what makes the work necessary?
  • Context: which facts change the decision?
  • Judgment: where does expertise enter?
  • Action: what changes in the world?
  • Proof: how is success checked?

Choose the first seam

Do not automate the entire department. Find a seam: one bounded handoff where the input is available, the desired output is clear, and failure is recoverable. Good first seams include preparing a research brief, converting notes into structured tasks, classifying inbound requests, or verifying that a deployment matches a checklist.

The seam should be valuable even when a human reviews every result. That keeps the first version safe and gives you labeled feedback for improving the system later.

Case file

turning a vague request into a build run

A request such as ‘improve the dashboard’ sounds actionable to a person who already holds the product context. To a worker, it hides the target surface, user problem, desired behavior, relevant repository, allowed changes, visual standard, deployment destination, and proof required. Passing the sentence directly to an agent creates a lottery.

A strong build workflow treats intake as product work. A control layer resolves the canonical project and repository, retrieves current decisions, identifies the right worker, and forms a task packet. The worker receives a bounded objective. Progress events update the task. Risky actions pause. Verification produces receipts that return to the user.

The valuable automation is not ‘send a prompt to a coding agent.’ It is the complete handoff from human intent to inspectable state and back to user-facing proof.

Decisions made

  1. 01Separate raw user language from the executable task packet.
  2. 02Resolve repository, branch, runtime, and acceptance criteria before starting the worker.
  3. 03Treat approval and verification as workflow states, not ad hoc chat interruptions.
  4. 04Return the final result through the user's front door with the receipt layer clearly named.

The model call is one step inside the workflow. Most reliability comes from the deterministic structure around it: intake, truth resolution, state transitions, authority, and proof.

Design the workflow contract

A workflow contract tells the system what it may assume and what it must return. Specify the required fields, allowed tools, time horizon, approval points, output format, and failure behavior. The contract should be understandable without reading the implementation.

This is where an operator’s discipline matters. If the system cannot find the source data, it should say so. If confidence is low, it should ask. If the action changes money, access, public content, or another person’s work, it should pause for approval.

Failure mode: automation theater

A workflow can look impressive while quietly moving work somewhere else. A draft that requires a full rewrite, a summary nobody trusts, or a task list without owners is not leverage. It is a new queue.

Measure the burden around the output. Did review time fall? Did error recovery improve? Did the next person receive better context? A system is useful when the full loop gets cheaper or more reliable, not when the agent appears busy.

Model the state machine

A workflow description usually sounds linear: receive request, do work, deliver result. The real system is a state machine. A request may be incomplete, ready, running, waiting for approval, blocked by a dependency, failed with a recoverable error, completed locally, or verified live. If those states are not explicit, they leak into chat messages, booleans, and human memory.

Start by naming the states a responsible operator would need to distinguish. Then name the event that moves the work between them and the evidence recorded at each transition. ‘Running’ should require an executor identity and a recent event. ‘Awaiting approval’ should preserve the proposed action and review packet. ‘Complete’ should require the receipt defined before execution began.

This model makes the workflow debuggable before it makes it autonomous. You can see whether a failure belongs to intake, context retrieval, routing, execution, approval, verification, or delivery. That is much more useful than a generic red task card.

  • State describes what is true now; status copy explains it to a person.
  • Transitions require events, not optimistic labels.
  • Every waiting state identifies the owner of the next action.
  • Terminal states preserve receipts and remaining risk.

Choose work with a leverage matrix

Not every repetitive task deserves an agent. Score candidate workflows on frequency, value, clarity, context availability, reversibility, and evaluation cost. High-frequency work with clear outcomes and cheap verification is an excellent first target. Rare work with ambiguous success, sensitive data, and irreversible actions is a research project—not an automation quick win.

Also distinguish deterministic automation from model-shaped work. If a stable rule can produce the correct answer, use code. If the task needs interpretation across messy language or open-ended search, a model may help. If the path itself must change based on observations, an agent loop may be justified. Complexity should enter because the work requires it, not because the architecture diagram looks impressive.

A useful rule is to buy uncertainty only where it creates value. Keep identifiers, permissions, money movement, state transitions, and validation deterministic whenever possible. Use models for the semantic judgment between those rails.

Design evaluation before execution

Before automating the workflow, collect a small set of representative cases: straightforward examples, edge cases, missing-context cases, and dangerous cases. Write what a good result looks like and what must never happen. This becomes the first evaluation set and prevents the demo case from defining the entire product.

Evaluation can begin manually. Review outputs against a rubric, record the error category, and keep the input with the corrected result. As volume grows, automate the deterministic checks and preserve human review for judgment. The important move is separating ‘the system ran’ from ‘the result was good.’

This also gives you a stopping condition. If the workflow cannot be evaluated consistently by a person, it is not ready for more autonomy. Clarify the decision or reduce the scope before adding another agent turn.

Across the business

What this looks like in other departments

The engineering principle stays the same; the workflow, risk, and proof change with the domain.

Finance

Expense exception handling

Observe how receipts, policy, manager context, accounting codes, and exceptions actually move before automating approval recommendations.

People & HR

Hiring request intake

Map the trigger, budget evidence, role definition, approvals, sourcing handoff, candidate data boundaries, and final hiring receipt.

Customer support

Refund decisions

Separate deterministic eligibility checks from customer context, fraud signals, human exceptions, the refund side effect, and proof of resolution.

Legal & procurement

Contract intake

Turn email attachments and side-channel questions into structured requests, risk classification, clause review, approvals, signatures, and searchable decisions.

Technical deep dive

The workflow decomposition protocol

Use this protocol to decide where code, models, agents, and humans belong before implementation begins.

  1. 01TraceFollow one real job from trigger to consequence. Record every source, decision, tool, exception, queue, handoff, and existing proof artifact.
  2. 02ClassifyMark each step as deterministic transformation, semantic judgment, open-ended exploration, external side effect, or human accountability.
  3. 03PartitionKeep deterministic transitions in code, assign bounded semantic work to models, reserve agent loops for paths that truly depend on feedback, and place humans at consequence boundaries.
  4. 04InstrumentDefine state, events, trace fields, error categories, timing, cost, and outcome receipts before the workflow runs at scale.
  5. 05EvaluateBuild a representative case set, score both output quality and operational behavior, and increase autonomy only when errors are understood and recoverable.

Reference schema

step.type: deterministic | semantic | exploratory | side_effect | accountable
step.owner: code | model | agent | human
step.input: source + freshness + schema
step.output: schema + validation + destination
step.failure: category + retry + escalation + recovery
step.proof: trace event + outcome receipt

Try it yourself

Map one workflow

Observe a task from trigger to proof. Capture the hidden context and judgment that the official process leaves out.

  1. 1Follow one real instance, not an imagined average.
  2. 2Write every source consulted and every handoff made.
  3. 3Mark decisions as deterministic, model-assisted, or human-only.
  4. 4Select one safe seam for the first build.

Reusable artifact

Workflow map

A compact map for deciding what belongs in the first loop.

Trigger → [event]
Context → [sources and freshness]
Decision → [rule, model, or person]
Action → [tool and side effect]
Approval → [when and from whom]
Receipt → [observable evidence]
Recovery → [what happens on failure]

Before you move on

Receipt checklist

  • The real process was observed end to end.
  • Hidden context and judgment are documented.
  • The first seam is valuable and recoverable.
  • Success measures the whole loop, including review.

Primary sources

Further reading

Home
Book
Blog
Calugaru Labs
GitHub
LinkedIn
Email
Theme