Can “bespoke” and “scale”, two terms that traditionally contradict each other, co- exist in software?
We use software to solve challenges across different parts of our workflows, and we select the software that is best suited for our needs. However, every company brings a unique context and has a unique set of challenges to solve for. While off- the-shelf software is designed to serve key use-cases, they are also designed to be general enough to serve a broad group of users. This allows more users to reap the benefits from the software, but it comes at the cost of the software not being sharp enough to the unique needs of each user. And not every company is big or resourceful to build its own internal solution.
Every company working with software bespoke to their needs and maximizing their productivity through it is a future that we are excited about. And it may not be a crazy one.
A long journey to get there, but catalyst from recent advancements
For most products, “bespoke” is the opposite of what’s reproducible and perhaps even in-demand at “scale”. Take a tailored suit. While it can fit you near perfect, it will cost more to manufacture (premium labor cost of the tailor) and the same suit will likely have a lower average satisfaction rate when put in front of others in your demographic (Ex. Not every person in their 30s will have the same body shape). But in the context of software products, the following advancements in AI make it much more possible to bring these two together.
Cost in code generation has been decreasing dramatically and will continue to get cheaper. This lowers the hurdle in implementing different solutions.
Taking the suit metaphor, the tailor designing the bespoke suit for a customer can access an army of assistants (via agents). The tailor can focus on the vision and the plan, while the assistants do all the heavy listing in stitching and sewing.
If you can figure out what is the right thing to build and what is the right approach to build it, it’s now becoming much more possible to realize it at scale. This is an area with one of the biggest leverages currently and where we think the magic is to build towards the vision of bespoke software everywhere. And we believe that a thoughtfully shaped relationship between the human and its AI counterpart can make this possible.
The How: Human and AI relationship
In this relationship we are envisioning, there are three players (or components) important to highlight.
Project: The goal of what to solve for and the context surrounding it. This can relate to the problem space and the knowledge built inside the company taking on the project.
Agents: Intelligence that can execute on different tasks and is deployable at scale.
Human: Orchestrator of the project and the agents. Is capable of validating work.
Conductor and Player
Initially, the relationship between the Human and the Agents will be that of a Conductor and a (instrument) Player. Humans play the role of Conductor, being the guiding compass that sets the goal and the priorities of what’s important to accomplish. Agents are the Players, who have the necessary expertise to execute on individual tasks but need guidance to improve the quality of their work. Humans orchestrate how these tasks come together to generate something cohesive and something that’s greater than the sum of its parts. When needed, humans step in to mediate conflicts or weigh in on decisions to move the progress forward. They are also the final reviewers of the work, setting the bar for quality.
Coach and Athlete
Over time, the relationship will expand to include what you’d find between a Coach and an Athlete. Every agent starts with a set of skills and a level of understanding around the goal, and it will receive feedback from the human on its work. The takeaways here can turn into a learning that feeds back into the agent, and as a result,
Improve its expertise-specific craft. As an example, embracing better practices when developing a Next.js application.
Build a deeper knowledge of a domain. As an example, making better decisions as a P2P payment app developer based on the understanding of policies and known challenges in the financial technology industry.
These learnings can become a lasting part of the agent’s understanding in the work they do - which will improve the agent’s intelligence and quality of output across 1. their discipline (As an example, frontend engineering) and 2. across a domain (As an example, industry or company specific knowledge). As the individual capabilities of your agents (your athletes) grow, more effectively you will be able to accomplish through them. There is a natural incentive for humans to coach and develop their agents.
The How: Enabling this relationship
So, what does a product oriented around facilitating this collaboration and this relationship look like? At the center of it is Feedback.
An agent needs feedback to orient its work towards achieving the higher level goal. An agent needs feedback to become aware of what it is doing well and not doing well, so it can turn the positives into recurring best practices and leverage the feedback to improve in growth areas.
In order to exchange feedback in a timely and a constructive way, a few things would be important to support well in the experience.
👁 The feedback giver (humans) needs to have a good oversight of the team’s (agents’) progress and their work. This will help in knowing when to step in and where to give feedback on.
🧠 The feedback receiver (agent) must be able to process the feedback and iterate on the work based off of it. This includes being able to calibrate the understanding it has already compounded against the newly received feedback, and iterate on the understanding to improve its intelligence. In order to do this, it needs sufficient memory to remember its understanding and ability to associate the different learnings.
🙋 The team (agents) needs to know when it needs to proactively ask for feedback in order to make progress or to generate the best output.
As feedback compounds, the better your team can become at their job and in understanding the unique considerations of each project. A product that facilitates this between humans and agents at scale can unlock one of the key powers in creating bespoke software at scale.
What’s next
A world where every company, big and small, gets to work with bespoke software custom-fitted to their challenges and hyper-optimized to their workflows may not be a distant dream anymore. It’s an exciting time for this area of innovation, and interesting opportunities to shape a collaboration experience between humans and AI that can help make this real. To validate our hypothesis, we’ve been building something as well – starting with a tool for creating bespoke integrations. If you are curious about the project or interested in creating your own integrations, you can find out more at isoform.ai