Summaries > Miscellaneous > Engineering > L8 Principal's Agentic Engineering Workflow...
https://www.youtube.com/watch?v=iQyg-KypKAA
TLDR Kun shares his insights on agent engineering workflow, emphasizing efficient coding practices and tools for managing multiple agents seamlessly. He introduces helpful resources and tools like WesTerm, tmux, and Lavish, highlights the importance of project-level memory files and custom skill management, and promotes strategies for effective code review and task delegation, all aimed at enhancing productivity in software development.
Using a terminal effectively can greatly enhance your workflow efficiency. Kun emphasizes the benefits of terminal usage for seamless keyboard operations and consistency across multiple devices. By employing terminal emulators like WesTerm, which offers cross-platform capabilities and customization through Lua scripts, users can tailor their experience to their specific needs. Coupled with tmux, a terminal multiplexer that allows for multiple panes and persistent sessions, the terminal setup can significantly streamline the coding process, making it more productive.
Working with agent harnesses requires practice and knowledge but becomes rewarding once you've mastered the basics. Kun recommends starting with user-friendly harnesses like Cloud Code, while also exploring open-source options like Codex COI for a smoother experience. Understanding the unique offerings of various harnesses, such as the minimalist design of the Pi coding agent or the polished UI of Open Code, allows users to choose the one that aligns with their preferences and project needs. Proper onboarding for new team members through memory files and skills also streamlines integration into the coding environment.
Creating project-level memory files can significantly enhance the learning and efficiency of coding agents. These files store important information and corrections made over time, aiding agents in adapting to project requirements more quickly. Kun suggests using the Skill Creator tool to teach agents how to manage skills effectively, which can lead to improved agent capabilities and a more organized coding environment. This method allows developers to harness collective knowledge, thus facilitating smoother project management.
Integrating voice input technology can lead to substantial productivity gains within coding workflows. Kun notes that using voice command capabilities allows for faster communication with coding agents, making it three times quicker than typing. By incorporating advanced transcription tools like Open Super Whisper, users can achieve high-quality results without the delays often associated with keyboard input. This technique not only brings efficiency but also keeps developers engaged with their projects without the strain of constant typing.
Streamlining the code review process is vital for maintaining high-quality outputs in development projects. Kun outlines strategies that focus on addressing potential issues before raising pull requests (PRs) and auditing the necessity of changes based on risk assessment. By utilizing automated pipelines like 'No Mistakes,' users can manage code quality asynchronously and mitigate bottlenecks commonly caused by excessive manual reviews. This approach allows reviewers to concentrate on defining requirements while letting agents handle routine tasks.
Effectively managing Git work trees enhances your capacity to juggle multiple tasks without becoming overwhelmed. The tool Treehouse can simplify this process by enabling users to create and manage work trees efficiently, ensuring a clear grasp of each task's purpose and status. By doing so, developers can dedicate attention to user feedback and iterative improvements while maintaining organization within parallel tasks. Implementing solutions like the 'first mate' feature can assist in delegating responsibilities further, refining collaboration across coding environments.
Transitioning from a hands-on coding role to a leadership position in managing coding agents can transform your project outcomes. Kun encourages developers to adopt a captain-like mindset, focusing on guiding their agents rather than micromanaging every detail. Tools like First Mate facilitate this approach by automating routine tasks and allowing leaders to prioritize core project objectives. This strategic shift not only enhances productivity but also fosters a more dynamic and efficient coding team.
The video covers fundamental concepts of agent engineering to empower viewers to manage agents effectively, with a focus on product development.
Kun's favorite terminal emulator is WesTerm due to its cross-platform capabilities and customizability, and his preferred modern text editor is Nuvem, likened to vim for its efficient keyboard navigation and editing.
The first recommended harness is Cloud Code, which is user-friendly but somewhat buggy. The second is Codex COI, which is smoother and open-source but lacks features. Additionally, Pi coding agent emphasizes minimalism and customizability, while Open Code has a polished UI but is not as customizable as Pi.
Kun introduces project-level memory files that store collective knowledge and corrections made over time, helping agents learn more effectively. He also recommends using the Skill Creator tool to enhance agent capabilities.
The 'No Mistakes' pipeline automates tasks such as creating branches, resolving merge conflicts, conducting adversarial reviews, testing changes against original intents, and updating documentation before raising a pull request, allowing the reviewer to focus on other tasks.
This tool helps keep agents proactively engaged with long-running tasks by following set objectives, ensuring efficiency and allowing the reviewer to wake up to a list of completed commits.
Treehouse is a tool developed to simplify the management of git work trees, allowing users to create clones of their repository directories and manage multiple tasks in parallel through an easy-to-use interface.
First Mate simplifies coding tasks by enhancing transcription accuracy, managing multiple parallel tasks, and allowing users to focus on priority tasks rather than minor details.