For this week’s Works on My Machine demo, we’re going to look at how you might use the Fanout/Parallelize/Reduce pattern I showed last week for lead enhancement rather than code generation.
What It Does
Two different agents work together to create a pipeline to enrich leads and use the systems you already use for what they’re good at.
Enrich Lead Agent: Monitors a specific Asana board for new leads, and makes a call to Exa.ai to find LinkedIn Profiles and add them as a comment to the task for review.
Sync Lead Agent: Monitors that same Asana board for tasks to get approved, which signals the LinkedIn profiles were reviewed, and adds them to a CRM for a team
Why It Matters
You may notice that there weren’t any direct calls to an LLM with these agents. The closest thing to AI here was the call to Exa. Three really interesting things struck me as I was building this to help us with GoodIntro.ai that I’ll definitely be writing more about:
Even without direct calls to LLMs, some of these agentic patterns and abstractions actually make the code much simpler and easier to write. I don’t think I would have built this system in this way before LLMs, and the way I would have built it would have taken much longer and been a lot more complex.
How important patterns like this are going to be with how fast everything is moving out there. For the Lead Enrichment step, you can imagine before Exa existed (or before you found out about Exa), you may have tried writing a crawler or scraped a team page, sending the contents to an LLM to try to identify the right LinkedIn profile URLs, but now that’s taken care of for you with a very cheap API call. I can really see how Building the Abstraction First like Swizec Teller suggests will become even more important.
We’re absolutely going to see more situations like the one spelled out in this tweet:where new capabilities from different model providers turn hundreds or thousands of lines of code you’ve written into a 6000/$1 API call, and it’s absolutely going to be important to build systems where you can take advantage of it quickly.
This is a single instance of pretty valuable software for a sales team that took basically no time to build using these new tools and abstractions, but there are many more out there that will enable all roles to work on orders of magnitude more tasks than before. We’re already starting to find ourselves building out bespoke, potentially short-lived, software tools to solve specific problems. As the pace increases with more of the industry adopting AI in different ways, will it become a requirement to have an engineering team supporting every role like a pit crew, constantly building, maintaining, replacing, and updating a custom suite of tools? Could things like this be what software engineers spend their time building once Cursor, Bolt, and v0 fully automate building CRUD apps?
How To Get It
All the code from this demo is available at sublayerapp/lead_enrichment_demo_agent on GitHub. We made heavy use of different Actions from the Sublayer Ruby AI Agent Framework which you can find in the /actions/ folder, along with custom triggers for the different Asana events in the /triggers/ folder.
If you’re looking for help or have ideas for things you’d like to see me cover in future posts, stop by the Sublayer Discord and say “Hi!”, I’m usually around there to chat and happy to help out with what you’re building if I can!
Share this post