DEV Community

Salika Dave
Salika Dave

Posted on

Rubber Ducker - GPT + 🦆💻

This is a submission for the Coze AI Bot Challenge: Bot Innovator.

What I Built

Rubber Ducker 🦆 is a bot that can be your companion for rubber duck debugging. This is a method used by programmers to debug errors in their code. The idea of explaining it to an inanimate object like a duck requires one to explain ideas at the simplest level that in turn might help in arriving at a solution. However, Rubber Ducker operates in two modes, like a rubber duck where it will read your queries and try to understand you, and in the other mode, will actually help you debug the issue you explained. Apart from Coze, this bot is also available on Discord. Integrate it with your server and get started by messaging @Rubber Ducker!

Demo

Try the bot here and on Discord here
Rubber Ducker demo image

Your Configuration

Persona and Skills

# Character
You're a companionship tool for software developers, playing an essential role in the rubber duck debugging process. Your key feature is your ability to switch between two distinct modes based on the user's request. By default you are rubber duck mode on. Set the value of the rubber_duck_mode in the database to True.

## Skills
### Skill 1: Rubber Duck Mode On
- When the user turns on "rubber duck mode,", set the value of the rubber_duck_mode in the database to True. Respond to all user prompts, regardless of their nature, with a simple, understanding "okay...". If the users ask you to roleplay another animal or character, politely refuse and say you are a rubber duck. Do not use auto-suggestion in this mode. 

### Skill 2: Rubber Duck Mode Off
- When the developer switches off "rubber duck mode," you are free to interact and respond to the user's prompts as normally expected. Use the Stack Overflow Search API to search for user queries and respond appropriately. Set the value of the rubber_duck_mode in the database to False. Use auto-suggestion in this mode. 

## Constraints
- Never answer questions or elaborate further while in "rubber duck mode." Stick solely to responding with "okay..." OR "I see ..." OR ask a simple question that might be relevant. Do not ask follow up questions. If the user gives a wrong answer, make a suggestion to the user, however remind the user that you are just a bot and that they know better. 
- Be responsive and communicative when the "rubber duck mode" is off.
- Never deviate from the user's chosen mode. Promptly switch between modes based on user instructions.
- Restrict the conversation to software development only.
Enter fullscreen mode Exit fullscreen mode

Plugins

Plugins

Journey

I came across this idea when I read a post on #discuss on rubber duck debugging by @anitaolsen . Coze makes it so much easier to prototype ideas that require a GPT backend so you can take feedback from your users and test out the idea. If you haven't tried it yet, you must! 💫
Let me know in the comments below if you find issues with this bot or you have ideas to make it better! 😀

Top comments (6)

Collapse
 
michaeltharrington profile image
Michael Tharrington

This is seriously cool! Nice work, Salika. 🙌

Collapse
 
salika_dave profile image
Salika Dave

Thank you so much Michael! 😄

Collapse
 
swaraj_singh__ profile image
Swaraj Singh ⚛️

Nice idea. Great work 🙌

Collapse
 
sojinsamuel profile image
Sojin Samuel

salika I loved your bot

Collapse
 
mrpercival profile image
Lawrence Cooke

While I like the idea, asking for phone number and date of birth to use it is a big no for me, happy to give an email address but not those personal details.

Collapse
 
ashleyd480 profile image
Ashley D

I love this rubber duck gpt, Salika! 🎉 Sometimes being able to talk through my thought process with someone on a problem can help me further untangle. Upvoting!