a field guide · ahaqqu.com
Agentic Engineering
How I build software with AI agents.
← → to move · F fullscreen
the shift
The job is no longer typing code.
before
the bottleneck: how fast you can write it
now
“A visitor asks a question and gets an answer they can trace.”
the bottleneck: how clearly you can say it
Your leverage moved from typing speed to clarity of intent.
The hottest new programming language is English.— Andrej Karpathy, 2023
principle 01 · your workflow
Build your own workflow. Start small.
✗ Adopt a whole workflow you copied — ceremony for pains you never had.
✓ Grow it from the smallest thing that works — every addition earned by a pain you actually hit.
principle 02 · shared language
Talk in user flows, not in code.
✗ dictating code“set the button to #16a34a, call the API in a useEffect, store it in state…”
✓ describing a flow“A visitor asks a question; the answer shows where every claim came from.”
Be honest when you don't understand.
“I don't understand — walk me through it” is a feature, not a failure.
Then close the loop: ask the agent to replay the plan in its own words. Same picture in both heads — or no code yet. Find out how each of you understands the other.
If you're thinking without writing, you only think you're thinking.— Leslie Lamport
principle 03 · feedback
Ask the agent what can be improved.
principle 04 · proof
Give the agent a place to prove itself.
the agent's workshop — the real environment, not a screenshot
“Done” must be something the agent can demonstrate — not something you hope for.
Beware of bugs in the above code; I have only proved it correct, not tried it.— Donald Knuth, 1977
principle 05 · context
Every project resets the rules.
Same agent, four different worlds on this domain — what worked in one shipped wrong in another.
KajianQ
strict-citation guardrails; accuracy beats speed
GUNBATTE ROYALE
game feel, netcode, shareable replays
TepuQ & TariQ
toddler-proof taps; zero reading required
RumaQ
shopping flows; AI grouping by store
what changes between projects:
Copy the judgment, not the checklist — re-tune the workflow to the project.
under the hood 01 · context
The context window is the agent's only reality.
Models are stateless: everything the agent knows about your project is whatever sits in the window right now. Every piece of it is paid for in tokens — one token is roughly ¾ of a word, and the window is finite.
how to spend it well:
More context is not better context — stale windows rot attention and cost real money.
under the hood 02 · memory
Chat evaporates. Files persist.
Two mechanisms turn what you want into the agent's default behavior — AGENTS.md rides in context from the first second; skills load only when the task calls for them.
AGENTS.md · repo root
# what this project is
KajianQ — classical Islamic Q&A in Indonesian. Strict citations: Qur'an, hadith, pre-600 H classics.
# commands
npm test · npm run dev · merge to main = deploy
# guardrails
every claim carries a source — or say you couldn't find it. never paraphrase a verse.
# definition of done
tests pass · citations verified · CI green
↓ loaded only when the task matches
↓ runs as a tool
under the hood 03 · machinery
The model thinks. The harness acts.
The model is the brain — stateless, no hands. The harness is the body: it assembles the context, hands over tools, enforces guardrails. The same brain in a different body behaves like a different animal.
A great harness makes a good model shippable — a poor one wastes a frontier brain. Matching both to the task is Adapt (05) in practice.
case study · kajianq.ahaqqu.com
KajianQ: the whole loop on a real project.
KajianQ answers classical Islamic questions in Indonesian — strictly sourced from the Qur'an, hadith, and pre-600 H classical texts.
kajianq.ahaqqu.com — early access
Kasih dalil tentang sabar.
“Wahai orang-orang yang beriman! Mohonlah pertolongan (kepada Allah) dengan sabar dan salat.” QS Al-Baqarah 2:153hadith · Bukhari & Muslim
guardrail — no source, no claim: if the agent can't verify a citation, it says so instead of guessing.
build your workflowslice one: one question, one cited answer — every addition after was earned by a pain
flows, not codethe user flow was the spec: ask → answer → show the source
honest gaps“strict citations” was vague — we asked until both sides could state the exact rule
self-improvementthe agent re-reviews its answers, its prompts, its own retrieval quality
self-verificationit runs the tests, curls the local API, and checks each citation before calling it done
adaptreligious content set the hardest guardrails of any project here
your turn
Run one lap tonight.
1
Pick one small task
a page, a script, a bug — one evening-sized thing
2
Describe it as a user flow
who does what, what proves it worked — no code
3
Hand over tools & environment
tests, local URL, logs — let it check itself
4
Close with a question
“what would you improve?” — then keep the rule
The first lap is the only hard one — start it tonight.
closing
Software development has changed: The machine will do anything you tell it. The only thing left between you and what you want is whether you can form a clear thought and put it into words.
terima kasihahaqqu.comgithub.com/ahaqqu