13 comments

  • zmj 19 minutes ago
    Nice writeup. Structured handoffs and external plan reviews are good takeaways.
    • ajstorm 4 minutes ago
      Thanks! And thanks for reading.
  • finnborge 57 minutes ago
    This feels to me like a lovely example of both high-quality systems design and information theory. From my perspective, one of the more abstractly interesting thoughts surfaced by this write-up is the degree to which you've "encoded" a highly complex set of relationships through use of metaphor.

    That type of encoding (starting with the statement: you're at a teaching hospital) is profoundly more efficient than having to deeply and reliably articulate what each of the various roles your agents embody are, let alone their interactions.

    Perhaps there is more room for any of us to consider what existing systems or identities are described abundantly in training sets and can be leveraged to ritualistically encode these social/civic/cultural dynamics saying: "act as though you're ___." Not exactly a new point, but one this write-up certainly is pulling me towards.

    Thank you for sharing and the care you put into writing this!

    • ajstorm 39 minutes ago
      Thanks for the thoughtful response. We too were surprised by how deeply we could take the model of the teaching hospital to software engineering. Whenever we think to expand the system in one dimension or another, the teaching hospital model seems to have a nearby analogy.

      I will confess however that some people internally find the model confusing. For example, one user couldn't remember that to get an issue actioned, they needed to put it into the "waiting room". They wanted to be able to action their issues without learning how complex medical systems operate. There seems to be more work on our plates to make this resonate with all users.

  • james_marks 2 hours ago
    A hint at why GitHub actions have been unreliable. How many teams are running factories like this on GH infra now?
    • devin 1 hour ago
      I posted in another threat about this: I am seeing a lot of people building their own little bespoke factories. They introduce endless quality gates until it slows development down, and then they add more agents to decide when to run certain actions, and on and on. The end result from what I've seen and personally participated in, is that it often winds up providing negative value in the software development lifecycle. It creates a whole lot of heat, but IMO is not helping the teams utilizing them to ship value any faster than they would with a more limited setup.
    • gchamonlive 1 hour ago
      This is Microsoft scale, I'd be surprised if it made any difference these labs. It's more likely it's plain managerial mishandling of the infra in chasing new profit heights.
  • ajstorm 1 day ago
    Rafi and I, who authored this post, will be hanging out here for any questions people may have.
    • Eridrus 1 hour ago
      Did you do any ablation studies on what is actually useful vs what happens to just work because these systems can work around whatever people do?

      I compare this to OpenAI's symphony prompt which, at a high level, does exactly the same thing outlined here except model selection and doesn't really have the need for roles or hospital metaphors.

      • ajstorm 10 minutes ago
        No, we haven't performed any ablation studies yet - it's a good suggestion.

        The comparison with OpenAI's Symphony is valid (the two systems do broadly the same thing). One thing that's different about Sinai is that it keeps the code author and reviewer in separate agents with separate context. At the time we built it, we suspected that this would lead to better outcomes, but again, we haven't validated that it does.

        I confess that there's a lot more validation we could do with this model but we just haven't found the time. One thing we don't cover in the post is that this is a side project for both of us, so we have less time than we'd like to perform experimentation and validation.

    • contingencies 2 hours ago
      Which inherent limitations did you recognize in the metaphor before commencing this research?
      • ajstorm 4 minutes ago
        One thing that teaching hospitals have is a longer ladder of experience. For example many hospitals have medical students, interns, residents, chief residents, fellows and attendings. One idea we contemplated was to have "treatment" start on the cheapest possible model and see how it ended up, only escalating to more capable/expensive models as necessary. We rejected this idea because we suspected that it would end up in more time/tokens on the capable models to fix any problems.

        In the end, medical students learn to become doctors. Cheaper models never learn to become more capable models, so the metaphor is not apt.

  • Veelox 1 hour ago
    You give a very precise measure of redundancy in the skills. Can you give a bit more detail in how you decided you needed to audit them and how you went about it? Was it fully agent driven? Mostly human?
    • ajstorm 35 minutes ago
      All that credit goes to Rafi. I believe that he either noticed that they were getting long winded in a code review, or suspected that they needed trimming after reading this blog post from Anthropic: https://claude.dev/blog/the-new-rules-of-context-engineering....

      It was definitely human driven, but I believe that the agents did the actual trimming.

      • Veelox 21 minutes ago
        That is helpful. Thank you :)
  • kinduff 1 hour ago
    Since we are all building our version of this, what mistakes did you made until you arrived to a well-balanced solution? I really like that you know how much an issue is, because then you can start optimizing.
    • ajstorm 22 minutes ago
      I'd say that the first "mistake" we made was having it run in auto-merge mode. It was incredible to see what it could produce, and the speed with which it worked, but while the results seemed good, they were being produced at a rate that we couldn't human-verify. This is not to say that they were bad, but that we had no way to convince ourselves that they were good.

      Once we started to review the code in more detail (and put the hospital into "human approval mode" to stop the momentum) we found one major thing that we corrected.

      When issues were decomposed into a DAG, sibling issues would often defer work that they thought that their sibling(s) would handle, and that work sometimes just got dropped. This was because there was no way for sibling issues to communicate with each other. We've since added a deferred scope ledger and policy. If any issue is going to defer scope it must comment about the deferral in the code, and write it to a special ledger with the rationale, and how/when the deferral should be actioned. This has prevented several items from falling through the cracks, but we're constantly refining what is a valid deferral and what should be fixed immediately.

      There are several other things that we've corrected over time, which makes me think that another blog post is in order. The full list would be too extensive to try and address in the comments section.

  • dingaling911 58 minutes ago
    Maybe I missed it, but I didn't really see anything about the long term quality or maintainability of the code. All I see is agent agent agent.
    • ajstorm 30 minutes ago
      It's true that we don't have long-term maintainability data just yet. We've just shipped the first product of this model to customers and likely won't have any detailed maintainability data for several months (and for good data, several years). We hope to author more blog posts on this experiment in the future.
  • jordanlewis 1 day ago
    Great post!

    One thing I've been experimenting with in my own agent orchestration system is an agent that hangs around and does post-merge acceptance testing after the work ships. Any plans to add a follow-up phase? Travel nurse?

    • ajstorm 1 day ago
      That's a very interesting idea. Sounds more like a "routine follow-up" in the medical model.
    • sglim 1 day ago
      [dead]
  • git_rancher 1 hour ago
    The patient “leaves” when the bug is fixed?
    • tough 1 hour ago
      What would be the analogy if the patient dies?
  • Spooky23 2 hours ago
    Reminds me of the “surgical team” development model in the Mythical Man Month.
    • sroerick 27 minutes ago
      I thought this too. It's fun that they were working with DB2 as well.
  • ContinuityLab 45 minutes ago
    [flagged]
  • khotem 1 hour ago
    [flagged]