5 comments

  • flowerthoughts 34 minutes ago
    I've used the analogy of a circular saw before ("it's not really sawing, because you can't feel the wood...")

    It's easy to just slab on a Skil saw, but through the beam and it'll be somewhat straight. But when every manual stroke counts, there's enough time on a human time scale to correct every little mistake. It's definitely possible to become skilled at using the circular saw, but it takes effort that it feels like you don't need at first.

    This is similar. LLMs are so powerful for writing code that it's easy to become complacent and forget your role as the engineer using the tool: guaranteeing correctness, security, safety and performance of the end result. When you're not invested in every if-statement, forgetting to check edge cases is really easy to do. And as much as I like Claude writing test cases for me, I also have to ensure the coverage is decent, that the implicit assumptions made about external library code is correct, etc. It takes a lot of effort to do it right. I don't know why Mycelium thinks they invented interfaces for module boundaries, but I'm pretty sure they are still as suceptible to that "0" not behaving as you'd expect, or the empty string being interpreted as "missing." Or the CSG algorithm working, except if your hole edges are incident with some boundary edges.

  • karel-3d 59 minutes ago
    I have no idea what am I reading

    > Mycelium structures applications as directed graphs of pure data transformations. Each node (cell) has explicit input/output schemas. Cells are developed and tested in complete isolation, then composed into workflows that are validated at compile time. Routing between cells is determined by dispatch predicates defined at the workflow level — handlers compute data, the graph decides where it goes.

    No still don't understand

    > Mycelium uses Maestro state machines and Malli contracts to define "The Law of the Graph," providing a high-integrity environment where humans architect and AI agents implement.

    Nope, still don't

    • harperlee 21 minutes ago
      I don't understand why the poster (which is the author) links us to a slop report of a test for their library. It would be much more effective to cover part of this info into the README where we get the context of what they want to achieve (where there is a very clear "Why?" section), and then link to it instead. I have flagged it as AI slop.
      • karel-3d 19 minutes ago
        I don't understand LISP or Clojure, but it seems to be some kind of library for making web services out of LISP, which has some separate components that are somehow well defined. And somehow it's all related to AI.

        Again I don't know much about Clojure and I am too slow for functional programming in general.

    • _flux 18 minutes ago
      The top-level README gives a bit better idea. Armed with that the explanation might sound a bit more understandable.

      I'm not familiar with the project (or Clojure), but let me try to explain!

      > Mycelium structures applications as directed graphs of pure data transformations.

      There is a graph that describes how the data flows in the system. `fn(x) -> x + 1` in a hypothetical language would be a node that takes in a value and outputs a value. The graph would then arrange that function to be called as a result of a previous node computing the parameter x for it.

      > Each node (cell) has explicit input/output schemas.

      Input and output of a node must comply to a defined schema, which I presume is checked at runtime, as Clojure is a dynamically typed language. So functions (aka nodes) have input and output types and presumably they should try to be pure. My guess is there should be nodes dedicated for side effects.

      > Cells are developed and tested in complete isolation, then composed into workflows that are validated at compile time.

      Sounds like they are pure functions. Workflows are validated at compile time, even if the nodes themselves are in Clojure.

      > Routing between cells is determined by dispatch predicates defined at the workflow level — handlers compute data, the graph decides where it goes.

      When the graph is built, you don't just need to travel all outgoing edges from a node to the next, but you can place predicates on those edges. The aforementioned nodes do not have these predicates, so I suppose suppose the predicates would be their own small pure-ish functions with the same as input data as a node would get, but their output value is only a boolean.

      > Mycelium uses Maestro state machines and

      Maestro is a Clojure library for Finite State Machines: https://github.com/yogthos/maestro

      > Malli contracts

      Malli looks like a parsing/data structure specification EDSL for Clojure: https://github.com/metosin/malli

      > to define "The Law of the Graph," providing a high-integrity environment where humans architect and AI agents implement.

      Well, beats me. I don't know what is "The Law of the Graph" and Internet doesn't seem to know either. I suppose it tries to say how you can from the processing graph to see that given input data to the ingress of the graph you have high confidence that you will get expected data at the final egress from the graph.

      I do think these kind of guardrails can be beneficial for AI agents developing code. I feel that for that application some additional level of redundancy can improve code quality, even if the guards are generated by the AI code to begin with.

    • IshKebab 44 minutes ago
      Yeah it reads very Time Cube...
  • NotGMan 1 hour ago
    How is that different compared to a human dev that would miss bugs?
    • duskdozer 6 minutes ago
      The people using these programs are generating massive amounts of code, and you won't convince me they're actually carefully understanding most of it, if they even read it all. And it bypasses the first verification step where you are actively typing in the code that will be run.
    • Grimblewald 49 minutes ago
      The ability to plan long term and anticipate flow on errors.
    • nomercy400 47 minutes ago
      Yes, this is simply 'technical debt'.

      They should try to fix technical debt before going to the next round. Of course Claude can probably also do this.

  • irenetusuq 59 minutes ago
    [dead]
  • reedf1 1 hour ago
    It's starting to become obvious that if you can't effectively use AI to build systems it is a skill issue. At the moment it is a mysterious, occasionally fickle, tool - but if you provide the correct feedback mechanisms and provide small tweaks and context at idiosyncrasies, it's possible to get agents to reliably build very complex systems.
    • Zafira 1 hour ago
      > At the moment it is a mysterious, occasionally fickle, tool - but if you provide the correct feedback mechanisms and provide small tweaks and context at idiosyncrasies, it's possible to get agents to reliably build very complex.

      This sounds like arguing you can use these models to beat a game of whack-a-mole if you just know all the unknown unknowns and prompt it correctly about them.

      This is an assertion that is impossible to prove or disprove.

      • rafaelmn 50 minutes ago
        No it's more like if you knew how to build it before - LLM agents help you build it faster. There's really no useful analogy I can think of, but it fits my current role perfectly because my work is constantly interrupted by prod support, coordination, planning, context switching between issues etc.

        I rarely have blocks of "flow time" to do focused work. With LLMs I can keep progressing in parallel and then when I get to the block of time where I can actually dive deep it's review and guidance again - focus on high impact stuff instead of the noise.

        I don't think I'm any faster with this than my theoretical speed (LLMs spend a lot of time rebuilding context between steps, I have a feeling current level of agents is terrible at maintaining context for larger tasks, and also I'm guessing the model context length is white a lie - they might support working with 100k tokens but agents keep reloading stuff to context because old stuff is ignored).

        In practice I can get more done because I can get into the flow and back onto the task a lot faster. Will see how this pans out long term, but in current role I don't think there are alternatives, my performance would be shit otherwise.

        • dkdbejwi383 39 minutes ago
          You could probably replace LLM with "junior engineer" here as it sounds like you're basically a manager now. The big negative that LLMs have in comparison with junior engineers is that they can't learn and internalise new information based on feedback.
          • lukan 34 minutes ago
            "The big negative that LLMs have in comparison with junior engineers is that they can't learn and internalise new information based on feedback."

            No, but they can take "notes" and can load those notes into context. That does work, but is of course not so easy as it is with humans.

            It is all about cleaning up and maintaining a tidy context.

      • reedf1 5 minutes ago
        The same is true with human engineers - isn't this just what engineering is?
    • Grimblewald 57 minutes ago
      Say i buy into your mysticism based take, is it a useful tool if it blows up in damn well near every professionals face?

      lets say i accept you and you alone have the deep majiks required to use this tool correctly, when major platform devs could not so far, what makes this tool useful? Billions of dollars and environment ruining levels of worth it?

      I'd say the only real use for these tools to date has been mass surveillance, and sometimes semi useful boilerplate.

    • croes 14 minutes ago
      > if you provide the correct feedback

      And how do you define correct feedback? If the output is correct?

      • reedf1 6 minutes ago
        I don't know if you deliberately cut-off the full point, but for the benefit of those with tired eyes I said 'feedback mechanisms', i.e. feedback in the control system sense.
    • jamiemallers 31 minutes ago
      [dead]
    • stavros 1 hour ago
      I'd agree, I've been building a personal assistant (https://github.com/skorokithakis/stavrobot) and I'm amazed that, for the first time ever, LLMs manage to build reliably, with much fewer bugs than I'd expect from a human, and without the repo devolving to unmaintainability after a few cycles.

      It's really amazing, we've crossed a threshold, and I don't know what that means for our jobs.