Why is the creator of OpenCode pretty skeptical about AI productivity gains, and the hype around AI? A very conversation
@thdxr (and lots of truth bombs:)
Timestamps:
00:00 Intro
07:03 Dax’s path into tech
09:04 Early startup experience
13:16 Getting involved with open source
16:13 OpenCode
23:17 Anthropic banning OpenCode
30:34 From terminal to GUI
32:34 OpenCode’s business model
36:33 Why inference is profitable
39:11 GPU bottlenecks
40:54 AI hype
45:50 AI spending
48:47 Dax’s memo
55:41 Dax’s skepticism of predictions
58:58 Engineering culture at OpenCode
1:02:38 How building works at OpenCode
1:05:36 Taste and quality
1:11:32 Dax’s work setup
1:12:35 The role of engineers and EMs
1:15:50 Advice for engineers
1:18:12 Book recommendation
Brought to you by:
•
@AntithesisHQ – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages
•
@WorkOS – everything you need to make your app enterprise ready
•
@turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable
Three interesting thoughts from Dax:
1. No AI-native coding agent company is “winning” by being better with AI.
Dax says that none of OpenCode’s competitors are crushing them, and that nobody is using AI so well that others cannot compete.
2. Most software engineers profit from AI as time gained, not increased output — unless you change incentives!
Dax says the natural way for software engineers to “cash out” their AI tooling gains is with time savings, by doing the same work as before, but faster. Until compensation and motivation structures change, most teams should expect output to stay flat while engineers go home earlier. There’s nothing wrong with this, but AI vendors sell a different outcome to CFOs: increased output.
3. AI code generation mutes the “guilt” of doing the wrong thing, but this builds up tech debt.
Pre-AI, writing a hack felt bad, the second time it felt really bad, and by the third time you’d often just refactor in order to fix up the code. Now, the agent hides the hack, which skews devs’ judgment and results in less tech debt being cleaned up.
显示更多
anybody who uses or learns agentic systems, SHOULD READ THIS
the install order I run before any new agentic project:
1. PRIVACY: direnv + a real secrets manager
install direnv, then plug it into your team's password manager (1Password CLI via op run, doppler, infisical, vault, pick one)
what direnv does: loads per-folder environment variables when you cd in, unloads when you cd out. the real move is wiring it into your secrets manager so credentials NEVER live in plain text on disk
what this stops:
- API keys accidentally committed to git history, the most common AI agent breach pattern in 2026
- credentials leaking from one project into another through your shell history
- shared .env files that one teammate quietly backs up to Dropbox
- secrets that survive a laptop theft because they were sitting in /Users/you/projects
the part nobody mentions: most "my agent got jailbroken" stories actually trace back to one credential the agent had access to that it shouldn't have. scope keys to projects, scope projects to folders, and the blast radius of any single compromise drops dramatically
I shipped 2 agents with keys in .env files before switching. the day I plugged direnv into op run I stopped having that whole class of nightmare
2. TOKENS: litellm or portkey as your model proxy
one URL that fronts every AI provider (Anthropic, OpenAI, Google, Mistral, local models). all your spend flows through one place
what it saves you:
- response caching keyed by prompt hash, cuts your bill 30-60% on repeat tasks
- automatic fallback on rate limits (Sonnet hits a 429? falls to Opus, then GPT, then your local backup, no broken users)
- per-feature and per-user budget caps, block the call before it costs $200 instead of auditing it after
- model routing rules, cheap tasks to Haiku, expensive ones to Opus, never the wrong way
- PII redaction before requests leave your network, security side benefit
the part nobody mentions: every "$4k AI bill" story I've heard ends with "we didn't have a proxy in front." this is where you put guardrails around spend BEFORE the spend happens
I built my own router for 2 weeks. it took 20 minutes to replace with litellm. I will be embarrassed about this forever
3. CONTEXT: uv + git commit on every passing eval
install uv (the new Python package manager, 10-100x faster than pip+venv, by the Astral team behind ruff). then commit every time an eval suite PASSES, with the model version and pass rate in the commit message
what this preserves:
- exact dependency set via uv.lock, you always know which packages your agent was using, no nasty surprises from a quiet update
- exact prompt + code state, you can reproduce any past run from a single git hash
- exact model version paired to exact pass rate, a paper trail when prod breaks weeks later
- one-command rollback to a known-working state when a refactor goes sideways
- a compliance story, every prompt version tied to a model version in your commit log
the security side: when something blows up in prod, you want to say "the prompt was version X, model was Sonnet 4.6.1, last eval pass rate was 94%." not "I think we deployed on Tuesday?" the first is an incident report. the second is a resignation letter
I've lost more agents to "I changed 3 prompts in one session and broke something" than to any actual bug
4. VISIBILITY: mitmproxy in front of every LLM call
it's basically a wiretap for your agent. install it, point your agent through it, and now you see every conversation your agent has with the model in real time
what actually shows up:
- every silent retry your SDK sneaks in when a call fails
- the full prompt being sent (including any creds you accidentally embedded)
- what the model returns BEFORE your code reacts to it
- exact token cost per call, per tool, per loop iteration
- responses that quietly trigger your code into doing something you didn't intend, this is where prompt injection lives
the part nobody talks about: if a website your agent scraped slipped instructions into its data, mitmproxy is how you SEE the moment your agent decides to follow them. without this layer, you're trusting your agent did the right thing, not verifying
I shipped 3 agents before adding this. I have no honest idea what they were doing in production
5. EVALS: inspect-ai (the framework the labs actually use)
an eval framework is what tells you "this agent works" with numbers instead of vibes. inspect-ai is the one Anthropic, DeepMind, and the UK AI Safety Institute use for the eval reports you read in their papers. open source, MIT licensed
what your homegrown version won't have:
- run the same task across 5 different models and compare scores side by side
- pre-built tests for risky agent behavior (lying, manipulating, misusing tools)
- proper structure for evaluating tool-using agents, not just chat
- repeatable scoring, the same input always gets graded the same way
- reproducible eval seeds, so a flaky test is actually flaky and not just unlucky
I wrote my own eval harness 4 times across 4 projects. threw it out 4 times
if you ever want to say "my agent passes safety checks" out loud, the check has to come from a framework someone else can re-run. this is that framework
the move that ties this together: keep a /lessons.md in every repo. every weird agent behavior, every edge case, every config change you find at 2am, write it down
you will not remember it. you'll come back in 3 weeks and the lessons file is the only reason you still know what's going on
lock these 5, keep the lessons file, your next agentic system takes 2 days instead of 2 months
p.s. half of "AI agent" content online is people who've never run mitmproxy on their own loop. they don't actually know what their agent is doing. they're shipping demo videos. don't be that guy
显示更多
Grok Build is amazing.
The early beta just dropped for SuperGrok Heavy users and the first real feedback from developers is overwhelmingly positive.
People are saying it already feels 10x ahead of other coding agents. It handles full agentic workflows natively, runs multiple agents in parallel, does live refactoring, and has a surprisingly polished terminal UI with both vim mode and mouse support.
It’s fast, manages huge context cleanly, and actually feels like you’re working with a real autonomous coding partner instead of just getting suggestions.
This is the kind of serious high quality tool xAI keeps shipping. If the beta keeps this momentum, Grok Build is going to be a real great tool for power users.
Try it out right now at if you have SuperGrok Heavy subscription.
显示更多
I've been coding for 40 years. Here are the top 5 things I wish I knew when I started.
1. 90% of the job is debugging and fixing, not creating new code. Which is still fun if you're good at it.
I used to think programming was mostly writing fresh, clever stuff. In reality, most of your time is spent in other people's (or your own past self's) messy code, chasing down why something that "should" work doesn't. Get really good at debugging early. Learn assembly reading, call stacks, and kernel debuggers. It pays off hugely. The best engineers I saw were absolute magicians at this.
2. Manage complexity from day one (ie: don't write slop and "fix it later" if it goes somewhere).
Very early on, I'd hammer out code and refactor afterward. Big mistake. Now I start with clean, skeletal structure (minimalism first) and flesh it out carefully, with AI or not.
Messy code compounds and becomes unfixable. Upfront discipline on architecture, naming, and simplicity saves enormous pain later, especially in large systems like Windows.
3. Tools and processes matter more than you think
We suffered with basic diff/manual deltas instead of modern source control like Git. Branching, testing, and good tooling would have made porting and collaboration way smoother. Invest in your environment, automation, and reproducible builds early. Good tools amplify your output; bad ones (or none) drag everything down.
4. Understand the problem and existing code deeply before writing
Don't jump straight to coding. Map out the problem, study what's already there (you'll inherit a lot), and plan. Low-level knowledge (hardware quirks, alignment issues on different architectures like MIPS/Alpha) was crucial. Also: assert early and often. It forces clarity.
5. People, politics, and "the right tool for the job" beat pure tech arguments.
Brilliant engineers still argue endlessly. Sometimes it's about ego, not merit. Learn to spot the difference and "steer" the conversation rather than "winning" it.
Bonus from experience: Side projects like Task Manager (started at home because I wanted the tool) can become your biggest hits. Ship small, useful things often. If you're just starting, focus on fundamentals, patterns over syntax, and building resilience for the long haul. It's going to be a wild ride, but the fundamentals still matter.
显示更多