AI's strength lies in solving "differentiable" problems where being "close enough" is acceptable, like generating an image. Classical code is better for non-differentiable tasks requiring exact precision, like arithmetic or hashing. This framework helps architects decide where to deploy AI versus traditional algorithms.
While more data and compute yield linear improvements, true step-function advances in AI come from unpredictable algorithmic breakthroughs like Transformers. These creative ideas are the most difficult to innovate on and represent the highest-leverage, yet riskiest, area for investment and research focus.
Instead of waiting for AI models to be perfect, design your application from the start to allow for human correction. This pragmatic approach acknowledges AI's inherent uncertainty and allows you to deliver value sooner by leveraging human oversight to handle edge cases.
High productivity isn't about using AI for everything. It's a disciplined workflow: breaking a task into sub-problems, using an LLM for high-leverage parts like scaffolding and tests, and reserving human focus for the core implementation. This avoids the sunk cost of forcing AI on unsuitable tasks.
The history of AI, such as the 2012 AlexNet breakthrough, demonstrates that scaling compute and data on simpler, older algorithms often yields greater advances than designing intricate new ones. This "bitter lesson" suggests prioritizing scalability over algorithmic complexity for future progress.
We are building AI, a fundamentally stochastic and fuzzy system, on top of highly precise and deterministic digital computers. Unconventional AI founder Naveen Rao argues this is a profound mismatch. The goal is to build a new computing substrate—analog circuits—that is isomorphic to the nature of intelligence itself.
A 'GenAI solves everything' mindset is flawed. High-latency models are unsuitable for real-time operational needs, like optimizing a warehouse worker's scanning path, which requires millisecond responses. The key is to apply the right tool—be it an optimizer, machine learning, or GenAI—to the specific business problem.
Instead of asking an AI to directly build something, the more effective approach is to instruct it on *how* to solve the problem: gather references, identify best-in-class libraries, and create a framework before implementation. This means working one level of abstraction higher than the code itself.
Unlike deterministic SaaS software that works consistently, AI is probabilistic and doesn't work perfectly out of the box. Achieving 'human-grade' performance (e.g., 99.9% reliability) requires continuous tuning and expert guidance, countering the hype that AI is an immediate, hands-off solution.
Instead of replacing entire systems with AI "world models," a superior approach is a hybrid model. Classical code should handle deterministic logic (like game physics), while AI provides a "differentiable" emergent layer for aesthetics and creativity (like real-time texturing). This leverages the unique strengths of both computational paradigms.
While professional engineers focus on craft and quality, the average user is satisfied if an AI tool produces a functional result, regardless of its underlying elegance or efficiency. This tendency to accept "good enough" output threatens to devalue the meticulous work of skilled developers.