Docker Agent

(github.com)

100 points | by saikatsg 3 hours ago

16 comments

  • CBLT 42 minutes ago
    I tried really hard to make this work for me a couple of weeks ago but it was the bittlest harness out of any that I've used. I'd come back when it's more mature.
    • triyambakam 20 minutes ago
      > bittlest

      Sorry, what do you mean there?

      • shawabawa3 15 minutes ago
        Typo for brittlest, most brittle
    • dgageot 39 minutes ago
      Would love to know what didn't work for you
      • CBLT 29 minutes ago
        Sessions just broke all the time for me. The one time I dug into it, it ended up being a known issue where if codex returned over 10k characters for a turn it breaks the session. Because docker agent does not use protocols like ACP, instead trying to parse Codex's internal state in a brittle manner.

        I tried not to do anything too crazy, but even use using an API key in the docker agent natively was getting me sessions that would hang and couldn't be recovered.

        • dgageot 24 minutes ago
          Combination with Codex is indeed not the most common use case around us. I'll see what can be improved. Sorry that it broke your workflow!
          • nujabe 5 minutes ago
            How is not using it with the most popular coding agent not a common use case?
  • McScrooge 2 hours ago
    https://docker.github.io/docker-agent/configuration/sandbox/

    If, like me, you couldn't find any security-related info on the linked page.

    • gregwebs 34 minutes ago
      Docker Agent is a harness. There is a sandbox mode that can be used to run it in docker sandbox (a VM, not a container). If you don't use sandbox mode then I assume it is running in a container.

      If you don't want to use their harness then you wouldn't use docker agent and instead use their `sbx` cli to run the harness of your choice (claude, codex, pi, etc).

      I think it will be great if Docker can get people used to using secure VMs. I am developing a similar project (still a work in progress): https://github.com/gregwebs/agent-vm

      • genghisjahn 26 minutes ago
        I've found sbx to be very helpful. really like the sentinel value wrapper they have going so you can add secrets but the model can't see them. Outbound calls get looked up by sentinel value and the real one goes out to whatever API you're auth'ing too. There's other features but just having claude run in a sandbox and easily see what it does and doesn't have access to has been great.
    • ShinyLeftPad 1 hour ago
      i remember going through the entire docs of docker sandbox and there was not one mention of attack vectors. did they fix that?
  • blakeashleyjr 2 hours ago
    While I love new open source dev (especially in Go!), agent harnesses are turning into JS frameworks from yesteryear.

    All the cool kids have one!

    • ChaseRensberger 9 minutes ago
      none are as great as https://wingman.actor!

      jk its trash

    • pjmlp 2 hours ago
      Coupled with VSCode forks to manage them
    • verdverm 1 hour ago
      Go doesn't have a good mod/plugin story for harness devs to provide to their users

      I say this as a gopher who also has a custom harness written in Go, it's a real challenge compared to the TS setups, but TS plugins are also a security concern

      • ChaseRensberger 8 minutes ago
        curious your thoughts on my approach: https://docs.wingman.actor/extend/plugin-quickstart/
      • gandreani 38 minutes ago
        I agree! Comes with the territory of a compiled language I suppose?

        I haven't given this much thought (I also just started with golang last year) but I'm assuming the only real path here is to provide extension SDKs in Lua or other languages whose interpreters have been implemented in go.

        I think that's what grafana's k6 [1] does with a JS interpreter

        [1] https://github.com/grafana/k6

    • caskeycoding 1 hour ago
      [flagged]
  • beckford 1 hour ago
    Docker Agent could be beneficial for research studies. For example, while writing a ML paper about agents I need to rerun experiments so that: - others can repeat my results - validate that variability from LLMs is not causing overconfidence in the results

    But currently uv is good enough to create isolated, repeatable environments. And it isn't limited to Linux like standard Docker. So when I want to test small samples on my local PC's GPU (Windows or mac) before running on beefier hardware, I can do that easily.

  • maxdo 2 hours ago
    they hope they can annoy and email every person in the org asking for money , same way as they did it with docker.

    looks like a weird abstractions. why do i need this if i have modal.com, e2b, cloudflare that use original docker + some toolings around + way to run + isolations on network level.

  • smashah 19 minutes ago
    Why can't we set the harness? Seems like the missing piece
  • tamimio 2 hours ago
    >What it is, what it isn’t

    Yep, open ai sol model wrote that.

    • lukemercado 2 hours ago
      It frustrates me that there's a prisoners dilemma in communicating this to other humans. If I flag it and write it out (as you've done) I've let the author know that they're losing trust and let others know that they should be more skeptical. I've also created the perfect eval data pair for the ai labs. It's deeply frustrating.
      • baby_souffle 59 minutes ago
        I think the cat is out of the bag.

        There was a brief point in time at the beginning of the internet where if you saw an image online you could be kind of confident that it hadn't been manipulated significantly... But somewhere around the mid to late 2000s it became prudent to just assume any image you've seen online got at least a blemish filter pass through something like Photoshop.

        Same thing now with written text. Sometimes you'll be a little bit more or less sure than an llm produced the output but never able to say 100% confidently.

      • cyanydeez 55 minutes ago
        AI is going to eradicate, for good, all trust in the Internet.

        That's a benified "not a drawback".

    • IncreasePosts 1 hour ago
      Your probably spare yourself some RSI by inverting this and only writing out a message when you find human generated content on hn
  • mplewis 2 hours ago
    What does this have to do with Docker?
    • speedgoose 2 hours ago
      I guess people at Docker wanted to make an agent.

      Having it docker branded, I could understand. It’s confusing but the docker brand is strong.

      But exposing it as a docker subcommand is very confusing to me.

      • dgageot 1 hour ago
        You don't really have to use the docker agent sub-command. docker-agent is a standalone binary. When it was created, though, 1.5 year ago, the idea was that it would be the docker compose for agents (original name was cagent, compose for agents).

        But it evolved differently and although it runs very well in docker containers and docker sandboxes, it also runs very well anywhere else.

      • binsquare 2 hours ago
        It reads to me like chasing trends
        • throwitaway222 2 hours ago
          That's the economy we've always been in. X is popular, if your company doesn't have a solution for X you're irrelevant.
        • sleepybrett 58 minutes ago
          that's all docker has been doing for years.
        • verdverm 1 hour ago
          the tools and features certainly indicate so
    • bmacho 1 hour ago
      Based on the repo short description and the first sentence of the readme:

      It is called 'Docker' as the company, and it has nothing to do with the container technology.

    • redleader55 2 hours ago
      The quest for staying relevant.
    • nwhnwh 34 minutes ago
      This made me laugh. Not sure why. But the whole situation is very absurd now.
    • sneak 28 minutes ago
      Docker is rapidly fading into irrelevance now that they have missed their strategic acquisition interval via the Microsoft collab misstep, and now has to hype chase as fewer and fewer people believe in their long term viability as a company.

      Great tech. Not a business.

    • esafak 1 hour ago
      It's the Docker you know and love... with AI!
  • mococa 2 hours ago
    Pretty vague
  • throwrioawfo 41 minutes ago
    gimmick
  • sergiotapia 1 hour ago
    very weird. why does this have dockers name on it? might as well use an agent harness from kohl's or steak n' shake. odd..
    • dgageot 1 hour ago
      It was created to be the docker compose for agents. 2 years ago, people, including ourselves, started to mix agentic loops and non agentic components in docker compose files. We created docker agent to make this more powerful.

      At the end, the link with docker compose is just the yaml form. Which by the way can be replaced with hcl files or Go code.

  • esafak 1 hour ago
    What's new or interesting here? Docker's AI story ought to be around sandboxing, yet the word appears nowhere. Oh, and it's YAML, which I despise.
    • dgageot 1 hour ago
      Docker Agent predates Docker sandboxes. It was created almost two years ago when not everybody had a AI harness. Nowadays, it does run very well in Docker Sandboxes but it runs also very well anywhere you like.
  • benjy3379 1 hour ago
    [flagged]
  • oxcartctl 2 hours ago
    [dead]
  • rfgplk 1 hour ago
    > Go

    Nowadays there are only two justifiable public languages you should be using for anything a) C++ b) Rust

    Rust itself is dubious due to abysmal compile times and the fact that the only guarantees it gives you are of security (aka a skill issue). Modern LLMs write C++ that is as safe if not safer than Rust. Any other language choice is objectively wrong.

    * For those inquisitive enough the keyword "public" is doing all the heavy lifting here. Pretty much everyone should be developing and using an in-house DSL at this point.

    • triyambakam 14 minutes ago
      This is an almost rage bait take, but in any case I agree that the models ability to write correct code and fuzz and test that code does make language choice a different tradeoff than it was before.
    • furyofantares 1 hour ago
      Yeah well I'm doing everything in AssemblyScript.