
🙋♂️ SWE @ServiceNow 👨💻 Talks to software & cats 🐈 I read Research papers so you don’t have to ✍️ PhotoJournal & Doodles are my thing 🧑🎨
Joined April 2021
- Tweets3.8K
- Following1.1K
- Followers567
- Likes9.2K
codewithP 🔳 retweeted
I've been trying to keep up with ai-driven-development, and its hard to keep up with the pace.
I've learned some ways to conquer this change of tempo, and I think it'll be useful to you too 👇
dev.to/prakh_r/when-ai-write…
#DEVCommunity @ThePracticalDev
codewithP 🔳 retweeted
NEW Haiku 5.5 is the death of Haiku tier
Haiku now operates like ~Sonnet
Sonnet now operates like ~Opus
Opus now operates like >=Fable
Fable 5.5 will be a new day in the AI world
codewithP 🔳 retweeted
1. Oh shit, AI can do my job better than me
2. Software engineering is dead!
3. I can vibe code as much slop as I want!
4. Oh, things are not going well. Fable/Sol/Opus all suuuck
5. But what if I constrain the agent? Put it in a straitjacket?
6. Oh, the results are pretty good now. How do I go deeper?
7. *Orders 12 software engineering books from Amazon*
8. Software engineering is alive!
"It is difficult to get a man to understand something, when his salary depends on his not understanding it" — Upton Sinclair
I think this quote explains a lot of the coping that's going on, but I also think it's wrong! The failure to understand is what'll erase the paycheck.
Prompt engineering isn't dead.... Harness engineering just took over. 🚨
If you’re still trying to make agents smarter by tweaking system prompts, you're building in the past
This paper presents a comprehensive teardown of 11 production agent runtimes (Claude Code, Codex CLI, Gemini CLI)
The core insight..?
An agent isn't a model
An agent is a model + a harness
The paper reveals the exact blueprint behind modern AI harnesses:
• 7 core runtime subsystems
• Context rationing & token budget tricks
• Tool sandboxing & state checkpointing
• Hardened loop orchestration & safety controls
codewithP 🔳 retweeted
MCP has its own certification exam now. This curriculum has a study path for it.
As an AI Engineer. Please learn:
> Harness engineering, not just prompt engineering
> Context engineering, not just long prompts
> Prompt caching vs. semantic caching tradeoffs
> KV cache management, eviction, reuse, and memory pressure at scale
> Prefill vs. decode latency and why they optimize differently
> Continuous batching, paged attention, and throughput optimization
> Speculative decoding vs. quantization vs. distillation tradeoffs
> INT8, INT4, FP8, AWQ, GPTQ, and when quantization hurts quality
> Structured output failures, schema validation, repair loops, and fallback chains
> Function calling reliability, tool contracts, argument validation, and idempotency
> Agent guardrails, loop budgets, tool budgets, and termination conditions
> Model routing, graceful fallback logic, and degraded-mode UX
> RAG architecture: chunking, embeddings, hybrid search, reranking, and freshness
> Retrieval evals: recall, precision, grounding, attribution, and citation quality
> Evals: golden sets, regression tests, adversarial tests, LLM-as-judge, and human evals
> LLM observability as a first-class discipline: traces, spans, tokens, latency, errors, and drift
> Cost attribution per feature, workflow, tenant, and user journey, not just per model
> Safety engineering: prompt injection defense, data leakage prevention, and permission boundaries
> Multi-tenant isolation, cache safety, and cross-user context contamination prevention
> Fine-tuning vs. in-context learning vs. RAG vs. distillation, and when each is the wrong tool
> Latency, quality, cost, and reliability tradeoffs across the full inference stack
> Production failure modes: hallucinated tool calls, malformed JSON, stale retrieval, runaway agents, and silent eval regressions
> Shipping LLM systems as reliable infrastructure, not demos wrapped around prompts
aiengineeringfromscratch.com…
deleting the product
it's funny how you can sometimes tell if a team culture is dysfunctional just by looking at how their app is laid out. behind every feature, or tab in a sidebar likely lies a PM or someone responsible for an OKR.
the problem is when individual performance is measured by these metrics. it becomes the singular focus of the responsible person to make those numbers look good, since it determines whether they get rewarded or axed, even if it comes at the detriment of the overall quality of the product. this is why you mostly see features get added, but rarely removed. if you own a feature, then it being removed feels like an aura loss.
this is even worse in the agentic era when the cost to add features has become so low. you can simply will a new feature into existence overnight and add another tab. but users will notice that you ship your org chart.
teams that make people play silly games under the guise of performance management rarely build great products.
to build a great product you need to first fix your culture
Genius move
🚨 side project alert 🚨
Announcing Muse Gadgets, an open source ESP32 firmware and Linux sdk so that you can make hardware devices that work with Muse.
Grab an API token from gadgets.muse.ai and point your favorite coding agent at the github repo to build your own peripherals for Muse.
codewithP 🔳 retweeted
Matt Pocock 刚分享了他心中的 Top 3 Skill Makers,之前我们推荐过Matt 的 Grill Me,到现在,它仍然是我全局安装的两个 Skills 之一。
这次他推荐的三个人,有一个很鲜明的共同点:都在自己的领域有多年实践,然后把工作方法和判断标准写成了 Agent 可以执行的 Skills。
三个人的方向也各不相同👇
1️) @poteto — Lauren Tan
工程流程、代码质量与并行协作
Lauren 是 React 核心团队成员,参与 React Compiler 的开发,先后在 Netflix、Meta 和 Cursor 工作。
她的代表作 pstack,就是自己日常在 Cursor 使用的一套工程 Skills。
它关注的是:如何让 AI Agent 按照严谨的工程流程工作,能协作、能审查,也能验证自己交付的结果。
先把单个 Agent 的工作质量做扎实,再放心地并行推进任务,这是 pstack 很值得学习的思路。
github.com/cursor/plugins/tr…
2️) @dexhorthy — Dexter “Dex” Horthy
Agent 架构、上下文工程与软件生产流程
Dex 是 HumanLayer 创始人兼 CEO,也是《12-Factor Agents》的作者。
他长期从事 DevOps、Kubernetes 和基础设施工作,在 Replicated 工作了约 7 年,经历过工程、产品和管理等角色。
他的工作围绕一个很实际的问题展开:怎样让基于 LLM 的软件达到可以交给真实用户使用的水平?
放到 AI 编程里,就是如何管理上下文、组织研究和规划,让 Agent 能在复杂代码库中可靠地推进工作。
如果你正在把 Agent 用到真实工程项目里,这个方向值得重点看。
github.com/humanlayer/skills
3️) @emilkowalski — Emil Kowalski
界面设计、动画与交互细节
Emil 目前在 Linear Web Team 做 Design Engineer,之前在 Vercel Design Team。
Sonner、Vaul、animations.dev,都是他的作品。
他的 Skills 把设计工程中的具体判断写了出来:动画用什么曲线、持续多久、哪些地方值得加动效,以及如何处理那些影响界面质感的小细节。
这些原本依赖经验的判断,现在可以成为 Agent 设计和检查界面时的参考。
Emil 这套 Skills,我们之前也专门推荐过。做前端和产品界面的朋友,可以重点看看。
github.com/emilkowalski/skil…
我觉得:挑 Skills 时,值得先看看作者长期在解决什么问题。
专业经验越扎实,写进 Skills 里的判断和方法,就越值得拿来学习。
My top 3 skill makers:
- @poteto
- @dexhorthy
- @emilkowalski
Always learn a ton from reading their skills.
codewithP 🔳 retweeted
OpenAI DevDay (things that matter)
✅ New $500/month plan
✅ New Dots personal AI assistant on Astra 6
✅ New banked reset for everyone
✅ Unlimited usage of Dots (not billed against your regular usage)
✅ Sign in with ChatGPT across other apps
✅ New Codex CLI core
✅ GPT-6.1 Sol (close to Astra 6 in some benchmarks but cheaper/faster)
✅ Ultrafast GPT-6 Astra (300 TPS) for 6x the cost of the base API
✅ ChatGPT Spaces (something like Notion)
❌ Nothing better than Opus 5.5 yet (still #1)
❌ $200 plan limit reduced by 50% now
codewithP 🔳 retweeted
github.com/ayandexyz/omarchy…
Agent skill for publishing Omarchy plugins with fewer review round-trips
How it was build 👇
By reading the Omarchy plugin marketplace itself — not guessing what reviewers want.
- Metadata for the 100 most recently updated submission issues in omacom/omarchy-plugin-marketplace
- 41 — full comment threads read end-to-end; selection biased toward user issues, recurring blockers, complex re-reviews, and listed examples
- 1 — #8397 (Glance Face Unlock) observed live, drove the unpinned-install + executable-discovery checks
- commit 3382370f — marketplace source (manifest validator, scanner, baseline policy) pinned 2026-09-23
- 2 — published at one go, zero review round-trips
- 1 — published at one round trip
Maintained going forward — newer types of
issues and blockers keep getting folded in as maintainers raise them, not just new instances of the existing five.
@OmarchyLinux @dhh @hancore_linux
BREAKING NEWS: 🕹️ PLAYER ONE HAS ENTERED THE GAME 🕹️
My buddy @Gardnmi just shipped 🔥OMACONTRA🔥 A Contra-inspired boss rush, built on and for Omarchy, free and open source ofc!
👾 STAGE SELECT 👾
💀 1. The Reaper
🏎️ 2. Quattro Run
🌊 3. Tidebreaker
🐉 4. The Mist Gate
🌑 5. Black Moon
You are @dhh !🏃 Run, jump, duck and hose everything with a machine gun 🔫 Later stages hand you an arc rifle ⚡ and a spacesuit firing stream 🚀 Five wallpaper worlds come alive as boss arenas, and yes, dhh and @tobi are on the box art 📦🍷
🎮 Keyboard and mouse, fullscreen, renders at 720p and scales to whatever monitor you throw it on.
I installed it on my rig this morning. All 5 stages boot clean ✅✅✅✅✅ HFS it's goooood!!!
🤫 CHEAT CODE: on the intro or title screen hit ⬆️⬆️⬇️⬇️⬅️➡️⬅️➡️ and watch what happens. UNLIMITED LIVES 💯 You didn't hear it from me.
🪙 INSERT COIN? Nope! Its FREE!
🏆 DHH, as you arleady know Omarchy will become THE gaming platform and @Gardnmi is showing us how it starts 🐧🎮
🙏🔁 RT so my my man Michael gets the high score he deserves!!! 🔁🙏
⏳ CONTINUE? 10... 9... 8... 🎮 GO PLAY IT 👇
github.com/gardnmi/omacontra
Banger paper from Microsoft Research and colleagues.
It studies the potential benefits of agents that share progress while they work.
(bookmark it)
Communication is still a challenge with multi-agent systems.
In this setup, agents have no predefined roles and communicate via a shared directory.
They report that a team of k agents that write their findings to a shared directory matches the success rate of 4k agents working independently on ARC-AGI-3.
The gap grows with k, and teams reliably solve some tasks that no single agent solves.
The same setup beat best@k on polyomino packing and exceeded the prior best-known score. On MNIST compression, a four-agent team wrote a 1,957-byte classifier with 99.4% test accuracy, smaller than the best-known human solution.
Independent agents still do better when compute is tight or when there is no clear measure of progress, so the paper also tells you when it might be a good idea to skip communication.
Paper: arxiv.org/abs/2609.21032
Chat with Paper: academy.dair.ai/papers/scali…
codewithP 🔳 retweeted
You run Kernels not models
The model is just a graph
The Inference Engine is scheduler / optimizer / executor
But the actual work? That happens in the Kernels
- MatMul Kernels
- Attention Kernels
- RMSNorm Kernels
- KV cache Kernels
- Quantized linear Kernels
- Sampling Kernels
- Fused “please don’t write this back to memory 9 times” Kernels
Same model, same GPU, same VRAM
Wildly different performance
Because one stack is using optimized fused Kernels that understand your hardware
And the other stack is playing hot potato with tensors through 47 tiny launches and pretending the GPU is the problem
Bad Kernels make people say:
“this model is slow”
Good Kernels make people say:
“wait how is this running locally?”
This is why Inference Engines and the Kernels implemented within them matter
The model is the recipe
The hardware is the kitchen
The Kernels are the knives, pans, burners, and the chef not cutting onions with a spoon
Most people benchmark models
The real ones benchmark the Kernels underneath
I have previously said this: You don't pick an inference engine first. You pick a hardware strategy, a workload shape, and a serving model. The engine follows.
But there is one more layer under it.
You also do not pick a model and a GPU and call it done.
You pick a file encoding, and a kernel path.
The GPU follows those.
Start with the loop.
Text becomes tokens.
Tokens move through a Transformer.
Attention decides which earlier tokens matter.
The runtime keeps a KV cache so the model does not recompute the whole conversation every time.
Then it picks the next token and does it again.
The model is not writing a whole answer in one shot.
It is generating one token at a time.
That loop has two phases, and they are not the same job.
Prefill reads the prompt and builds the first KV cache.
It is compute-heavy.
That is the pause before the first word.
Decode writes the answer one token at a time.
It keeps rereading weights and the cache.
It is bandwidth-heavy. So an RTX PRO 6000 with 1.8TB/s beats the DGX Spark with 273GB/s.
That is the typing effect you feel.
Long prompts punish prefill.
Long answers punish decode.
Long chats punish both, because the working memory grows.
The inference engine is not the model.
It is the traffic cop, the memory manager, the kernel dispatcher, the scheduler, the cache accountant, and the API surface.
It loads the weights.
It tokenizes the input.
It runs the forward pass.
It samples the next token.
It keeps the KV cache.
It streams the result.
Serious engines also pick kernels.
A kernel is not "the model."
A kernel is a specific tensor program: shapes, layouts, datatypes, and what the silicon is actually allowed to multiply.
Same math on paper.
Different contract.
Different kernel.
The file format matters.
It decides what can load, what can quantize, and how fast it runs.
Quantization is not one switch.
Storing weights in 4-bit is not the same as doing 4-bit math.
Weight quantization shrinks the model.
The live context is a different thing.
A Q4 sticker is not universal.
The right format is the one your engine has optimized kernels for.
Assuming every quantization label is portable is how people buy a 5090, download "NVFP4," and still miss out on performance.
Here is the worked example.
I put Qwen 3.8 27B on an RTX 5090.
Two downloads.
Same model.
Same GPU.
Both folders said NVFP4.
One of them does 4-bit math for real.
Weights in 4-bit.
Activations in 4-bit.
The matrix unit can multiply them as 4-bit times 4-bit.
The other stores 4-bit weights.
Then unpacks them in the kernel.
Then does 16-bit math.
Same sticker.
Different kernel path.
The 5090 did not choose that.
The checkpoint did.
Especially whether the activations are 4-bit too.
If they aren't, there is no legal 4-bit times 4-bit multiply to run.
The engine falls back.
Quietly.
The file still loads.
The logs are easy to miss.
That is the difference between an encoding you can load, an operation a backend implements, and arithmetic the hardware actually executes.
They sound interchangeable.
They are not.
This is also why prefill and decode do not get the same gift.
Prefill has enough token rows to keep the matrix units busy.
Native 4-bit math can matter there.
Decode is still walking the weights and the cache, one token at a time.
If the live state never went 4-bit, you do not get a 4-bit win on that part.
The bottleneck moves.
Do not benchmark "the model."
Benchmark the stack you will actually run.
Separate prefill from decode.
Pin the exact file, the exact engine, the exact GPU.
One more thing people get wrong with the word Blackwell.
It is a marketing name on four chips that cannot run each other's kernels.
A data-center B200 is not a 5090.
A 5090 is not a Spark.
A Spark is not a Thor.
Instruction support is necessary.
It is not sufficient.
A checkmark on the spec sheet is not the kernel that ran.
In the inference engines article under my profile, I asked a question I still want on the wall:
What quantization format has optimized kernels on my target engine?
This Qwen run is that question in a box.
Same GPU.
Same NVFP4 label.
Different kernels.
The engine followed.
The checkpoint decided which kernel it was allowed to launch.
The file loaded but that is NOT the same as the kernel you wanted for the GPU you bought.




































