Clockwork

LLM Adoption Journey

Maldo's Levels of Adoption

This is one path towards adopting LLMs, it may provide a useful framework for your own journey.

Human role
You perform all actual code edits.
LLM role
Provide answers, act as a smarter search.
Coding & Tech Research
  • How to code a statement or function

  • How a technology works

  • Compare libraries and approaches

Document Research
  • Summarize docs and long specs

  • Parse and analyze CSV/JSON for quick answers

  • Learn about complex APIs

Debugging Research
  • Interpret logs, traces, and stack traces

  • Propose 2–3 hypotheses for what's going wrong

Risk Research
  • Understand security and privacy pitfalls

  • Identify licensing concerns

  • Ask "what could go wrong?" before you build

Human role
You write most of the code.
LLM role
Extend your keystrokes through tab completions, small edits, perform tedious refactors.
Inline Completion
  • Autocomplete single lines and small blocks as you type

  • Accept, reject, or modify suggestions without leaving your editor

Multi-file Edits
  • Autocomplete changes that span files, following your existing patterns and conventions

Test Scaffolding
  • Generate test scaffolds, fixtures, mocks, and edge cases from your own specs

Small Refactors
  • Rename, extract, reorganize — well-defined, low-risk changes

  • Tidy up docs and comments

Human role
You make the coding decisions through collaboration with the LLM.
LLM role
Thought partner in real-time repo-aware collaboration.
Chatting with your Codebase
  • "Where is X implemented?" "What calls this function?" "How does Y work in this repo?"

  • Understand unfamiliar code quickly without spelunking manually

Debugging Together
  • Triage a bug and propose fixes with verification steps

  • Walk through a failing test together to understand root cause

Test Coverage Partnership
  • Fill gaps in existing coverage

  • Add regression tests for newly discovered bugs

Code Review Assistance
  • Summarize what a diff actually does in plain language

  • Spot risks, edge cases, and missing tests

Feature Development
  • Draft an implementation together and iterate based on your feedback

  • You're still the one deciding what goes in; the LLM is your thought partner

Human role
You steer, review, and accept or reject.
LLM role
Acts as the primary coder for scoped tasks.
Requirements authoring
  • LLM turns fuzzy asks into user stories, non-goals, and open questions

  • Interate on classic requirements docs

  • You are starting to explore the use of PRDs

Full Feature Implementation
  • LLM drafts code, tests, and docs together

  • You review the output and validate against acceptance criteria

  • You're measuring outcomes, not writing lines

Substantial Test Generation
  • You document test strategies and approaches

  • LLM owns building out a meaningful unit test suite

  • LLM generates effective end-to-end tests (e.g. Playwright)

Oooh…AGENTS.md??
  • You start using and tweaking AGENTS.md and realted files

  • You start exploring agent skills

Human role
You define guardrails and approve.
LLM role
Use tools and agentic loops: running tests, reading files, making changes.
Writing Agent-Tuned Specs
  • You break work into small, independently verifiable steps with detailed PRDs

  • Ask for a plan first: milestones, risks, unknowns, and a test plan — before a single line is written

  • Choose a safe execution order: scaffolding → tests → implementation → cleanup

Grounding the Agent in Your Context
  • Give it repo-specific conventions: file locations, patterns to follow, naming rules

  • Teach it your working agreements: style, commit hygiene, review expectations

  • Define scope explicitly: "only touch these files," "non-interactive commands only"

Agentic Loops
  • LLM runs linters and automated tests, interprets failures, and proposes focused patches — without you in the loop for each step

  • LLM stops and asks when uncertain instead of guessing its way forward

Evidence-Driven Trust
  • You require tests for any behavior changes

  • You ask for a verification checklist, edge cases, failure modes, and rollback considerations

  • You require evidence for risky changes: diffs, benchmarks, logs

Configuring Your Agents
  • Build and tune AGENTS.md files that encode your guardrails and expectations

  • Adjust scope, tool permissions, and stop conditions as you learn what works

Human role
You design roles, boundaries, and governance; approving at milestones.
LLM role
Coordinated agents operate within defined roles and boundaries.
Role-Based Agent Teams
  • Define and assign distinct agent roles: Planner, Implementer, Reviewer, Verifier

  • Each agent has a clear responsibility and clear handoff point

Parallel Execution with Hard Boundaries
  • Agents work simultaneously on independent slices: tests, refactors, docs, migrations

  • Strict file/module ownership prevents agents from stepping on each other

Orchestration and Governance
  • Shared definition of done, shared guardrails, and shared tool permissions across all agents

  • Central change log: what changed, why, what evidence supports it, what risks remain

  • Human approval gates at key milestones: design review, pre-merge, pre-release

System-Level Thinking
  • You're not debugging a line of code — you're debugging a workflow

  • Evaluate whether agent coordination is actually working or just creating new complexity

  • Know when to simplify back to a single agent