Kyle Jaejun Lee manages a fleet of AI coding agents across three machines by implementing a hierarchical agent structure and persistent state storage to reduce cognitive load and improve reliability, while addressing multi-machine challenges through strict delegation, environment separation, and unified control via Discord. Despite these advancements, he continues to face issues with consistency, credential management, and resource coordination, and plans to leverage existing infrastructure like Kubernetes for better orchestration, inviting collaboration from others in the field.
Kyle Jaejun Lee runs a fleet of AI coding agents across three machines: a MacBook for heavy coding and personal projects, and two always-on headless Linux boxes handling long-running and short-lived tasks respectively. Initially, Kyle managed multiple agents directly, juggling several contexts simultaneously, which quickly became overwhelming. Realizing that he was acting as the scheduler, memory, and reviewer all at once, he recognized that this approach did not scale and was the root cause of his struggles.
To solve this, Kyle designed a hierarchical organization for his agents, modeled after a corporate structure with roles like CEO, VP, manager, and worker. Each agent had its own scoped context and approval boundary, allowing context to flow down and results to flow up the hierarchy. This structure reduced his cognitive load to managing just one context at the top level. Additionally, he moved agent state out of the model’s limited context window into files on disk, enabling agents to reset their context and reload state from persistent storage, which improved reliability and performance.
Despite these improvements, scaling to multiple machines introduced new challenges. Agents sometimes bypassed delegation and did work themselves, task panes became overcrowded and unreadable, memory usage spiked, credential management became tangled, and the MacBook’s inherent limitations caused job failures when it lost power or network connectivity. Kyle addressed these issues by enforcing strict delegation through CLI harnesses, separating environments per workspace, and implementing a boot command to restore the fleet state after crashes.
To coordinate work across machines, Kyle used Git to sync context files and SSH commands to trigger updates, but this led to conflicts when multiple machines modified the same data. He resolved this by separating machine-specific state and consolidating review gateways into a single always-on Linux box. To unify control, he integrated Discord as a single interface with bots on each machine, allowing him to remotely manage the entire fleet from his phone. However, he still faces unresolved problems around consistency, secure credential handling, resource management, and abstracting local-only tools.
Looking ahead, Kyle plans to build on existing infrastructure like Kubernetes to handle compute, secrets, and scheduling, focusing his efforts on orchestration management, review flow, and context handling. He acknowledges that while he has solved many issues on a single machine, multi-machine orchestration remains a complex challenge. Kyle invites others running AI agents at scale to connect and share insights, emphasizing that this is an evolving area with no definitive solutions yet.