Hi HN,<p>We’re Raza and Jordan, the founders of Humanloop. At our company hackathon, we built an initial prototype for an extensible AI assistant that lives in Slack.<p>ChatGPT is incredibly useful. But it’s also very limited. It doesn’t have the context of your work or your company. It can’t take actions beyond sending you messages in text. It has no memory.<p>That’s why we built Coworker. Coworker is a GPT-4 powered assistant that lives in Slack. It's not like normal AI assistants though. Instead of being a chatbot, it sits in the background and reads each message in context. Then, it if thinks it can help it sends the user a message, gets approvals and then takes action.<p>To make Coworker, we made heavy use of GPT-4‘s function calling. There’s a central decision-making agent that reads every message and takes action by outputting a “function call”. This is a JSON object that specifics what the agent wants to do — whether that’s messaging the user or making an API call. After the agent asks to do an action, we get a confirmation from the user and then execute the API call.<p>A crucial part of a good coworker is that you can teach them to do new things. We've made it easy for you extend the capability of Coworker, all you have to do is write a Python function with a good docstring and save it to the “tools” folder. Over time, your team can add more and more capabilities that seem relevant.<p>We chose to do this in Slack because it's an incredible repository of company information. The AI can understand the context of your work. It’s also a place where important information gets shared but also lost. Coworker can really help with this. For example, if someone in your company mentions a bug in Slack, Coworker will offer to create a Linear ticket.<p>We built Coworker in Python using OpenAI GPT-4, Humanloop and the Slack API. To deploy the bot we used Railway.app. This is the result of a 24-hour hackathon but we really hope to keep working on it and make it something genuinely useful both to us at Humanloop and to the wider community. Our GitHub repo contains ideas for extending it.<p>Would love your feedback, ideas and contributions!<p>Warm wishes,<p>Raza and Jordan