This Claude Code Plugin Transforms Vibe Coders Into Senior Engineers
Transforming Vibe Coders into Senior Engineers
Introduction to Compound Engineering
- Every Vibe coder has faced the challenge of turning a Claude code project into spaghetti code. The speaker introduces a four-step process aimed at elevating Vibe coders to senior engineers.
- The workflow and plug-in discussed is called compound engineering, which is based on an agentic coding philosophy promoted by the organization "every."
Four-Step Process of Compound Engineering
Step 1: Planning
- In the planning phase, provide comprehensive context about the desired feature or analysis to your agentic coding tool. This includes studying the codebase and researching relevant concepts.
Step 2: Execution
- After planning, hand over the plan to the agent, which creates a to-do list for implementation. Developers can relax while the agent executes tasks autonomously.
Step 3: Review
- Once work is completed, review involves creating pull requests for team feedback. AI can assist in this step by utilizing specialized sub-agents that evaluate code quality based on distinct philosophies.
- This review process allows developers to transition from novice coders to senior engineers by leveraging AI expertise embedded in these sub-agents.
Step 4: Compounding
- The final step involves reflecting on learnings from the project with both you and the coding agent documenting insights for future reference.
- This compounding step ensures that past mistakes and learnings are accessible for future projects, enhancing overall development efficiency.
Additional Resources and Community Engagement
- For those who prefer reading tutorials over watching videos, articles related to Cloud Code and agentic coding are available at ai-mbba.io.
- The speaker invites viewers to join their community of nearly 800 AI builders for further discussions on compound engineering and related topics.
Compound Engineering: Automating Software Development
Introduction to Compound Engineering Plugin
- The compound engineering plugin automates a four-step process for software development, eliminating the need for manual implementation.
- Users can initiate new features or automation by typing
back/workflows colon planin cloud code, providing context for the task at hand.
Steps in the Process
- After planning, users execute the command
back/workflows work, allowing the coding agent to create a to-do list from the plan.
- To review completed work, users can type
backslashworkflows review, which engages specialized sub-agents that check code integrity.
- The final step involves using
backslashworkflows compoundto document learnings from the session into a designated folder (docs/solutions).
Compounding Knowledge
- The plugin includes a feature called "deepen plan," where sub-agents assess previous learnings against current plans, enhancing knowledge retention and application.
- While this is one approach to compound engineering, other plugins and coding agents like Codeex offer different methods for self-improvement loops in software development.
Active Development and Stability
- The compound engineering plugin is under active development; commands may change frequently but the core loop of plan-work-review-compound remains stable.
- Understanding this loop is crucial for maximizing efficiency with coding tools.
Practical Application: Email Transformation Tool
- A live demonstration will showcase an email transformation tool developed for a client who wants to adapt concepts from various contexts into his veterinary coaching emails.
- The tool generates emails based on style preferences extracted from YouTube video subtitles relevant to veterinary concepts.
Enhancing Email Quality
- The client aims to improve email quality from 6 out of 10 to 8 out of 10 by incorporating insights from his book and an Excel spreadsheet mapping symptoms to treatments.
- Plans include extracting key ideas from these resources using compound engineering techniques either through prompt improvement or iterative approaches.
Challenges and Strategies
- Although creating an iterative approach between resources seems complex, efforts will focus on refining prompts based on extracted text and ideas.
- Initial analysis may involve assessing chapters of the client's book despite language barriers.
Understanding the Structure of Email Transformation Tools
Initial Thoughts on Data Extraction
- The speaker expresses uncertainty about how to extract structured information from an Excel spreadsheet related to symptoms, indicating a need for clarity in data organization.
- There is confusion regarding the meaning of colors in the spreadsheet, which contributes to the perception that it appears disorganized and messy.
Goals for Analysis
- The primary objective is to enhance the quality of emails generated by an email transformation tool, with a focus on understanding useful content within provided resources (a PDF and an Excel sheet).
- The speaker acknowledges language barriers (not speaking German) as a challenge in interpreting these documents effectively.
Strategy for Improvement
- A proposal is made to create sub-agents dedicated to analyzing both the PDF and Excel sheet, aiming to compile findings into a markdown report that can be converted into a PDF using Pandoc. This report should analyze potential strategies for improving system prompts based on available resources.
- Emphasis is placed on not directly suggesting changes but rather identifying what might be relevant or delegable tasks among sub-agents. This approach aims at breaking down complex tasks into manageable parts.
Importance of Pre-processing Data
- The speaker highlights that before planning any actions, it's crucial to gather preliminary information about the contents of large documents like a 300-page PDF, which could be token-heavy if processed without prior analysis.
- An analogy is drawn between this process and scenarios faced by academic researchers or business owners dealing with extensive datasets, underscoring the necessity of initial investigation before detailed planning begins.
Current Progress and Findings
- Two sub-agents are currently tasked with analyzing the German PDF book and symptom mapping from an Excel sheet; however, there are concerns about token limits affecting processing efficiency due to document size.
- Preliminary summaries indicate that while some content from both sources may be highly useful (e.g., structured text extracts), other sections may contain irrelevant or messy data that needs careful consideration before further action can be taken.
Next Steps in Document Analysis
- For effective extraction from the PDF, suggestions include assigning different sub-agents specific page ranges focused solely on extracting relevant text without summarization initially—this will help manage data weight more efficiently than handling entire PDFs at once.
- The speaker seeks input on how best to structure these initial sub-agent assignments based on identified relevant sections within the documents being analyzed.
Extracting Text from PDFs and Excel Sheets
Initial Steps in Data Extraction
- The speaker emphasizes the importance of extracting relevant text from PDFs for efficient analysis, suggesting it as a crucial initial step.
- After extraction, five sets of raw text files are created, making future coding tasks easier.
Working with Sub Agents
- Four additional sub-agents are activated to process data further, producing potential introductory hooks and JSON formats related to symptoms and causes.
- The context involves a PDF and an Excel spreadsheet linked to a veterinary practice book, which has already been pre-analyzed for relevant content.
Purpose of Extraction
- The extracted information aims to enhance the system prompt for an email transformer tool.
- The speaker discusses whether to adopt an agentic approach or simply refine the existing system prompt, leaning towards the latter for simplicity.
Planning Stage in Compound Engineering
- During planning, the goal is to create a comprehensive system prompt that utilizes insights from the extracted book content while adhering to best practices outlined by Anthropic.
Token Usage Considerations
- The speaker notes significant token usage during this process, advising users on subscription plans that accommodate high token consumption when using multiple sub-agents simultaneously.
- A recommendation is made for users on pro plans due to rapid token depletion observed in recent usage statistics.
Finalizing Plans and Next Steps
- After about five minutes of processing time, various options appear post-plan completion including deepening the plan or initiating work steps.
- The finalized plan focuses on enhancing static system prompts by incorporating condensed knowledge structured in XML tags while following progressive disclosure principles.
Workflow Optimization and Token Management
Initial Setup and Planning
- The speaker discusses the challenges faced while reading materials, particularly hitting a "compaction" point due to token limits.
- A decision is made to work on a feature branch rather than a work tree, emphasizing the importance of comprehensive planning over immediate testing.
- The creation of a to-do list is initiated, aiming for an improved system prompt while being cautious about token limits.
Identifying Problems and Solutions
- The speaker identifies that reading large components leads to reaching autocompaction due to excessive tokens.
- A modified plan is proposed where separate work trees will be used for different components (e.g., CSV files or book extracts).
- The idea of using sub-agents for processing individual pieces before combining them into one cohesive output is introduced.
Implementation of Sub-Agent Strategy
- An advanced technique involving multiple sub-agents is discussed as a solution to manage token overload effectively.
- Each sub-agent will handle one source file, producing standardized outputs which can later be synthesized together.
Execution and Results
- Six independent git work trees are created for modifying the system prompt, with plans to consolidate results afterward.
- Despite successfully completing tasks with six sub-agents, the process remains token-intensive; careful management of intermediate inputs is emphasized.
Review Process and Quality Assessment
- After creating a new extensive system prompt (17,400 tokens), the next step involves reviewing changes through various review agents.
- Six review agents are activated: focusing on TypeScript quality, security checks, architectural coherence, performance efficiency, code duplication reduction, and overall simplification strategies.
Personal Insights on Review Agents
- The speaker expresses preferences regarding review agents; favoring those that assess TypeScript architecture while criticizing the oversimplification tendencies of certain agents.
Review Process and AI Integration in Decision Making
Human Oversight in AI Findings
- The speaker discusses the responsibility of reviewing AI-generated findings, emphasizing the need for human judgment to determine their relevance and accuracy.
- The process involves making decisions on suggested changes, indicating a collaborative effort between human insight and AI recommendations.
Selection of Relevant Changes
- The speaker decides to focus on specific findings (1, 5, and 6), while ignoring others deemed irrelevant (2 and 4), showcasing a selective approach to integrating AI suggestions.
- Acknowledges that some AI suggestions may not align with expected outcomes; for instance, prompt caching could lead to higher costs than anticipated.
Understanding Prompt Caching
- Explanation of prompt caching as a technique that can save costs when reusing large contexts within a short timeframe but warns it might be more expensive based on usage patterns.
- The speaker plans to inform the client about potential cost implications related to using prompt caching versus traditional methods.
Testing Transformed Content
- Initiates testing with two different emails, one being irrelevant feedback and another from a colleague at Zapier regarding team fluency in AI.
- Demonstrates the transformation of content through an unspecified tool, highlighting its effectiveness in translating messages into different contexts.
Evaluation of Translation Quality
- Reviews the quality of translations produced by the tool, noting areas for improvement while acknowledging satisfactory results overall.
- Concludes with reflections on the demo's insights into compound engineering and hints at further enhancements needed for optimal performance.