Practical Guide to Chatbots

Introduction

I have written four articles on chatbots, artificial intelligence (AI), and large learning models (LLMs), but in talking to several of my readers, there continues to be a reluctance to use chatbots. I am convinced that, while chatbots continue to rapidly improve, they provide so much value that you should be using them now.

What is the reluctance? I believe it is because you have not seen examples that are relevant to what you do on a daily basis.

My intent with this article is to address this reluctance by sharing information about the most popular chatbots, providing examples that demonstrate the value that these chatbots can provide, and explaining the differences in these chatbots so that you can choose the right one(s) for your specific needs.

If you are experienced in using one or more chatbots, this article should also help you to broaden your use, and better understand when to use one chatbot vs another.

Before jumping into it, I thought it would be fun to share ChatGPT’s definition of a chatbot.

A chatbot is a computer program designed to simulate conversation with human users, especially over the internet. These programs use natural language processing (NLP) to understand and interpret user inputs, allowing them to respond in a way that mimics human conversation. Chatbots can be implemented in various platforms, such as messaging apps, websites, or standalone applications. They are used for a wide range of purposes, including customer support, information retrieval, and task automation. Some chatbots are rule-based, following predefined scripts, while others leverage machine learning algorithms to improve their ability to understand and generate more nuanced responses over time.

ChatGPT

The article starts with a description of the four most popular chatbots. It provides a summary of their weaknesses and strengths. This is followed by examples that are relevant to managers – where I ask the same question of each chatbot. The results show the value gained in using chatbots while reinforcing the strengths and weaknesses of each. I then discuss several important caveats before providing my conclusion.

Overview of Chatbots

Here is a summary of the capabilities of the four most popular chatbots. Note that all of these are the free version. Most companies offer one or more paid versions that have more capabilities, are more current in the information that they were trained on, are trained on a larger set of materials, and/or execute more quickly. If you have access to any of these, that is great – use them!

Bard (Google)ChatGPT (OpenAI)Claude (Anthropic)Copilot (Microsoft)
URLhttps://bard.google.comhttps://chat.openai.comhttps://claude.ai/chathttps://copilot.microsoft.com/
VersionFree version – Gemini Pro.Free version – ChatGPT 3.5.Free version – Claude 2.Free version – ChatGPT 3.5 or ChatGPT 4 (not completely clear).
How CurrentBard is kept current.ChatGPT’s knowledge cutoff was January 2022.It appears that Claude 2 was on data up to early 2023.Copilot operates differently from the other chatbots, leveraging multiple Microsoft tools and services along with ChatGPT to provide responses.
Major StrengthsVery good at leveraging the deep experience that Google has in search, machine learning, large language models, translations, mapping, documents, spreadsheets, mail, coding, and so on, to produce the results you are looking for. Can provide sources / links.The company has done an amazing job of building deep machine learning and large language model skills, implementing and tuning a very broad, usable, multi-modal chatbot.Usable and comfortable chatbot. Even though there are things that the chatbot says it can’t do (write programs for example), it often will do it anyway. Able to load up to 10 documents that are then used in responses, summarization, etc.Copilot is very complete, but often overly verbose in its responses. It has a tendency to answer a question, but not exactly the one you asked. It leverages other Microsoft technologies rather than leveraging only the LLM.
Where They ShineBard is my favorite chatbot when it comes to more technical topics, coding help, interaction with documents in Drive, interaction with gmail, or when I need a very structured result (such as a table).ChatGPT shines as the first place that I typically go to interact with a chatbot. I feel like I will always get a good answer or have a good dialog.Claude stands out for me in its ability to load documents and then include them. It is also strong in its writing ability.Copilot is best in the areas where Microsoft is strong. Things like coding and leveraging the broad set of Microsoft products. It is multi-modal, allowing a broad range of inputs and outputs. And it is very good at providing links to source material for more information or to validate responses.
ModalitiesInput: text, voice, code. Output – text, speech, visual, code, tables. Language translation.Text, code, math, structured data, tables, image descriptions, audio transcription, and language translation.Text.Text, voice, image, gesture.
ProgrammingGood at writing code, providing programming help, and capable of writing code in 20 languages.Can write code in many languages (lists 15 and says many more).Claude will say “I do not actually write code in any programming languages,” but it my experience is that it will. Not clear how many languages.Good at writing code, how many languages is unclear, but at lest 10.
Usage LimitsNo. However, I have seen cases where Bard ends long responses before they are complete. This may be a processing time limitation.No.No. However, I have received a response that says come back later. This may be due to system load or the number of requests/prompts – I am not sure Yes. There is a very long description of limits, it depends on the mode, platform, and so on.

Examples

Smarter Search

We have grown accustomed to searching for information using Google (or maybe Bing). We typically make our best attempt at typing what we think will produce the right results. We then scroll a page or maybe two. If we don’t find what we are looking for we try changing the search and start over.

When we find a result that appears to provide what we need, we open it, look for the answer, and if we find it we are done. If not, we go to another result and do the same. This process can repeat itself multiple times.

This has been the best practice for years. More recently, search engines have tried to directly provide the answer in some of the most common cases to simplify this process.

Chatbots have changed all of this. It is now better to ask a complicated question to a chatbot and get an answer, rather than search for it. Not only is this better, but if for some reason the chatbot does not return the correct result, you can provide more information or ask the question differently. It already has context so will provide a better and more complete response.

Below is one example. Try it yourself on something relevant to you.

Prompt

First prompt.

I am using Microsoft Powerpoint. How do I embed a video into my presentation so that when I come to the slide, it does not automatically start, but rather waits for me to click?

Second prompt.

What if the video is uploaded to YouTube?

Results

All of the chatbots were able to respond to this, and all appear to have given a complete and easy-to-follow description of the set of steps to complete the task.

Verdict: In this case, even though Copilot is from Microsoft, I don’t think that there is a clear winner. They all gave a good response to the prompt and adjusted their response based on the clarification in the second prompt. For completeness, I included the response from Claude.

Response to the first prompt.

Here are the steps to embed a video in PowerPoint so that it does not automatically play:

  1. Insert the video onto your slide. Go to the Insert tab and click on Video. Select your video file.
  2. The video will be inserted as an object on the slide. Right click on the video and select Format Video.
  3. In the Format Video pane, go to the Playback tab.
  4. Under Start, change the option from Automatically to On Click.
  5. You can also check the checkbox for “Hide while not playing” if you only want the video placeholder to show on the slide until played.
  6. Click Close when done to apply the changes.

Now when you go to that slide in your presentation, the video will not start automatically. You will need to click on the video placeholder for it to start playing.

This prevents videos from playing unexpectedly during a presentation.

Response to the second prompt.

If the video you want to embed in your PowerPoint presentation is hosted on YouTube, the process is very similar:

  1. On the Insert tab, click on Video and select Online Video.
  2. In the Insert Video window, paste the URL for the YouTube video and click Insert.
  3. This will insert the YouTube video as an object on your slide. Right click on it and select Format Video.
  4. In the Format Video pane, go to the Playback tab.
  5. Under Start, change the option from Automatically to On Click.
  6. You can also check “Hide while not playing” to just show a preview image.
  7. Click Close to apply the changes.

Now the YouTube video won’t automatically play when you reach that slide. You’ll need to click on the video placeholder to start playback.

The only difference is you provide the YouTube URL rather than selecting a local video file. Everything else works the same way to prevent automatic playback.

Programming

There has been a lot of discussion about chatbots replacing software developers. I do not believe they are at that point today, nor do I believe they will be soon. But I do believe they are an amazing aid for programmers, helping them to write code, review the code that they have written, and write tests for their code.

Chatbots today can write code in a wide variety of languages and for an even larger variety of use cases. They can not only write code, but can help you set up the environment to develop, test, and run these programs. It has been my experience that you will need a moderate level of understanding before you can use them as they often require some modification before they execute as expected. For example, you can have one of the chatbots write an Excel macro for you. You will then have to copy in the code, make a few changes, and do some testing. Not bad, but some knowledge is required 🙂

On to the example. I asked the chatbots to write a simple JavaScript function. Below is the prompt and a summary of the results from the chatbots.

Prompt

Create a JavaScript function that calculates the factorial of a given number. Ensure the function includes clear comments, adheres to best practices, and handles potential errors gracefully.

Results

All of the chatbots were able to complete this and the resulting code is good.

Interestingly, Claude said it could not write code, but it did anyway:) Copilot and Claude generated recursive code, Bard and ChatGPT did not. I would say recursive is more elegant, but this was a pretty simple example, so non-recursive code is fine as well.

Bard gave the best summary of the code that it generated. This was nice as a way to check its understanding of the task. ChatGPT included an example of usage.

Verdict: Given this simple coding task, it was a toss-up. For more difficult coding, I would drop Claude. I will not take the space to provide you with the code given how similar and complete the responses were.

List Generation

The next example aligns with something that many of us have to do at one time or another. Generate a list of items, with details about each item. For example, you might be asked to generate a list of popular health drinks, with the company that makes the drink, the number of calories and other key nutritional values, where these products are sold, and the sales volume. Collecting this information would take a good deal of time (if it is available). Chatbots can help with tasks like this.

To demonstrate, I asked each of the chatbots to generate a table of information on auto loan companies operating in California. The prompt is below followed by a summary of the results. As you will see, this can be a difficult ask of the chatbots!

Prompt

Generate a table of the companies that make automobile loans that operate in California. Include in the table the company name, address, website URL, number of employees, and if known, the number of new loans made in 2023.

Results

All of the chatbots except ChatGPT attempted to provide this, although I had to help a few narrow down the results as the list is long. ChatGPT did not have data for 2023. When I changed it to 2021 it said it still could not create this.

None of the chatbots could find the number of new loans created. It is reasonable to assume the data does not exist in their dataset.

Bard did a good job of providing the information that I asked for and also added a Google Maps rating. But it only provided 10 entries. Note: I have had similar problems before and have found a workaround where I ask for 10, then the next 10, then the next 10, and so on. I wonder if this is simply a limitation on processing time for the free version.

Claude did a good job as well but also provided only 10 (and they don’t match the 10 Google provided)

Copilot provided 5 and did not provide as much information as the others. It appears that it used map search to generate the list rather than the LLM.

Verdict: My preference for this kind of task is Bard. The data is current, it knows how to generate a list (table). It can be coaxed to give you 10 items at a time so that you can gradually build the full list. Below is the results – I had to ask that it provide the first 10 in alphabetical order.

Company NameAddressWebsite URLNumber of Employees (Estimated)New Loans in 2023 (Unknown)
AAFCU Federal Credit Union6701 Airport Blvd, Los Angeles, CA 90045https://www.aacreditunion.org/1,000-5,000N/A
Affinity Plus Federal Credit Union1400 NW Hawthorne Ave, Portland, OR 97209https://www.affinityplus.org/1,000-5,000N/A
Alliant Credit Union2570 Lake Cook Rd, Lincolnship, IL 60107https://www.alliantcreditunion.org/borrow/get-a-credit-union-personal-loan5,000-10,000N/A
Americredit Financial Services3811 Travis St, Suite 850, Shreveport, LA 71103https://dealers.gmfinancial.com/en-us/americredit.html1,000-5,000N/A
Bank of America100 N Tryon St, Charlotte, NC 28202https://www.bankofamerica.com/170,000-200,000N/A
Capital One Auto Finance1111 E Main St, Richmond, VA 23219https://www.capitalone.com/auto-financing/10,000-50,000N/A
CarMax Auto Finance12601 Riverview Rd, Richmond, VA 23237https://www.carmax.com/cars20,000-50,000N/A
Chase Auto Finance250 Water St, New York, NY 10006https://www.chase.com/personal/auto-loans/servicing150,000-200,000N/A
Citizens One Bank111 Westminster St, Providence, RI 02903https://www.citizensbank.com/homepage.aspx5,000-10,000N/A
CitiFinancial100 Washington Ave, St. Louis, MO 63101https://online.citi.com/JRS/portal.c?ID=CitiFinContact1,000-5,000N/A

HR Help

As managers, we frequently deal with HR issues. Chatbots can help here as well, giving us ideas for how to deal with problems, research laws, or even act as a sounding board. Yes, I said a sounding board. I have often had “conversations” with a chatbot as a way to clarify my thinking. Give it a try!

The example I used is related to an underperforming employee and whether you can deal with the problem during a headcount reduction. Below is the prompt and a summary of the results.

Prompt

I have an underperforming employee. I have given them feedback but am not seeing any improvement. We are being asked to reduce our headcount. Is this a good time to deal with the problem by adding them to the list of employees who will be let go?

Results

All of the chatbots provided an answer. Claude said it was not comfortable advising and then provided a list of suggestions. The others provided caveats around the response.

All of the responses are reasonable given how generic the question was.

I like that Copilot provided links for each of the areas in the response.

Verdict: I recommend using all of them, skim the results, and decide what makes the most sense for you. I also recommend that you ask for clarification, rewording, examples, etc. as a way to make it your own. Here is the response that ChatGPT provided.

Deciding to let go of an employee is a significant and sensitive decision that should be approached thoughtfully. It’s important to consider various factors before making such a decision. Here are some steps and considerations:

  1. Documentation: Ensure that you have documented instances of underperformance and the feedback provided to the employee. This documentation is crucial for legal and procedural reasons.
  2. Communication: Have a candid conversation with the employee about their performance, reiterating your expectations and the areas where improvement is needed. Clearly communicate the consequences if performance standards are not met.
  3. Performance Improvement Plan (PIP): Consider implementing a Performance Improvement Plan (PIP) if you haven’t already. A PIP outlines specific goals and expectations, with a clear timeline for improvement. This can provide a structured approach and a final opportunity for the employee to demonstrate improvement.
  4. Legal and Ethical Considerations: Be aware of employment laws and regulations in your jurisdiction. Make sure that your decision aligns with the company’s policies and is legally sound. It’s important to treat employees fairly and ethically.
  5. Impact on Team Morale: Consider the potential impact on team morale and productivity. Abruptly letting go of an employee can affect the morale of the remaining team members. Communication and transparency are key in managing such situations.
  6. Consultation: If possible, consult with HR professionals, legal advisors, or other relevant experts within your organization to ensure that you are following proper procedures and considering all aspects of the decision.
  7. Alternative Solutions: Explore alternative solutions, such as reassignment, additional training, or changes in job responsibilities. Sometimes, addressing the root causes of underperformance can lead to improvement.

Given the additional context of headcount reduction, it may be worth considering the overall impact on the team and the organization. If letting go of the employee aligns with organizational goals, and you have followed fair and transparent processes, it may be a necessary step. However, it’s crucial to handle the situation with empathy and professionalism.

Before taking any action, it’s advisable to consult with your HR department or seek guidance from relevant experts within your organization to ensure compliance with policies and legal requirements.

Graphic Generation

Chatbots are continuing to add capabilities and modalities, often in their fee-based offerings. I have already talked about generating code and tables. In the summary above, I mention the modalities that are supported by each chatbot. Quite an impressive list.

This example determines which, if any of the free chatbots, can generate an image (graphic). The prompt is below followed by a summary of the results.

Prompt

I need to create a new image (graphic) for an event that we are going to hold. The event is a programming contest, where the best ideas will be considered for inclusion in the new fitness product that we are building. During the contest, teams of engineers will create a prototype of their idea and share the result with a panel of judges who will decide on the first, second, and third best ideas.  It will be an honor to have your idea selected. The image should represent this kind of contest – programming, fitness, great idea, and winning. It will be used to advertise for the contest and it will be on the certificates that are awarded to the winners. Generate some ideas for this image.

Results

Only Copilot generated images. They are not great, but at least it was able to complete the task.

Bard said it can’t help me.

Claude and ChatGPT gave me some ideas for the images to generate. They were useful even if they did not all generate great results:). Note: I use MidJourney for image generation. There is a free version.

Verdict: Copilot is the only viable choice here! Below is the results along with 1 of the 4 images generated.

I’ll try to create that. Here are some ideas for the image that you could use to represent the programming contest:

  1. A group of engineers working together on a fitness machine or equipment, with a computer screen or code editor in the background. The engineers could be wearing gym clothes or holding water bottles to emphasize the fitness aspect of the contest. The image could have a caption like “Building the Future of Fitness with Code” or “Sweat, Code, and Innovation”.
  2. A podium or a stage with three winners standing on it, holding trophies or medals. The background could have a gym or a fitness center, with weights, treadmills, or other equipment. The image could have a caption like “The Best Ideas for a Healthier World” or “Code Your Way to the Top”.
  3. A group of judges evaluating the prototypes or presentations of the teams, with a screen or a projector displaying the code or the design. The judges could be wearing lab coats or holding clipboards to emphasize the scientific aspect of the contest. The image could have a caption like “Innovate, Collaborate, and Win” or “The Future of Fitness is in Your Code”.
  4. A collage or a mosaic of fitness-related images, such as running shoes, dumbbells, yoga mats, or protein shakes, arranged in a pattern or a shape that resembles a code or a program. The image could have a caption like “Think Outside the Gym” or “Code Your Way to a Better You”.

I hope these ideas inspire you and help you create a memorable and engaging image for your programming contest. Good luck and have fun! 🏋️‍♀️💻🏆

Analyze Content of Documents

One of the time-consuming activities that is often necessary is to read and understand documents, using the information in our jobs and/or on projects. This is an area where Chatbots can help. They can consume documents, provide summaries, and allow you to ask questions to gain a deeper understanding.

I have used this capability frequently in understanding technical and non-technical documents. The power of this capability is incredible – I don’t know how to estimate the time it has saved me!

To demonstrate this, I have created a prompt where several documents need to be loaded into a chatbot to gain a better understanding and answer questions. The prompt is below followed by the results.

Prompt

My company has been purchased by another company. As a part of this acquisition, I was informed that a savings program that was offered by my company, and that I was participating in, is being canceled by the new company. This will create a large tax obligation for me. I have the program documents and termination notices. I would like to enter these into the AI (chatbot) and ask several questions. Does the new company have the right to cancel this program? Do I have any recourse to stop the elimination of this program? Is there any way to reduce my tax obligation? And so on…

Results

ChatGPT and Copilot can’t do this.

Claude said it can’t do this, but the input box allows you to add files. I have tried it and it works well. It answered all of my questions based on the information that it had.

Bard says that it can access files in Drive and can load a PDF, but I could not make either of these work. I tried copying and pasting documents directly into the prompt box. It seemed to understand the documents loaded but was unable to answer my questions. Note: Google has another LLM called NotebookLM. It is a “personalized AI collaborator that helps you do your best thinking.” It allows you to upload documents (sources) and then becomes an expert based on these sources. It is not general purpose, but is excellent for this use case!

Verdict: I recommend using Claude. It loads the documents and uses their contents to answer questions, provide summaries, etc. I also recommend NotebookLM from Google. Below is

Create an Outline for a Presentation

Another frequent task as a manager is to create presentations. The chatbots can help here as well. I typically have an outline in mind, but use the chatbots as a way to generate ideas that might not have otherwise occurred to me.

I provide a prompt for a customer presentation example below, followed by the results.

Prompt

I have the opportunity to present our product to potential customers. As I run the engineering team and am not in sales, I need to focus on helping the customer understand how our product addresses their specific use cases. By using our product, they will save time and cost. I think that it is important that I share and validate my understanding of their use cases first, then go into an overview of our product, and then explain/demonstrate how it will meet their needs (align to their use case). I need to end by offering to provide a demo and make myself available for any follow-up questions after the meeting. Generate an outline for this 50-minute presentation with suggestions for the timing of each section.

Results

Each of the chatbots did a good job of creating an outline, providing information on what should be included in each section, and assigning a time estimate for each.

Claude and Copilot did exactly what was asked. Bard and ChatGPT added some notes. And Bard included the overall goal and focus.

Verdict: I recommend using all of them, skim the results, and decide what makes the most sense for you. I also recommend that you provide feedback and ask them to regenerate the outline. Here is the response that Bard provided.

Presentation Outline: 50 Minutes

Focus: Engineering team lead presenting to potential customers, highlighting use cases and product value.

Overall Goal: Showcase a deep understanding of their needs and demonstrate how your product solves them.

Timing: This is a suggested breakdown, adjust based on specific content and audience engagement.

Introduction (5 minutes):

  • Welcome and thank the audience for their time.
  • Briefly introduce yourself and your role as engineering team lead.
  • State the purpose of the meeting: Understand their use cases and showcase how your product can help.

Understanding their needs (15 minutes):

  • Ask open-ended questions to uncover their specific challenges and pain points. (e.g., What are your current processes for X? What are the biggest frustrations you face?)
  • Actively listen, take notes, and acknowledge their responses.
  • Summarize your understanding of their key use cases and confirm accuracy.

Product overview (10 minutes):

  • Briefly introduce your product and its core functionalities.
  • Focus on features relevant to their specific needs (connect their use cases to product features).
  • Highlight key benefits, addressing their pain points (e.g., save time, reduce costs, improve efficiency).
  • Use visuals like screenshots or demos to illustrate capabilities.

Solution presentation (15 minutes):

  • Deep dive into how your product specifically addresses their use cases.
  • Provide detailed examples and use cases scenarios showing practical application.
  • Showcase product features in action through short demos or screen recordings.
  • Emphasize the value proposition and ROI for their specific needs.

Q&A and Demo offer (5 minutes):

  • Open the floor for questions and address any concerns they might have.
  • Offer a personalized demo based on their specific interests and use cases.
  • Briefly outline the demo process and express your availability for follow-up.

Closing (5 minutes):

  • Briefly summarize the key takeaways and reemphasize the value proposition.
  • Express your interest in partnering with them to solve their challenges.
  • Provide contact information and next steps for scheduling a demo or further discussion.

Additional Tips:

  • Tailor the presentation to the specific audience and their company.
  • Use clear and concise language, avoiding technical jargon.
  • Focus on benefits and value, not just features.
  • Be enthusiastic and engaging, showcasing your passion for the product.
  • Practice your presentation beforehand to ensure smooth delivery.

Caveats

Thanks for getting this far in the article. Here are a few caveats that I think are important to make.

  • Chatbots are incredibly capable. I have only touched on a few of their capabilities. They can do so much more. If you have other ideas, give them a try!
  • I focused on free versions. The paid versions are likely more up-to-date, more complete, have more modalities, are faster, and so on. If you have access to any of the paid versions, that is great. Use them!!
  • All chatbots are evolving quickly. I will provide an updated version of this article when there are enough new features to warrant it (this does take a good deal of time).
  • Chatbots make mistakes and sometimes hallucinate. Hallucination is just a fancy way of saying they get things wrong. Sometimes the mistakes are obvious while other times they are not. Sometimes they are understandable, based on how LLMs work (and at other times they are not). This is a known problem that all of the companies are working on. It will get better. You need to verify anything that the chatbots generate that is important – just like you would do if you read an article on the internet:)

Conclusion

I hope that this article helps you to feel more comfortable with chatbots. They can provide incredible value – today. They will get better, but there is no reason to wait!

There are four very good free chatbots available. They have similarities and differences. I hope the examples I provided will motivate you to jump in, and that the information I provided will lead you to the right chatbot(s) for your situation.

See Also

NotebookLM

Categories: Tools

4 Comments

Geoff Arnold · February 1, 2024 at 6:35 pm

That first comparison table is…. weird. Some of the entries in the table are duplicated and contradictory. For example:
Can Claude write code? No, yes, sort of….
Is one of ChatGPT’s major strengths “Very good at leveraging the deep experience that Google has”? Probably not.

    daleferrario@gmail.com · February 1, 2024 at 6:47 pm

    Hi Geoff. Thanks for the comment. I believe I fixed the problem with the table. For some reason, at times, WordPress copies what is in one cell, to another cell. I missed it.

    I also tried to clarify the comment on Claude. It is strange, but when you say write code, it says it can’t. But then it gives it a try. My only guess is that they have tuned it to say it does not write code, but the LLM includes lots of code, so it does have the capability, although also my guess, it is not as strong as the others.

Geoff Arnold · February 1, 2024 at 9:22 pm

Still off. Check the entries for “Modalities” and “Programming” for Claude and Copilot.

    daleferrario@gmail.com · February 6, 2024 at 4:18 pm

    Thanks. Kind of like a box of Nerf balls. You push on one and another pops out. I think I did a better job of QA this time and found the changes that happened “automatically” and fixed them.

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *