I tried building something similar last year. while it's fun but hard to get the tasks properly done, it wasn't for real work at the time. and projects like GPT Swarm have died out since then.
agents' intelligent have become more capable today, can a multi-agent setup like this finally handle real production work? if so, may i know how exactly do you incorporate it into your daily workflow
There's this thread [1] that I forgot about, and on other user's comment [2] and my own comment [3] you can get an idea on how I was approaching multi-tasking on the same project with AI.
In the links you can see more of the setup for a single project, specially on [3]. The main idea remains, what agenttik tries to do is to simplify the management of iterating over one or multiple projects at the same time.
There are two ways in which I'm using the tool for production work.
On one hand, from the issue tracker (we use JIRA at my company), I just have MCP connected to it, and the way it goes is, in the AGENTS.md I have several instructions on how to work with each project, and there's a line like this:
*Commits.* Small, regular, descriptive. Work on branches (`feat/`, `bugfix/`), never on `main`/`master`/`develop`.
Now, with this in mind, what I do is pick a ticket, Ctrl+Shift+A to bring agenttik to the foreground, go to the project, Ctrl+T to open a new task in that project, then say something like:
Let's work on TICKET-1234. For this task, let's consider blah, blah, [...]
Now, sometimes tickets have full context, other times they don't. Depending on the ticket I would either explore the angle we should follow or I just say like, work on this ticket.
Then I open another ticket, same project or another, and I just spawn more work like this. I would just leave the agent do its work, and later go back to that task and have a look at the last commit message, where there's usually a summary on what's done and review the new branch & commits and push. You can also have a line saying the AI to just push changes and look for build to succeed and keep iterating if not, but anyway, depends on the project.
Now, the second way in which I manage production work is for BIG features. A big feature is one thatthat I would usually break down in smaller tickets. Instead of splitting them in JIRA, I just don't split it. I just then open the project in agenttik, and I start creating multiple tasks by breaking down that big task into smaller tasks. By splitting them in agenttik tasks, each task will have a fresh session/context when it runs via the agent, thus, I keep LLM context usage small and I can also fine-tune what model to use for each tasks, optimizing a little bit my usage.
Since the tasks are enqueued, I can just jump to another project and do the same, or have a meeting while agents fix the work, ...
The main benefit for me, is that by enqueing tasks I can get full focus on a project or feature, know that a complex feature is already divided in smaller, simpler, tasks, and that for an hour or more I don't need to worry about that project or feature anymore. I can just put my focus elsewhere.
The problem when I was having multiple consoles/windows managing agents like this, was that I would start dividing the problem in my head, or I would create a big file and pass as a context, but then, either iterations depleted the agent's context if it was big enough tasks, or then I would get constantly interrupted when working on a different thing because first task would finish, and then I need to switch context in my head, and back to another project, and forth, and then switching context in my head makes me mentally exhausted.
Even for single-project, same happens, you spawn something here, another thing in another branch/worktree/folder and you keep jumping back and forth; by enqueuing all tasks you can think of, you give more work to the agents, so that you can keep your own focus, and at the end of the day I'm not exhausted anymore. Not only that, agents will continue with the next enqueued tasks a second after the one they are working on finishes. When I was working in terminals/multiple windows, I would switch window, then start writing, and then there's extra latency where the agents are doing nothing till next task is sent.
Also because tasks are enqueued, and run in order, if you remember or missed something or want to provide more context, then you go to the task and edit it before it runs, or you can add another task and just enqueue in the right place for AI to pick it up.
To me it toally helps to reduce cognitive effort. I was already working like this to some extent, but with this tool it makes it way easier and enqueuing tasks is what makes the difference.
On another note, on certain projects I have an scheduled task which runs every X minutes and can pick stuff where previous tasks left, and continue the work. On those I just instruct the agents to leave some partial outcome in specific files, so that the next ones can pick it up where the other left.
Nothing would prevent me as well to create an scheduled task to say, go to this project X in JIRA and pick next task in priority, create a branch, mark it as ready for QA, and push changes; the only reason I'm not doing that is because I want to review and I want to be the one spawning tasks because sometimes tickets lack info. I could also instruct just to pick tasks with good context and such, or label tasks in JIRA so that later the agent would pick it up automatically, and I could even leave agenttik running in another computer and connecting remotely. I haven't explored this at work yet, but agenttik is also built for this kind of workflow.
I tried building something similar last year. while it's fun but hard to get the tasks properly done, it wasn't for real work at the time. and projects like GPT Swarm have died out since then.
agents' intelligent have become more capable today, can a multi-agent setup like this finally handle real production work? if so, may i know how exactly do you incorporate it into your daily workflow
There's this thread [1] that I forgot about, and on other user's comment [2] and my own comment [3] you can get an idea on how I was approaching multi-tasking on the same project with AI.
In the links you can see more of the setup for a single project, specially on [3]. The main idea remains, what agenttik tries to do is to simplify the management of iterating over one or multiple projects at the same time.
There are two ways in which I'm using the tool for production work.
On one hand, from the issue tracker (we use JIRA at my company), I just have MCP connected to it, and the way it goes is, in the AGENTS.md I have several instructions on how to work with each project, and there's a line like this:
*Commits.* Small, regular, descriptive. Work on branches (`feat/`, `bugfix/`), never on `main`/`master`/`develop`.
Now, with this in mind, what I do is pick a ticket, Ctrl+Shift+A to bring agenttik to the foreground, go to the project, Ctrl+T to open a new task in that project, then say something like:
Let's work on TICKET-1234. For this task, let's consider blah, blah, [...]
Now, sometimes tickets have full context, other times they don't. Depending on the ticket I would either explore the angle we should follow or I just say like, work on this ticket.
Then I open another ticket, same project or another, and I just spawn more work like this. I would just leave the agent do its work, and later go back to that task and have a look at the last commit message, where there's usually a summary on what's done and review the new branch & commits and push. You can also have a line saying the AI to just push changes and look for build to succeed and keep iterating if not, but anyway, depends on the project.
Now, the second way in which I manage production work is for BIG features. A big feature is one thatthat I would usually break down in smaller tickets. Instead of splitting them in JIRA, I just don't split it. I just then open the project in agenttik, and I start creating multiple tasks by breaking down that big task into smaller tasks. By splitting them in agenttik tasks, each task will have a fresh session/context when it runs via the agent, thus, I keep LLM context usage small and I can also fine-tune what model to use for each tasks, optimizing a little bit my usage.
Since the tasks are enqueued, I can just jump to another project and do the same, or have a meeting while agents fix the work, ...
The main benefit for me, is that by enqueing tasks I can get full focus on a project or feature, know that a complex feature is already divided in smaller, simpler, tasks, and that for an hour or more I don't need to worry about that project or feature anymore. I can just put my focus elsewhere.
The problem when I was having multiple consoles/windows managing agents like this, was that I would start dividing the problem in my head, or I would create a big file and pass as a context, but then, either iterations depleted the agent's context if it was big enough tasks, or then I would get constantly interrupted when working on a different thing because first task would finish, and then I need to switch context in my head, and back to another project, and forth, and then switching context in my head makes me mentally exhausted.
Even for single-project, same happens, you spawn something here, another thing in another branch/worktree/folder and you keep jumping back and forth; by enqueuing all tasks you can think of, you give more work to the agents, so that you can keep your own focus, and at the end of the day I'm not exhausted anymore. Not only that, agents will continue with the next enqueued tasks a second after the one they are working on finishes. When I was working in terminals/multiple windows, I would switch window, then start writing, and then there's extra latency where the agents are doing nothing till next task is sent.
Also because tasks are enqueued, and run in order, if you remember or missed something or want to provide more context, then you go to the task and edit it before it runs, or you can add another task and just enqueue in the right place for AI to pick it up.
To me it toally helps to reduce cognitive effort. I was already working like this to some extent, but with this tool it makes it way easier and enqueuing tasks is what makes the difference.
On another note, on certain projects I have an scheduled task which runs every X minutes and can pick stuff where previous tasks left, and continue the work. On those I just instruct the agents to leave some partial outcome in specific files, so that the next ones can pick it up where the other left.
Nothing would prevent me as well to create an scheduled task to say, go to this project X in JIRA and pick next task in priority, create a branch, mark it as ready for QA, and push changes; the only reason I'm not doing that is because I want to review and I want to be the one spawning tasks because sometimes tickets lack info. I could also instruct just to pick tasks with good context and such, or label tasks in JIRA so that later the agent would pick it up automatically, and I could even leave agenttik running in another computer and connecting remotely. I haven't explored this at work yet, but agenttik is also built for this kind of workflow.
[1] https://news.ycombinator.com/item?id=49413093
[2] https://news.ycombinator.com/item?id=49414469
[3] https://news.ycombinator.com/item?id=49415263
[flagged]
[dead]