Comment by bloody-crow

1 day ago

I've been using tmux historically and it eventually became too cumbersome since my typical workflow started being a lot more AI-agent heavy. I now run over 10 agents at the same time and they're all working on some multi-hour workstreams that I occasionally need to check in on or unblock. Tmux was not making this particularly easy and I would occasionally lose an agent or forget about it until much later only to realize it's been sitting idle waiting for me to approve something for a few days.

I've tried Cmux, but it didn't do it for me, since the agent statuses were displayed on the workspaces and having multiple agents in the same workspace would sometime produce confusing results.

I've been using Herdr since the start of the week and so far it's been the best in terms of visibility of what my agents are doing and which of them need attention. The only wart I've noticed so far is that the performance is not always great — sometimes I see the text appearing with a noticeable delay as I type it.

In a multi-pane tabbed interface like cmux (I made my own), I found it sufficient for agents to always alert when they are done or awaiting my input, and then the tab shows a badge that counts the number of unacked alert panes inside it.

Then I just work through the alerts and handle them as they arrive.

I guess there's an edge case where you don't know if an agent is running in a tab at all (while herdr will show "Agent running") but in practice I'm the one starting agents, and they run until they alert, so I'm not hitting a case where I think an agent is running but it's not.

I've been using cmux for a long time too but am pretty happy with it. It's not perfect but much better than plain tmux/ghostty. I'll give herdr a shot too.

I thought that was where I was going to end up, but that's where Claude's remote control or copilot's agents tab spared me.

The hitching is compounded for me because I tend to run the agents in squads: the agent I talk to operates a strict no-coding 'producer' mode, it tasks a sub-agent to do the research or coding, then the results go via a file to a critic or review agent; keeps the producer context very minimal and lean. Not convinced it's as necessary as just starting new contexts frequently with Fable etc.

My general rule is that I won't commit code a human hasn't seen/reviewed to production codebases, and I know I won't maintain that rule if I have to read all the slop that gets generated first time round without an AI reviewer pass.

So far my producer skill has survived 4.6 thru fable in succeeding to treat the review/critic output skeptically, as a likely yes-man or team player.

The key is to remember that, as of Fable, the size of the training corpus segment representing people responding to AI-generated content is still relatively tiny. Telling Sonnet 4.6 "this is code an agent produced" has a near decorative effect with no apparent significance, Sonnet 4.8 shows some misgivings, and when I experimented with Fable it seemed to do well at anticipating the kind of slop 4.6 would throw you.

Interestingly, to me, telling Fable that code a previous Fable agent wrote was AI generated seemed to raise some kind of "I'm being benchmarked" flag; expanding the reasoning finds it being evasive and mistrusting; look past the null derefence because this must be a trick question type thing.

  • I wish Claude's remote control sessions were longer running. If I forget about a conversation it's been cognitively difficult for me to track down which tmux tab = the correct remote control session in the Claude GUI. Remote control does come in super handy for pasting images in when some shell environments where pasting doesn't work for...reasons. The output in the GUI is also so much easier to read.