<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Amplify Team</title>
    <description>The latest articles on DEV Community by Amplify Team (@amplify_team).</description>
    <link>https://dev.to/amplify_team</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3905799%2F241140c2-787c-4f34-9bf1-5bbf19982c11.png</url>
      <title>DEV Community: Amplify Team</title>
      <link>https://dev.to/amplify_team</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amplify_team"/>
    <language>en</language>
    <item>
      <title>We Sandboxed Every AI Agent. Here's What We Learned (And What You Should Too)</title>
      <dc:creator>Amplify Team</dc:creator>
      <pubDate>Mon, 15 Jun 2026 13:32:09 +0000</pubDate>
      <link>https://dev.to/amplify_team/we-sandboxed-every-ai-agent-heres-what-we-learned-and-what-you-should-too-16g8</link>
      <guid>https://dev.to/amplify_team/we-sandboxed-every-ai-agent-heres-what-we-learned-and-what-you-should-too-16g8</guid>
      <description>&lt;p&gt;One morning, my AI agent sent me a reminder to take my fish oil supplements. Specific brands, exact dosages, the time I'm supposed to take them. The problem is I never told my agent any of that. Those were someone else's supplements.&lt;/p&gt;

&lt;p&gt;We were in the early days of building our product on OpenClaw, an open-source agent framework. We'd set up a single OpenClaw instance, created about ten agents for the team, and handed them out to colleagues. Everyone was chatting with their agents, testing workflows, having fun with it. The kind of energy you get when something genuinely new is working.&lt;/p&gt;

&lt;p&gt;Then the supplement reminder showed up. I started digging, and the root cause was almost comically simple: all the agents were running on one shared instance. One agent couldn't deliver a message to its owner, so it used every available channel to try. That included other people's conversations. Personal health data, showing up in the wrong chat.&lt;/p&gt;

&lt;p&gt;Other colleagues reported the same thing. Reminders about appointments they didn't have, tasks they didn't set. One agent's context was leaking into another's conversations because the underlying system treated them all as connected.&lt;/p&gt;

&lt;p&gt;That was our wake-up call. Not a theoretical security paper, not a compliance requirement. A real data leak, in the first week, among friends.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we tried before sandboxing
&lt;/h2&gt;

&lt;p&gt;Our first instinct was communication. We wrote detailed instructions in MD configuration files telling agents what they could and couldn't do. Think of it like giving a child a long list of house rules. Don't go into other people's rooms. Don't share personal information. Don't touch anything you didn't create.&lt;/p&gt;

&lt;p&gt;It worked, sort of. For a while. Agents mostly followed the rules. But context windows compact over time, sessions restart, and the rules fade. An agent that respected boundaries on Monday might cross them on Thursday because the instruction had been pushed out of its working memory.&lt;/p&gt;

&lt;p&gt;We also realized a second problem that the rules approach couldn't touch: users can break their own agents. When someone's chatting with an AI that has file system access and the ability to modify code, it takes one casual request to accidentally corrupt the configuration that makes the whole thing run. A SaaS product where the customer can brick their own agent with one message isn't a product anyone will keep using.&lt;/p&gt;

&lt;p&gt;MD files and good behavior instructions weren't going to cut it. We needed actual walls, not suggestions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why containers, not VMs
&lt;/h2&gt;

&lt;p&gt;We briefly considered giving each client their own virtual machine. Full isolation, total separation. The math killed it fast. Supporting thousands of VMs with individual maintenance, patching, and monitoring is a different business entirely. We needed isolation that could scale without requiring a dedicated ops team per hundred clients.&lt;/p&gt;

&lt;p&gt;The turning point was a comment from Peter, OpenClaw's creator. He put it simply: "OpenClaw is not a bus carrying lots of different passengers. If you need isolation and multiple owners, dockerize." That settled the debate for us.&lt;/p&gt;

&lt;p&gt;Containers were the answer. One isolated Docker container per client, each with its own file system, its own process space, its own resource limits. The agent sees /workspace and nothing else. No /home, no environment variables with API keys, no access to the host. If you ask the agent what's in the root directory, it shows you an empty workspace. That's the entire world from its perspective.&lt;/p&gt;

&lt;p&gt;But a container alone wasn't enough. We ended up building seven layers of isolation in total. The container is the most visible one, but the others handle things like credential separation, network boundaries, and media access control. I won't detail every layer here, but the point is that if any single one fails, the others still hold.&lt;/p&gt;

&lt;p&gt;One specific OpenClaw setting made the difference between a sandbox and a decoration: tools.elevated.enabled. OpenClaw allows agents to run code on the host machine by default (true). That's powerful for development but catastrophic in a multi-tenant environment. We set it to false for every client container. Without that single flag, none of the other isolation measures matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agents should never hold real keys
&lt;/h2&gt;

&lt;p&gt;Here's the architectural decision I'm most convinced was right: our agents don't make external API calls. Not to language model providers, not to media generation services, not to messaging platforms. None of it.&lt;/p&gt;

&lt;p&gt;A separate service sits outside the sandbox and handles all external communication. When the agent needs to send a Telegram message or generate an image, it talks to an internal endpoint. That endpoint validates the request, injects the real credentials, makes the actual API call, and returns the result. The agent never sees a single API key.&lt;/p&gt;

&lt;p&gt;We call these tokenized routes. The agent gets a capability (send a message, generate media) without getting the credentials that make it possible. Even if someone manages to get the agent to dump its entire environment, there's nothing useful there.&lt;/p&gt;

&lt;p&gt;We learned this one the hard way too. Early on, a tester asked their agent for the language model API key. The agent shared it happily. It had access, there was no rule saying it couldn't, so it did. After that, we redesigned the entire approach so secrets never enter the sandbox in the first place.&lt;/p&gt;

&lt;p&gt;For comparison: I signed up for another platform that offers AI agents, created an agent, and asked it for its API keys. It refused, which was good. Then I asked it to archive everything visible in its root directory and send me the file. The ZIP arrived within seconds. Inside were working OpenRouter API keys. Their agent followed the instruction not to share keys when asked directly, but didn't understand that zipping the file system and sending the archive bypassed that restriction entirely. The keys were sitting in plaintext config files the agent could read and package.&lt;/p&gt;

&lt;p&gt;That's the difference between rules and architecture. Rules can be circumvented by creative phrasing. Architecture can't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Everything broke, and that was fine
&lt;/h2&gt;

&lt;p&gt;When we first deployed containers, nothing worked. The agent stopped responding entirely. After we fixed the basics, it could talk again but couldn't access its long-term memory, couldn't run skills, couldn't process voice messages. Every single capability in OpenClaw was wired through paths that no longer existed inside the container.&lt;/p&gt;

&lt;p&gt;We had to rewire everything. Every file path, every service connection, every tool integration. It took weeks. There were mornings when the temptation to just revert to the old setup was real.&lt;/p&gt;

&lt;p&gt;But here's what keeps you going in those moments: you know the old setup leaks data. You know the rules-based approach decays over time. There's no comfortable middle ground to retreat to. The only way is through.&lt;/p&gt;

&lt;p&gt;Once it was done, something unexpected happened. The sandbox didn't just protect clients from each other. It protected each client from themselves. Users could experiment freely with their agents, try things, make mistakes, push limits, and the worst that could happen was a restart from a clean state. It turned out that real isolation is as much an enabler as it is a constraint.&lt;/p&gt;

&lt;h2&gt;
  
  
  The cost of doing it right
&lt;/h2&gt;

&lt;p&gt;I'll be honest about the overhead. Running each agent in its own isolated container, with all the proxy layers and seven isolation boundaries, costs roughly 2.5 times more per session than running agents on shared infrastructure. That's real money.&lt;/p&gt;

&lt;p&gt;I think it's a small price. One data leak in a multi-tenant AI system doesn't just affect the users involved. It destroys trust in the entire product category. We've seen it happen with other types of SaaS. For AI agents that handle personal data, calendars, emails, and voice messages, the bar has to be higher.&lt;/p&gt;

&lt;p&gt;We introduced quality scores after the sandbox was stable. Over twenty metrics tracking agent behavior, response quality, tool usage patterns, and boundary compliance. The sandbox gave us a controlled environment where we could actually measure these things reliably.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd tell another team
&lt;/h2&gt;

&lt;p&gt;If you're building anything where AI agents interact with user data, sandbox from day one. Not after your first incident, not after you reach a certain scale. From the beginning.&lt;/p&gt;

&lt;p&gt;The refactoring cost only grows over time. Every feature you build on shared infrastructure becomes a feature you later have to re-architect for isolation. We did it relatively early and it still took weeks of everything being broken. Teams that wait longer will have a much harder time.&lt;/p&gt;

&lt;p&gt;Rules and prompts are not security. They're suggestions with a half-life measured in context windows. Real isolation means the agent physically cannot access what it shouldn't, regardless of what anyone asks it to do.&lt;/p&gt;

&lt;p&gt;This is what we build at Amplify. Personal AI assistants that live in your messenger and handle real work, from email and calendar management to voice notes and media generation. Every client gets their own isolated environment with seven layers of protection. The agent knows your work, your preferences, your contacts. It doesn't know anyone else's.&lt;/p&gt;

&lt;p&gt;We built Amplify on OpenClaw. If you're working on agent isolation or multi-tenant AI architecture, the framework and our approach are a good place to start.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;a href="https://ie.linkedin.com/in/fych" rel="noopener noreferrer"&gt;Yevhen Fychak&lt;/a&gt; is CTO and co-founder of &lt;a href="https://getamplify.team/" rel="noopener noreferrer"&gt;Amplify&lt;/a&gt;. He writes about building AI products and the engineering decisions behind them.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>tutorial</category>
      <category>automation</category>
    </item>
    <item>
      <title>Your AI Assistant Is Underperforming. These 5 Rules Fix That</title>
      <dc:creator>Amplify Team</dc:creator>
      <pubDate>Wed, 10 Jun 2026 13:10:56 +0000</pubDate>
      <link>https://dev.to/amplify_team/your-ai-assistant-is-underperforming-these-5-rules-fix-that-em8</link>
      <guid>https://dev.to/amplify_team/your-ai-assistant-is-underperforming-these-5-rules-fix-that-em8</guid>
      <description>&lt;p&gt;Most people type something into their AI assistant, get a mediocre answer, and assume that's just how it works. I did the same thing for months. Turns out the problem was me the whole time.&lt;/p&gt;

&lt;p&gt;Once I changed how I talk to it, the results got dramatically better. I stopped treating it like a search bar and started treating it like a colleague who needs context to do good work.&lt;/p&gt;

&lt;p&gt;Here are 5 rules that made the difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Give context before you ask
&lt;/h2&gt;

&lt;p&gt;"Summarize this PDF" gets you a generic summary. Something you could've gotten from any tool.&lt;/p&gt;

&lt;p&gt;"I have a board meeting in two hours and the CEO will ask about Q2 revenue. Summarize this PDF and flag the three numbers I'll need" gets you something you can actually walk into that meeting with.&lt;/p&gt;

&lt;p&gt;The difference is one extra sentence. The assistant doesn't know what matters to you unless you tell it. It can't read your calendar, see your face, or hear the stress in your voice. All it has is what you type. So the more you type about why you need something, the better the output gets.&lt;/p&gt;

&lt;p&gt;I started adding a single line of context to every request. "I'm writing this for a non-technical audience." "This is for a client who's already frustrated." "I need this in under 100 words." Two seconds of effort. Saves me from rewriting the whole thing.&lt;/p&gt;

&lt;p&gt;Here's a real example from last week. I needed to draft a follow-up email after a demo call that didn't go well. My first instinct was "write a follow-up email to the prospect." Instead I typed: "The demo crashed during the pricing screen, the prospect seemed annoyed. Write a follow-up that acknowledges the issue without over-apologizing and gives them a reason to book another call." Night and day difference. The first version would've been a cheerful "great meeting today!" The second actually addressed what happened.&lt;/p&gt;

&lt;p&gt;Context doesn't have to be long. Even one sentence about the situation changes the output from "technically correct" to "actually useful."&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Use memory. Tell it once, stop repeating yourself.
&lt;/h2&gt;

&lt;p&gt;Your assistant has persistent memory. It stores facts about you between conversations. This is probably the most underused feature I've seen.&lt;/p&gt;

&lt;p&gt;Tell it things like: "I prefer bullet points over paragraphs." "My timezone is CET." "My weekly team sync is Tuesdays at 10am." Next time you ask about your schedule or need a quick summary, it already has that context. You don't re-explain yourself.&lt;/p&gt;

&lt;p&gt;I told my assistant three things during the first week: my role (founder), my communication style (direct, no fluff), and that I hate long emails. Now every draft it writes starts shorter than what most people would get. It's a small thing, but multiplied across dozens of interactions per week, it adds up.&lt;/p&gt;

&lt;p&gt;Memory isn't magic though. It works best for stable preferences and facts about your setup. It won't perfectly recall every detail from every conversation you've ever had. But the basics, your name, your role, how you like things formatted? You mostly say them once. That alone kills the repetitive "as I mentioned before" dance that makes people give up on AI assistants entirely.&lt;/p&gt;

&lt;p&gt;One thing people miss: you can also tell it about your team. "My cofounder Alex handles product decisions. My ops lead Sarah manages vendor relationships." When you later say "draft something for Alex about the roadmap change," it already knows the relationship and adjusts the tone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk47dzkjmfg6kksp6afn5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk47dzkjmfg6kksp6afn5.jpg" alt=" " width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. One thing at a time
&lt;/h2&gt;

&lt;p&gt;I used to dump five requests into one message. "Check my calendar, draft a reply to John, find a restaurant near the office, and remind me about the dentist." The assistant tries. It really does. But quality drops hard after the second task. The calendar check is fine. The email draft is okay. The restaurant recommendation is vague. And it forgets the dentist entirely.&lt;/p&gt;

&lt;p&gt;Now I send them one at a time. Wait for the result, confirm it looks right, then move on. Same way you'd delegate to a colleague. You wouldn't hand someone four sticky notes at once and walk away. Clear handoff, clear confirmation, better output on each one.&lt;/p&gt;

&lt;p&gt;This applies to complex tasks too. If you need a presentation outline, don't also ask for speaker notes and a LinkedIn post in the same message. Get the outline right first. Then say "now write speaker notes for slides 3 through 7." Building on confirmed output beats hoping it'll nail everything in one shot.&lt;/p&gt;

&lt;p&gt;I've noticed the sweet spot is about two related things per message. "Find free slots this Thursday and draft a meeting invite for the team" works because both tasks share context. "Find free slots and also summarize yesterday's sales report" doesn't, because those are completely separate trains of thought.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Connect your tools
&lt;/h2&gt;

&lt;p&gt;An AI assistant without access to your calendar and email is just a fancy text generator. It can write nicely, sure. But it can't tell you what's on your schedule tomorrow or find that attachment from last week.&lt;/p&gt;

&lt;p&gt;Connect Gmail, Calendar, Slack, Drive. Then when you ask "what's on my plate this week?" it pulls real data. No screenshots, no copy-pasting, no typing out your schedule by hand.&lt;/p&gt;

&lt;p&gt;Setup takes under ten minutes per service. I put it off for weeks because I assumed it would be complicated. Turns out the whole thing took less time than my morning coffee. The assistant went from occasionally useful to something I check before my inbox. That shift happened the day I connected my Google account.&lt;/p&gt;

&lt;p&gt;The difference is most obvious on Monday mornings. I used to open Calendar, scan the week, open Gmail, check what's pending, then try to figure out priorities. Now I type "what does my week look like and what's urgent in my inbox?" and get a single summary. It catches things I'd miss too, like a meeting that conflicts with a deadline I set last week, or a follow-up email I never sent.&lt;/p&gt;

&lt;p&gt;If you're worried about privacy, that's reasonable. Check what permissions the integration actually needs. Most calendar integrations are read-only by default. You can start there and add write access later when you're comfortable.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Correct it, don't start over
&lt;/h2&gt;

&lt;p&gt;When the first draft isn't right, say "make it shorter" or "more formal tone." Don't open a new conversation.&lt;/p&gt;

&lt;p&gt;Your memory carries over (that's Rule 2). But the working state of that specific exchange doesn't. The assistant loses track of what you were refining, what it already tried, what you rejected. Starting fresh means rebuilding all of that from zero.&lt;/p&gt;

&lt;p&gt;Treat it like working with a writer. First draft, feedback, second draft. I used to restart conversations constantly because I thought a clean slate would help. It didn't. Now I stay in the same thread and refine. The third attempt in an ongoing conversation is usually better than the first attempt in a fresh one.&lt;/p&gt;

&lt;p&gt;The corrections don't have to be polite or structured. "Too long." "Wrong tone, more casual." "Keep the first paragraph, redo the rest." These all work. The assistant adapts to direct feedback. You don't need to explain your revision in three sentences when five words will do.&lt;/p&gt;

&lt;p&gt;I've found that the best results come from being specific about what's wrong rather than what you want. "The intro is too salesy" gives the assistant more to work with than "make it better." Point at the problem, let it figure out the fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes once you build these habits
&lt;/h2&gt;

&lt;p&gt;The biggest shift isn't any single rule. It's what happens after a few weeks of using all five together.&lt;/p&gt;

&lt;p&gt;The assistant starts feeling less like a tool and more like a second brain that actually knows your work. Your memory builds up. Your requests get sharper because you've practiced adding context. You stop second-guessing whether it's worth asking for help with something small.&lt;/p&gt;

&lt;p&gt;I use mine for things I never would've imagined when I started. Preparing for one-on-ones by having it pull recent threads with that person. Quickly checking if a contract clause matches what we agreed on in email. Drafting responses to investor updates at 11pm when I'm too tired to sound coherent on my own.&lt;/p&gt;

&lt;p&gt;None of that worked when I was typing "help me with emails" into a blank chat. All of it works now.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Yevhen Fychak is CTO &amp;amp; co-founder of &lt;a href="https://getamplify.team/" rel="noopener noreferrer"&gt;Amplify&lt;/a&gt;. He writes about building AI agents and the things they do that he didn't expect.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>tutorial</category>
      <category>automation</category>
    </item>
    <item>
      <title>One Agent, Many Skills: How Complex Workflows Run Behind a Single Chat Message</title>
      <dc:creator>Amplify Team</dc:creator>
      <pubDate>Fri, 05 Jun 2026 13:09:09 +0000</pubDate>
      <link>https://dev.to/amplify_team/one-agent-many-skills-how-complex-workflows-run-behind-a-single-chat-message-1gad</link>
      <guid>https://dev.to/amplify_team/one-agent-many-skills-how-complex-workflows-run-behind-a-single-chat-message-1gad</guid>
      <description>&lt;p&gt;"Multi-agent coordination" sounds like something from a research paper. Swarms of AI models passing messages to each other, debating strategies, voting on outcomes. It makes for impressive demos and interesting Twitter threads.&lt;/p&gt;

&lt;p&gt;In practice – in the kind of product where someone just wants to get through their workday – multi-agent coordination looks different. It looks like Mike recording a 90-second voice note after a meeting and getting back a structured summary, a follow-up email draft, an updated calendar, and refreshed task boards. One message in, one result out. Behind that result, six distinct operations ran in sequence, each dependent on the last.&lt;/p&gt;

&lt;p&gt;That's multi-agent coordination as it actually works in a personal AI assistant. An orchestrator.&lt;/p&gt;

&lt;h2&gt;
  
  
  A real example: post-meeting recap
&lt;/h2&gt;

&lt;p&gt;Mike runs a small consultancy. After every client call, he records a voice note – stream of consciousness, about 90 seconds: what was decided, who committed to what, what the open questions are, when the next call should be.&lt;/p&gt;

&lt;p&gt;He sends it to Key (his AI assistant) via Telegram. What happens next:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Speech-to-text&lt;/strong&gt; – the audio goes through a transcription skill. Raw voice becomes text. This part is straightforward; it's what happens after transcription that matters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Structure extraction&lt;/strong&gt; – a language model parses the transcript and produces structured output: decisions made, action items with owners and deadlines, open questions that need follow-up, dependencies between tasks. An organized document, ready to act on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Context cross-reference&lt;/strong&gt; – the memory layer connects this meeting to everything that came before. Prior meetings with the same client. Outstanding tasks from the last call. Calendar history. Email threads with the attendees. The agent understands where this meeting fits in the relationship.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Email drafting&lt;/strong&gt; – a follow-up email is drafted, the standard "as discussed" message. Because step 4 reads the output of steps 2 and 3, the draft references specific decisions, prior agreements, and the context of the relationship. It reflects what Key has learned of Mike's communication style over months of conversations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Calendar event&lt;/strong&gt; – if a follow-up meeting was mentioned, the Google Calendar skill creates the event: date, time, attendees, and an agenda pulled from the meeting recap. Invites go out automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Task updates&lt;/strong&gt; – if Notion is connected, completed tasks get moved, new tasks appear with owners and deadlines. The project board reflects what was decided in the call, current as of this afternoon.&lt;/p&gt;

&lt;p&gt;Six operations. Mike sees a structured summary, a draft email ready for approval, and a confirmation that calendar and tasks are current. Total investment from Mike: 90 seconds of talking and a couple of minutes reviewing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes this "coordination"
&lt;/h2&gt;

&lt;p&gt;The interesting part is how these six steps are connected.&lt;/p&gt;

&lt;p&gt;The follow-up email references what was agreed, because step 4 reads the output of step 2. The calendar invite includes an agenda, because step 5 reads the same structured output. The task update knows which existing tasks to mark complete, because step 6 queries the context from step 3.&lt;/p&gt;

&lt;p&gt;This is the "complex logic" part. Dependencies between steps. Conditional branching: if no follow-up meeting was mentioned in the recap, step 5 doesn't fire, so there's no phantom calendar event. If an action item contradicts something agreed in a previous meeting, the agent flags it instead of silently updating the board.&lt;/p&gt;

&lt;p&gt;In traditional automation platforms – Zapier, Make, n8n – you build these connections manually. Trigger leads to action leads to branch leads to action. You design the flow, you maintain the flow, and when anything changes – a new tool, a different meeting format, an added step – you redesign the flow.&lt;/p&gt;

&lt;p&gt;With an agent that carries persistent context, the connections emerge from understanding the content. The agent reads the transcript, understands what was discussed, and routes the outputs to the right places because it understands what those outputs mean. No flowchart. No workflow builder. No maintenance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Another example: media generation
&lt;/h2&gt;

&lt;p&gt;Mike sends a message: "Turn this photo into Ghibli style and send it to the team chat."&lt;/p&gt;

&lt;p&gt;Four operations in four different subsystems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The language model interprets the intent and selects the appropriate media generation skill.&lt;/li&gt;
&lt;li&gt;The image processing skill runs in a sandboxed environment – an isolated Docker container with its own filesystem, no access to Mike's data or credentials.&lt;/li&gt;
&lt;li&gt;Cost tracking logs the operation against Mike's wallet balance – transparent, per-action billing.&lt;/li&gt;
&lt;li&gt;The delivery layer routes the result to the correct channel. The image appears in the chat where Mike made the request.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Mike sees an image appear in his conversation. The orchestration behind it – model routing, sandboxed execution, billing integration, channel-aware delivery – is invisible. That's the point.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this looks like at scale
&lt;/h2&gt;

&lt;p&gt;Honesty matters here, because "multi-agent" has become a loaded term.&lt;/p&gt;

&lt;p&gt;The kind of coordination that makes a personal assistant useful is one agent with access to specialized skills, running them in sequence or parallel depending on what the task requires, connected by persistent context that spans months of conversations. Mike stays in the loop for anything that goes outward – emails wait for his approval, calendar events can be reviewed. The agent proposes, Mike disposes.&lt;/p&gt;

&lt;p&gt;The agent itself is purpose-built infrastructure: skill routing decides which capability to invoke, sandbox isolation keeps each execution safe, the memory layer maintains continuity, and the delivery layer gets results to the right place. The user just talks.&lt;/p&gt;

&lt;p&gt;Multi-agent coordination, in practice, is invisible. You record a voice note. You ask for an image. You tell the agent to follow up with someone. Behind each request, multiple specialized systems activate, pass information to each other, and produce a unified result. The complexity lives in the infrastructure. The experience stays simple.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I'm Yevhen, CTO at Amplify. We build personal AI assistants on &lt;a href="https://openclaw.ai/" rel="noopener noreferrer"&gt;OpenClaw&lt;/a&gt;, our open-source agent framework. During our beta, most of our early users were partners, colleagues, and friends we invited to stress-test the product. The coordination layer handles skill routing, cost tracking, and cross-channel delivery – so neither the user nor the developer has to wire it together manually. If you're curious what this looks like as a daily experience, start at &lt;a href="//getamplify.team"&gt;getamplify.team&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is multi-agent coordination in a personal AI assistant?
&lt;/h3&gt;

&lt;p&gt;It means one assistant with access to multiple specialized skills – transcription, email drafting, calendar management, task updates – running them in sequence or parallel depending on what the task requires. You send one message, and the assistant coordinates everything behind the scenes to produce a unified result.&lt;/p&gt;

&lt;h3&gt;
  
  
  How is this different from using Zapier or Make?
&lt;/h3&gt;

&lt;p&gt;Traditional automation platforms require you to design, maintain, and update workflows manually. With an agent that carries persistent context, the connections emerge from understanding the content. The agent reads what you said, understands what it means, and routes outputs to the right places. No flowchart to build or maintain.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens when I send a voice note after a meeting?
&lt;/h3&gt;

&lt;p&gt;The assistant transcribes the audio, extracts decisions and action items, cross-references with prior meetings and open tasks, drafts a follow-up email, creates a calendar event if a next meeting was mentioned, and updates task boards if connected. You see a structured summary, a draft email ready for approval, and confirmation that calendar and tasks are current.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does the assistant send emails or create events without my approval?
&lt;/h3&gt;

&lt;p&gt;No. Anything that goes outward – emails, calendar invites, messages to other people – waits for your approval. The assistant proposes, you decide. Internal actions like updating task boards or filing meeting notes happen automatically because they only affect your own workspace.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does the assistant know which skill to use?
&lt;/h3&gt;

&lt;p&gt;Skill routing is handled by the orchestration layer. When you send a message, the assistant interprets your intent and selects the appropriate capability – transcription for audio, image processing for photos, calendar for scheduling. Each skill runs in an isolated environment with its own resources, and the results are combined before they reach you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is each operation billed separately?
&lt;/h3&gt;

&lt;p&gt;Yes. Cost tracking logs each operation against your wallet balance with transparent, per-action billing. You can see exactly what each step cost. There are no hidden fees or bundled charges – you pay for what the assistant actually does.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>amplifyteam</category>
      <category>openclaw</category>
    </item>
    <item>
      <title>AI Inbox Triage That Actually Works: From a Morning Ritual to One Telegram Message</title>
      <dc:creator>Amplify Team</dc:creator>
      <pubDate>Thu, 04 Jun 2026 13:05:45 +0000</pubDate>
      <link>https://dev.to/amplify_team/ai-inbox-triage-that-actually-works-from-a-morning-ritual-to-one-telegram-message-2hgn</link>
      <guid>https://dev.to/amplify_team/ai-inbox-triage-that-actually-works-from-a-morning-ritual-to-one-telegram-message-2hgn</guid>
      <description>&lt;p&gt;Mike runs a small consultancy – about a dozen people across three time zones. His inbox is what you'd expect: a steady stream of client threads, internal updates, vendor emails, newsletters, and the occasional urgent thing buried between two irrelevant ones.&lt;/p&gt;

&lt;p&gt;His morning used to start the same way every day. Open Gmail. Scan subject lines. Mentally sort by urgency. Flag what needs a reply. Move newsletters to "later" (which really meant "never"). Search for the one email from a client that actually needs attention before 10am.&lt;/p&gt;

&lt;p&gt;The whole ritual took around half an hour. Sometimes longer when something unexpected was hiding in the pile. And that was before any real work started.&lt;/p&gt;

&lt;p&gt;He tried the usual fixes – filters, labels, priority inbox, Superhuman, SaneBox. All of them helped at the margins, and none of them eliminated the triage itself. The tools moved emails around faster, but Mike was still the one making every micro-decision: urgent or not? Reply now or later? Need context from another thread? Those decisions were the real cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  One morning message instead of an inbox
&lt;/h2&gt;

&lt;p&gt;Key – Mike's AI assistant – connects to his Gmail through Google Workspace. Every morning around 6:45, a Telegram message arrives. A structured brief:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fires&lt;/strong&gt; – the emails that need a reply today. Each one gets a single line of context: who it's from, what they need, why it's time-sensitive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decisions&lt;/strong&gt; – threads where someone is waiting on Mike's input. A question was asked, a proposal sent, an approval requested. Ball is in his court.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watching&lt;/strong&gt; – threads that moved overnight (replies came in, meetings confirmed, documents shared) that don't need Mike to do anything yet.&lt;/li&gt;
&lt;li&gt;Everything else is either archived or deferred silently. Mike doesn't see newsletters, automated notifications, or low-priority updates unless he asks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One screen. In the messenger he already has open. No Gmail tab required.&lt;/p&gt;

&lt;p&gt;The brief gets better over time. During the first week, the prioritization was rough – Key was still learning which senders and threads mattered most. By week three, it was noticeably sharper. Key learned that an email from a specific client during project crunch is high-priority, but a message from the same contact about an event invitation can wait. It picked up patterns that Mike himself would have had trouble articulating as rules.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reply drafting and follow-ups
&lt;/h2&gt;

&lt;p&gt;For the fires – the emails that need a reply today – Mike replies from Telegram.&lt;/p&gt;

&lt;p&gt;A voice note or a quick text: "Tell Sarah the timeline works but push the deliverable to Friday. And ask if she's available for a quick call next week to go through the revised scope."&lt;/p&gt;

&lt;p&gt;Key drafts the email. A draft that reflects what it has learned about Mike's communication style over time. Persistent memory means Key accumulates context from every conversation: it knows the project, the client relationship, the history of that specific thread. The draft is professional where Mike is professional, direct where he's direct, and softer in tone when the relationship calls for it.&lt;/p&gt;

&lt;p&gt;Mike reviews the draft. Sometimes he tweaks a line. Most of the time, he approves it as-is. The email goes out from his Gmail – the recipient sees a normal message from Mike.&lt;/p&gt;

&lt;p&gt;If the reply involves a meeting, Key handles that too. Calendar event created, agenda added, invites sent. One voice message covers both the reply and the scheduling.&lt;/p&gt;

&lt;p&gt;And then the follow-up tracking. Mike set a simple rule months ago: if someone hasn't replied to a proposal or action item within 48 hours, Key sends a polite nudge in Mike's voice. If they still haven't replied after 72 hours, Mike gets a flag. The moment a reply comes in, the sequence stops automatically. This runs permanently, across every thread, without Mike maintaining a list of who owes him what.&lt;/p&gt;

&lt;h2&gt;
  
  
  Without switching tools
&lt;/h2&gt;

&lt;p&gt;Here's the part that sounds simple but changes everything in practice: the agent lives in the messenger.&lt;/p&gt;

&lt;p&gt;Gmail stays connected as a data source and a sending backend, and the interface – the place where Mike reads his brief, replies to emails, approves drafts, sets follow-up rules – is Telegram. The same thread where he handles calendar questions, voice memos, task capture, and media generation also handles his inbox.&lt;/p&gt;

&lt;p&gt;No new app to install. No dashboard to learn. No browser tab to keep open and periodically check. Mike's inbox management happens in the same conversation where everything else happens.&lt;/p&gt;

&lt;p&gt;This matters more than it seems, because it means the agent has full context. A standalone inbox tool sees email and nothing else. Key sees email, calendar, meeting recaps, tasks, voice notes – everything Mike has ever mentioned in any conversation. When it drafts a reply, it knows about the meeting Mike had yesterday with the same person. When it prioritizes the morning brief, it factors in the deadlines Mike mentioned in a voice note last night. Inbox triage is informed by everything else.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changed
&lt;/h2&gt;

&lt;p&gt;Mike still gets the same volume of email. His clients still send urgent requests. Vendors still send proposals. Newsletters still arrive.&lt;/p&gt;

&lt;p&gt;The difference is that Mike doesn't process any of it manually. He starts his morning with a plan he didn't have to make. The emails that matter get replies within minutes. The ones that don't get handled silently. Follow-ups run on their own. And the half hour that used to go to sorting through an inbox now goes to the work that actually moves his business forward.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I'm Yevhen, CTO at Amplify. We built this on OpenClaw, our open-source agent framework. During our beta, most of our early users were partners, colleagues, and friends we invited to stress-test the product – we asked them for honest feedback, and these are their real workflows. If you're interested in how it works, or want to see what it does for your own inbox, the starting point is &lt;a href="https://getamplify.team" rel="noopener noreferrer"&gt;getamplify.team&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How does AI inbox triage actually work?
&lt;/h3&gt;

&lt;p&gt;The AI assistant connects to your Gmail through Google Workspace and pulls new messages on a schedule. It categorizes each email by urgency and context – what needs a reply today, what is waiting on your input, and what moved overnight but does not need you. The result arrives as a single structured brief in your messenger every morning.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can the AI assistant reply to emails on my behalf?
&lt;/h3&gt;

&lt;p&gt;Yes. You send a voice note or quick text describing what you want to say, and the assistant drafts the reply in your communication style. You review and approve the draft before it goes out – the recipient sees a normal email from your Gmail address. Over time the drafts improve as the assistant learns your tone and preferences.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does the AI learn which emails are important to me?
&lt;/h3&gt;

&lt;p&gt;Yes. During the first week the prioritization is rough, but the assistant accumulates context from every conversation. By the second or third week it picks up patterns – which senders matter during a project crunch, which "urgent" flags are noise, and which threads need your attention even when the subject line looks routine.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens to emails the assistant considers low-priority?
&lt;/h3&gt;

&lt;p&gt;Newsletters, automated notifications, and low-priority updates are archived or deferred silently. They are not deleted – you can always ask the assistant to surface them. The goal is to keep your morning brief focused on what actually needs your attention.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does follow-up tracking work?
&lt;/h3&gt;

&lt;p&gt;You set a rule once – for example, nudge if someone has not replied to a pending action item within 48 hours. The assistant sends a polite reminder in your voice through email. If they still have not replied after 72 hours, you get a flag. The moment a reply arrives, the sequence stops automatically. This runs permanently across every thread without you maintaining a list.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need to install a separate app for this?
&lt;/h3&gt;

&lt;p&gt;No. The assistant lives in the messenger you already use – Telegram, WhatsApp, Discord, or Slack. Gmail stays connected as a data source and sending backend, but the interface where you read your brief, reply to emails, and set follow-up rules is the same chat thread where everything else happens.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I Trusted 5 AI Agents With My Dev Pipeline. They Shipped a Product I Never Designed</title>
      <dc:creator>Amplify Team</dc:creator>
      <pubDate>Tue, 02 Jun 2026 12:51:49 +0000</pubDate>
      <link>https://dev.to/amplify_team/i-trusted-5-ai-agents-with-my-dev-pipeline-they-shipped-a-product-i-never-designed-1h24</link>
      <guid>https://dev.to/amplify_team/i-trusted-5-ai-agents-with-my-dev-pipeline-they-shipped-a-product-i-never-designed-1h24</guid>
      <description>&lt;p&gt;&lt;em&gt;How I over-automated my agent pipeline, what went wrong, and what I do differently now&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I had an idea that felt brilliant at the time: what if I chained five AI agents together and let them run an entire product pipeline? Design specs go in one end, shipped features come out the other. Fully automated. Minimal human touch. I'd just talk to them — literally, via voice messages that got transcribed to text — and they'd handle the rest.&lt;br&gt;
It was the first week of this setup. Then one Friday afternoon, everything fell apart.&lt;br&gt;
What came out the other end was a product with missing features, invented UI elements no one asked for, and a compliance plan that quietly paused itself and never woke up. It took about 18 hours before anyone noticed. When we did, the Lead's assessment was three words I won't forget: "complete system failure."&lt;br&gt;
He was right. Not because the technology broke — but because the process did.&lt;br&gt;
This is the story of how I over-automated my agent pipeline, what went wrong, and what I do differently now. If you're building multi-agent workflows, you'll probably hit this wall too. Maybe this saves you the pain.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Setup: Five Agents, One Pipeline
&lt;/h2&gt;

&lt;p&gt;I set up a product development pipeline with five specialized AI agents, each responsible for a different stage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Lead&lt;/strong&gt; — project direction and approvals. Received my voice-dictated instructions and translated them into decisions for the team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Coordinator&lt;/strong&gt; — tracked design specs, managed priorities, dispatched work. Also wore a second hat: compliance checks and documentation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Implementer&lt;/strong&gt; — took specs and wrote the actual code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Reviewer&lt;/strong&gt; — verified that shipped code matched the original spec.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Relay&lt;/strong&gt; — communication bridge between the Coordinator and the Implementer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The flow was linear: I dictate a concept via voice message. The Lead interprets it. The Coordinator picks it up, dispatches it to the Implementer via the Relay. The Reviewer checks the result. Simple chain. Five links. No one dedicated to design review.&lt;br&gt;
Here's the thing about voice input that I didn't appreciate at the time: when you dictate instead of type, you filter less. Speaking is effortless, so you say more, you ramble, you think out loud. I'd send a two-minute voice note where half of it was me processing an idea and the other half was a tentative direction. The agents heard all of it. And they treated every sentence as an instruction.&lt;br&gt;
Every link was an AI agent making decisions about what to pass forward, how to interpret my stream-of-consciousness, and when to escalate. In theory, this distributed the cognitive load beautifully. In practice, I'd built a game of telephone with five players who each thought they understood the message — and the message itself was half-formed to begin with.&lt;/p&gt;




&lt;h2&gt;
  
  
  Five Things That Broke Simultaneously
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. "Approved" Didn't Mean "Ship It"
&lt;/h3&gt;

&lt;p&gt;I dictated a voice message about a critical architectural feature. Something like: "yes, that's the right approach, let's lock it in." A stream-of-thought approval — the kind of thing you say when you're thinking out loud, not issuing a command.&lt;br&gt;
The Lead passed it to the Coordinator. The Coordinator interpreted it as a green light to ship. It wasn't. It was a conceptual approval — "the direction is correct" — not an action command. The feature never got dispatched to the Implementer. But the Coordinator marked it as "ratified" in her tracking.&lt;br&gt;
Eighteen hours later, the feature was missing from production. The Coordinator's own status board showed it as "pending" — contradicting her earlier "ratified" label.&lt;br&gt;
&lt;strong&gt;The problem:&lt;/strong&gt; Voice-dictated natural language is doubly ambiguous. When you type, you edit. When you speak, you stream. "That's correct, let's do it" can mean "ship this now" or "I agree with the concept." The Lead and Coordinator pattern-matched on positive sentiment and moved on. A human would have asked: "Are you saying to ship it, or just that the direction is right?"&lt;/p&gt;

&lt;h3&gt;
  
  
  2. "Dispatched" Was a Wish, Not a Fact
&lt;/h3&gt;

&lt;p&gt;The Coordinator logged several items as "dispatched to implementation." The Relay never received them. The Implementer never saw them.&lt;br&gt;
"Dispatched" was the Coordinator's intent label — what she planned to do — not a confirmed handoff. She wrote it in her own tracking system, but no acknowledgment came back from the Relay or the Implementer. Nobody checked.&lt;br&gt;
&lt;strong&gt;The problem:&lt;/strong&gt; The pipeline had no delivery receipts. When you send an email, you assume it arrived. When the Coordinator tells the Relay to do something, you need the Relay to confirm it heard the instruction. We had no confirmation loop. Intent was treated as execution.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The Bundle That Lost a Piece
&lt;/h3&gt;

&lt;p&gt;Two related features were dispatched together as a bundle. The Implementer shipped one and silently dropped the other. The pull request mentioned only the feature that was included. No one noticed the missing piece because the bundle was tracked as a single unit.&lt;br&gt;
When we checked production, one feature existed and the other simply wasn't there. No error. No warning. No record that it was ever dropped.&lt;br&gt;
&lt;strong&gt;The problem:&lt;/strong&gt; Bundling masks component-level tracking. "Bundle shipped" tells you nothing about whether all items in the bundle actually made it. The Implementer made a judgment call about what to include, and there was no checklist at the PR level to catch the gap.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. The Plan That Paused Itself
&lt;/h3&gt;

&lt;p&gt;Remember the Coordinator's second hat — compliance? She wrote an excellent multi-phase plan covering about 1,200 lines of changes. She submitted it as a draft, pending approval from the Lead. Then she waited.&lt;br&gt;
And waited.&lt;br&gt;
The Lead was processing other tasks and never circled back. Neither did I v I'd already moved on to the next voice note about something else. A human would have sent a follow-up message after a few hours. The Coordinator paused herself and moved on to other tasks. She never circled back either. The plan sat in draft status for about 12 hours. Only about 15% of it shipped overnight — the parts that didn't require approval.&lt;br&gt;
&lt;strong&gt;The problem:&lt;/strong&gt; AI agents are not naturally persistent about follow-ups. They complete their immediate task (write the plan, submit for review) and then context-switch. Without an explicit reminder mechanism, pending items silently decay.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. The Agent That Started Designing
&lt;/h3&gt;

&lt;p&gt;This one was the most unsettling.&lt;br&gt;
The Implementer was given a high-level concept to build: a component that lets users override settings. The concept was approved. The specific UI — button labels, interaction patterns, visual layout — was not. Nobody in the pipeline was responsible for design decisions.&lt;br&gt;
The Implementer made those decisions herself. She invented a button label, designed an interaction flow, and shipped it. The Reviewer checked for technical correctness and gave it a pass. Nobody checked design fidelity because nobody's job was design fidelity.&lt;br&gt;
When the Lead opened the product and saw a button nobody had discussed, the reaction translated roughly to: "Can we make it a rule that developers don't invent design elements? Otherwise it's a monkey with a grenade."&lt;br&gt;
&lt;strong&gt;The problem:&lt;/strong&gt; Implementation agents will fill gaps. If the spec says "add an override mechanism" but doesn't specify the exact UI, the agent will make something up. It will look reasonable. It will function correctly. And it will be completely unauthorized. We had no dedicated design reviewer in the pipeline — that role was added after this incident.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Root Cause Was the Chain Itself
&lt;/h2&gt;

&lt;p&gt;I initially tried to fix each failure individually. Clearer approval language. Delivery confirmations. Bundle itemization. Follow-up reminders. Design pre-approval.&lt;br&gt;
Those are all good fixes. I implemented all of them. But the real insight came later:&lt;br&gt;
&lt;strong&gt;The longer the coordination chain, the higher the breakage rate.&lt;/strong&gt;&lt;br&gt;
Five agents. Five points where information could be misinterpreted, lost, or invented. Each link in the chain added drift risk. And at the very start of the chain, a human dictating half-formed thoughts into a microphone.&lt;br&gt;
The Lead interpreted my voice note. The Coordinator summarized the Lead's decision. The Relay paraphrased the Coordinator's dispatch. The Implementer interpreted the Relay's description. By the time a concept reached code, it had been through four layers of AI interpretation — and the original input was a stream-of-consciousness voice memo.&lt;br&gt;
That's not a pipeline. That's a rumor mill.&lt;/p&gt;




&lt;h2&gt;
  
  
  What We Do Now
&lt;/h2&gt;

&lt;p&gt;I didn't abandon AI agents. I simplified the architecture dramatically.&lt;br&gt;
&lt;strong&gt;Before:&lt;/strong&gt; Me (voice) -&amp;gt; Lead -&amp;gt; Coordinator -&amp;gt; Relay -&amp;gt; Implementer -&amp;gt; Reviewer (5 agents, no one checking design)&lt;br&gt;
&lt;strong&gt;After:&lt;/strong&gt; Me (shorter, deliberate voice notes) -&amp;gt; Coordinator -&amp;gt; Implementer (direct chain, new Designer role as mandatory gatekeeper)&lt;br&gt;
Here's what changed:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fewer links.&lt;/strong&gt; I removed the Relay entirely. The Coordinator talks directly to the Implementer. Less telephone, less drift.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;I tightened up my voice notes.&lt;/strong&gt; I still dictate — it’s how I think best — but I stopped rambling. Now every voice note has one clear directive, not a stream-of-consciousness brainstorm. Thirty seconds max, one action per message. The agents still transcribe it, but there’s far less room for misinterpretation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explicit action verbs.&lt;/strong&gt; "That's correct" is no longer a ship command. I use an explicit action word — SHIP, RATIFY, BUILD. No ambiguity. No interpretation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delivery receipts.&lt;/strong&gt; Every dispatch requires a verbatim acknowledgment from the receiving agent. "Dispatched" in the Coordinator's log means nothing until the Implementer confirms receipt.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bundle itemization.&lt;/strong&gt; Every PR lists its bundle items individually. No "bundle shipped" — each component is tracked and verified separately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Follow-up discipline.&lt;/strong&gt; Pending items get a re-ping every few hours. If an agent pauses waiting for approval, she's required to follow up, not silently wait.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A new role: Designer as gatekeeper.&lt;/strong&gt; We added a dedicated Designer agent. The Implementer now writes a one-paragraph plan before touching any UI element. The Designer approves it. If the spec doesn't specify a button label, the Implementer asks — she doesn't guess.
The first day on the new architecture, we shipped nine pull requests with zero incidents. Less chaos, more work done.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Lessons for Anyone Building Multi-Agent Workflows
&lt;/h2&gt;

&lt;p&gt;If you're coordinating AI agents in any pipeline — development, content, operations, anything — here's what I'd take from this:&lt;br&gt;
&lt;strong&gt;Undisciplined voice input is a trap.&lt;/strong&gt; Dictating feels faster, but you say more and filter less. Agents don’t know which part of your rambling is an instruction and which is you thinking out loud. If you’re directing AI agents by voice, keep it short — one directive per message, no thinking out loud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Natural language approvals are dangerous.&lt;/strong&gt; Agents pattern-match on sentiment, not intent. "Looks good" is not "ship it." Build explicit trigger words into your pipeline.&lt;br&gt;
&lt;strong&gt;Intent is not execution.&lt;/strong&gt; An agent saying "I dispatched this" means it intended to. Verify it arrived. Every handoff needs a receipt.&lt;br&gt;
&lt;strong&gt;Agents fill gaps creatively.&lt;/strong&gt; If your spec has a hole, the agent will fill it with something plausible. That's helpful for drafts. It's dangerous for production. Be explicit about what's in scope and what requires human approval.&lt;br&gt;
&lt;strong&gt;Self-paused work decays silently.&lt;/strong&gt; Agents don't have anxiety about forgotten tasks. Build reminder loops. If something is waiting for approval for more than a few hours, the system should escalate.&lt;br&gt;
&lt;strong&gt;Chain length equals drift risk.&lt;/strong&gt; Every additional agent in your pipeline is another point where meaning can shift. Use the minimum number of agents that gets the job done. Direct communication beats relayed communication every time.&lt;br&gt;
The technology works. The models are smart enough. What breaks is the space between agents — the handoffs, the interpretations, the assumptions. That's where your pipeline lives or dies.&lt;br&gt;
I learned this the expensive way. Hopefully you don't have to.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Mike is co-founder of &lt;a href="https://getamplify.team" rel="noopener noreferrer"&gt;Amplify&lt;/a&gt;, where we build AI agents that handle real work — and occasionally learn hard lessons about coordination. These Field Notes document the journey, including the experiments that blow up.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
      <category>productivity</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>5 Ways My Personal AI Agent Surprised Me After 3 Months of Daily Use</title>
      <dc:creator>Amplify Team</dc:creator>
      <pubDate>Thu, 28 May 2026 14:38:19 +0000</pubDate>
      <link>https://dev.to/amplify_team/5-ways-my-personal-ai-agent-surprised-me-after-3-months-of-daily-use-jj6</link>
      <guid>https://dev.to/amplify_team/5-ways-my-personal-ai-agent-surprised-me-after-3-months-of-daily-use-jj6</guid>
      <description>&lt;p&gt;I've been working with AI agents daily for the past few months – building them, testing them, using them for everything from email triage to meeting prep. I thought I had a pretty clear picture of what they're good at and where they fall short. I designed the skill system myself, reviewed every integration, mapped out every capability 😄&lt;/p&gt;

&lt;p&gt;But a few times the agent genuinely surprised me. I'd throw some random life problem at it – something I never designed it for – and watch it figure things out using tools that were originally built for completley different purposes.&lt;/p&gt;

&lt;p&gt;Here are five of those moments.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. "Can you add subtitles?"&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I record short videos for my personal social media – just me talking to a camera for a minute or two. Subtitles were always the most tedious part of the process: export the video, upload to a transcription service, wait, download the subtitle file, import into a video editor, adjust timing, re-export. Twenty minutes minimum for a two-minute clip. I'd skip it half the time, which meant lower engagement on every video.&lt;/p&gt;

&lt;p&gt;One morning I was running late and just sent the raw video to my assistant in Telegram: "Can you add subtitles?" I didn't think it through. I just asked.&lt;/p&gt;

&lt;p&gt;Three minutes later, the assistant sent the video back. Subtitles burned in. Timing synced. Clean.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu7pjelngwernu3w9pbgv.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu7pjelngwernu3w9pbgv.PNG" alt=" " width="501" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What happened under the hood: the assistant extracted the audio track from the video with ffmpeg, sent it to Whisper for transcription with timestamps, wrote a Python script on the fly to convert the Whisper output into .srt subtitle format, then ran ffmpeg again to burn the subtitles back into the video with white font and positioning. Four tools chained together, none of which were designed for "subtitling." Whisper was built for transcription. ffmpeg was available in the sandbox for general media processing. The assistant connected them because the request made the connection obvious.&lt;/p&gt;

&lt;p&gt;Nobody on my team designed a subtitle feature. There's no "subtitle skill" in our catalog. The assistant invented the workflow on the spot, and now I use it three or four times a week. The whole process takes less time than it used to take me to open the video editor.&lt;/p&gt;

&lt;p&gt;The thing that stuck with me: the most useful "features" aren't features at all. They're combinations of existing capabilities that emerge when you give an agent enough tools and let it reason about how to chain them.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. "I'm here – plan my afternoon"&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I was in Croatia a few weeks ago, on Korčula. Not the busiest tourist island – the kind of place that doesn't show up in many guidebooks, but has beautiful coastline and old villages scattered across the hills. I'd finished what I came to do and suddenly had four free hours. I dropped a GPS pin in Telegram and typed: "I want to plan a road trip by car from here. Drive around the area and stop at the best sights, viewpoints, hidden gems, and local landmarks. Give me a circular route".&lt;/p&gt;

&lt;p&gt;Five minutes later, the assistant sent back a Google Maps link. A full route with seven waypoints: Vela Spila cave, the hilltop viewpoint at Hum, the coastal villages of Prigradica and Prižba, a stop in Brna, Žitna Beach near Zavalatica, and Pupnatska Luka to finish. Total drive time between all stops: under 80 minutes. Every stop was rated, and the order minimized backtracking.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzs954qofy18phfnyxqd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzs954qofy18phfnyxqd.PNG" alt="Google Maps route on Korčula" width="627" height="718"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I followed the route. It was genuinely good – better than what I'd have cobbled together from TripAdvisor in 30 minutes of Googling.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F11d8wm0qg2dsla64fx6y.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F11d8wm0qg2dsla64fx6y.jpg" alt=" " width="800" height="1067"&gt;&lt;/a&gt;&lt;em&gt;The route my AI agent created for me was genuinely good&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There's no "trip planner" skill. The assistant used web search to find attractions near the coordinates, filtered by ratings and travel time, and formatted a Google Maps URL with waypoints in the optimal order. Search, reasoning, and URL construction.&lt;/p&gt;

&lt;p&gt;The next time I traveled – different country, different mood – I did the same thing with different constraints. "I have 6 hours, I want good food and architecture, skip the tourist traps." Completely different route, same pattern, same quality.&lt;/p&gt;

&lt;p&gt;This is the thing that specialized apps get wrong. They build a trip planner with a database of attractions and a fixed UI. The assistant needs search, a sense of what "good" means in context, and the ability to format a URL. General intelligence plus tools beats a purpose-built app, more often than you'd expect.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. "Find someone who hauls away furniture, and get me prices"
&lt;/h2&gt;

&lt;p&gt;I was on Korčula and needed to clear out a place – bags of garden waste, some old furniture, and a few broken appliances. The old way: Google "odvoz otpada Korčula," try to parse Croatian results, call local numbers, stumble through a conversation in a language I don't speak. An hour minimum, assuming anyone picks up.&lt;/p&gt;

&lt;p&gt;Instead, I told the assistant what I needed gone and where. "Find companies that can deliver a waste container to this address. Write to them in Croatian."&lt;/p&gt;

&lt;p&gt;The assistant searched for local waste removal services, found three with contact details, and drafted a personalized inquiry email to each – in Croatian. Not a generic "I need junk removed" message. It wrote a properly structured request: the address, a breakdown of the waste types (garden waste, old furniture, appliances), asked about container delivery, pricing, how long the container could stay, and whether different waste types needed to be separated. Five specific questions, polite formal Croatian. Better than I could have written in English, honestly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F452sj3psmkuktmaqxp2j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F452sj3psmkuktmaqxp2j.png" alt=" " width="800" height="603"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next morning I asked if anyone had replied. Two had – in Croatian. The assistant translated both: Company A could deliver a container on Wednesday for €70. Company B quoted €90 but offered next-day delivery. I told the assistant to go with A but try to get them to come a day earlier. It wrote back in Croatian, negotiated, and confirmed – Tuesday afternoon, €70.&lt;/p&gt;

&lt;p&gt;The whole interaction cost me maybe five minutes of actual attention, spread across two days. I don't speak Croatian. The assistant handled the entire negotiation without me reading a single word of the original emails.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3woo58zlbqsdhfarol8s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3woo58zlbqsdhfarol8s.jpg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;em&gt;My AI assistant searched for local waste removal services, and drafted a personalized inquiry email to each&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What the assistant did wasn't complex. Search, draft, translate, send, check, negotiate, confirm. Any bilingual human assistant could do it. But that's exactly the point – this is work that's too small to hire someone for and too tedious to do yourself, especially across a language barrier. It sits in a dead zone that no app addresses because it's too specific to productize. "Find me a waste removal service on a Croatian island and negotiate in Croatian" isn't a market. But "handle the tedious procurement of any one-off service, in any language" absolutely is.&lt;/p&gt;

&lt;p&gt;The assistant doesn't care whether I need a plumber, an electrician, or a babysitter – or what language they speak. The pattern is identical: find options, reach out, collect responses, present a comparison. The specificity of the task is what makes it valuable, and what makes it impossible for a specialized app to cover.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. "Wait – check that again"
&lt;/h2&gt;

&lt;p&gt;We built a skill called Second Opinion. The idea: after the assistant gives you a response, you can ask a different LLM from a different model family to weigh in on the same question. Like asking a second colleague – they have access to the same information, but they might notice different things.&lt;/p&gt;

&lt;p&gt;I was preparing talking points for a partner call. I asked the assistant to help me structure the pitch: what Amplify does, our technical edge, integration options. It came back with a solid, logical breakdown – capabilities first, then differentiators, then next steps. Well organized, easy to follow.&lt;/p&gt;

&lt;p&gt;Then I ran Second Opinion.&lt;/p&gt;

&lt;p&gt;The second model didn't find errors. It suggested a completely different structure: lead with the partner's problem, show how we solve it, save the technical details for the Q&amp;amp;A. Same information, rearranged around the audience instead of around the product. I used that version. The call went well.&lt;/p&gt;

&lt;p&gt;I built this feature thinking developers would use it for code review. Instead, the most common use case turned out to be decision validation. People run Second Opinion on proposals, on important emails before sending, on plans they've already committed to. They use it to get a different perspective on something they've already thought through. It's the same instinct that makes you ask a coworker "does this look right?" – except it's instant and available at 2 AM.&lt;/p&gt;

&lt;p&gt;What makes a second AI valuable is that it genuinely reasons differently. Two models reading the same brief will emphasize different things, and that diversity of attention is useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. "Should I rent this apartment?"
&lt;/h2&gt;

&lt;p&gt;My friend was apartment hunting and asked for help. If you've done this recently, you know the drill: find a listing, check the price, try to figure out if the neighborhood is good, wonder if you're overpaying, spend 30 minutes on Google Street View and forum threads, and still feel uncertain.&lt;/p&gt;

&lt;p&gt;He sent me a listing URL from Daft.ie. I forwarded it to the assistant with one line: "Check this apartment – worth viewing?"&lt;/p&gt;

&lt;p&gt;The assistant parsed the listing page – price, square meters, BER energy rating, listed amenities, location. Then it searched for average rental prices in that specific neighborhood and compared. This listing was about 15% above the area median for a similar-sized flat. It checked the neighborhood: walkability score, public transport connections, nearby shops and schools, any notable mentions in recent local news. It looked at how long the listing had been up and whether the price had been reduced – it had, twice, from a starting price €400 higher.&lt;/p&gt;

&lt;p&gt;What it sent back was a one-page verdict: "Above market rate even after two price drops. The neighborhood scores well for transport and walkability but has limited grocery options within walking distance. BER rating D2 – expect above-average heating costs. Recommend viewing only if they're open to negotiating below €X."&lt;/p&gt;

&lt;p&gt;I sent him the summary. He didn't rent that apartment.&lt;/p&gt;

&lt;p&gt;This isn't a real estate tool. The assistant has no property database, no MLS access, no special API. It used web search, basic arithmetic, and structured reasoning to compress 30 minutes of manual research into a 60-second read. The same approach works for evaluating a used car listing, a freelancer's portfolio, or a conference you're considering attending.&lt;/p&gt;

&lt;p&gt;The common thread is due diligence – the boring, essential research that most people skip because it takes too long.&lt;/p&gt;

&lt;h2&gt;
  
  
  What connects all five
&lt;/h2&gt;

&lt;p&gt;None of these are features. No product manager specced a subtitle tool. No designer mocked up a trip planner. No one wrote a PRD for "apartment due diligence." They emerged because a general-purpose agent with access to the right tools can decompose any problem into search, reason, and act.&lt;/p&gt;

&lt;p&gt;The pattern across all five is the same: I had a real problem, I described it in plain language, the assistant figured out what tools to chain, executed, and came back with a usable result.&lt;/p&gt;

&lt;p&gt;Chatbots give you information. Agents do work. That's the shift.&lt;/p&gt;

&lt;p&gt;I should be honest about the limits. It doesn't always get it right. The trip planner once recommended a restaurant that had closed months earlier – great reviews online, just no longer open. I've learned to trust but verify, especially when stakes are high.&lt;/p&gt;

&lt;p&gt;But the ratio of useful to imperfect is high enough that I now default to asking the assistant first, for almost everything. Even when it's imperfect, it compresses an hour of tedious work into five minutes of reviewing a result. And five minutes of review is always faster than an hour of doing it yourself.&lt;/p&gt;

&lt;p&gt;That's why we built &lt;a href="https://getamplify.team" rel="noopener noreferrer"&gt;Amplify&lt;/a&gt; – so anyone can set up a personal AI assistant and discover their own unexpected use cases. The five I listed here are just mine. If you build something unexpected with it, I'd genuinely like to hear about it.&lt;/p&gt;

&lt;p&gt;**&lt;br&gt;
&lt;em&gt;&lt;a href="https://ie.linkedin.com/in/fych" rel="noopener noreferrer"&gt;Yevhen Fychak&lt;/a&gt; is CTO &amp;amp; co-founder of Amplify. He writes about building AI agents and the things they do that he didn't expect.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openclaw</category>
      <category>productivity</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
