‹ BackHN Continuity

Thread

The problem is not AI code, but not knowing about system architecture or intent

388 points · 240 comments · zazuke

  1. bengold14 · · focus · HN ↗
    I see this everyday. The problem is code is the wrong abstraction for the work we do. LLMs have solved coding, but they haven't solved systems, collaboration or system maintenance.

    Edit: Since I seem to have touched a nerve - I&#x27;ve been working on a project to solve this: <a href="https:&#x2F;&#x2F;www.archme.io" rel="nofollow">https:&#x2F;&#x2F;www.archme.io if you want to know my thoughts on the right abstraction

    1. verdverm · · focus · HN ↗
      When you say &quot;solved coding,&quot; what does this mean, what does it look like?

      I have strong disagreement because it sounds like, by analogy or proxy, we have also &quot;solved writing&quot;

      1. glimshe · · focus · HN ↗
        &quot;solved coding&quot; is type of thing you say if you want to sound smart.

        Saying that LLMs have &quot;reduced the cost of coding&quot; would be boring. And using your analogy, pencils, typewriters and computers have all reduced the cost of writing, but writers are still around.

        1. grumbel · · focus · HN ↗
          &quot;Reducing the cost of coding&quot; would imply that you still have to code, but with current LLMs you no longer have to. You can write 100s of thousands of lines of code without ever having to touch a single line of code. Literally &quot;here is a git repo, here is an issue, please fix&quot;.

          You might still need to nudge the LLM in the right direction or stop it from going off weird tangents, but none of that involves touching actual code yourself.

          1. verdverm · · focus · HN ↗
            What is coding? Pushing keys or knowing the right keys to push?

            Ai can push a lot of keys very fast, but not always the right ones

            if they need to be reminded to follow the coding standards, visible in the very code they are working on, what has been solved?

            1. grumbel · · focus · HN ↗
              &gt; What is coding?

              Opening the IDE and typing program code. With LLMs you don&#x27;t have to use an IDE, you don&#x27;t have look at program code, you don&#x27;t have to care about coding standards. You ask the chatbot to write you a program&#x2F;feature&#x2F;fix and chatbot does it.

              Is chatting with a chatbot still &quot;coding&quot;?

              The part that isn&#x27;t fully solved is just the software architecture side of things, do you want library A or library B, or write it all from scratch? LLM can do all three, but if you aren&#x27;t careful it might go down a route that you don&#x27;t like. But that again can be fixed with chat, &quot;replace A with B&quot;, not coding.

              1. tripleee · · focus · HN ↗
                So lets say you plan the software architecture and take a person off the street, give them a frontier model and tell them to clone Figma given your architecture

                How far would they get?

                1. verdverm · · focus · HN ↗
                  As a developer, a good way to reframe this and step away from your own domain expertise, is to read Terence Tao&#x27;s conversation with ChatGPT and ask yourself &quot;could I have done that?&quot;
        2. bengold14 · · focus · HN ↗
          I&#x27;m not trying to sound smart, I just think it encompasses what most people now acknowledge. LLMs write code faster and generally better than needed for most cases, and that seems to be becoming the prevalent opinion seeing as most folks have stopped doing PR reviews.

          The problem is, without PR reviews &amp; strict oversight, we&#x27;re losing knowledge, system design &amp; control of our codebases &amp; products. Which is why, IMO, the coding is solved but the other parts which used to be so tightly coupled to programming are cropping up as their own issues.

          1. bcrosby95 · · focus · HN ↗
            This ties into my experience: greenfield projects turn bad way faster than legacy ones, because AI has no established patterns to key off and it does increasingly dumb shit.
        3. yetanotherjosh · · focus · HN ↗
          I&#x27;d separate &quot;coding&quot; from software engineering. Software engineering is not solved. The new challenge in software engineering is how to properly use AI to maximum leverage and nobody has solved that.

          But, &quot;coding&quot; is, except that solving it means using techniques that are still barely understood and barely described today (something I&#x27;m hoping to be able to communicate better myself about). It is now possible (at least for most consumer software, I would not say applications where human life or extreme risk is involved) to work exclusively in the domain of natural language requirements, natural language architectural&#x2F;design decisions, and natural language test cases, and deliver product of equal or better software quality than average human code authors could have produced. Even in a language that you plausibly don&#x27;t actually know how to code in, because the language itself can often be separable from the requirements and verification process.

          If someone who doesn&#x27;t know a language or framework can plausibly produce better software using it, and faster, than a team of people who do know the language&#x2F;framework (and I would strongly argue that is more than plausible now with models like Astra and Fable) then it&#x27;s not just &quot;coding is less expensive.&quot;

          It&#x27;s like saying computers make complex calculations less expensive. That&#x27;s true, but it&#x27;s missing the real paradigm shift.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.