How Slack AI Agents Accelerate Dev Productivity | Samuel Messing
Slack AI agents accelerate developer productivity through intelligent search and code generation, but introduce critical challenges in code review fatigue and pre-LLM security.
Highlights
6 clips · 8 min of 52 min-
- AI Explain kicks off a targeted search to gather context before synthesizing it with LLM knowledge.
- Execs and engineers can catch up on active incidents without interrupting team members.
- Combining search and AI bridges the gap between raw data retrieval and human-understandable summaries.
-
- Permission checks are executed during search before any data reaches the LLM context window.
- Slack avoids training models on proprietary data due to the inability to strictly control LLM outputs.
- Pre-LLM gating is the most reliable way to maintain enterprise compliance and data security.
-
- AI can successfully translate large codebases across languages, like Go to Hacklang, in hours.
- Generating a 5000-line PR creates an unmanageable burden for human code reviewers.
- Teams must find new ways to evaluate and review large blocks of AI-generated code safely.
- Massive AI code conversions create overwhelming review burdens.
- Reviewers naturally run out of cognitive stamina on huge PRs.
- Teams need new strategies to evaluate large-scale automated code output.
-
- Code review fatigue stems from depleted daily willpower.
- Engineers must pace themselves to preserve critical thinking capacity.
- Slowing down ensures the creation of more resilient software.
-
- Developers can chain specialized agents like Cursor and Vercel together.
- Workspaces can automate feedback loops from code change to live preview.
- This enables experimental solo-entrepreneur product development workflows.
-
- Agentic features require exposing deeper context than human UIs need.
- LLM-focused search APIs must deliver full thread histories and user relationships.
- Platforms must natively build tool actions for autonomous agents.
That’s all the highlights.
Questions this video answers
7 · every answer cites the moment it was said01 How do you balance search recall with LLM synthesis? 2 sources · 10:51
Slack combines search and AI to handle massive enterprise data without hitting token limits. Search retrieves relevant raw messages while the LLM synthesizes them with citations, balancing recall and summarization.
02 How do you enforce enterprise data permissions before calling an LLM? 2 sources · 14:43
Slack enforces security by running real-time permission checks on search results before passing any data to the LLM. They avoid training models on internal data, relying instead on permissioned context windows.
03 How do you connect internal developer tools to AI coding assistants? 2 sources · 19:11
The team built internal Model Context Protocol integrations to let coding assistants safely query internal databases and analytics. This helps developers navigate historical context and generate correct SQL queries without hallucinating schemas.
04 How do we use AI agents to refactor legacy code bases? 2 sources · 23:29
Teams can use scripts powered by models like Claude Code to incrementally migrate old code bases into modern languages like TypeScript. For instance, Slack converted over 50% of its legacy JavaScript to TypeScript in just six months. The trade-off is ensuring developers share and tune prompts so the agent matches internal coding standards.
05 How do we handle code review bottlenecks from massive AI-generated PRs? 2 sources · 25:44
Large AI-generated pull requests, such as a 5,000-line translation, place an immense burden on human reviewers and often lead to superficial reviews. Reviewers tend to run out of cognitive stamina and skip commenting on massive changes. The recommendation is to pace reviews and be mindful of willpower limits, since slow is smooth and smooth is fast.
06 How do we treat Slack as an enterprise agent platform rather than just chat? 2 sources · 33:42
Slack functions as a work operating system comprising interacting primitives like huddles, lists, canvases, and channels with deep native AI integrations. Using platforms like Agent Force, developers can build agents that dynamically generate canvases, create lists, or fetch enterprise search context. This positions Slack not just as an IDE, but as the core environment for running enterprise workflows.
07 How do we build APIs specifically tailored for LLM and agent consumption? 2 sources · 47:43
When building features for agents, developers must expose tools as actions and design search APIs that deliver rich context rather than just single messages. For example, Slack's real-time search API provides full threads, relationships, and user roles so agents can reason effectively. This requires building dedicated endpoints alongside human-facing interfaces.
Section-by-section summary
9 parts
Context engineering over prompt engineering
Enterprise tools face strict token limits before quality degrades, making context curation critical. Slack combines search and AI to bring relevant global knowledge into the model safely.
Combining search recall and AI synthesis
Search remains superior for triage and recall where every message matters. AI shines when synthesizing large volumes of updates into clear, cited text blocks.
Enforcing just-in-time enterprise permissions
Slack handles strict compliance needs by enforcing permission checks before data ever reaches the LLM. They avoid training models on proprietary data due to control risks.
Bridging internal tools using Model Context Protocol
Slack integrates internal data sources and SQL tables into coding agents using MCP tools. This helps junior developers query complex schemas and understand internal systems without hallucinating.
Managing review bottlenecks from massive AI code generation
While AI accelerates routine tasks like migrating JavaScript to TypeScript, it creates massive PRs that overwhelm reviewers. Teams must adapt their review strategies to handle large volumes of generated code.
Managing cognitive fatigue during AI code reviews
Large automated code transformations can produce massive pull requests that overwhelm reviewers. Because critical thinking and willpower are limited daily resources, huge PRs often escape deep scrutiny. Teams must consciously pace themselves and maintain strict review standards despite high output velocity.
Slack operating as an enterprise agent platform
Slack functions less like a chat app and more like a work operating system with deep data primitives. Developers can orchestrate multi-agent workflows connecting tools like Cursor, Vercel, and Perplexity. This integration enables rapid iteration loops from feature prompt to deployment preview.
Enduring developer skills of curiosity and critical thinking
While tooling evolves rapidly, core engineering skills like curiosity, empathy, and critical thinking remain paramount. Developers must actively experiment with AI to understand its capabilities and limitations. Maintaining a perennial learning state is essential for navigating ongoing industry disruption.
Building APIs and platforms tailored for agent consumption
Platforms must evolve to support agentic users alongside human ones by exposing dedicated actions and search APIs. Real-time search APIs tailored for LLMs provide richer thread context and relational data than human UIs. Future architectures will heavily lean into multiplayer agent-human collaboration spaces.
n next · p previous clip · t highlights/full
< > slower/faster · / search what was said
-
Context engineering1× · first 5:33
The practice of carefully curating and managing the context and data brought into an LLM token window.
-
Model Context Protocol5× · first 19:06
A protocol used to connect AI coding assistants with internal custom software tools and databases.
-
MCP client2× · first 24:59
A Model Context Protocol client used to connect models and external tools to a codebase.
-
Hacklang2× · first 25:14
A programming language built on top of PHP used for backend architecture at Slack.
10,052 words · about 40 min to read · YouTube’s automatic captions
A thing I say to the team a lot is context is everything. Especially in an enterprise setting, just look at some of our customers. So, you know, IBM is using Slack. IBM is a 100,000 person company. Salesforce is a 75,000 person company. So, the context is huge. So, an example of a feature is something called AI Explain. You can now go to individual messages and there's a message action you can press that will explain the message in detail. So, like that is both a search and an AI problem where we kick off a search to get more information and more context, but then we're using the LM to kind of create that synthesis as well as bring in that kind of global knowledge of just the context that the LM already knows. Slack has always been developed as a product-led development cycle. So, I can see a future where agents make this much easier. Like you and I both have an idea of what we should do with the composer in Slack. We can go off and use our agents to build up some kind of scrappy version of what we're talking about so we can better understand each other. How important chat products like Slack are going to be in terms of the way that we interact
with coding systems going forward? Before we jump into this episode, I wanted to let you know that this podcast is for developers building with AI at the core. So, whether that's exploring the latest tools, the workflows, or the best practices, this podcast is for you. Now, we've had amazing guests like Olivier Pomel, the CEO of Datadog, Mati Stanislawski, the co-founder of Eleven Labs, Victor Riparbelli, the CEO and co-founder at Synthesia, and of course, Tessal's very own Patrick Dubois. And they're all sharing lessons right from the frontier of our industry. A really quick ask, 90% of people who are listening to this haven't yet subscribed. So, if this content has helped you build smarter, hit that subscribe button and maybe a like. It really does help us keep bringing the folks who are actually pushing this space forward and helping build that AI-native future. All right. Back to the episode. Hello and welcome to another
episode of the AI-native dev. My name's Simon, your host for today. And joining me today is Sam Messing, who's the VP of engineering for search and AI at Slack. Sam, how are you? I'm doing great, Simon. I'm so excited to be here. Thank you for having me. Well, welcome. And today we're going to have a a cool talk a little bit about the journey of of how Slack has really kind of revolutionized the way I guess we do business, but also now in the modern age, how you know, the way that AI has this role in in chat today through through search and other things, but how actually with AI-assisted development and how agentic coding relies so much on conversations and the written word and how we can as teams build applications, what role an amazing communication team communication tool like Slack can play in that potential future as well. So, there's a there's a ton to a ton to chat
about, Sam.
Context engineering over prompt engineering
Why don't we Why don't we get started with really just talking I think pretty much everyone's going to know what Slack is. Why don't instead of introducing Slack, you introduce a little bit about yourself and Slack AI? Sure. Yeah, so I I have been at Slack now for 4 years. I joined actually as an IC as an individual contributor as as a back-end developer. And at over my time, I've worked on a bunch of different features.
I have a background of about 15 years in software development. And so, I've always thought machine learning and AI is very interesting. And so, as I've gotten the opportunity to start leading search and AI at Slack, it's just been a dream job in terms of getting to really be at the forefront of those technologies. And within Slack AI, the thing that we're really excited about is, you know, a thing I say to the team a lot is context is everything.
Especially in an enterprise setting, you need to know what's going on. You need to know what what your sister teams are working on. And alignment is a really challenging thing especially at large enterprises. So, you know, we hear a lot that information overload is an experience that lots of people are having right now. Both just for the industry in general in general with the velocity of things and change that's happening as well as within individual enterprises where you might have really really smart, charismatic, intense people all working and generating their own ideas. And how do we kind of wrangle all of that? And it's interesting actually because when we think about like the the problems that LLMs have with getting too much context, you know, you don't need to go anywhere near their their kind of like token ranges before before you start seeing degradation in terms of the quality of the responses that that LLMs provide you back. When when you're talking about the the kind of like well, I mean, what does
the scale of like an an enterprise and Slack look like? Are we How much data are we really are we really having to juggle here with with with an AI AI bot here? Well, you know, just look at some of our customers. So, you know, IBM is is is using Slack. Right, IBM is a 100,000 person company. Salesforce is a 75,000 person company. So, you know, the context is huge. And you're right that, you know, part of one of the most important things that we do to develop our AI features is to think about how do we manage that context.
Right, there's a new buzzword that's going around around the idea of context engineering instead of prompt engineering. We take that very seriously. And that's why also I think search and AI are two really important things to put together and to think about in harmony with each other. And you know, we discuss things internally as is this search or is this AI? And you know, a point I usually bring is doesn't matter. It's all one thing at this point. But we need to think really seriously about not just what we do with the LM, but taking care on what we bring into the LM to get that kind of response and and accuracy. It's really interesting cuz
Combining search recall and AI synthesis
for me as a user, I don't necessarily care whether it's search or AI so long as I have that trust and confidence that in the results that come back. From from you as you know, one of the folks who are kind of like building these types of capabilities in with search and AI, where would you say the boundaries are for where where where search has, you know, a real ceiling that it can't kind of like break through, but but where AI really benefits and and and can can deliver much better results? And and what are the problems the other way where search is actually far stronger or far better at being able to deliver results where AI just struggles? Yeah, so the first part, so where where does search kind of hit its limits and where does AI kind of shine, you're making me think about one of our customers that is a major newspaper publication.
And one of the things that they've done which I'm just think is so clever is right, they have they they hook into the Associated Press's wire service. Right, so they get you know, these pushes. It's essentially an RSS feed of every new, you know, headline with 100 words on what's going on so that they can help orient their journalists to what's, you know, keeping a pulse on what's what is happening in the world. Now, if you think about that as a search problem, so now I have this channel that has all of these push updates. And then I search for something like you know, what's going on in Bulgaria. I'm just going to see tons of text and I have to read all of those things and it can get kind of tedious. And especially if you think about search where we're trying to focus on relevance rather than trying to give you like the right longitudinal kind of organization, it's really useful to instead use something like our AI Search Answers product which actually synthesizes all of that information, takes those raw search results, and translates that into
an actual kind of human-understandable text block with citations so that you can go back to the relevant messages, but you can better get just a sense of like what what is actually happening. I don't have to kind of provide that synthesis for myself. Now, on the opposite side where where AI is limited and where search continues to be kind of more important is right, there it depends on job roles, but one thing that we see a lot is there are certain job roles where you need to respond to every message that's coming in and you need to understand what what what is happening.
And so, that's where things like structuring search results based on time is a really useful use case. And so, what we've heard from users is, you know, the need to save searches and kind of go back to these same searches as a way to essentially triage where an LM would that synthesis is not what they're looking for. What they're looking for is every single thing. Coverage or recall is more important. So, that's I think part of the way that we're thinking about that balance. Yeah, and it's interesting you were talking a little bit there about almost like the combination of the two a little bit. And and it's very interesting even even through kind of like a bunch of dev tools without that that almost like need a level of creativity versus a level of accuracy where we see certain dev tools that that use AI as well as looking at an AI an AST or something like that to provide them that accuracy of what what a code flow is doing and then and then layer AI on top. And it's interesting that you know, is there this is there this path where actually one or the other isn't actually
the solution, but we need this mix where
1 Highlight · Combining search and AI for message explanation
search is good at certain things, AI is good at other things. Let's actually combine them to actually get the best of both. I mean, that's what we're we're really focused on in general is trying to use the both pieces of technology. So, an example of a feature that we just launched that I'm particularly proud of is something called AI Explain. You can now go to individual messages and there's a message action you can press that will explain the message in detail. So, I use this personally whenever I'm responding to incidents, right? I'm a VP of engineering, I get you know, mentioned in an incident channel when something's going on, and I have to quickly get up to speed. The engineers are still actively working the problem, and I don't want to slow them down. So, someone sends a message with a bunch of acronyms, maybe I don't know those acronyms. What I would do in the past is I'd have to ask someone, I'd either be slowing down the people who are really doing it, or I'd have to bring more people in. But now I can just use AI explain to catch up with what their communication is about, so I can understand what their acronyms are, I can understand the details of why it's significant without without interrupting anybody. And that gives me a much better
ability as an executive especially to to just get a pulse on what's going on without having to interrupt anybody. So, that is both a search and an AI problem where we, you know, kick off a search to get more information and more context, but then we're using the LM to kind of create that synthesis as well as bring in that kind of global knowledge of just the context that the LM already knows and has, and and use that as part of the solution. Really interesting. We're going to go on to talk a little bit about how, you know, the folks at Slack are using
Enforcing just-in-time enterprise permissions
AI internally as well. But before we before we kind of like move move off of the AI Slack AI, in terms of in terms of trends, I guess, from from what you see as real-world usage out there, how how how much do you see people kind of like you know, is is there a cliff where all of a sudden everyone starts really trusting and leaning into to AI results? Where where do you see usage of AI particularly? Maybe it's feature by feature of certain things that that developers and users are are enjoying trusting straight away.
What can you tell us a bit a little bit about the behind the scenes? Yeah, I think so what we've noticed is there are, you know, different features that are used by different people as you might be not surprised by. So, one of our most popular features that I'm super proud of is our message translation feature. So, you can set it up to even be automatic that if someone chats you in a different language than your UI setting for the language of the of the application, it will automatically translate for you.
So, we can kind of accelerate that kind of communication. Obviously, there are certain companies and certain individuals at those companies that really need to leverage that feature, whereas other people, you know, myself as an example, most of the people I talk to were all native English speakers, I don't really use that feature as much. So, we kind of have to think about those different job roles. Another thing that we've seen is that different customers are are at different kind of levels of adoption. And so, we have kind of bleeding edge adoption adopters. Like a great example is one of our customers named Playtika. They have built using Agent Force and the the platform of Agent Agent Force to build proactive customizable agents, multiple different agents that take their their consulting firm. So, take their sales people through the whole life cycle of a sale.
So, they have a call prep bot, a analysis like a research customer analysis bot, and then also a call summary bot that happens at the end. And those three agents work in parallel to help individual sales rep basically bring down their prep time for calls by about 50%, and it's actually increased their upsell bookings by about 50% as well. And so, that's kind of like an AI native company that is really going aggressively into how do we build these use cases and think about the verticalization within our company. We also see, you know, more kind of tentative dipping their their feet into the water features where, you know, we have customers that will only try one feature at a time and are really concerned about change management and understanding the boundaries with LLM.
You know, I think that I wish I could tell every customer is the special parts of Slack and Slack AI and Agent Force is is two real main things. One is that we have the context that you couldn't get elsewhere. The communication is happening within Slack, we can understand at a much deeper level what people are thinking about and what problems they're facing. And then the second one is deeply integrated is a permission structure.
Right, we we built we are HIPAA compliant. You know, we like we build software for large enterprises that have extremely tight compliance needs, and that implies to all of our AI features. So, you know, a concern that you might have is that with search, you know, is is an employee going to see things that they shouldn't see or and what we've really done, and I'm really proud of this, is built a like just-in-time permission layer that ensures and enforces that people cannot see or access things that they're not available that's available to them.
And what we're expanding that to is thinking about and providing enterprises ways to empower different job roles differently. So, you know, if you you might want to do something different with your HR department as an example than you would with your sales department. And right, you need to think about those maybe not so much as silos, but as, you know, like protective communities that have both their internal parts and then their shared parts. And that's the kind of thing that we're really focused on at Salesforce and Slack. And that's a really that's a really interesting approach and and and tough problem, right? Because I think being able to kind of like guard that data and making sure those permissions are strictly adhered to is extremely important. Is is that something that you do is that something that you have a
2 Highlight · Enforcing permissions before data reaches the LLM
guard in place then pre-sending information to an LLM, or is that something that you almost have a guard based on the output of the LLM back to the user? So, there there, you know, it's a continuously developing experience, and we're responding to what our customers need and ask for. But yes, we have permissions at different and various layers. So, thinking about the search experience, we start obviously by only searching channels that you have access to, but then we do a secondary check at the end of the search to double-check all of that because things can change, right? There's always lag time with skew, so we need to have a real-time part of that. And that all happens before an LLM gets involved with anything. And it's important to note that we don't do any generative AI training, right? We are using off-the-shelf LLMs. So, the way that we provide that context is always going to be through this permissioned search and and kind of populating the context window rather than, you know, what feels much more risky to me, which is like trying to train a model off of the content because we can't Right, we as an
industry don't yet understand how to control an LLM at that level. So, we're just not even exploring it. 100% agree, and I think it's like if you give information to an LLM, you have to expect that LLM to use that information
how it however it sees best, and it's very very hard to kind of like have gates post. So, I think the gates that you mentioned there pre is really the the the right way, the only way you can really do that these days. Cool. And and and with Slack AI, of course, coming up very soon is is Dreamforce, which is is it the week of the 13th of Yes, so should be October 13th through the 16th, I believe. But it's certainly that week. And it's a big, right, Salesforce level conference where we're going to showcase lots of different new products that we are developing. And I'm particularly excited about some of the things that we're going to announce at Slack for Slack at Dreamforce. I can't go into too much detail now, but let me tell you that we're going to be launching a very personalized experience for individuals that will supercharge their ability to use Slack in a way that I I don't see anyone else
Bridging internal tools using Model Context Protocol
doing in the market. So, very excited about that. That sounds amazing. Looking forward to that. Let's jump in to how you use AI within your development processes at Slack. I understand you use Cursor pretty heavily. Tell us a little bit about that. You know, we So, there's two things there that I think are important. One is obviously, we are an engineering organization, so we want to use all of the the bleeding tech tools that we can to build the best software for our customers possible. But also, we build AI features, and what I'm excited about is I think developers more than anyone else are furthest along in the experience of understanding what it means to work collaboratively with agents. So, I am, you know, very focused on seeing what everyone at the company is doing with AI for development as a way to kind of try and understand what the future might look like for non-technical. So, you know, focusing on engineering, although I'd love to talk to you also about other job roles at Slack and how they use AI. We have adopted Cursor as one of the the things
that we're trying, but we're also experimenting with other other platforms like Cloud Code and Windsurf, and we have a lot of different things that we're playing around with internally. But one of the things that we focused a lot on is how can we integrate all of our custom software tools with through via MCP. So, you know, like any large organization, we have built a lot of different internal tooling around managing experiments and feature flags, around managing our data and analytics, as well as managing things like code search even, and making sure that that's effective as possible across multiple languages. So, the team has spent a lot of time integrating and developing internal MCP tools that we can use through Cursor to kind of work through those. To take one example, a challenge that I had when I was in IC all the time was, you know, someone would ask me about a usage stat of something that I'm working on, and of course, I should go and write the SQL and figure out how to do that. But before I can do that, I need to know what tables exist and which
ones are real and we know the accuracy of them and you know there's like you know users underscore final two cuz like there was some migration a few years ago and there's all this stored context that historical context that's important to answer that question. So we've built both a chatbot that we call Jimmy as well as an MCP integration to help developers both explore and understand what tables exist and how they can answer those questions as well as actually generate some of the sequel to do that for them.
So that's been incredibly useful. You know, it should be the case that any engineer should be able to answer whatever usage question you have about their their features or what they're responsible for and this is really making that real especially for more junior developers who just don't have the context yet haven't learned as much about the way the stack at Slack works. It's been really useful for them. Yeah, so so it's essentially giving agents that like whatever agentic versus whether it's within cursor or cloud code as you mentioned giving whatever agent who is trying to perform a task the context with the information it needs to be able to perform that accurately without hallucinating tables or using a different version of the data or whatever and then providing that information back to the agent will allow it to then you know, provide a solution or provide a sequel in this case a sequel query that will that will access the data in the tables correctly. Yeah, and what we're seeing is you know, a lot of people are using the cursor agent to understand the code base and basically get to the right
knowledge to write the specific prompt they want to get the agent to do the right thing. Right, specificity with instruction is really important when you're interacting with agents. Um Luckily, I think one of the biggest challenges for developers in their career in general is technical communication. Right, you can have all the technical chops in the world but if you can't sell people on your idea or explain what you did, you're going to be limited in your career on that and so I see a real parallel between developing your skills at communicating with agents and this other part of career development that is also super important around just being able to communicate specifically about technical topics and understanding what level of detail to go into for various you know, audiences. Point and I think if we was
Managing review bottlenecks from massive AI code generation
to take that broader and say you know, you're using cursor very very heavily within within Slack. That obviously has a big change in terms of how much code gets generated what what pressure that adds on other parts of the SDLC. What what do you think I guess purely just from the workload? What do you see as as been very beneficial from those kind of those kind of efficiency gains that you'll get from agents and what is it also challenged you on as a team in terms of have there been new bottlenecks? Are there things which actually might seem very effective and proficient but maybe actually in the long run took more time?
Like can you can you give us any insights to how the the dev teams fared with that? Yeah, definitely and what I'm thinking about also applies I think to non-technical roles but so you know, by analogy. So on the technical side some of the places we've had the most success is with things that are a little bit more wrote or a little bit more robotic in terms of the the task. For instance, right Slack like many mature web products has started out in JavaScript and we've moved into TypeScript. And we've done what most people do which is an incremental adoption of TypeScript over time. So we still have you know, old JavaScript files that no one has needed to touch so they haven't been migrated. That is a big place where we've started using AI and we've built some scripts that use cloud code essentially to accelerate people's ability and you know, Slack has its own particular ways of doing types and and and you know, organizing our code and
things like that. So it's important to kind of share amongst developers that script that has kind of this built up prompt of specificity to kind of get over those specifics or those quirks and now we have multiple engineers running that script at the same time. So in the last six months we've got we've converted more than 50% of our Java legacy JavaScript into TypeScript and we should be done in a couple months and that's something that we originally thought without AI would take you know, two years to do just cuz you also have to balance it with you know, asking people to build new features or fix bugs or things like that and so another example is generating unit tests. You know, there's a lot of quirks with the way that the unit test frameworks work and especially for more junior engineers they can get stuck kind of figuring out details like non-interesting details of how to set that all up rather than focusing on the actual testing of their their feature and so we've seen that as a really great place for adoption. Now where it's been a little bit more
challenging is you know, I've been working with a principal engineer on a prototype of an MCP client within Slack. This is something that is very speculative. We all think that we need
3 Highlight · Review bottlenecks caused by massive AI PRs
to experiment with this but you know, it's going to be a long time before we figure out exactly what that means for enterprise compliance software. He Our back end is written in Hacklang which is kind of built on TypeScript is to JavaScript as Hacklang is to PHP. So so we use Hacklang and so there's no MCP client in a you know, SDK that you can use in Hacklang. So he found one in go and he asked cloud code please convert all of this to to hack and he gave it access to our code base so it can kind of understand what's going on and then he just left it alone.
It churned for two hours and it came back with a fully functional Hacklang you know, implementation and he showed me the PR and I was like this is cool. This is a 5,000 line PR. I would never let an engineer write a single PR that's that big. Right, like um So you know, it makes a huge burden on the reviewer to make sure that they can check all of that in. So then we had this whole conversation of how do we take this giant thing that got produced and how do we actually go about evaluating it and reading through it. So I wouldn't say that that's necessarily like a problem. It's just it's a different way of working through the code that we're still experimenting with and you know, figuring out how we can be successful
there. And as they say if you have a PR with five lines difference, you'll probably get 500 comments on it whereas if you get a 500 line PR, you probably get no comments at all, right?
Right and you know, we're we're not trying to do that. So Absolutely. Absolutely. So so that's really interesting like it sounds like you're you know, you'll be when we can when we can you know, very reliably convert some of those more legacy style applications and and and code into into a more readable structure a more tested structure my goodness that that that that certainly does give us so many more opportunities and for and maintenance burdens that that we
Managing cognitive fatigue during AI code reviews
just you know, remove from ourselves. So so the moving I guess from one stack to another modernizing certain applications is a big one. You mentioned testing kind of like adding resilience I guess to to older applications as well. I'm I'm super interested in the kind of like the third one that you mentioned there which was really the reviewing cuz I think as you mentioned in in a just a couple of months perform a huge amount of refactoring or or modernizing of applications.
We need to still be that have that robustness to be able to say do you know what? I fully trust this. I've I've looked all through this. We've put all the the reviews and the you know, the code reviews and the checks and the security etc. That almost becomes such a such a big burden to actually do effectively when a code changes are coming so fast and and and through so many different agents so many different people. How do we how do we even think about first of all us not just becoming uh kind of like code review bots ourselves but also how do we how do we maintain that that that focus really and that you know, with such a large amount of change, how do we make sure our levels don't drop our quality of code review stays high?
Yeah, that's a great question. I mean one I would say you know, I've always worked at large companies that have had very large code bases and you know, thousands if not tens of thousands of engineers working on the same code base. So in some ways I feel like that challenge has already been there in terms of just the volume of entropy or change in a code base and understanding what's happening to it. So you know, in some in some ways I think we can just continue to leverage some of the strategies that we've already developed around both resilience testing when it comes to you know, unit tests and integration tests and things like that and I think it becomes even more important because right, how do you know if your code worked? You can read it but really ultimately you have to run it and you have to execute and you have to see what happens.
There's other things there around observability in terms of both noticing what's happening in production and and you know, that's a place that I think we're starting to explore with AI as well. So for instance, a thing that we do at Slack a lot is we have you know, we have a whole way that we structure our channels so that they're kind of semantically related to different topics and one thing we do is if we have a feature team, I'll take huddles as an example. We have an alerts huddles page and that our channel and that is where all of the alerts that are related to huddles will kind of surface and so you can again use things like search answers to kind of figure out what's going on there and ask what what's happening because it can get kind of noisy and you can summarize that channel to really understand changes over time. So I think that's part of the the the the puzzle but then another thing that is a little bit more um maybe subjective or a little bit harder to kind of articulate is I think what individuals need to do and how they need to think about their role. Um and the
4 Highlight · Critical thinking and willpower as limited resources
thing that I encourage everybody on my team to think a lot about is um two things. One is that critical thinking is a muscle and you have to keep doing it and you have to keep exercising it and then two willpower is a limited resource that you only have so much of in a day. So you know talking about that 5,000 line PR, why does it not get any comments? Because you just kind of run out of steam as you're reading it and it becomes kind of challenging. So we need to both think about ways to be selectively or we need to think about what we're asking of our teammates but also what we're asking of ourselves in terms of making sure that we're getting that balance right so that we can spend the time on the critical thinking but acknowledge when we need to take a break and you know kind of pace ourselves. So like a thing I say a lot is right slow is smooth and smooth is fast. Um you know and I think that it's it's sometimes hard in this industry right now at this moment to really lean into that but I think that that's the
Slack operating as an enterprise agent platform
way we will develop the best software and the most resilient software for our customers. Yeah, completely agree. Let's take a look at at the future and and and think about how I guess two things. Um first of all how development will change but I'd love to talk about it from the chat point of view really because um I remember remember the old Devin days that seems like a an age ago when Devin first kind of like announced what they were doing and and what the first way that I certainly used Devin we we we we use it at Tesla a little bit in in some of our PR work and things like that. But the way the way I first used Devin was through Slack and and we we got you know we we grabbed uh we grabbed a trial or or a month or two of of Devin and we started playing with it as a as a development tool whereby we chatted to it in threads and we asked it to do various things it provided us with uh with some a few questions we had a discussion and then it spent you know spent some time generating some code did some tests and
then gave us that code. Sometimes it works sometimes it didn't and and we can do that with new code we can do that with alterations or adjustments to code and and those types of things. And it kind of it very much made Devin that kind of you know uh programmer who was on you know that developer that was on your team which is really what they were going for and I think why they very much lent into you know Slack and and and chat as the means at which to integrate and interact with with tool.
Now obviously as organizations we use Slack so many different organizations use Slack uh around the world then that the natural place for people to to talk about how things should be built or or what what we're building provide information about things that are going wrong or bugs those types of things typically would be perhaps let's go into chat let's go into Slack because because that's where my team are that's that's that's how I I have my contacts I have my data and information.
Um we talked a little bit about this stuff offline but I'd love to kind of like talk through and hear your thoughts on how important chat and chat products like Slack are going to be in terms of our the way that we interact with with coding systems going forward. Yeah yeah I have so much to say about that. Um so you know the first thing I would say is I challenge you on calling Slack a chat app in the sense that the way that we think about it is much more like a work operating system. And what I mean by that is the same thing as literally a normal operating system it is a collection of primitives that all interact with each other that allow you to develop something on top of it. In the case of a normal operating system that would be an application and in the in the case of Slack that's an enterprise that's a business. Um so right we have we have yes chat and a way to organize communication but we also have things like huddles which is a video conferencing tool lists a place for you to put structured information
canvas a place for more kind of unstructured thoughts and and like text um and all of these things have deep integrations with each other that allow you to kind of build up context and track context over time that is stuff that we can pull into and interact with natively through AI. So through agent force you can build agents that actually generate canvases or create lists or even create channels as things go on. Um with Slack AI if you ask a question you can pull in all of that information and grab that and this is something that I work directly on a lot is our enterprise search offering of bringing even more context. So between enterprise search and work objects we are currently working on ways that you can also understand the context of other applications that your enterprise is using. So for instance I have an proposal for a particular project I'm really excited about right now. I wrote it as a Google Doc I've shared it in in Slack over time it gets tracked wherever other people have shared it. So I have
the way as the in the work object to see all of the conversations about that that document even ones in channels I have access to but might not be a member of so public channels. So I can see how how what I am thinking about is getting disseminated throughout the whole the company. That's that's kind of general general abstract work like how we kind of track all that together. Bringing that more closely to development what I'd say is I you know it's it's not even that Slack would be your future IDE I think it's more like Slack is the future of how you build and run and execute your enterprise as a whole. So like we have this thing that you and I talked about offline of this
5 Highlight · Orchestrating autonomous agents in a workspace
thought exercise of what would it look like to be a solo entrepreneur that has Slack workspace with 10 to 100 agents that you use to kind of accomplish your your job and you know I have actually started to develop a Slack workspace where I'm playing around with this idea and so the way that it works right now is I ask Cursor can you make this change to the product that I'm working on and then I have a Vercel integration so a Vercel bot sends in a preview link I can click the preview when it's ready and see it right there and test it and then I can go back to my thread with Cursor and say you know oh no you know you made it red I really would like it to be black or something like that can kind of have this iterative experience. In addition to that I've plugged in things like our Perplexity which is you know an AI kind of search product um where I can search and ask about you know this this is kind of a play example because I'm not actually trying to start a new business but like I think of it as you know what my competitors would be and I ask for details like what's going on with this
company what's going on with that company. I forward all of those conversations to one channel and now I can use AI search to understand the market and the industry. We're still at the beginning of this and there's still some edges here but you could imagine a future where Cursor is reading what other companies are doing and other new features are announced and it just proactively produces new features for my my application and Vercel lets me know when they're available and then I can see it and try it and then I can you know use GitHub to say I need to file these three issues and then Cursor realizes there's new issues in GitHub and fixes them and there's something
there that we're exploring and kind of feeling our way in the dark toward about how these agents all interact with each other as well as with humans to kind of supercharge the experience. Yeah yeah and it's I mean it's like my five times during that conversation my mind just kind of like went off on a tangent like oh that was cool what about is this? Oh well that was cool what about is this? And it's a ton of these different agents that are all effectively like owning their own corners right? So you have Vercel for the kind of like deployment you have Cursor for the code generation and and a number of others that are potentially you know the code reviews and so forth.
But it feels like the plat you know you you absolutely need that platform as the knowledge base right? And today Cursor is so far ahead uh in in terms of the it's so far right for the fact that it you know by the time you even go to a Cursor all the decisions have already been made all the docs have already been written all the thought has already has already happened and it's like now it's it's about how good whoever is driving Cursor is at providing the correct messages the key decisions from all that discussion that's already happened all that context that already lives in in in Slack and like you said the Google Docs and things like that. And it feels like we're probably missing a huge amount that will actually really um really provide that that that key context as to how something should be built and and what needs to be done first and things like that. When you said the one entrepreneur though the solo entrepreneur do you feel like do you feel like um you know we would all be a single person in a team and that team is agents or do
you feel like you know we in the in going forward in the future would be you know a small team of developers whereby we are still leading the discussion between us and then all these agents would jump in at the right points. Do you do you still see that kind of like that team interaction and that that that those those developer teams building those building these these ideas together or do you feel like it's solo developers within these kind of like very agent based uh thought processes and then build something that they then share with other developers.
Yeah, I so, you know, I think of the solo entrepreneur thing is just an extreme example. Like let's take this to a very, very extreme place and see what that would look like. I think there's lots of reasons why that is not probably really realistic as a direction for us to go in and I think we're always going to have larger teams than that. There's a few different reasons for that. One is that I don't agents are not human beings and they can't replace human beings.
They are very good at certain things right now especially. They're mostly good at kind of more constrained wrote kind of aspects of tasks and so I see them more as an accelerant where we can kind of build up over time ways to reduce the tedium of your work and and kind of remove as much of that kind of red tape or that kind of friction so that you can focus on more of the kind of creative aspects, right? Like someone has to write the prompt. And yes, agents can generate prompts for each other, but what I don't think they can do and I don't think that um they will do is is actually imagine the future in the way that a human being can and I don't think you can match human creativity and so you know, what I feel so lucky about working at Slack is I work with some of the brightest, smartest, interesting people who all have very different perspectives and it's through that strength of diversity that we actually get to the best ideas and so you know, the thing that I could see
changing is right now for instance, we obviously as I imagine most AI developer companies are having. We have some heated debates where we have really strong opinions and we all disagree with each other, but we're all right and so it's really hard to kind of break that analysis paralysis. The thing that has worked for us is to admit that we can talk till we're blue in the face, but we won't know until we actually build it and try it to know which direction feels good, right? Slack has always been developed as a product led development cycle where we we really are just passionate about our ideas and what we're interested in is what does it actually feel to use something that you've built. And so I can see a future where agents make this much easier. Like you and I both have an idea of what we should do with the composer in Slack.
Great, I can we can go off and use our agents to kind of build up some kind of scrappy version of what we're talking about so we can better understand each other and feel out which of these feel
Enduring developer skills of curiosity and critical thinking
good. So I think it can also accelerate that kind of conversation and that kind of prevent that kind of analysis paralysis and and help the team move forward. Yeah, pretty interesting. If we if we look at the evolution that that we've seen just in the last few years, couple of years with yeah, okay, originally the the the the first set of AI dev tools that kind of more did very good or reasonable predictive kind of suggestions on a single line, then we saw the multi-line then it kind of like drove into agents and you see them picking more and more tasks or bigger and bigger tasks that they can handle. When we look at what this what this kind of like future of software development is going to is going to look like and I agree with you, you know, we will we will absolutely still have developers, but what is this developer what what will make a good developer in future I guess both from the activities that they're doing, what will they need to be good at from the from the type from the you know, from the point of view of being able to succeed at a specific task and and
secondly, what what are the core the core things that if we could be better at is it is it communication, is it critical thinking, is it is it complex problem solving? What are the key things that we as as developers need to need to be better at for this for this future developer role? Yeah, very interesting question and I wish I knew the future so I could just tell you exactly what what what there is, but you know, I think that the skills that make the most the the best engineers today will continue to be the skills that make the best engineers in the future, which is that they're curious people.
They're empathetic. They are critical thinkers. They're self-reflective and they're always evolving and learning, right? We've had an industry that has always had lots of disruption and lots of change and it can be challenging to want to kind of keep up with it and to and to be kind of always in a perennial kind of learning state and I think remaining curious and interested in playing with things is a really important part of that. So the biggest advice I give people on my team is like make sure that you're trying some of these things and you're asking yourself how there are different ways that you may use it and you know, an old music teacher of mine when I was back thinking I'd be a musician taught me, you know, sometimes the best way to practice an instrument is to go to an art museum and look at art. And that right just the idea that like you got to you can't just do one thing. You have to kind of have that plethora of exploration and understanding
and that helps you in ways that you might not be able to ever articulate or really even see the through line, but it will be there. Like, you know, I'm using chat GPT a lot right now to help me play Oblivion the video game, you know, it's like I don't know I can't draw some kind of direct line to what I'm doing in my professional career, but like there's something there. I'm using an agent. I'm playing around with it. I'm I'm thinking about these kinds of things and you know, so I think being curious and really being open to experimentation is probably the two most important things cuz none of us know where this is going.
Yeah, 100% 100% agree. It's actually one thing in Tessell we we really hyper encourage people to get involved in AI throughout their just generally throughout their you know, certainly the work tasks that they have as well as as well as just more generally. I think it's if you're building AI tooling, the only way to truly be strong at that as you can is to really immerse yourself in it. Know what you like, know what you don't like, know what other people other inventors are doing in and around the space of AI so that you could kind of like build all
Building APIs and platforms tailored for agent consumption
that knowledge, build all that understanding into the tool and you can be a more empathetic to your users who are going to be using these you know, these AI tools as well. In in terms of users, do you feel like you know, the way we build today our users are humans, right? And and and people people will use our use our tools the way we can kind of like more empathize with because you know, we use these tools as well.
The more and more agents get involved, do you feel like we're going to have to almost like have a separate a separate kind of like thread or or swim lane here whereby we need to build for users, but then also we need to build for agents as well. We need to make sure that agents can consume what we're building because they're going to build on top and we need to make sure that they can be successful as as part of that platform. Is is that something as well that we need to be empathetic to agents as well as as well as humans?
Yeah, and we're already doing that. And so some some concrete examples of how we're thinking about that Salesforce and Slack right we have Agent Force which is an agent platform where you can configure agents and now when we build features at Slack, one of the main questions we ask is how do we how would an agent use this feature and how do we expose those tools to I think they're formally called actions on the Agent Force platform, but how do we how do we expose those actions to Agent Force? And the way that we would expose things is not necessarily the same. So like another example is we are currently working on and it's going to be released
6 Highlight · Designing real-time search APIs for LLMs
for an early GA in October what we call our real-time search API. And this is really geared towards LLMs. So it's a search API, so it's a way to expose search, but it's focused on use cases around bringing that content into LLMs to provide you know, kind of agentic experiences. So as an example, when you we give you a search result in Slack, we give you the message and you can click on it and you can read the thread if you want to. You just see the message. But for an agent through an API, we need to give it more context. So right now we focused on things like the messages around that thread or you know, the full thread and things like that, but we're developing and experiencing and thinking about like how do we teach it more about the individuals and tell them who they are, who works together, what their relationships are, what their job roles are. These are all things that we're experimenting with right now. That won't be part of the initial real-time search API, but that's a thing that we're thinking about in terms of how to evolve
it. So we're building those tools today. Another place that you know, is a thing that I'm really excited about that we're only at the start of is a lot of our agentic experiences and when I say our, I mean the industry is really focused on single player. You you know, you're interacting with an agent just the two of you. We have some ways that we are starting to do more multiplayer and that for us at least internally is things like people write Claude.md files for parts of their code base and right and then right I can leverage the work that another engineer has done not even know they did it, right? But the the agent experience is better. But what we really are experimenting with internally and there's some wild stuff, but I don't know what's going to come of it is what is it like to have multiplayer in channel experience with multiple agents and multiple people all interacting and reading and and talking to each other at the same time and how do we make that a value add rather than like a pile and just like you know too
overwhelming. So we have a bunch of prototypes where we have agents that automatically respond to questions that are asked in a channel. We have ones where you know, it's more of an experience where you have to kind of ask it to bring it in. But the important part of those is for me is it's again getting at this issue of we have early adopters and then we have people who are more hesitant or don't even know that these features are available to them. And so part of why I'm so excited about bringing this stuff into channel is what I say a lot is show don't tell, right? It allows these early adopters, these fans to show how you write a prompt and how you share it.
Like a feature we didn't get a chance to talk too much about that we just launched is our canvas AI feature, which is really awesome, but it's still kind of a single player experience. So you can go into a canvas. This is what I do every Friday. I I write a prompt that says some write a document summarizing everything I did this week and group it by topic. And then on every Monday I say read all my unread DMs and give me a action plan of who to respond to and what's the most urgent things for me to respond to. Those are incredible experiences, but you have to discover that you can do that. So we're right now experimenting with ways that we can kind of template ties that or share that with other people. So you know, if you were my co-worker, I could be like here's my prompt. You you can run it every Friday too.
So those are kind of some of the directions we're thinking about with that. That's absolutely fascinating. It's it's wonderful that you that you that you've shared a lot of this with us Sam. We can talk for hours I know, but we have to we have to roll up this episode. So Sam, coming up very very soon Dreamforce. Sounds like there's going to be a lot of super super interesting things happening in the in the Slack AI space for that. So so for those who are who are nearby or for those who who don't mind traveling a little bit, why don't you why don't you check that out.
Whereabouts is that this year? That'll be in San Francisco. San Francisco amazing. Yeah. Cool cool. And it'll be in a various locations over a few days. But please tune in for the Slack keynote because I I really am so excited and cannot wait to be able to talk more about what we're going to announce. And Simon, we should we should meet up afterwards and and I would love to hear more about your thoughts on what what we announce. Absolutely sounds great. Perfect. Thank you very much Sam. It's been a pleasure chatting with you on today's episode. Appreciate you being here and thanks very much for tuning in and listening and we'll speak to you next time. Bye for now.


