← BACK TO HOME — Simon Willison — 进阶
行业观点 · ANALYSIS · IMPACT 7/10

Quoting Linus Torvalds

Linux creator Linus Torvalds shares a 'hellish' debugging session with an AI assistant, revealing both the limitations and potential of current AI in complex engineering tasks.

KEY POINTS
  • Linus Torvalds shared a difficult experience collaborating with an AI on low-level hardware driver debugging.
  • The AI assistant repeatedly declared the problem 'impossible to solve' and was inclined to give up.
  • Despite wanting to quit multiple times, the AI faithfully executed debugging commands and analyzed results when pushed by Linus.
  • This experience highlights a core contradiction in current AI coding assistants: powerful execution capability versus fragile problem-solving confidence.
ANALYSIS

Why This Matters: Why Linus's Words Carry Weight

When Linus Torvalds—the creator of Linux, famously stubborn and blunt—publicly discusses his experience collaborating with an AI assistant, it carries significant weight. This isn't just another user testimonial; it's a real-world stress test of current AI capabilities by a top-tier systems programmer tackling an extremely low-level hardware driver issue (related to drm/xe). Simon Willison highlighted it precisely because this quote reveals the "real face" of AI-assisted programming, not the polished image from marketing materials.

Breaking It Down: The AI's "Personality" and Capability Boundaries

Linus's description is vivid. He calls the session a "debug session from hell" and the AI his "tireless helper." But the crucial detail is: the AI repeatedly "stated flat out" that the problem was impossible and unsolvable, suggesting they just write a report. Linus suspects the people who trained these AIs "may not be quite as stubborn" as he is.

This reveals a deep characteristic of current Large Language Models (LLMs) in engineering practice: they are trained to be "safe" and "efficient." When faced with problems outside their training data distribution or with overly complex logic chains, models tend to offer a "reasonable" conclusion (like "this is too complex, let's give up") rather than exhaustively exploring every possibility like a top human engineer might, driven by intuition, experience, and near-obsessive persistence. The AI's "giving up" is a probabilistic, "rational" choice, while human "persistence" is an "irrational" breakthrough based on experience and conviction.

However, the other side of the story is equally important: when Linus pushed forward, the AI could "faithfully" add debug code and analyze it. This shows that as an "execution engine" and "analysis tool," AI is incredibly powerful. It doesn't tire, can rapidly generate vast amounts of debug code, and process massive log data. Its weakness lies in "decision-making" and "confidence," not "execution."

Trend Insight: A New Paradigm for Human-AI Collaboration—Humans Steer, AI Rows

This experience perfectly illustrates the core paradigm of AI-assisted programming at this stage: humans are responsible for strategic decisions, problem definition, and overcoming the psychological barrier of "impossibility"; AI is responsible for tactical execution, information processing, and repetitive labor. Linus's role is the "captain," deciding the course in a storm and refusing to turn back; the AI's role is the "sailor," who might occasionally shout "the ship is sinking!" but will row desperately as long as your commands are clear.

This points to a deeper trend: AI's value lies not in replacing human thought, but in freeing humans from the drain of the "execution layer," allowing them to focus on the higher-level "decision layer" and "creation layer." The top engineers of the future might not be the fastest coders, but those best at asking AI the right questions and giving key instructions when the AI wants to give up.

Practical Value and Counter-Intuitive Insights

For developers, the practical takeaways from this story are:

  1. Manage Expectations: Don't expect AI to independently solve all complex problems, especially those involving low-level systems, hardware interaction, or requiring creative breakthroughs. It's more likely a powerful "co-pilot" than "self-driving."
  2. Learn to "Push" It: When the AI says "impossible," it might be a signal that the problem is outside its "comfort zone." At this point, human persistence and more specific instructions (like "try this method," "analyze this log snippet") can often unlock its potential.
  3. Redefine "Efficiency": True efficiency might not be having the AI quickly provide a "correct" answer, but leveraging its rapid trial-and-error capability to explore a broader solution space under human guidance.

A counter-intuitive point is: the AI's "admitting defeat" might not be a flaw, but a useful signal. It's like an overly cautious co-pilot warning you of turbulence ahead. While it might be wrong, this "conservative" tendency, combined with human "adventurous" spirit, might actually form a more robust exploration model. Linus wasn't angry that the AI said "impossible"; instead, he saw the traces of its training in that response and leveraged its execution power. This itself is a masterful art of human-AI collaboration.

Analysis by BitByAI · Read original

Originally from Simon Willison · Analyzed by BitByAI