So what did we build?
Background: Mastering technical questions is critical to acing investment banking interviews.
The Solution: An AI Assistant to help students practice technical accounting, valuation, and other investment banking questions
Our creation: Investment Banking Tech Prep with Recalc Academy
We started testing it and were legitimately impressed and happy with the quality of the questions, evaluation and coaching.
- “Just played around with your GPT for 30 minutes – it looks great. Tried to throw it off by just hiding behind jargon but it very politely corrected me. Also gave it a few intentional ones and it used a really positive approach to tell me when I missed something/needed to know something”
- “It’s pretty helpful and in-depth!”
- “I’ve only been playing around for 5 minutes but it works pretty seamlessly (even when giving it half answers or short answers)”
Try it out! (You’ll need ChatGPT Plus)
So how did we do it? Step-By-Step Guide
1. Getting Started
ChatGPT is rolling out GPTs to Plus subscribers throughout the week. So the first thing we had to do was …. wait to get the functionality. We know many users are still waiting. We refreshed our browsers so many times and were legitimately giddy as soon as we could see the interface below. One side note – given the extraordinary load ChatGPT is under with everyone trying to build new things at once, the app easily hung/crashed at least 10 times as we were building. But it was still worth it!
Once your environment updates to this interface, navigate to “Explore” in the left-hand pane and then you should see an option to “Create a GPT”.
Clicking Create a GPT will bring you into the GPT creator/editor interface.
The lefthand side under “Create” is where you start telling ChatGPT what you’d like to build. The righthand side is a preview where you can test the AI.
2. Type your prompt to start building
It will think for a minute and then start suggesting details like the name of the bot and starter questions.
At this point, we were a tiny bit impatient and eager to get into the details. So we jumped into Configure mode (toggle at the top of the left-hand pane) to edit the details more directly. We could certainly have stayed in Create mode a little longer and it might have done more of the work with us.
In Configure, you can edit:
- Conversation starters
- Uploaded Files for additional bot knowledge
- Which models the bot should use
- Actions the bot can take
The easy edits:
We immediately updated the bot name and conversation starters. We wanted the conversation starters to help the user kick off a useful line of mock questions.
Model selection: We deselected DALL-E since that won’t be needed for the mock interview Q&A. We kept Code Interpreter so it can easily do math especially related to accounting questions.
4. Sharing data with the bot: uploading a file
We knew we wanted the bot to ask highly relevant questions – especially ones that come up often in interviews. So we created a doc with ~55 of the most common questions we see in technical interviews, organized by subject. We didn’t want to limit the bot to these questions, but we wanted it to take inspiration and prioritize these types of questions (more on that in prompting).
We also debated including answers, but in the interest of time, we skipped that. So all of the bot’s knowledge on how to answer questions is actually from the main GPT-4 model, not from Recalc specifically. We weren’t sure how well this would work, but it’s actually seemed to work great so far. Turns out there’s a huge amount of investment banking prep material on the internet. We’ll likely experiment with adding some answers in the future, but it also seems fine without that for now.
5. Working on the prompt
The main work was in the prompt creation and refinement. Based on earlier experimentation, we were pretty convinced that a longer, highly specific prompt would be much more effective. And this turned out to be true.
Rather than sit down and try to write this all out from scratch, we asked ChatGPT itself for help writing a prompt. Based on our initial instructions, it wrote a one paragraph prompt which was a pretty good starting point.
We then went back and forth with ChatGPT, progressively refining the prompt. We mostly worked on refining the bot behavior we were seeing:
- The bot would ask multi-part questions, which was a little overwhelming as the user when trying to answer the question. So we asked ChatGPT for help revising the prompt to only ask one question at a time, and to separate multi-part questions into individual pieces
- The bot would sometimes get confused about the file we’d shared and think it was something from the user. We asked for help revising the prompt so it would internalize the information but know not to ask about that file.
- We also didn’t want it to only take questions from the file, but rather take inspiration from those questions and prioritize those general topics. So we had ChatGPT incorporate that in the prompt
- And we worked on refining the tone we were going for.
Initially, each prompt revision emphasized the concept we asked it to help with (e.g. don’t ask multi-part questions). At the very end, we asked it to bring everything together in one prompt.
The final result:
The amazing thing to us is that we didn’t directly write any of these words. Instead we iterated with ChatGPT, working through a series of issues and behaviors we wanted to refine, and it was a better prompt writer than we ever could have been ourselves.
This felt like a breakthrough to us and will inform a lot more of how we interact with AI going forward.
On that note, we then needed help improving our icon. Our initial icon from the GPT builder was a calculator, which didn’t seem quite right.
So we turned to DALLE-3 for more help and got:
Which still was not great. So rather than trying to prompt DALL-E directly, we asked ChatGPT for help writing a prompt to generate an icon for this assistant. ChatGPT wrote a prompt and then followed up by having DALL-E create an image.
It was helpful to see the prompt written out. Because then we refined that prompt and iterated a few times.
Finally, DALL-E used our revised prompt and created this amusing image:
It is admittedly a little busy and we wish it didn’t have a monocle, but it also is good enough for now. Plus the owl is kind of fun.
So to recap where we ended up overall:
What might we try to add to this bot in the future?
This was a quick build, and there are a number of ideas we might experiment with in the future.
- More robust testing
- Uploading questions with answers. This hasn’t felt strictly necessary given current performance, but perhaps we can refine it to be even more useful / targeted
- Degree of difficulty. Consider conversation starters that allow the user to choose a more challenging path.
- Create a (separate?) bot focused on telling your story and “fit” questions. It would be really cool to be able to package multiple bots together – e.g. different set of prompts, conversation starters, and data, but under one umbrella to make user discovery easier.
- Suggestions from the bot on where to learn more about various topics, including a mix of Recalc content (jumping right to relevant sections of our videos?) and other content from across the internet.
What did we learn in the process of building our first AI Assistant?
Much of the art in getting the AI Assistant to do what you’d like is in writing the prompt. The prompt for this bot is currently ~300 words. Initially that seems intimidating. How am I going to come up with such a long and specific prompt? However, the amazing thing is you don’t have to do it by yourself! Or even do much of it yourself at all. Instead, use ChatGPT itself to help you write the prompt. Continue to iterate. Express your concerns and give feedback on what you’d like to see be different. Have it tie all of that together for you.
When DALL-E generates an image that’s not quite right, it’s tempting to just tell it what to change. “Like that but different in this way.” But we’ve found that doesn’t work very well. It will often do something very different than intended with those limited instructions. A better approach seems to be to revise the original prompt with edits for whatever differences you’d like to see. You can also upload an image as inspiration and ask for something similar, but you’ll be best off if you describe in detail what should be similar and what should be different. Again, the more specific, the better. And when you get stuck, just ask ChatGPT for help reasoning through the prompt writing – it’s a huge help and way better at writing prompts than we ever expect to be.
Experiment. Experiment. Experiment. The way to learn these tools is to just jump in and try. Now that we’ve gone down this path, it’s impossible not to think of numerous applications and things to try. And it’s not all going to work yet, but the pace of change is incredible and what doesn’t work now could very possibly work a few months from now.
Plus, it’s so fun to build!
So where is all this AI stuff all going?
The pace of change is so fast it’s hard to fully anticipate what comes next. And it’s even harder to look further out. In the more immediate term, our thoughts are:
Consumer Applications: it’s so easy to create Assistants that the marketplace will quickly become crowded and noisy. Those with distribution and brand recognition will probably have an easier time breaking through the noise. That said, this is an amazing moment for creativity and experimentation and we’re excited to see what everyone creates.
Business Applications: Our expectation is that every business will find value in having its own AI Assistants. And with Actions, Assistants can also trigger other workflows, meaning very quickly these Assistants will move past pure information retrieval to core parts of every operations, sales, marketing, finance and HR workflow.
A few (very quick) ideas:
- An HR assistant that knows about all of your company’s policies and answers frequently asked questions.
- An IT assistant that triages commonly asked questions. With Actions, it could also trigger IT workflows to address more complex issues.
- A Marketing assistant that embodies your ideal customer profile and then gives you feedback on all of your draft marketing materials (what resonates, what doesn’t, what’s still confusing)
- A Legal assistant that helps turn customer contracts faster based on your firm’s precedents and guidelines
- A Sales assistant to help quickly write and customize proposals based on previous agreements and integrated information about the customer
- An Accounting assistant to help properly code invoices and clear up any coding questions
Privacy, confidentiality, and data loss prevention are priorities for businesses. So most will need to get Enterprise grade tools. ChatGPT Enterprise and building with ChatGPT APIs are both options. Microsoft Co-Pilot and Claude.ai by Anthropic are also likely to be transformative tools, although neither has released something along the lines of these GPT tailored bots just yet.
All we can really say is that right now feels like a great time to start experimenting. Don’t hesitate – jump in and try building something! Just don’t dump your proprietary data into regular ChatGPT in the process.