Author: Matthew Smith

  • Autonomous Coding Is Here (Sort Of): What a Linux-Building AI Compiler Reveals

    The Most Interesting Part of a 16-Agent AI Compiler Isn’t the Compiler

    A team of AI agents writing a C compiler from scratch should trigger your skepticism reflex immediately. Compilers are the kind of software we use as a stress test for human teams: intricate semantics, brutal edge cases, and performance constraints that punish “mostly right” thinking. Now imagine letting 16 parallel agents take a swing at it, largely unattended, and then pointing the result at something as unforgiving as the Linux kernel.

    That’s the experiment Nicholas Carlini wrote about (Safeguards): an agent team built a Rust-based C compiler—around 100k lines of code, roughly 2,000 coding sessions, about $20k in usage cost—with no internet access and only the Rust standard library as a dependency. It can compile Linux 6.9 across multiple architectures (x86, ARM, RISC‑V). And they didn’t get there by carefully shepherding every change. They built a system where the agents could keep working—day after day—without a human holding the steering wheel.

    If you’re looking for a single takeaway, it’s this: autonomous coding isn’t primarily a model capability story. It’s an operations story. The “secret sauce” is less about prompt craft and more about harness design, verification, and how you structure work so parallel agents don’t trip over each other.

    Here’s what stood out to me—and what I think it means for anyone trying to use agent teams for serious software.


    1) Long-running agents change what “development” even looks like

    The headline feat is impressive, but the enabling trick is mundane in a way that should feel familiar to anyone who’s built reliable systems: they ran the agents inside a continuous harness—basically a loop that repeatedly invoked the CLI, captured outputs, and committed progress.

    In other words, the “developer” wasn’t one chat session. It was an always-on process.

    This matters because most people still treat coding with AI as an interactive activity: you ask, it answers, you steer, you paste. That breaks down the moment the task becomes multi-week and multi-module. A compiler that can build Linux isn’t a prompt. It’s a pipeline.

    The harness also created a record: commits, logs, failures, regressions. That log becomes your real interface. Not “what did the model say?” but “what did the system do over the last 12 hours, and what is the evidence it’s moving in the right direction?”

    One funny-but-telling detail: the harness sometimes took itself out—a reminder that when you build autonomy, you inherit all the failure modes of automation. Your AI won’t just make bugs in the product. It will make bugs in the factory.

    Concrete takeaway: if you want long-running autonomy, you need to treat the agent like a service. Services need supervision, health checks, and safe recovery paths.


    2) Parallel agents don’t “scale” unless the work is shaped for parallelism

    Sixteen agents sounds like “16x faster.” In practice, it’s “16x more coordination problems” unless you engineer the workflow.

    They used a setup that looks a lot like a multi-developer environment: a shared upstream repo plus per-agent containers, and a lightweight locking mechanism (files in something like a current_tasks/ directory) to prevent two agents from doing the same job at once. Even then, merge conflicts were common.

    This is exactly the point most teams miss: parallelism is not a setting; it’s a design constraint. It only works when tasks are:

    • independently verifiable,
    • small enough to finish without getting lost,
    • and unlikely to overlap in the same lines of code.

    A C compiler—ironically—is both terrible and perfect for this. Terrible, because everything touches everything. Perfect, because you can carve progress into failing tests, and failing tests are embarrassingly parallel if you have the right harness and test suite.

    Concrete takeaway: scaling agent teams means scaling verification and task decomposition, not tokens.


    3) Tests aren’t a safety net; they’re the steering wheel

    This experiment reinforces something I’ve believed for a while: once you move from “AI helps me code” to “AI codes while I’m away,” tests stop being a quality practice and become your primary control system.

    The team leaned hard on verifiers—especially as they hit the reality that kernel compilation is basically one giant integration test. That’s a nightmare for parallel agent work, because a single failing build doesn’t tell you where to look.

    So they used a pragmatic trick: treat GCC as an oracle. When your output is wrong, compare behavior against a trusted implementation and isolate subsets of the problem. That’s not cheating; that’s engineering. When you’re building an autonomous system, you want the environment to scream loudly and precisely when it’s wrong.

    Even more importantly, they learned to manage context pollution: if your harness dumps too much irrelevant output into the agent’s context, you’re effectively injecting noise into the reasoning loop. That’s a subtle failure mode unique to LLM-driven development: your logs are not just for humans—they become the model’s “working memory.”

    Concrete takeaway: build a verification stack that produces clean, minimal, high-signal feedback. Don’t just collect logs; curate them.


    4) “Time blindness” is real—and you need mechanisms to counter it

    One of the most under-discussed issues with autonomous agents is that they can’t feel time the way we do.

    Humans have a built-in throttle: “This is taking too long, I must be stuck.” Agents will happily grind in a loop, chasing a corner case, expanding scope, or repeatedly poking at the same failure mode.

    They countered this with approaches like running in a “fast” mode using a deterministic subsample (so you get quick feedback without losing reproducibility). That’s a powerful pattern: if you can get a stable, representative subset of tests, you can iterate quickly while keeping the system from thrashing.

    Concrete takeaway: your harness should be able to switch between “cheap signal” and “full validation,” and it should do so predictably. Random partial testing creates false confidence.


    5) Specialization helps, but it doesn’t replace architecture

    Another detail I liked: they assigned specialization roles across agents—things like deduplication, performance work, improving code generation, Rust style critique, documentation. That’s what human teams do when the codebase becomes too large for everyone to hold in their head.

    But specialization only works if the system can absorb work without collapsing into integration chaos. A “performance agent” isn’t useful if every optimization breaks correctness and you don’t detect it immediately.

    This is where the compiler project is a good metaphor for any serious system: capability emerges from constraints. The agents aren’t magically coordinated. You’re building a machine where their output can be safely composed.

    Concrete takeaway: before you add more agents, add more structure: stable interfaces, clear ownership boundaries, and strong regression tests.


    6) The limits are as informative as the success

    The compiler wasn’t a complete drop-in replacement. Notably:

    • It didn’t fully handle some early-boot 16-bit x86 real-mode pieces (they relied on GCC there).
    • It didn’t come with a full assembler/linker story.
    • Generated code worked but wasn’t especially efficient.
    • The code was “fine” but not what you’d call expert-crafted.
    • New features sometimes regressed old behavior, and they hit a ceiling where progress got harder.

    None of that is surprising. What’s surprising is that we’re now at a point where an agent team can reach these limits at all, with constrained dependencies and no network.

    Two points here matter for the future:

    1. Correctness is fragile under continual autonomous change. Without tight regression discipline, agent teams will “fix forward” and quietly re-break things.
    2. Interaction effects become the hard part. When multiple agents are modifying adjacent areas, the resulting bugs aren’t just “one mistake,” they’re emergent. They mentioned techniques like delta debugging to untangle those interactions—another sign that verification and diagnosis become first-class engineering.

    Concrete takeaway: the plateau isn’t “the model got dumb.” It’s “the system ran out of trustworthy signal and isolation.”


    7) Looking forward: I’m impressed—and still uneasy

    I’m not in the “agents will replace developers next quarter” camp. This experiment doesn’t argue for that. But it does argue something subtler and more consequential:

    Autonomy is becoming viable for large, coherent builds—if you pay the engineering tax.

    That tax includes:

    • building harnesses that don’t lie,
    • structuring work so agents can act independently,
    • and ensuring a human can audit what happened after the fact.

    And there’s a darker implication: if teams start shipping code that “passed tests” but was never deeply understood by a human, we’re going to import the worst habits of modern software (move fast, patch later) into the parts of the stack where that’s unacceptable.

    A compiler is security-critical infrastructure. If an autonomous workflow can build one, it can also introduce subtle vulnerabilities into one. Passing tests is not the same thing as being safe.

    So yes: progress is faster than many expected. But the governance story—what we require before we trust autonomous output—has not caught up.


    What I’d do if I were building this (checklist)

    If I were tasked with building an agent-team system to produce serious software with minimal supervision, I’d start here:

    • Define a verifier ladder: fast deterministic subset → full test suite → integration builds → differential checks against a trusted oracle where possible.
    • Make logs model-friendly: strip noise, summarize failures, and keep context tight so agents don’t drown in their own exhaust.
    • Design for parallelism upfront: choose tasks that end in a crisp “green/red” signal; avoid shared-file hotspots; enforce lightweight locks.
    • Guard against regressions aggressively: mandatory regression tests for every bug fix; nightly “full green” gates; automated bisection when things break.
    • Separate roles with interfaces: let agents own modules with stable boundaries; minimize cross-cutting edits.
    • Plan for harness failure: watchdogs, restart logic, safe defaults, and “do no harm” controls when the system gets confused.
    • Schedule human audits: not to micromanage, but to periodically review architectural drift, security-sensitive areas, and test adequacy.

    The practical bottom line

    If you’re experimenting with agent teams, don’t start with “How many agents can I run?” Start with:

    • “How will I know it’s wrong?”
    • “How quickly will I know?”
    • “How precisely will I know where to look?”

    Because that’s what separates a cool demo from an autonomous system you can responsibly build on.

    The compiler story is a glimpse of a near future where big, ambitious builds are less constrained by human hours and more constrained by verification, isolation, and discipline. That’s exciting. It’s also a reminder that the hardest part of software has never been typing code—it’s making the code trustworthy.


    CTA

    If you’re building with AI agents (or considering it), I’d love to hear what your harness looks like—and where it breaks. Subscribe for more practical notes on making AI software workflows reliable, not just impressive.

  • Beyond the Magnificent Seven: Finding AI Value in the 2026 Pullback

    February 2026 has produced a notably uneven tape for technology: broad market strength has been punctuated by repeated “safe haven” rotations into energy and staples, while higher-beta AI-linked equities have absorbed sharp drawdowns. In that context, 20–30% pullbacks can look less like a verdict on AI demand and more like a repricing of duration, volatility, and expectations.

    For disciplined investors, this kind of “white noise” is often where entry points appear—particularly when underlying company fundamentals (revenue, earnings, and forward guidance) are improving quarter over quarter even as the stock price retraces.

    Key takeaways

    • Market leadership has broadened unevenly: defensive rotations can coexist with steep pullbacks in high-beta AI names.
    • AI adoption has shifted from experimentation to operational efficiency (software development, data-center management, and healthcare workflows), supporting demand for hardware and specialized software.
    • In the current dataset, top AI quant picks show materially higher projected growth than both the “Magnificent Seven” and the broader S&P 500.
    • Short-term sentiment can obscure signal; revision trends and the “staircase” pattern in revenue/EPS are often more informative than headline-driven price action.

    A tale of two markets: rallies and rotations

    Recent price action has been characterized by an on/off risk regime. On “risk-on” days, broad indices can rally; conversely, those rallies have frequently been interrupted by capital rotating into perceived defensives such as energy and consumer staples. This push-pull dynamic matters because it compresses holding periods and increases the odds that high-volatility segments—especially AI-linked growth equities—overshoot to the downside.

    High-beta AI stocks falling 20–30% in a month is attention-grabbing, but it is not automatically diagnostic of weakening adoption. In many cases, these moves reflect a combination of valuation reset, risk-parity deleveraging, and crowded positioning unwinds. The practical implication is straightforward: when price declines are driven more by macro/positioning than by deteriorating fundamentals, fundamentals-based screening becomes more useful, not less.

    From experimental to “broad” AI: where demand is showing up

    AI deployment has increasingly moved beyond pilots and proofs of concept. The dominant use case in 2026 is operational efficiency: writing and maintaining code, managing and optimizing data centers, and improving clinical and diagnostic workflows in healthcare. Moreover, these workflows are not “AI-only” projects; they are blended into existing software stacks, infrastructure procurement, and enterprise budgeting cycles.

    In this regard, demand can be expressed through two complementary channels:

    • Hardware and infrastructure: compute, connectivity, and manufacturing capacity needed to deploy and run AI at scale.
    • Specialized software: tooling that makes AI systems usable, measurable, and economically productive in real business processes.

    Within the current comparison set, “top AI picks” show a projected revenue growth rate of 38%, versus 6% for the broader S&P 500. That spread is large enough that it can dominate the investment outcome if it persists, even after accounting for volatility and valuation compression.

    Growth comparison: AI picks vs. mega-cap tech vs. the index

    Group Revenue growth EPS growth
    Top AI quant picks 38% 99%
    Magnificent Seven 17% 20%
    S&P 500 6% 10.6%

    The key point is not that mega-cap tech is “bad” or that the index is “irrelevant.” Rather, it is that the growth differential can justify looking beyond the largest names—particularly when price drawdowns have improved prospective entry points for smaller or mid-cap companies tied to AI infrastructure and applied AI.

    Five AI-linked names to watch during the 2026 dip (Group B)

    The following tickers are presented as a focused watchlist rather than a blanket recommendation. They span software, infrastructure manufacturing, semiconductors/connectivity, and healthcare equipment—areas where AI spending tends to show up as measurable demand for products and services.

    Hut 8 Corp (HUT)

    Category: application software. One notable datapoint in the current profile is the improvement in profitability, moving from D- to A+. If that trajectory is durable, it can change how the market values the business (profitability and cash flow tend to matter more when volatility is elevated).

    Celestica (CLS)

    Category: electronic manufacturing. With a stated 43% long-term growth rate and a role in AI infrastructure, this name can be viewed as an “enabler” rather than a pure software narrative. Manufacturing and integration capacity are frequently bottlenecks when adoption accelerates.

    Credo Technology (CRDO)

    Category: connectivity microchips. The stock has experienced a 28% monthly pullback alongside reported 105% revenue growth. This is a good illustration of the current regime: strong growth metrics do not immunize a name from a valuation reset. Conversely, a sharp pullback can improve forward returns if the growth profile persists.

    Revision activity can also matter here: the current snapshot notes 12 upward revisions in 90 days and 0 downward. While revisions are not a guarantee, they often reflect improving expectations that may not yet be fully reflected in the price.

    AppLovin (APP)

    Profile: A+ growth and profitability. In a market that intermittently rewards defensiveness, the combination of growth and profitability can be a differentiator. The analytical task is to confirm that profitability is not a one-off (e.g., driven by temporary margin factors) and that growth is not overly dependent on a single channel or customer concentration.

    Globus Medical (GMED)

    Theme: AI applied to medical equipment and surgical optimization. The profile includes 68% EBIT growth. Healthcare is often a slower adoption domain; however, when AI is embedded in workflow and instrumentation, progress can be incremental and measurable rather than purely conceptual.

    Filtering signal from noise: sentiment, insider selling, and revisions

    When volatility is high, narrative tends to expand. It is tempting to anchor on daily commentary, viral takes, and short-term price moves. Conversely, a more stable approach is to prioritize what changes slowly and compounds: revenue, earnings power, and the forward expectation set.

    Insider selling is a common source of headline anxiety, but it is not always a clean signal of negative conviction; compensation structure and diversification can drive sales even when the underlying business is healthy. Meanwhile, analyst estimate revisions—especially when they trend consistently in one direction—can serve as a practical summary of how the expectation set is moving.

    A useful mental model is the “staircase” pattern: when revenue and EPS increase quarter over quarter, the fundamentals are climbing even if price is temporarily falling. In that setup, a dip can be a gift rather than a warning—provided the next few quarters continue to validate the trend.

    Caveats and limits

    • High growth does not eliminate risk. 20–30% drawdowns can repeat, and liquidity can vanish quickly in risk-off rotations.
    • Revisions can reverse. Upward estimate changes are helpful context, but they can lag real-time business conditions and can shift rapidly after guidance updates.
    • Mix matters. Revenue growth and EPS growth are summary metrics; margin sustainability, customer concentration, and capex intensity can materially change the investment profile.
    • Watch valuation and duration. Even strong businesses can underperform if multiples compress due to rates, risk premia, or changing market regimes.

    Practical checklist for the 2026 pullback

    For investors considering AI exposure beyond the largest index constituents, a disciplined process can reduce the odds of confusing volatility with deterioration:

    • Confirm that revenue and EPS are improving quarter over quarter (the “staircase,” not a single spike).
    • Track estimate revisions around earnings and guidance updates; treat dispersion as a risk indicator.
    • Separate macro-driven drawdowns from company-specific breaks (product demand, competitive losses, or margin impairment).
    • Size positions for volatility; assume that pullbacks can deepen before fundamentals reassert themselves.
  • AI Stocks in 2026: Reading Volatility Through Fundamentals (Not Headlines)

    Early 2026 has brought sharp swings in AI-related equities—an echo of last year’s “DeepSeek” dip—where narrative and positioning can move prices faster than underlying business performance. The core question is whether the current drawdowns reflect deteriorating adoption, or a temporary repricing driven by macro conditions and sentiment.

    This article examines the “buy-the-dip” logic through a multi-factor lens, clarifies what common quant factors are actually measuring, and highlights the limits of translating factor scores into decisions. (This is not investment advice.)

    Key takeaways

    • Headline-driven volatility can obscure whether fundamentals (growth, profitability, cash flow) are improving or deteriorating.
    • A multi-factor framework typically blends valuation and growth (often described as “GARP”) with momentum and analyst estimate changes.
    • “Hold” in a factor system is usually a monitoring stance, not an automatic exit signal; “Sell” tends to reflect worsening factor inputs relative to peers.
    • Even if the long-run AI market expands substantially, individual stocks can still disappoint due to competition, cyclicality, and over-optimistic forecasts.

    Why AI volatility can be loud when the data is quieter

    When macro uncertainty rises—geopolitical tensions, shifting Federal Reserve expectations—investors often compress risk quickly. In such environments, the most crowded themes (including AI infrastructure and “AI-adjacent” hardware) can experience amplified moves because positioning and sentiment become the marginal driver of price action.

    Moreover, the presence of a widely remembered prior dip matters. Market participants anchor to past episodes and re-run the same playbook—sometimes wisely, sometimes mechanically. The “buy-the-dip” interpretation is plausible, but it rests on one premise: the fundamentals being measured are robust, comparable across firms, and not merely artifacts of a favorable part of the cycle.

    What a multi-factor quant system is measuring (and what it isn’t)

    A typical quant framework uses five factor families:

    • Growth
    • Value
    • Profitability
    • Momentum
    • Analyst revisions

    In practical terms, these factors try to separate “the company is improving” from “the stock is popular.” For example:

    • Growth typically proxies revenue and earnings expansion over time.
    • Value captures how expensive the stock is relative to fundamentals (e.g., P/E and related ratios).
    • Profitability distinguishes durable earners from firms that are only scaling top-line.
    • Momentum measures trend persistence—useful in practice, but inherently backward-looking.
    • Analyst revisions track changes in consensus expectations; upgrades can reflect improved outlooks, but can also follow price.

    This framework often emphasizes GARP (“Growth at a Reasonable Price”). In principle, GARP avoids two failure modes: paying too much for growth, or buying “cheap” companies whose fundamentals are cheap for a reason. Conversely, GARP is not a guarantee that growth persists, nor that “reasonable” valuations cannot become unreasonable if macro conditions tighten further.

    The macro claim: a large AI market does not eliminate stock risk

    A commonly cited projection is that the global AI market could reach $3 trillion by 2033, supported by infrastructure investment and adoption in manufacturing, healthcare, and energy.

    That style of estimate can be useful context: it suggests a long runway for spending and deployment. Furthermore, it helps explain why some AI-exposed companies trade at elevated multiples—investors are paying for expected future cash flows rather than present-day earnings.

    However, a large total addressable market (TAM) is not the same thing as capture. Even if the market expands substantially, individual firms can lose pricing power, face new entrants, or see margins compress as customers standardize. In this regard, the bridge between “AI is big” and “this stock is attractive” is whether a company has defensible differentiation and the ability to turn demand into cash flow.

    High P/E ratios can be rational if forward EPS growth remains meaningfully above the broad market. The key issue is forecast reliability: forward EPS paths can be revised downward quickly in cyclical segments, especially semiconductors and related supply chains.

    Top quant-rated AI tickers mentioned (and what the bullet points imply)

    Using the provided “Group A” framing, five names are highlighted across different parts of the AI ecosystem:

    • LITE (Lumentum Holdings) — A+ Growth; 61% 3–5 year CAGR.
    • MU (Micron Technology) — 51% long-term CAGR; DRAM/NAND.
    • CIEN (Ciena Corp) — Significant analyst revisions; B+ Profitability.
    • GM (General Motors) — AI integration for hands-free driving; B- Valuation.
    • TSM (Taiwan Semiconductor) — 69% EBITDA margin; 51% discount on a PEG basis.

    A few definitions help interpret those datapoints:

    • Operating cash flow growth focuses on cash generation from core operations; it can be more informative than earnings during periods with heavy non-cash charges, but it can still swing with working capital.
    • DRAM/NAND refers to memory and storage markets that can be essential to AI infrastructure, but are historically cyclical.
    • EBITDA margin approximates operating profitability before certain expenses; it is not the same as free cash flow, particularly for capital-intensive businesses.
    • PEG is the price/earnings ratio adjusted by growth; a “discount on a PEG basis” implies price is low relative to expected growth, but it inherits the uncertainty of growth forecasts.

    These bullets should be treated as hypotheses to verify rather than conclusions to accept. “Forward” cash flow and growth rates embed assumptions about demand, pricing, and cost structure—precisely the inputs that can change when a theme becomes crowded or macro conditions tighten.

    “Hold” vs. “Sell”: monitoring, not drama

    In many quant systems, a Hold rating is not a command to exit. It signals that the position remains acceptable, but warrants monitoring for deterioration.

    Conversely, a Sell or Strong Sell tends to occur when the data—profitability, analyst revisions, and other factor inputs—indicates that a company is losing ground relative to sector peers. This is a disciplined approach in concept: it formalizes what many discretionary investors attempt informally (tracking whether the story is improving or degrading).

    Nevertheless, factor-based “sell signals” can lag abrupt regime changes. Moreover, analyst revisions can be pro-cyclical: estimates often rise after a rally and fall after a drawdown, which can amplify trend-following behavior rather than counterbalance it.

    Caveats and limits

    • Quant ratings depend on inputs. If underlying metrics are noisy (or not comparable across industries), outputs can look precise while being fragile.
    • Forward estimates can be wrong. P/E, PEG, and forward cash flow growth embed assumptions; revisions can arrive abruptly, particularly in cyclical hardware segments.
    • Valuation is not timing. A stock can be “attractive” on paper and still decline if risk premiums rise or liquidity tightens.
    • AI exposure varies widely. “AI-related” can mean direct model revenue, infrastructure, components, or operational use of AI—each has different sensitivity to cycles and competition.

    Bottom line

    The disciplined interpretation is not “buy everything labeled AI,” but rather: define the factors you trust, check whether improvement is fundamental (cash flow, profitability, credible growth), and treat “Hold” as an instruction to monitor—not to panic. Furthermore, keep a clear view of what the model does not capture: structural competition, regime shifts, and the fact that forecasts are not outcomes.