<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Fitra's Drop]]></title><description><![CDATA[Writings on data engineering, AI systems, and building tools that make data and AI accessible to everyone.]]></description><link>https://fitrakacamarga.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!RLdC!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6bc6d14-3aa2-4297-a4b7-f05d067a0177_1254x1254.png</url><title>Fitra&apos;s Drop</title><link>https://fitrakacamarga.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 07 Jun 2026 13:17:08 GMT</lastBuildDate><atom:link href="https://fitrakacamarga.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[fitrakacamarga]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[fitrakacamarga@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[fitrakacamarga@substack.com]]></itunes:email><itunes:name><![CDATA[fitrakacamarga]]></itunes:name></itunes:owner><itunes:author><![CDATA[fitrakacamarga]]></itunes:author><googleplay:owner><![CDATA[fitrakacamarga@substack.com]]></googleplay:owner><googleplay:email><![CDATA[fitrakacamarga@substack.com]]></googleplay:email><googleplay:author><![CDATA[fitrakacamarga]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Agentic Engineering: The New Era of Engineers Building Software Factories]]></title><description><![CDATA[Agentic engineering is building the system that builds &#8212; safely, repeatedly, and cache-stably.]]></description><link>https://fitrakacamarga.substack.com/p/agentic-engineering-the-new-era-of</link><guid isPermaLink="false">https://fitrakacamarga.substack.com/p/agentic-engineering-the-new-era-of</guid><dc:creator><![CDATA[fitrakacamarga]]></dc:creator><pubDate>Fri, 29 May 2026 12:32:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!t8Zm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t8Zm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t8Zm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!t8Zm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!t8Zm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!t8Zm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t8Zm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3006599,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fitrakacamarga.substack.com/i/199735468?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!t8Zm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!t8Zm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!t8Zm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!t8Zm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F568e67c1-189a-4e23-bfc9-9f3f0ac81d9e_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>One engineer spends $2,000/month on AI tokens. The result is useful, but inconsistent. Sometimes the code works. Sometimes it does not. Sometimes bugs are caught. Sometimes new ones appear. The engineer feels productive, but cannot prove it.</em></p><p><em>Another engineer spends the same amount. The result is different: pipelines that run by themselves, code that is automatically tested, and more time to think about the next architecture, the next product, or the next problem that has not been touched yet.</em></p><p><em>What separates them? Not the model &#8212; both use Claude. Not the token budget &#8212; both spend the same. Not raw talent &#8212; both are experienced engineers.</em></p><p><em>The difference is whether they are building a system around AI, or merely chatting with it.</em></p><div><hr></div><h2><strong>The Problem: Everyone Has AI, But Not Everyone Has Leverage</strong></h2><p>In 2026, every engineer can access powerful models. Claude, GPT, Gemini, DeepSeek &#8212; the frontier keeps moving, context windows keep growing, tool integrations keep improving, and coding agents keep getting better.</p><p>But something interesting happens when capability becomes widely available: the gap between engineers who &#8220;use AI&#8221; and engineers who truly <em>leverage AI</em> gets wider, not smaller.</p><p>Access to the same model does not create the same outcome. Two engineers can sit in front of the same coding agent with the same token budget and walk away with completely different results.</p><p>It is not about who prompts more. More prompting without a system creates more noise.</p><p>It is not about who spends more. Tokens burned without a harness just become a larger API bill.</p><p>The real difference is this:</p><p><strong>Who is building the system around AI, and who is treating AI as a smarter chatbot?</strong></p><p>IndyDevDan calls this <strong>agentic engineering</strong>. I think the term is useful because it names a real shift: engineering is moving from &#8220;use an AI tool&#8221; to &#8220;design the environment where AI agents can produce reliable work.&#8221;</p><p><strong>Agentic engineering is building the system that builds &#8212; safely, repeatedly, and cache-stably.</strong></p><p>It is not about using AI more. It is about building the infrastructure that lets AI work consistently in production.</p><div><hr></div><h2><strong>The Five Pillars of Agentic Engineering</strong></h2><h3><strong>1. Own the Harness &#8212; Whoever Controls the System Controls the Result</strong></h3><p>Claude Code, Codex, Cursor, OpenCode, and similar tools are powerful. But they are the floor, not the ceiling. They provide a strong baseline, but the real advantage appears when engineers begin to own the harness.</p><p><strong>The model is the engine. The harness is the production system.</strong></p><p>A harness is the infrastructure around the model that defines how the model works, when it may act, what must be checked before it acts, and how its results are audited and verified.</p><p>Concretely, a harness includes:</p><ul><li><p><strong>Tool access and permission boundaries</strong> &#8212; which tools are available, and what are their limits?</p></li><li><p><strong>Verification gates before high-impact actions</strong> &#8212; before an agent performs something difficult to undo, what checker validates that the action is safe and aligned with the spec?</p></li><li><p><strong>Loop detection</strong> &#8212; if an agent repeats the same action without progress, what stops it?</p></li><li><p><strong>Event traces for audit and debugging</strong> &#8212; every action, decision, and output should be reviewable.</p></li><li><p><strong>Reasoning budgets</strong> &#8212; how much thinking, cost, and latency should a task be allowed to consume?</p></li><li><p><strong>Compaction strategy</strong> &#8212; when context gets long, how do we summarize without losing tool history, errors, and safe next actions?</p></li><li><p><strong>Subagent handoff</strong> &#8212; if one task needs a large model for planning and a smaller model for execution, how does the handoff happen without breaking context or cache?</p></li></ul><p>Without a harness, AI is a chatbot with coding ability. Helpful, but not production-trustworthy. There is no reliable guarantee that the output is consistent, safe, or correct.</p><p>With a harness, AI becomes part of a production system. Its outputs are verified. Its actions are controlled. Its cost is measurable. And when something goes wrong, we can trace it, debug it, and improve the system.</p><p>A good harness does not make agents weaker. It gives agents a safer, clearer, and more powerful workspace. Agents move faster when boundaries are explicit.</p><p>This is why &#8220;plan mode&#8221; in coding agents is such an important design pattern. Instead of changing the tool set when an agent enters planning mode &#8212; which can break prompt caching &#8212; the mode can be represented as a tool or event, such as <code>EnterPlanMode</code> and <code>ExitPlanMode</code>. The available tool schema stays stable, while the policy changes through messages or events.</p><p>This leads to a key design rule:</p><p><strong>Policy changes belong in messages and events, not in tool schema changes.</strong></p><h3><strong>2. Build Software Factories, Not One-Off Features</strong></h3><p>The old workflow is simple: ask AI to build a feature, review the result, deploy it, then repeat. Every feature starts from scratch. Every time, the engineer explains the context, gives the requirements, and checks whether the output is acceptable.</p><p>That helps, but it does not scale.</p><p>The agentic workflow is different: build a factory that produces features consistently.</p><p>A software factory is a repeatable production system made of agents, prompts, workflows, scripts, tests, reviewers, and automation. A feature no longer starts from zero. It moves through a known pipeline with known quality gates.</p><p><strong>The core of a software factory is reproducibility.</strong></p><p>If a workflow produces a good feature once, the workflow should be repeatable, auditable, improvable, and reusable. Prompts stop being disposable instructions. They become part of the production system.</p><p>A useful factory can:</p><ol><li><p>read the requirement,</p></li><li><p>extract business context and technical constraints,</p></li><li><p>produce a technical plan,</p></li><li><p>critique the plan,</p></li><li><p>split the work into tasks,</p></li><li><p>implement changes,</p></li><li><p>run tests,</p></li><li><p>perform self-review,</p></li><li><p>generate a changelog,</p></li><li><p>prepare a pull request with evidence.</p></li></ol><p>With a factory like this, the engineer is no longer the bottleneck for every small step. The engineer&#8217;s role moves up one level: design the process, set quality standards, and make sure every output passes the right validation.</p><p>This is also where reusable assets matter. When a workflow repeatedly works, it should become a skill, a playbook, a subagent, or an automation. The loop is: find repeated work, evaluate whether it deserves to become an asset, then package it in the smallest useful form.</p><p>If every feature still starts from zero, we do not have a software factory. We only have an agent helping manual work. Manual work with AI assistance is still manual work.</p><h3><strong>3. Build Extensible Software &#8212; Open for Extension, Closed for Modification</strong></h3><p>Agentic engineering lives in a world that changes fast. Models change every month, sometimes every week. Tool ecosystems shift. Today&#8217;s best prompt may not be tomorrow&#8217;s best prompt. APIs move. Runtime patterns evolve.</p><p>In this environment, software that cannot be extended falls behind.</p><p>A codebase full of cascading conditionals, tight coupling, implicit behavior, and poor documentation makes agents slow and error-prone. Every change becomes risky because the agent cannot clearly see the boundaries. Every new feature becomes expensive because the system must be modified instead of extended.</p><p>The old principle &#8220;open for extension, closed for modification&#8221; becomes even more important in the age of agents. It is not only an architecture best practice. It is a survival strategy.</p><p>Agent-friendly software should be:</p><ul><li><p><strong>Composable</strong> &#8212; features can be assembled from existing components.</p></li><li><p><strong>Pluggable</strong> &#8212; models, tools, and skills can be swapped without changing the core.</p></li><li><p><strong>Observable</strong> &#8212; actions and decisions can be traced.</p></li><li><p><strong>Testable</strong> &#8212; components can be validated independently.</p></li><li><p><strong>Explicit about contracts</strong> &#8212; interfaces are documented and stable.</p></li><li><p><strong>Clear about boundaries</strong> &#8212; each module has a responsibility.</p></li><li><p><strong>Stable at the interface level</strong> &#8212; existing APIs do not change without a migration path.</p></li><li><p><strong>Easy to roll back</strong> &#8212; failures do not become irreversible drama.</p></li></ul><p>The clearer the boundaries, contracts, and tests, the less likely an agent is to make wild changes. Agents work best when the codebase gives them rails.</p><p>Extensible software is easier for humans to maintain. It is also easier for agents to understand, modify, and verify.</p><p><strong>In the age of agents, extensibility is not just an architecture principle. Extensibility is a safety feature.</strong></p><h3><strong>4. Always-On Agents &#8212; But With Token Economics</strong></h3><p>It is easy to imagine the future as always-on agents: agents coding while we sleep, monitoring production issues, reading logs, writing reports, fixing bugs, or running research workflows continuously.</p><p>That vision is real. But it has a trap.</p><p><strong>An always-on agent without clear economics is just a money-burning machine.</strong></p><p>Healthy token economics has three levels:</p><p><strong>Level 1: Spend tokens.</strong> Start using agents more. Do not be afraid to spend &#8212; but only if the next two levels are also true.</p><p><strong>Level 2: Make tokens useful.</strong> Tokens must produce real work: bugs fixed, PRs merged, reports used, insights discovered, tests passed.</p><p><strong>Level 3: Capture value.</strong> Agent output must produce measurable value: time saved, revenue gained, risk reduced, quality improved, onboarding accelerated, or research progress made.</p><p><strong>Tokens must become useful before they are allowed to scale.</strong></p><p>A rising API bill is a productivity KPI only when outcomes rise with it. If token spend grows 3x but outcomes grow 1.5x, something is wrong. Usually the agent does not have a clear task, strong evaluator, adequate access, or proper stop condition.</p><p>Always-on agents need SLOs like production systems:</p><ul><li><p>completed outcomes per day or week,</p></li><li><p>cost per accepted change,</p></li><li><p>cache hit rate,</p></li><li><p>high-risk actions blocked,</p></li><li><p>human time saved,</p></li><li><p>false positive rate from safety gates,</p></li><li><p>time-to-safe-completion.</p></li></ul><p>Do not scale agents first. Prove the useful-token loop first. Before that, optimization means clarifying the task, improving access, strengthening evaluators, and defining stop conditions.</p><h3><strong>5. Give Agents Access &#8212; With Deterministic Safety Gates</strong></h3><p>An agent that cannot reach APIs, CLIs, dashboards, or databases will keep asking humans to do things that should be automatic. That is a token tax: we pay tokens for waiting instead of completion.</p><p>If an agent needs database status but has no database access, it asks a human. The human checks, replies, and the agent continues. One loop can take minutes. With safe direct access, it could take seconds.</p><p>But the answer is not &#8220;give agents everything.&#8221; Unlimited access to production databases, deployment pipelines, or customer data is dangerous.</p><p>The right principle is:</p><p><strong>Least privilege for maximum useful autonomy.</strong></p><p>Or even more practically:</p><p><strong>Give agents reachable tools with deterministic safety gates.</strong></p><p>Not everything. Not nothing.</p><p>Access should be routed by risk:</p><ul><li><p><strong>Read-only &#8594; allow</strong> &#8212; read files, query with <code>SELECT</code>, inspect logs, read documentation.</p></li><li><p><strong>Write/reversible &#8594; verify</strong> &#8212; edit code, open PRs, update config, create drafts.</p></li><li><p><strong>High-impact/ambiguous &#8594; escalate</strong> &#8212; merge to main, modify production data, change pricing, send external communication.</p></li><li><p><strong>Destructive/irreversible &#8594; block</strong> &#8212; drop databases, delete production resources, revoke credentials, force-push to main.</p></li></ul><p>With this routing, agents can move quickly on safe actions while risky actions require evidence, verification, or human approval. Audit trails record what happened. Verifier routes ensure mutations pass through the correct gate.</p><p><strong>Agentic speed comes from access. Production trust comes from verification. We need both.</strong></p><p>For systems like ClaimMind, this is critical. An LLM may propose a diagnosis, identify a likely coding error, or recommend a correction. But the final decision must come from deterministic verification.</p><p><strong>Narrative can explain. Evidence must authorize.</strong></p><div><hr></div><h2><strong>Two Invariants for Production-Grade Agents</strong></h2><p>Across the work on harness design, prompt caching, benchmark results, and verifier-gated execution, two invariants keep showing up.</p><h3><strong>Invariant 1: Verification-Aware Control Flow</strong></h3><p>High-impact actions must be routed by evidence, not by the agent&#8217;s intent text.</p><p>This is not about saying AI cannot be trusted. It is about engineering discipline. An agent may propose anything. A proposal becomes an action only after the system verifies that:</p><ul><li><p>the context is sufficient and current,</p></li><li><p>the action matches policy,</p></li><li><p>supporting evidence exists,</p></li><li><p>the risk level is classified correctly,</p></li><li><p>the route is appropriate: allow, verify, escalate, or block.</p></li></ul><p>The LLM proposes. Deterministic verifiers dispose.</p><p>In an agent runtime, completion text should not be enough. An agent saying &#8220;I&#8217;m done&#8221; is only a signal. Completion should be accepted only after tests, evidence, validators, and typed decisions say it is safe.</p><p><strong>Ralph reads signals. The verifier authorizes exit.</strong></p><h3><strong>Invariant 2: Cache-Aware Execution Architecture</strong></h3><p>Runtime adaptation must preserve stable prefixes, stable tool contracts, and cache-safe forks.</p><p>The biggest lesson from Claude Code&#8217;s prompt caching architecture is this: prompt caching is not a minor optimization. It is architecture.</p><p>Long-running agents become economically feasible because prompt caching reduces latency and cost. But prompt caching is fragile. It works through prefix matching. Changes near the beginning of the request &#8212; system prompt, tool schema, tool order, project context &#8212; can invalidate the cache.</p><p>That means:</p><ul><li><p>do not add or remove tools mid-session,</p></li><li><p>do not update the system prompt for small dynamic changes,</p></li><li><p>inject changing context through messages or reminders,</p></li><li><p>avoid switching models mid-session unless using subagent handoff,</p></li><li><p>make compaction cache-safe,</p></li><li><p>use stubs and deferred loading for tool search.</p></li></ul><p>The design rule is simple:</p><p><strong>Tool policy may change at runtime; the tool prefix must not.</strong></p><p>This changes how we design safety gates. A risk gate should not enforce policy by changing the tool set. It should keep the tool contract stable and route runtime decisions through messages, events, wrappers, or typed decisions.</p><p>A risk gate must work. It must also avoid breaking the prefix.</p><p>Safe and stable. Not one or the other.</p><div><hr></div><h2><strong>From Vibe Coding to Harness Engineering</strong></h2><p>Vibe coding captured the first phase of AI-assisted development: fast, exploratory, chaotic, and often useful. It is great for prototypes and idea exploration.</p><p>But production software cannot stop at vibes.</p><p>Once agent output touches serious codebases, customer workflows, regulated data, financial systems, or production infrastructure, we need stronger discipline:</p><ul><li><p>clear requirements,</p></li><li><p>stable context,</p></li><li><p>tool boundaries,</p></li><li><p>verification gates,</p></li><li><p>test harnesses,</p></li><li><p>audit trails,</p></li><li><p>rollback paths,</p></li><li><p>human approval for risky decisions.</p></li></ul><p>That is the shift from vibe coding to harness engineering.</p><p>Harness engineering does not weaken agents. It gives them a safer, clearer, and more powerful workspace.</p><p><strong>Vibe coding increases exploration speed. Harness engineering increases production speed.</strong></p><div><hr></div><h2><strong>Agentic Engineering as a New Discipline</strong></h2><p>When we combine the five pillars and two invariants, agentic engineering becomes much more than prompting.</p><p>It includes:</p><ul><li><p>harness design,</p></li><li><p>workflow orchestration,</p></li><li><p>software factory design,</p></li><li><p>prompt and context architecture,</p></li><li><p>tool contract design,</p></li><li><p>verification and approval gates,</p></li><li><p>cache-aware execution architecture,</p></li><li><p>evaluation and testing strategy,</p></li><li><p>observability,</p></li><li><p>memory and compaction design,</p></li><li><p>subagent orchestration,</p></li><li><p>token-to-value economics,</p></li><li><p>security and access control.</p></li></ul><p>Agentic engineering sits at the intersection of software architecture, platform engineering, security, DevOps, and AI systems.</p><p>The engineers who win here are not necessarily the ones with the fanciest prompts. They are the ones who understand systems, tradeoffs, reliability, testing, architecture, and production risk.</p><p>Anyone can move faster with AI coding tools. But engineers who understand agentic engineering can build systems that make many agents move fast, safely, and consistently.</p><p>That is the real leverage.</p><div><hr></div><h2><strong>Conclusion: Engineers as Designers of Agent Systems</strong></h2><p>Agentic engineering will become a core engineering skill.</p><p>Not because every engineer must become a prompt engineer, but because software engineering is shifting from writing every line of code manually to designing systems where agents can produce code, tests, reviews, documentation, and operations safely.</p><p>The engineers who stand out will become designers of agent systems. They will design harnesses, define contracts, grant the right access, build factories, install verifiers, measure token-to-value, and keep the system reliable in production.</p><p>Models will change. Tools will change. The ability to build systems where agents work safely, repeatedly, and measurably will remain a moat.</p><p><strong>The future of software engineering is not humans being replaced by agents. The future is engineers building work systems where many agents can operate like a small coordinated organization.</strong></p><div><hr></div><p>Agent is leverage.</p><p>Harness is control.</p><p>Factory is scale.</p><p>Extensibility is durability.</p><p>Access is speed.</p><p>Verification is trust.</p><p>Cache stability is economics.</p><p>Token-to-value is proof.</p><p>That is agentic engineering.</p><div><hr></div><p><em>Inspired by IndyDevDan&#8217;s &#8220;Top #1 Opportunity for Senior Engineers: Agentic Engineering,&#8221; Thariq&#8217;s &#8220;Lessons from Building Claude Code: Prompt Caching Is Everything,&#8221; and Vaibhav Srivastav&#8217;s Codex skillify prompt.</em></p>]]></content:encoded></item><item><title><![CDATA[When Data Is Cheap, Insight Is Everything]]></title><description><![CDATA[AI agents will not eliminate analysts. They will move the bottleneck from access to judgment.]]></description><link>https://fitrakacamarga.substack.com/p/when-data-is-cheap-insight-is-everything</link><guid isPermaLink="false">https://fitrakacamarga.substack.com/p/when-data-is-cheap-insight-is-everything</guid><dc:creator><![CDATA[fitrakacamarga]]></dc:creator><pubDate>Fri, 29 May 2026 12:28:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ufOV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ufOV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ufOV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png 424w, https://substackcdn.com/image/fetch/$s_!ufOV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png 848w, https://substackcdn.com/image/fetch/$s_!ufOV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png 1272w, https://substackcdn.com/image/fetch/$s_!ufOV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ufOV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png" width="1456" height="840" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:840,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3081309,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fitrakacamarga.substack.com/i/199734854?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ufOV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png 424w, https://substackcdn.com/image/fetch/$s_!ufOV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png 848w, https://substackcdn.com/image/fetch/$s_!ufOV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png 1272w, https://substackcdn.com/image/fetch/$s_!ufOV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9ca965-1500-4e2a-acdc-a7c8b1de50c4_1651x953.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>In 1865, an English economist named William Stanley Jevons noticed something strange. James Watt&#8217;s improved steam engine was designed to use less coal. It did &#8212; per engine. But total British coal consumption had risen tenfold. Efficiency hadn&#8217;t reduced demand. It had created it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fitra's Drop! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Cheaper steam power made railroads viable. Iron smelting became affordable enough to industrialize. Ocean shipping reorganized around coal-fired engines. The savings per engine were real, and they were completely swamped by the proliferation of engines.</p><p>Jevons had stumbled on one of the most durable findings in economics: <strong>when the cost of an input collapses, demand for that input explodes.</strong> Not shrinks. Explodes. The pattern repeats everywhere. Cheaper lighting lengthened the working day. Cheaper computation built an information economy that now consumes more electricity than most countries.</p><p>We are about to learn this lesson again. The input this time is data access. And the place we&#8217;re about to learn it is every company that runs on dashboards.</p><h2><strong>The Age of Cheap Queries</strong></h2><p>For most of the history of business analytics, access to data was rationed by labor. You needed someone who could write SQL. Someone who knew which table was the right table. Someone who could clean the data, join it, validate it, and render it into a chart a human could actually read. The cost of asking a question was high, so questions were rationed.</p><p>AI agents are collapsing that cost. Natural language to SQL. Automated cleaning. Instant summaries. Charts generated on demand. A product manager can now ask, &#8220;What&#8217;s our churn rate by cohort for the last six months?&#8221; and get an answer in seconds &#8212; not days.</p><p>A reasonable observer might predict that this makes analysts obsolete. If anyone can query the data, who needs the person who used to write the queries?</p><p>This is the wrong prediction. And Jevons explains why.</p><h2><strong>What Jevons Did to Analytics</strong></h2><p>When the cost of querying data falls, two things happen at once. More people ask more questions, more often, about more things. That part is obvious. The less obvious part is that <strong>the bottleneck migrates.</strong></p><p>When data was expensive to access, the binding constraint was access. You needed SQL skill, dashboard permissions, ETL pipelines, and time. When AI removes that friction, the constraint doesn&#8217;t disappear &#8212; it moves to the next layer.</p><p>It moves to: <strong>which insights are real, which are artifacts of bad data, which are actionable, and which are worth acting on.</strong></p><p>In other words, the bottleneck moves from <em>access</em> to <em>judgment</em>.</p><p>This is the Jevons paradox applied to analytics. Cheaper queries don&#8217;t reduce the need for analytical thinking. They increase it &#8212; because now the organization is flooded with answers, and the scarce resource is knowing which answers matter.</p><h2><strong>Wheat and Bread</strong></h2><p>There&#8217;s a concept from the rabbinic tradition that captures this perfectly. The Talmud distinguishes between two kinds of expertise: the <em>master of wheat</em> &#8212; someone who has read everything, who knows every source &#8212; and the <em>baker</em> &#8212; someone who takes raw material and transforms it into something that sustains people.</p><p>The tradition&#8217;s verdict is unambiguous: wheat alone is not bread. Information was never the goal. The tradition lives in what gets made from it.</p><p>AI is the new master of wheat. It can retrieve, summarize, translate, and connect information at a speed no human can match. But retrieval is not insight. Summary is not judgment. A chart is not a decision.</p><p>The products that win &#8212; in analytics, in operations, in any domain where data meets action &#8212; are not the ones that give you more wheat. They are the ones that have a <strong>baking layer</strong>: validation, judgment, workflow, audit trails, human approval gates, and learning loops that get smarter over time.</p><h2><strong>What &#8220;Baking&#8221; Looks Like in Practice</strong></h2><p>Consider two contexts: one vertical and highly regulated, one horizontal and cross-functional.</p><h3><strong>ClaimMind: A Vertical System of Intelligence (Healthcare RCM)</strong></h3><p>When a hospital in Indonesia processes a BPJS insurance claim, the raw material is already there: diagnosis codes, procedure codes, patient history, coverage rules, and reimbursement policies.</p><p>An AI can retrieve all of this in milliseconds. It can cross-reference thousands of regulations. It can even generate a suggested claim submission.</p><p>But what makes the claim trusted &#8212; what makes the hospital confident it will be approved and paid &#8212; is not retrieval. It is the layer on top:</p><ul><li><p><strong>Validation:</strong> Do diagnosis and procedure codes actually match?</p></li><li><p><strong>Cross-reference:</strong> Are there contradictions or duplicates?</p></li><li><p><strong>Judgment:</strong> Is this claim borderline and in need of human review?</p></li><li><p><strong>Audit trail:</strong> Can we prove every decision path to auditors?</p></li><li><p><strong>Learning loop:</strong> When a claim is rejected, does the system learn why?</p></li></ul><p>The wheat is data. The bread is a trusted reimbursement decision.</p><p>That is what ClaimMind is built for: not faster querying, but decision-grade claim intelligence.</p><h3><strong>Seeknal: A Horizontal System of Intelligence (Data/ML/Analytics Ops)</strong></h3><p>Now zoom out to organizational operations.</p><p>Most companies run on fragmented systems: CRM, ERP, finance, inventory, support, internal tools. AI can query each one quickly. But speed across fragmented systems often scales inconsistency, not clarity.</p><p>Seeknal exists to be the baking layer across that environment:</p><ul><li><p><strong>Pipeline validation:</strong> Is data fresh, complete, and structurally sound?</p></li><li><p><strong>Cross-system reconciliation:</strong> Do operational metrics reconcile with financial reality?</p></li><li><p><strong>Policy-aware workflows:</strong> What can be auto-executed, and what must be escalated?</p></li><li><p><strong>Decision traceability:</strong> Can every recommendation be explained and audited?</p></li><li><p><strong>Outcome learning:</strong> Do failed actions improve future decisions?</p></li></ul><p>Again, the point is not access. The point is trustworthy action.</p><p>Seeknal and ClaimMind are different products in different domains, but they share the same architecture: a harness that turns cheap data access into reliable decisions.</p><h2><strong>The Shift: System of Record to System of Intelligence</strong></h2><p>This is where the &#8220;system of intelligence&#8221; perspective becomes critical.</p><p>A system of record stores facts. A system of intelligence decides what to do with those facts.</p><p>This distinction is now strategic.</p><p>As Steph Zhang has argued, value is moving from storage layers to reasoning-and-action layers. The moat is no longer who stores the most information. The moat is who can repeatedly convert information into high-quality decisions under real constraints.</p><p>Ben Lang&#8217;s lens complements this: the winners won&#8217;t be thin AI wrappers that generate output. They will be products that own workflow, context, and execution from end to end.</p><p>Cheap retrieval gives everyone wheat. Systems of intelligence are what bake bread.</p><h2><strong>Why This Matters Now</strong></h2><p>We are in the middle of a great flattening. AI is making data access, query generation, report creation, and summarization incredibly cheap. This is real progress. Millions of people who were previously excluded from data-driven decision-making are now included.</p><p>But Jevons tells us what happens next. Cheap access creates appetite for more. More queries, more reports, more dashboards, more &#8220;insights.&#8221; Organizations don&#8217;t become smarter automatically. They become noisier. The signal-to-noise ratio drops.</p><p>And the thing everyone actually wants &#8212; a clear, trustworthy answer they can act on &#8212; becomes harder to find, not easier.</p><p>That is why the next generation of data products won&#8217;t be better dashboards. They won&#8217;t be faster chatbots. They will be <strong>agentic workflows</strong> that don&#8217;t just fetch data, but <em>bake</em> it: validate it, contextualize it, flag what needs human judgment, execute what doesn&#8217;t, and leave an audit trail behind.</p><p>The workflow looks like this:</p><p>ask &#8594; inspect data &#8594; generate query &#8594; validate result &#8594; explain meaning &#8594; approve/escalate &#8594; act &#8594; learn</p><p>Everything after &#8220;generate query&#8221; is the real product. Everything after &#8220;generate query&#8221; is where value compounds.</p><h2><strong>The Bottleneck Has Moved</strong></h2><p>Every era of technology has a bottleneck. For a long time, analytics bottlenecks were access: SQL expertise, ETL pipelines, dashboard licenses, data engineering headcount.</p><p>AI is removing that bottleneck. And in doing so, it is revealing the next one:</p><p><strong>The capacity to turn cheap data into trusted decisions.</strong></p><p>This is not solved by &#8220;more model.&#8221; It is solved by systems:</p><ul><li><p>systems with validation layers</p></li><li><p>systems with approval gates</p></li><li><p>systems with audit trails</p></li><li><p>systems that learn from outcomes</p></li></ul><p>In that sense, Seeknal and ClaimMind are not two unrelated products. They are two expressions of the same thesis:</p><ul><li><p><strong>Seeknal</strong> is a system of intelligence for organizational data operations.</p></li><li><p><strong>ClaimMind</strong> is a system of intelligence for healthcare reimbursement operations.</p></li></ul><p>Different domains. Same architecture of trust.</p><p>When data is cheap, insight is everything. And insight doesn&#8217;t come from the model alone. It comes from the harness around it.</p><h2><strong>References</strong></h2><ul><li><p>Steph Zhang: </p></li></ul><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/steph_zhang/status/2054925688097128603?s=46&quot;,&quot;full_text&quot;:&quot;https://t.co/soMlXS55jU&quot;,&quot;username&quot;:&quot;steph_zhang&quot;,&quot;name&quot;:&quot;Steph Zhang&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2054912617576316928/rKlQ1-Ok_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-14T14:03:57.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:31,&quot;retweet_count&quot;:50,&quot;like_count&quot;:351,&quot;impression_count&quot;:483254,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><ul><li><p>Ben Lang: </p></li></ul><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/benln/status/2054546806516654263?s=46&quot;,&quot;full_text&quot;:&quot;Jack Dorsey on how every company can now be a mini-AGI: &quot;,&quot;username&quot;:&quot;benln&quot;,&quot;name&quot;:&quot;Ben Lang&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1713995709916012544/GHmSl9EK_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-13T12:58:24.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HIM3IKkXcAAHt8f.png&quot;,&quot;link_url&quot;:&quot;https://t.co/eAhu9dNwCG&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:70,&quot;retweet_count&quot;:295,&quot;like_count&quot;:2796,&quot;impression_count&quot;:866836,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><ul><li><p>Zohar Atkins (inspiration): </p></li></ul><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/zoharatkins/status/2054168204658815070&quot;,&quot;full_text&quot;:&quot;https://t.co/9FY4UbGAc3&quot;,&quot;username&quot;:&quot;ZoharAtkins&quot;,&quot;name&quot;:&quot;Zohar Atkins&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1688374226657398784/ofEXkBFh_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-12T11:53:59.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:89,&quot;retweet_count&quot;:329,&quot;like_count&quot;:2292,&quot;impression_count&quot;:1278689,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fitra's Drop! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Token-Maxing Is Not Waste. It Is How Builders Buy the Future. ]]></title><description><![CDATA[Why spending more context, compute, and iteration is the cheapest way to pull tomorrow closer]]></description><link>https://fitrakacamarga.substack.com/p/token-maxing-is-not-waste-it-is-how</link><guid isPermaLink="false">https://fitrakacamarga.substack.com/p/token-maxing-is-not-waste-it-is-how</guid><dc:creator><![CDATA[fitrakacamarga]]></dc:creator><pubDate>Wed, 06 May 2026 13:48:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wY_-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wY_-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wY_-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!wY_-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!wY_-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!wY_-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wY_-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2815960,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fitrakacamarga.substack.com/i/196657863?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wY_-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!wY_-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!wY_-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!wY_-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c5318d-aa67-42ae-8e60-e4cca2ad7868_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There is a phase in using AI coding agents where it looks like you are burning money.</p><p>The context window is full. Claude Code runs multiple times. Cursor regenerates again. An agent reads hundreds of files, writes a patch, fails, retries, refactors, and eventually produces something you still need to review.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fitra's Drop! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>From the outside, this looks wasteful.</p><p>I am increasingly convinced this is the wrong way to see it.</p><p>For founders, engineers, and builders working on things whose final shape is not yet obvious, <strong>token-maxing is not just an operational cost. Token-maxing is R&amp;D investment.</strong></p><p>You are not only buying output.</p><p>You are buying a map.</p><h2><strong>Token-maxing is discovery budget</strong></h2><p>The biggest mistake in calculating AI cost is treating tokens only as units of work.</p><p>If 10 million tokens produce one exploration sprint, people ask:</p><blockquote><p><strong>&#8220;Was that sprint worth it?&#8221;</strong></p></blockquote><p>The better question is:</p><blockquote><p><strong>&#8220;After those 10 million tokens, do we now understand a new way of working that was invisible before?&#8221;</strong></p></blockquote><p>Because in practice, token-maxing often produces things that do not immediately show up in the diff:</p><ul><li><p>we discover architectures we were previously afraid to try</p></li><li><p>we test three to five approaches in one afternoon</p></li><li><p>we see failure modes earlier</p></li><li><p>we learn prompt, review, evaluation, and workflow patterns that can be reused</p></li><li><p>we build confidence to take on more ambitious scope</p></li><li><p>we absorb work that normally requires several people: engineer, analyst, QA, tech writer, researcher</p></li></ul><p>The tokens that were &#8220;burned&#8221; are often not waste.</p><p>They are exploration cost.</p><p>And in software, exploration that expands the ambition frontier is often far more valuable than small efficiency gains on old tasks.</p><h2><strong>The old way of calculating AI ROI is too narrow</strong></h2><p>Many people calculate AI like this:</p><blockquote><p><strong>&#8220;I paid this many dollars for tokens. How many engineering hours did I get back?&#8221;</strong></p></blockquote><p>That is useful, but too narrow.</p><p>The biggest ROI from AI agents is not just replacing engineering hours. The biggest ROI appears when a small team can build something that previously did not make sense to attempt.</p><p>Without AI, founders often think:</p><blockquote><p><strong>&#8220;This needs a backend engineer, frontend engineer, data engineer, QA, DevOps, and a domain expert. Later.&#8221;</strong></p></blockquote><p>With AI agents, the question changes:</p><blockquote><p><strong>&#8220;What is the first version I can prove this week?&#8221;</strong></p></blockquote><p>That change in question is valuable.</p><p>Once the ambition frontier moves upward, the roadmap changes with it. A product that used to feel like a six-month project can become a two-week prototype. An experiment that used to require a small team can be handled by a founder plus an agentic workflow. Documentation, benchmarks, tests, demos, and internal tools can run in parallel.</p><p>This is where token-maxing becomes a long-term investment.</p><h2><strong>The Uber story is the tension in one headline</strong></h2><p>A recent Uber example captures the exact tension.</p><p>In April 2026, India Today reported, citing The Information, that Uber CTO Praveen Neppalli Naga said the company had already exceeded its AI spending assumptions because adoption of AI coding tools such as Claude Code had grown faster than expected. His quote is the kind of line that makes token-maxing look irresponsible:</p><blockquote><p><strong>&#8220;I&#8217;m back to the drawing board, because the budget I thought I would need is blown away already.&#8221;</strong></p></blockquote><p>Other summaries of the same story framed it even more dramatically: Uber had burned through its full-year AI budget in roughly four months, driven by Claude Code and Cursor usage. SmarterX described the episode as part of a larger enterprise problem: AI agents are arriving faster than budgets, governance, permissions, and architecture can absorb.</p><p>At first glance, this sounds like waste.</p><p>But the more interesting read is not &#8220;Uber wasted money on AI coding.&#8221; The more interesting read is that Uber discovered a budgeting model mismatch.</p><p>AI coding agents do not behave like ordinary SaaS seats. A per-seat tool can be forecast from headcount. A token-consuming agent workflow compounds with usage intensity: longer contexts, parallel agents, repeated retries, test generation, code review, and background tasks. Once a large engineering organization actually finds the tools useful, spend can rise much faster than the original plan.</p><p>That does not automatically make the spend good. It also does not automatically make it bad.</p><p>It means the unit of planning changed.</p><p>The lesson from Uber is not &#8220;stop using AI coding tools.&#8221; It is: if token-maxing is becoming a serious workflow, finance, engineering, and product leadership need a new operating model. Track outcomes, not just tokens. Separate waste from exploration. Put observability around loops and context decay. Budget for learning, not only for seats.</p><p>This is exactly why I prefer to call it R&amp;D budget rather than AI usage cost.</p><h2><strong>A simple model: 10 million tokens as learning sprint</strong></h2><p>Sometimes the right unit is not one prompt, one PR, or one session. It is a 10-million-token learning sprint - enough to load a full codebase context, run multiple agent passes, generate tests, write docs, retry failed approaches, and produce a reviewable artifact.</p><p>Let us use rough numbers.</p><p>Two to four such sprints per week means roughly:</p><ul><li><p>80-160 million tokens per month, or about 5 million per day during intensive phases</p></li><li><p>around US$750-3,000 per month depending on model mix and subscription vs API</p></li><li><p>around Rp13-53 million per month</p></li></ul><p>At 150 million tokens per month, token-maxing stops looking like casual AI usage and starts looking like an R&amp;D line item.</p><p>In Indonesia, Rp13-53 million per month is comparable to <strong>0.5-2 fully-loaded engineers</strong>, depending on seniority and pricing model.</p><p>So the bar cannot be:</p><blockquote><p><strong>&#8220;Did this token spend generate more code?&#8221;</strong></p></blockquote><p>That is too narrow. The better bar is:</p><blockquote><p><strong>&#8220;Did this spending reduce our uncertainty faster than normal working methods?&#8221;</strong></p></blockquote><p>Because proper token-maxing does not buy lines of code. It buys learning velocity.</p><p>With 150 million tokens per month, the outcomes worth seeking are not just patches, but:</p><ul><li><p>discovery cycles that normally take 4 weeks compressed to 1-2 weeks</p></li><li><p>1-2 wrong implementation paths eliminated before they become expensive</p></li><li><p>prototypes real enough to test with users or prospective customers</p></li><li><p>test suites, evals, benchmarks, and harness rules that can be reused</p></li><li><p>architecture notes and decision memos that clarify tradeoffs</p></li><li><p>founders knowing faster whether a product direction is worth pursuing</p></li><li><p>hiring delayed until the problem shape is clearer, not because AI replaces humans permanently</p></li></ul><p>This is the critical difference.</p><p>If tokens only produce untested code, unused documents, or agent loops that never changed a decision, that is waste.</p><p>But if tokens produce clarity, artifacts, and sharper decisions, the spending starts to look like R&amp;D.</p><h2><strong>Three ROI scenarios in Indonesia</strong></h2><p>This is not final accounting. It is a mental model for seeing the scale of impact.</p><h3><strong>Conservative case</strong></h3><p>Say token-maxing costs around <strong>Rp13-18 million per month</strong>.</p><p>The realistic outcome is not &#8220;replacing two engineers.&#8221; The more defensible outcome is:</p><ul><li><p>avoiding one wrong build path</p></li><li><p>accelerating one small prototype</p></li><li><p>producing initial tests and evals</p></li><li><p>helping a founder decide whether a feature is worth pursuing</p></li></ul><p>If one wrong decision typically costs 2 weeks of engineering time, then avoiding a single false start can already justify the token cost.</p><p>This is not &#8220;millions of dollars&#8221; yet. But it is already huge for an early-stage Indonesian startup.</p><h3><strong>Base case</strong></h3><p>Say the cost is around <strong>Rp26-36 million per month</strong>.</p><p>At this level, token-maxing should produce more than ad-hoc output. It should produce a working system:</p><ul><li><p>reusable prompts</p></li><li><p>regression tests</p></li><li><p>benchmark scenarios</p></li><li><p>architecture notes</p></li><li><p>internal tools</p></li><li><p>review checklists</p></li><li><p>deployment or validation workflows</p></li></ul><p>The defensible outcome: one discovery cycle that normally takes a month compressed to 1-2 weeks, and one specialist hire delayed until scope is genuinely clear.</p><p>Not because AI replaces that hire forever, but because we are no longer hiring in the fog.</p><p>Here, token-maxing starts to look like serious leverage. Not because tokens are cheap, but because <strong>uncertainty is expensive, and tokens reduce it</strong>.</p><h3><strong>Ambitious case</strong></h3><p>Say the cost approaches or exceeds <strong>Rp53 million per month</strong>.</p><p>At this point, token-maxing should be treated like a real R&amp;D budget. There should be clear exploration targets:</p><ul><li><p>a new product wedge</p></li><li><p>a faster pilot</p></li><li><p>a claim review workflow that can be tested</p></li><li><p>an eval harness that makes quality measurable</p></li><li><p>a revenue hypothesis that can be validated earlier</p></li></ul><p>If spending this much only produces more raw output, that is waste.</p><p>But if it accelerates revenue validation, opens a new product direction, or prevents the team from building the wrong system for 2-3 months, the return can far exceed the token cost.</p><p>This is where token-maxing can enter million-dollar territory.</p><h2><strong>Bottom line</strong></h2><p>Token-maxing only pays off when the output is not just code.</p><p>It has to reduce uncertainty.</p><p>It has to produce reusable artifacts.</p><p>It has to make the next decision sharper.</p><p>At 150 million tokens per month, we are no longer talking about casual AI usage. We are talking about a deliberate R&amp;D budget.</p><p>And like any R&amp;D budget, the question is not whether every experiment succeeds.</p><p>The question is whether the portfolio of experiments moves the company toward a future it could not reach otherwise.</p><h2><strong>For individuals: US$200/month is not an AI splurge</strong></h2><p>This argument is not only for companies.</p><p>For individuals - engineers, founders, operators, analysts, researchers, or anyone trying to level up in the AI era - a maximum-tier AI subscription, for example <strong>US$200 per month</strong>, should also be seen as a long-term tactical tool.</p><p>In Indonesia, US$200 per month is roughly <strong>Rp3.5 million per month</strong>. In one year, around <strong>Rp42 million</strong>.</p><p>That sounds expensive compared with normal consumer subscriptions. But compared with career investment, the number starts to make sense.</p><p>An engineer earning Rp20-30 million per month makes Rp240-360 million per year. An AI subscription costing Rp42 million per year is about <strong>12-18% of annual income</strong> to buy daily leverage.</p><p>The question is not:</p><blockquote><p><strong>&#8220;Is US$200 expensive?&#8221;</strong></p></blockquote><p>The question is:</p><blockquote><p><strong>&#8220;Can US$200/month raise my skill, output, and ambition level faster than the alternatives?&#8221;</strong></p></blockquote><p>If used properly, the answer is often yes.</p><p>Because a maximum-tier AI subscription is not just a tool for answering questions. It can become:</p><ul><li><p>a coding partner for reading codebases and producing patches</p></li><li><p>a private tutor for learning new frameworks</p></li><li><p>a reviewer for writing, proposals, and technical decisions</p></li><li><p>a research assistant for papers, docs, and competitor landscapes</p></li><li><p>a product thinking partner for turning ideas into experiments</p></li><li><p>a QA assistant for test cases and edge-case checklists</p></li><li><p>a tactical career coach for portfolios, CVs, interview prep, and technical communication</p></li></ul><p>For individuals, token-maxing is a way to buy <strong>compound learning</strong>.</p><p>If a US$200/month subscription helps someone increase their salary from Rp25 million to Rp35 million per month, the additional income is <strong>Rp10 million/month</strong>, or <strong>Rp120 million/year</strong>.</p><p>The AI cost is <strong>Rp42 million/year</strong>.</p><p>Rough net benefit: <strong>Rp78 million/year</strong>.</p><p>That does not include side projects, consulting, or the ability to build your own product. Even one small micro-SaaS that makes US$1,000 MRR becomes around US$12,000 ARR - roughly 5x the annual AI subscription cost of US$2,400.</p><p>But there is an important caveat: an expensive subscription does not automatically make someone more productive.</p><p>US$200/month only becomes an investment if it is actively used to build assets:</p><ul><li><p>repositories you can show</p></li><li><p>technical writing that strengthens your personal brand</p></li><li><p>automation for daily work</p></li><li><p>reusable templates and workflows</p></li><li><p>deeper domain understanding</p></li><li><p>new skills that are actually practiced</p></li></ul><p>If it is only used for random chatting, article summaries, or one-off generated answers, then yes, it can be waste.</p><p>But if it is used as a daily gym for thinking, building, writing, evaluating, and shipping, US$200/month is a tactical tool for a long-term strategy.</p><p>At that point, token-maxing is not a lifestyle.</p><p>It is a career strategy.</p><h2><strong>The compound effect is confidence</strong></h2><p>The biggest saving from AI does not always show up in this month&#8217;s P&amp;L.</p><p>The biggest saving appears when the team becomes more courageous.</p><p>Before AI agents, many ideas die inside the founder&#8217;s head because they feel too expensive:</p><ul><li><p>&#8220;We do not have a data engineer yet.&#8221;</p></li><li><p>&#8220;Backend bandwidth is not available.&#8221;</p></li><li><p>&#8220;Nobody is handling QA.&#8221;</p></li><li><p>&#8220;Maybe after we hire.&#8221;</p></li><li><p>&#8220;This is too complex for now.&#8221;</p></li></ul><p>After a few months of token-maxing, the thinking changes:</p><ul><li><p>&#8220;We can prototype it first.&#8221;</p></li><li><p>&#8220;We can ask the agent to read the codebase and propose a patch.&#8221;</p></li><li><p>&#8220;We can generate the test harness.&#8221;</p></li><li><p>&#8220;We can build an internal validation tool.&#8221;</p></li><li><p>&#8220;We can explore a new workflow without waiting for headcount.&#8221;</p></li></ul><p>This confidence compounds.</p><p>One internal tool makes the next experiment faster. One benchmark makes the next refactor safer. One agent workflow makes the team brave enough to take on a more complex use case. One successful product wedge opens a new revenue stream.</p><p>Viewed per session, token-maxing looks messy.</p><p>Viewed over a year, token-maxing looks like an organization building a new muscle.</p><h2><strong>Case study: ClaimMind</strong></h2><p>ClaimMind is a useful example because the problem is not simply &#8220;use AI to answer claim questions&#8221;.</p><p>The real problem is deeper: how do you build workflow intelligence for claim review that is evidence-grounded, policy-bound, and auditable?</p><p>In the context of BPJS and hospital claim operations, AI cannot merely produce an answer that sounds correct. The system must be able to:</p><ul><li><p>read claim documents and metadata</p></li><li><p>check evidence completeness</p></li><li><p>understand ICD, procedure, and tariff paths</p></li><li><p>detect conflicts with policy</p></li><li><p>choose the right branch: auto-pass, clarification, escalate, reject/block</p></li><li><p>preserve an audit trail</p></li><li><p>explain why a decision was made</p></li></ul><p>This is not a chatbot.</p><p>This is a workflow system.</p><p>And to build a system like this, the token-maxing phase matters.</p><p>At the beginning, we do not know every branch. We do not know which edge cases appear most often. We do not know the right harness shape. We do not know which prompts are robust under user pressure. We do not know which parts should be verified by a rule engine, which parts can be assisted by an LLM, and which parts must remain human-in-the-loop.</p><p>Token-maxing lets ClaimMind explore that possibility space faster:</p><ul><li><p>agents can help map BPJS exception workflow branches</p></li><li><p>agents can generate adversarial scenarios: override pressure, shortcut requests, misleading summaries, state confusion</p></li><li><p>agents can create a minimum audit schema</p></li><li><p>agents can propose scoring axes: branch accuracy, evidence sufficiency, policy compliance, escalation precision</p></li><li><p>agents can write test scenarios and regression suites</p></li><li><p>agents can help design a harness so the AI does not merely &#8220;answer&#8221;, but follows a policy-bound workflow</p></li></ul><p>If all of this is done manually by a small team, you need several roles at once: domain analyst, product engineer, backend engineer, QA, technical writer, and applied AI engineer.</p><p>With token-maxing, those roles do not disappear. But the exploration phase compresses. The founder can see the system map faster, make sharper decisions, and hire after the shape of the problem becomes clearer.</p><p>That is the difference between burning tokens and buying clarity.</p><h2><strong>Observability matters, but do not become cheap with tokens</strong></h2><p>Interestingly, a recent 30-day scan showed that token-maxing is already real enough to create dedicated observability tooling.</p><p>Projects like <code>tokscale</code>, <code>codeburn</code>, <code>claude-usage</code>, and <code>token-optimizer</code> help teams see token usage, cost, session history, ghost tokens, and context decay.</p><p>This is an important signal.</p><p>Whenever a new behavior creates observability tooling, it usually means the behavior has become a serious workflow. People do not build dashboards for things that do not matter.</p><p>But observability is not an excuse to become cheap with tokens.</p><p>Observability should help us distinguish two things:</p><ol><li><p><strong>Waste</strong> - tokens consumed because of loops, poor prompts, broken context, or unclear task definition.</p></li><li><p><strong>Investment</strong> - tokens used for exploration, building, testing, learning, and creating reusable workflows.</p></li></ol><p>The first should be reduced.</p><p>The second should be managed like an R&amp;D portfolio.</p><h2><strong>Good token-maxing has discipline</strong></h2><p>I am not saying every use of tokens is automatically good.</p><p>Token-maxing without discipline can absolutely become waste. If an agent loops without acceptance criteria, reads irrelevant files, or keeps generating without tests, that is not investment. That is noise.</p><p>Healthy token-maxing has a few rules:</p><ol><li><p><strong>There is a learning objective.</strong> We know what we are trying to discover: architecture, failure mode, benchmark, product wedge, or implementation path.</p></li><li><p><strong>There is an artifact.</strong> A large session should produce something reusable: a document, patch, test, eval, prompt pattern, harness rule, or decision memo.</p></li><li><p><strong>There is a verification gate.</strong> AI output must be tested, reviewed, or at least checked against a rubric. Without verification, tokens only generate false confidence.</p></li><li><p><strong>There is compaction discipline.</strong> Large context must be managed. Once context decays, the agent can become more expensive and worse at the same time.</p></li><li><p><strong>There is a lightweight postmortem.</strong> After an expensive session, ask: what did we learn, what is reusable, and what should we avoid tomorrow?</p></li></ol><p>With this discipline, token-maxing is not &#8220;high AI usage&#8221;.</p><p>It becomes a structured learning system.</p><h2><strong>Do not optimize too early</strong></h2><p>In the early phase of AI-native building, I am more afraid of founders saving tokens too early than using too many tokens.</p><p>Premature optimization in the AI era can take a new form:</p><blockquote><p><strong>&#8220;Do not use too much context.&#8221; &#8220;Do not run the agent too often.&#8221; &#8220;Do not try that approach, it is expensive.&#8221; &#8220;Do not explore too far.&#8221;</strong></p></blockquote><p>But in the early phase, our job is precisely to discover what is possible.</p><p>Correct token-maxing does not mean spending without limits. Correct token-maxing means being willing to buy a faster learning loop, then converting that learning into software, workflow, revenue streams, and organizational leverage.</p><p>For a company like ClaimMind, this can be the difference between building a generic claim chatbot and building infrastructure for auditable claim intelligence.</p><p>One saves cost.</p><p>The other opens a new category.</p><p>And sometimes, 10 million tokens are not a cost.</p><p>They are a down payment on a more ambitious future.</p><h2><strong>References</strong></h2><ul><li><p>India Today - &#8220;Uber CTO says AI spending plans fall short as tools like Claude Code drive costs up&#8221; (Apr 15, 2026). Reports Uber CTO Praveen Neppalli Naga&#8217;s quote about going &#8220;back to the drawing board&#8221; after AI spending assumptions were exceeded. <strong><a href="https://www.indiatoday.in/technology/story/uber-cto-says-ai-spending-plans-fall-short-as-tools-like-claude-code-drive-costs-up-2896621-2026-04-15">https://www.indiatoday.in/technology/story/uber-cto-says-ai-spending-plans-fall-short-as-tools-like-claude-code-drive-costs-up-2896621-2026-04-15</a></strong></p></li><li><p>The Information - &#8220;Uber CTO Shows How Claude Code Can Blow Up AI Budgets.&#8221; Original cited report on Uber&#8217;s AI coding budget pressure. <strong><a href="https://www.theinformation.com/newsletters/applied-ai/uber-cto-shows-claude-code-can-blow-ai-budgets">https://www.theinformation.com/newsletters/applied-ai/uber-cto-shows-claude-code-can-blow-ai-budgets</a></strong></p></li><li><p>SmarterX - &#8220;Why No One Has Enterprise AI Agents Figured Out Yet&#8221; (Apr 21, 2026). Connects the Uber budget story to broader enterprise agent budgeting, governance, and architecture issues. <strong><a href="https://smarterx.ai/smarterxblog/ai-agents-enterprise-budgets">https://smarterx.ai/smarterxblog/ai-agents-enterprise-budgets</a></strong></p></li><li><p>Wall Street Journal - &#8220;Why Some Companies Say AI &#8216;Tokenmaxxing&#8217; Is Key to Survival.&#8221; Covers the broader tokenmaxxing debate and Meta&#8217;s token usage leaderboard. <strong><a href="https://www.wsj.com/cio-journal/why-some-companies-say-ai-tokenmaxxing-is-key-to-survival-e699a128">https://www.wsj.com/cio-journal/why-some-companies-say-ai-tokenmaxxing-is-key-to-survival-e699a128</a></strong></p></li><li><p>OpenAI - &#8220;Codex for (almost) everything.&#8221; Describes expanding coding-agent workflows, including background computer use and parallel agents. <strong><a href="https://openai.com/index/codex-for-almost-everything/">https://openai.com/index/codex-for-almost-everything/</a></strong></p></li><li><p>Business Insider - &#8220;Microsoft exec suggests AI agents will need to buy software licenses, just like employees.&#8221; Useful context for why agent workflows may break old per-seat SaaS planning assumptions. <strong><a href="https://www.businessinsider.com/microsoft-executive-suggests-ai-agents-buy-software-licenses-seats-2026-4">https://www.businessinsider.com/microsoft-executive-suggests-ai-agents-buy-software-licenses-seats-2026-4</a></strong></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fitra's Drop! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Last Mile Is the Job in the AI Era]]></title><description><![CDATA[Why judgement, verification, and ambition in the last 10% of work are becoming the real job in the AI era.]]></description><link>https://fitrakacamarga.substack.com/p/the-last-mile-is-the-job-in-the-ai</link><guid isPermaLink="false">https://fitrakacamarga.substack.com/p/the-last-mile-is-the-job-in-the-ai</guid><dc:creator><![CDATA[fitrakacamarga]]></dc:creator><pubDate>Tue, 28 Apr 2026 06:05:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JTUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JTUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JTUw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png 424w, https://substackcdn.com/image/fetch/$s_!JTUw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png 848w, https://substackcdn.com/image/fetch/$s_!JTUw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png 1272w, https://substackcdn.com/image/fetch/$s_!JTUw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JTUw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png" width="1456" height="873" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:873,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2801987,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fitrakacamarga.substack.com/i/195715579?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JTUw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png 424w, https://substackcdn.com/image/fetch/$s_!JTUw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png 848w, https://substackcdn.com/image/fetch/$s_!JTUw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png 1272w, https://substackcdn.com/image/fetch/$s_!JTUw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8efe9c87-927b-469a-8836-9dd9843ebcf2_1620x971.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most conversations about AI agents focus on how much work the agent can do. Can it write the code, generate the deck, analyze the dataset, triage the support inbox, or automate the outreach sequence?</p><p>That framing is directionally useful, but it misses the deeper shift. The problem is not that AI agents are failing. The bigger change is that in the AI era, the highest-value part of many jobs increasingly lives in the last mile: judgment, correction, integration, accountability, and the ambition to raise the bar once basic execution becomes cheaper.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fitra's Drop! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The most important question is not how much of the task an agent can start. It is whether the system can reliably finish the job.</p><p>In practice, many agents can already do 80 to 90 percent of a workflow. That is real progress. But the remaining 10 percent often contains a disproportionate amount of the value and risk. This is the stretch where someone still has to review the output, catch subtle mistakes, decide whether the work is actually good enough, fit it into a larger system, and take accountability for shipping it.</p><p>That final stretch is the last mile. And I increasingly think it is not just a leftover problem. It is becoming the job.</p><h1><strong>The dangerous illusion of 90 percent automation</strong></h1><p>A lot of AI demos look incredible because they show the part of the workflow that is easiest to appreciate visually. The agent reasons through a problem, opens tools, generates an answer, and appears to complete the task end to end. In a demo, this feels close enough to autonomy.</p><p>But production is not a demo.</p><p>A coding agent can write a lot of code and still leave the hardest part undone: code review, security review, production readiness, observability, rollback planning, and ownership after deployment.</p><p>A research agent can summarize papers and draft a literature review, but someone still has to verify whether the citations are real, whether the novelty claim holds up, whether the framing is honest, and whether the argument survives external scrutiny.</p><p>A sales agent can automate outreach and qualification, but closing the loop still requires customer judgment, trust building, negotiation, and context that rarely fits neatly into a prompt.</p><p>This is why partial automation gets overvalued. Doing 90 percent of a task is irrelevant if the remaining 10 percent determines whether the result can actually be used.</p><h1><strong>Why the last mile is the hardest part</strong></h1><p>The last mile is not just the leftover work. It is usually the highest-consequence work.</p><p>This is where judgment shows up. This is where taste matters. This is where the system encounters the edge cases that were invisible in the happy path. This is where a low-quality output can quietly become an expensive problem.</p><p>In other words, the last mile is where teams have to answer the questions that models are still bad at answering with confidence:</p><ul><li><p>Is this actually correct?</p></li><li><p>Is it safe enough to ship?</p></li><li><p>Does it fit the broader context?</p></li><li><p>Did we miss a failure mode?</p></li><li><p>Is this good, or does it just look finished?</p></li></ul><p>The people who can answer those questions create the real value. Their job shifts from manual execution toward adjudication: reviewing, correcting, integrating, escalating, and deciding when something is done.</p><p>That is also why so many arguments about AI replacing jobs miss the point. The issue is not whether a model can do most of the visible work. The issue is whether anyone can trust the system to complete the entire job at the level that reality demands.</p><h1><strong>Better AI does not eliminate the last mile. It creates a new one.</strong></h1><p>There is a common assumption hiding underneath a lot of automation discourse: once agents go from 80 percent to 95 percent to 99 percent task completion, the remaining human work will disappear.</p><p>I do not think that is how this plays out in real organizations.</p><p>When tools get better, expectations rise with them.</p><p>If an engineering team can produce more code, the bar for product quality, reliability, testing, and iteration speed goes up. If an analytics team can generate dashboards faster, the organization asks for deeper analysis, tighter decision loops, and more customized insights. If a design workflow gets partially automated, customers do not reward you for doing less design work. They expect better products.</p><p>This has been true across waves of software tooling. Better tools rarely make the work simpler in aggregate. They expand the frontier of what counts as acceptable work.</p><p>So today&#8217;s 99 percent solution often becomes tomorrow&#8217;s 50 percent solution, because the target moved.</p><p>That is why AI should not only be understood as an efficiency engine. It is also an ambition engine. When execution gets cheaper, the rational response is not just to defend the old scope of work. It is to ask what becomes possible now that used to feel out of reach.</p><h1><strong>AI raises the ambition frontier</strong></h1><p>This is where Garry Tan&#8217;s &#8220;boil the ocean&#8221; framing feels relevant.</p><p>In normal times, ambition gets constrained by labor, coordination cost, and execution bottlenecks. Teams are told not to boil the ocean because the ocean is simply too large for the available bandwidth.</p><p>But AI changes that equation.</p><p>When a team can explore ten product directions instead of two, inspect far more customer feedback, automate large parts of research and implementation, or compress weeks of execution into days, the right response is not to do the same work a little more cheaply. The right response is to raise ambition.</p><p>That is the deeper meaning behind the idea that today&#8217;s 99 percent solution becomes tomorrow&#8217;s 50 percent solution. Once the floor rises, the ceiling moves too. Organizations no longer compete on whether they can produce the old output more efficiently. They compete on whether they can use these new tools to build something significantly better.</p><p>This is the part that many cost-cutting narratives miss. AI does not just shrink the labor required for known work. It expands the set of projects, products, and standards that become rational to pursue. It pushes teams toward more ambitious builds, more advanced systems, richer customer experiences, and faster loops between idea and execution.</p><p>And that makes the last mile more important, not less. The more ambitious the system, the more important judgment becomes. Bigger scope, faster execution, and more powerful agents increase the need for strong review, strong governance, strong taste, and strong mechanisms for deciding what deserves to ship.</p><h1><strong>The strategic implication: the moat moves from generation to adjudication</strong></h1><p>If this is true, then the next wave of AI agent infrastructure will not be defined only by who has the most capable model or the longest autonomous workflow demo.</p><p>It will be defined by who is best at closing the gap between generated work and accepted outcomes.</p><p>That gap is where the real infrastructure lives:</p><ul><li><p>verification systems that check whether outputs are trustworthy</p></li><li><p>routing systems that decide when to pass, retry, escalate, or stop</p></li><li><p>evidence capture that explains why the system believes an output is acceptable</p></li><li><p>audit trails that make the process legible after the fact</p></li><li><p>deployment and integration gates that turn artifacts into operational outcomes</p></li></ul><p>This is why I keep coming back to harness engineering.</p><p>The harness is not just a wrapper around the model. It is the operational layer that determines whether an agent can be trusted in real work. It is where completion gets governed.</p><p>A strong model can generate a plausible answer. A strong harness determines whether that answer becomes production reality.</p><h1><strong>Why this matters even more for headless agents</strong></h1><p>This is especially important for headless agents in data and ML workflows.</p><p>A chat assistant has a natural escape hatch. If the answer looks suspicious, the human can ask a follow-up question, redirect the conversation, or simply ignore the output.</p><p>A headless agent does not have that luxury. It often operates against live systems, background jobs, production pipelines, schemas, dashboards, data contracts, or model evaluation workflows. There is no conversational cushion between generation and consequence.</p><p>That means the last mile gets sharper.</p><p>A data agent can produce a SQL query that looks plausible but is subtly wrong. An ML agent can recommend an evaluation change that seems reasonable but quietly breaks comparability across experiments. An analytics agent can generate an insight that sounds compelling but rests on a flawed join or missing cohort assumption.</p><p>We see the same pattern in ClaimMind. AI can help structure claim data, suggest coding directions, and reduce a large amount of manual review work, but the output still needs to be matched against hospital rules, payer constraints, and operational policy. The system can narrow the search space and surface likely ICD paths, but a human reviewer still makes the final decision on which claim interpretation and ICD code should actually be used. That final judgment is exactly where organizational accountability lives.</p><p>What is interesting is that this boundary is not fixed forever. As the system learns from organizational behavior, review patterns, escalation history, and accepted outcomes, more of that final layer may become automatable. But it only becomes safe to automate because the organization first created the review loop, the rules, and the evidence trail.</p><p>In all of those cases, the value of the system depends less on whether it generated something and more on whether the surrounding system can verify, constrain, and appropriately route the result before it is accepted.</p><p>This is why headless AI systems should be evaluated on accepted, auditable completion, not just task coverage.</p><h1><strong>What teams should build now</strong></h1><p>If the last mile is the real bottleneck, then teams building AI agents should care less about theatrical autonomy and more about completion systems.</p><p>A few things become much more important:</p><h3><strong>1. Verification before celebration</strong></h3><p>Do not confuse a fluent output with a correct one. Cheap deterministic checks should run wherever possible, and stronger semantic verification should be layered where risk is high.</p><h3><strong>2. Explicit escalation paths</strong></h3><p>Not every task should be forced through autonomy. Teams need clear rules for when an agent should stop, ask for review, or hand off to a human.</p><h3><strong>3. Evidence, not vibes</strong></h3><p>If an output is accepted, the system should be able to say why. Confidence without evidence is not enough when real workflows are at stake.</p><h3><strong>4. Completion-oriented metrics</strong></h3><p>Measure what actually matters: accepted outcomes, retry success, escalation quality, false accepts, audit readiness, and downstream usability.</p><h3><strong>5. Ambition-aware workflows</strong></h3><p>Do not use AI only to do the old work faster. Use it to explore a larger design space, attempt more valuable outcomes, and raise the standard of what the team is trying to ship.</p><h3><strong>6. Domain-specific judgment surfaces</strong></h3><p>The last mile is rarely generic. It shows up differently in engineering, finance, support, healthcare, and analytics. The harness has to reflect the domain, not just the model.</p><h1><strong>My take</strong></h1><p>AI shifts human labor from execution to adjudication.</p><p>But that is only half the story. AI also shifts the organization from local optimization toward frontier expansion, if leadership is willing to use the capability that way.</p><p>That is why I think the highest-leverage teams will not just be the ones that can get an agent to produce an artifact. They will be the ones that can raise ambition and still decide, reliably and at scale, whether an artifact deserves to become an outcome.</p><p>That is a different problem from prompting. It is a different problem from model benchmarking. And it is a much more interesting problem than most of the current discourse admits.</p><p>The biggest mistake teams can make right now is optimizing for the appearance of autonomy instead of the reality of completion, or optimizing only for efficiency instead of ambition.</p><p>The real battle is in the last mile.</p><p>The last mile is not a bug in AI agents. It is increasingly the job in the AI era.</p><h1><strong>Sources</strong></h1><ul><li><p>Aaron Levie, <strong><a href="https://x.com/levie/status/2048950940661932319">&#8220;The never-ending last mile of work&#8221;</a></strong> (X thread)</p></li><li><p>Garry Tan, <strong><a href="https://garryslist.org/posts/boil-the-ocean">&#8220;Boil the Ocean&#8221;</a></strong></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fitra's Drop! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Not Every AI Agent Should Be a Coding Agent]]></title><description><![CDATA[One thing I&#8217;ve learned from building AI agents is this: not every AI agent should look like a coding agent.]]></description><link>https://fitrakacamarga.substack.com/p/not-every-ai-agent-should-be-a-coding</link><guid isPermaLink="false">https://fitrakacamarga.substack.com/p/not-every-ai-agent-should-be-a-coding</guid><dc:creator><![CDATA[fitrakacamarga]]></dc:creator><pubDate>Tue, 28 Apr 2026 05:18:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RLdC!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6bc6d14-3aa2-4297-a4b7-f05d067a0177_1254x1254.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>One thing I&#8217;ve learned from building AI agents is this: not every AI agent should look like a coding agent.</p><p>Yes, coding agents are probably the most versatile kind of agent we have today. Give them a shell, filesystem access, web search, and enough autonomy, and they can do a surprising amount of work.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading fitrakacamarga&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>But versatility is not the same as effectiveness.</p><p>In practice, the best AI agents are not the most general ones. They are the ones designed around a specific objective &#8212; with the right tools, system prompt, skills, memory model, and operating environment.</p><p>That distinction becomes obvious when you build more than one kind of agent.Two Agents, Two Different Worlds</p><p>Over the past year, I&#8217;ve been building two AI agents that couldn&#8217;t be more different.</p><h1><strong>Agent 1: Seeknal &#8212; A Data-Native Agent</strong></h1><p>Seeknal is an all-in-one CLI for data and AI/ML engineering. Its AI agent (seeknal ask) needs to answer questions about your data, build and validate pipelines, profile datasets, and generate reports.</p><p>For this agent, the &#8220;native language&#8221; is data operations. So we designed it so that:</p><ul><li><p><code>sql_query</code> is a native tool &#8212; the agent queries PostgreSQL, DuckDB, and Iceberg directly</p></li><li><p>Seeknal&#8217;s own operations (organize, expose, action) are native tools, not invoked through bash</p></li><li><p>The agent has full context of your pipeline schemas, lineage, and entity definitions before you ask anything</p></li><li><p>It understands the draft &#8594; dry-run &#8594; apply workflow natively</p></li></ul><p>The result: when you ask &#8220;what&#8217;s our revenue trend by region this quarter?&#8221;, the agent doesn&#8217;t spawn a Python script, write SQL to a file, execute it via bash, then parse the output. It queries the database directly through its native tool and returns the answer in seconds.</p><p>No bash. No grep. No pip install. Just the right tool for the job.</p><h1>Agent 2: A Personal Agent &#8212; Simple by Design</h1><p>In a different setting, I also built a simpler personal agent for daily tasks. Its job: search for information, inspect files, summarize context, and help with general workflows.</p><p>For this agent, native tools like filesystem and web_search are enough. It doesn&#8217;t need SQL-native tools, pipeline operations, or ML model management. And it works better because it&#8217;s not distracted by capabilities it doesn&#8217;t need.The Mistake I See Too Often</p><p>A lot of people start with the tools they already have &#8212; shell, browser, filesystem, search &#8212; then ask, &#8220;What can my agent do with this?&#8221;</p><p>I think that is backwards.</p><p>The better question is: what problem am I trying to solve, and what is the best environment for an agent to solve it in?</p><p>Because once you answer that, the rest becomes clearer: what tools should be native, what abstractions the agent should operate on, what skills should exist, and what kind of verification and recovery the harness should implement.</p><h1>What Harness Engineering Taught Me</h1><p>From our harness engineering research, we&#8217;ve been studying how to make AI agents reliable. One pattern keeps showing up: more tools doesn&#8217;t mean better performance. In fact, it often means worse.</p><p>A recent study (GraSP, arXiv:2604.17870) found that giving agents flat lists of skills actually hurts reliability. When you compile those same skills into a structured graph with typed dependencies, performance jumps &#8212; up to +19 reward and 41% fewer wasted steps.</p><p>Why? Because every tool you give an agent is a decision it has to make. More tools = more decisions = more chances to pick the wrong one.</p><p>This is why harness design matters so much:</p><ul><li><p>The environment shapes the task</p></li><li><p>The task shapes the tools</p></li><li><p>The tools shape the agent&#8217;s behavior</p></li><li><p>And the harness determines whether that behavior stays useful or drifts into noise</p></li></ul><p>A coding agent needs loop detection, patch verification, and file-level reasoning. A data-native agent needs schema grounding, query validation, and lineage awareness. A personal assistant needs lightweight context management and low-friction interaction patterns.</p><p>Same foundation. Different environment. Different harness.The Design Framework</p><p>When I think about building an AI agent now, I start with five questions:</p><ol><li><p>What is the real objective? Not &#8220;use AI&#8221; &#8212; but what job should this agent do repeatedly and well?</p></li><li><p>What environment does that work actually live in? Shell? Database? Browser? Internal tools? Messaging layer?</p></li><li><p>What should be native tools vs. wrapped tools? Native tools shape agent fluency. If SQL is 80% of what the agent does, make it native &#8212; not something it scripts through bash.</p></li><li><p>What failure modes matter most? Wrong SQL is different from wrong code. Wrong personal summary is different from wrong production patch.</p></li><li><p>What harness makes this agent reliable in that environment? Detection, routing, guardrails, and recovery should be designed around the real task.</p></li></ol><h1>When to Use What</h1><p>I&#8217;m not saying coding agents are bad. They&#8217;re essential for general-purpose tasks. But they shouldn&#8217;t be your default.</p><p>Use a coding agent when:</p><ul><li><p>The task is unpredictable and requires exploration</p></li><li><p>You need to prototype something quickly</p></li><li><p>The environment is unknown or constantly changing</p></li></ul><p>Use a domain-specific agent when:</p><ul><li><p>The task is well-defined and repetitive</p></li><li><p>You have clear success criteria</p></li><li><p>The environment is structured and knowable</p></li><li><p>Reliability matters more than flexibility</p></li></ul><h1>The Uncomfortable Tradeoff</h1><p>Building a domain-specific agent is more work upfront than building a general-purpose one. It&#8217;s easier to give an agent bash access and say &#8220;figure it out.&#8221;</p><p>But that agent will be slower, less reliable, and more expensive to run. Seeknal&#8217;s data agent can answer an analytics question in one tool call. A coding agent would need 5-10 tool calls, a temporary Python script, error handling, and output parsing to do the same thing.</p><p>The best agent is not the most general one. It is the one designed for the work you actually need done.</p><p>Start from the problem, not from the toolchain. Because sometimes bash, grep, and ls are enough. And sometimes they are exactly the wrong abstraction.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading fitrakacamarga&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why I Built My Own Data Pipeline Tool After 10+ Years as Data Scientist Then CTO]]></title><description><![CDATA[I started my career as a data scientist at Indosat Ooredoo, then moved to Eureka AI in Singapore where I spent 7+ years &#8212; from writing ML models to leading engineering as Head of Engineering & ML.]]></description><link>https://fitrakacamarga.substack.com/p/why-i-built-my-own-data-pipeline</link><guid isPermaLink="false">https://fitrakacamarga.substack.com/p/why-i-built-my-own-data-pipeline</guid><dc:creator><![CDATA[fitrakacamarga]]></dc:creator><pubDate>Tue, 28 Apr 2026 05:18:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RLdC!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6bc6d14-3aa2-4297-a4b7-f05d067a0177_1254x1254.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I started my career as a data scientist at Indosat Ooredoo, then moved to Eureka AI in Singapore where I spent 7+ years &#8212; from writing ML models to leading engineering as Head of Engineering &amp; ML. Eventually I became CTO, responsible for the whole data stack from ingestion to insight.</p><p>And at every single company, the same thing happened.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading fitrakacamarga&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1>The Pattern</h1><p>It always starts simple. You need to move data from A to B. You write some SQL. You build a pipeline. Maybe you adopt dbt because everyone says you should. Then you need ML features, so you add Feast. Then you need metrics that everyone agrees on, so you build a semantic layer. Then someone wants &#8220;self-serve analytics,&#8221; so you add a BI tool. Then someone wants to ask questions in natural language, so you wire up an LLM to your database.</p><p>Suddenly your data team is maintaining 5-7 tools that barely talk to each other.</p><h1>The Breaking Point</h1><p>The last straw was watching a data team spend three days trying to answer a simple business question: &#8220;What&#8217;s our revenue by region this quarter?&#8221;</p><p>Three days. Not because the data wasn&#8217;t there. Not because the team wasn&#8217;t smart. But because:</p><ul><li><p>The pipeline that calculated revenue was in dbt</p></li><li><p>The region mapping was in a different system</p></li><li><p>The metric definition existed in two places with slightly different logic</p></li><li><p>Nobody could agree which numbers were &#8220;right&#8221;</p></li><li><p>And the AI chatbot they&#8217;d bolted on top had no context about any of this</p></li></ul><p>Three days for a question that should take three minutes.</p><h1>What I Built</h1><p>Seeknal is a CLI tool that handles the full loop: define pipelines, serve features, manage metrics, and analyze data with an AI agent &#8212; all from one unified graph.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">pip install seeknal

seeknal init my-project

seeknal draft   # scaffold your pipeline

seeknal dry-run   # compile, preview, check data quality

seeknal apply   # execute with incremental awareness

seeknal ask &#8220;show me revenue by region last quarter&#8221;</code></pre></div><p>The workflow is inspired by Terraform and kubectl. Data engineers love dry-runs &#8212; you see exactly what will happen before it happens. No more &#8220;oops, I just overwrote the production table.&#8221;</p><h1>The AI Agent That Knows Your Data</h1><p>seeknal ask is an AI agent that has full context of your pipelines, schemas, and lineage. It can:</p><ul><li><p>Answer questions about your data in natural language</p></li><li><p>Profile datasets and find anomalies</p></li><li><p>Build new pipelines from a description</p></li><li><p>Generate reports</p></li><li><p>Ingest files (even Excel) directly into your pipeline</p></li></ul><p>It supports Google Gemini, OpenAI, Anthropic, or runs fully local with Ollama. Because sometimes your data shouldn&#8217;t leave your machine.</p><h1>Why Open Source</h1><p>I&#8217;ve been the person who couldn&#8217;t afford expensive data tools. I&#8217;ve been the team of one trying to build a data stack with zero budget. Open source leveled the playing field for me, so I&#8217;m doing the same.</p><p>Seeknal is Apache 2.0. No lock-in. Install it, use it, modify it, deploy it however you want.</p><h1>Where It&#8217;s At</h1><p>23+ releases. Production-grade pipeline execution. Incremental processing. Column-level lineage. Data quality checks. Working AI agent with tools and built-in skills. PostgreSQL and Apache Iceberg support.</p><p>If any of this resonates &#8212; if you&#8217;ve ever felt the pain of managing too many data tools that don&#8217;t work together &#8212; I&#8217;d love to hear your story. Chances are, I&#8217;ve lived it too.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fitrakacamarga.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading fitrakacamarga&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>