Viktor: AI Coworker That Lives in Slack — Fryderyk Wiatrowski
This talk explores the journey of building Viktor, an AI employee that lives entirely in Slack. It details the unique challenges of scaling an AI agent from a personal tool to a company-wide coworker, focusing on memory isolation, context management across different Slack interactions (DMs, channels, threads), and the surprising importance of the AI's personality for user adoption.
Viktor is an AI employee designed to live and work alongside human teams directly in Slack, without a separate web interface. Unlike specialized human roles, Viktor has a broad, horizontal context across the entire company. It can access and utilize any tool the company uses through a vast library of integrations, or by building its own connections, effectively giving it a universal, PhD-level understanding of all business areas.
The Journey from Web Agent to AI Employee
The path to Viktor involved several iterations. The initial attempt in 2023 was a web agent, JCAI, which operated by taking DOM snapshots to decide on actions like clicking buttons or typing in fields. While state-of-the-art on benchmarks like WebArena, it was too slow and unreliable for a commercial product, often failing after 3-5 steps. The project then pivoted to an email agent, which could proactively trigger workflows based on incoming emails, such as processing refunds. This set the stage for Viktor, which launched in February as a full-fledged company agent in Slack.
Challenges of Scaling from a Personal to a Company Agent
Moving from a single-user personal agent to a multi-user company agent introduces significant architectural challenges, particularly around context and memory.
- Memory Management: A common concern for personal agents is memory becoming cluttered over time. For a company agent serving 100 users, this problem is amplified 100-fold. The system must be robust enough to manage a much larger and more complex memory space.
- Context Isolation: It is critical to ensure that information does not leak between different parts of the organization. For example, context from a private executive channel must never be exposed in a general engineering channel. Likewise, personal conversations in DMs should not be influenced by public channel discussions unless explicitly relevant to that user’s role. The agent must understand and adhere to the company’s implicit and explicit hierarchies.
- Shared Integrations: A key advantage of a company agent is the shared context. Only one person needs to connect an integration (e.g., Meta Ads), and the entire team gains access. This simplifies onboarding but requires careful permissioning and management to avoid errors or misuse.
Why Slack is the Ideal Interface
Choosing Slack as the primary interface was a deliberate decision based on two key insights:
- Natural Interaction: People interact with human colleagues in Slack, not in web apps. Placing the AI in the same environment makes the interaction feel natural and intuitive.
- Perception of Latency: In a web app, users expect instant results. A task that takes 10 minutes is a frustrating user experience. In Slack, if you ask a colleague to build an app and they deliver it in 10 minutes, it’s astonishingly fast. This reframes user expectations, making asynchronous, complex tasks feel responsive and impressive.
The Nuances of the Slack Environment
Slack is a complex input surface that goes beyond a simple, linear chat thread. An effective agent must handle:
- Multiple Interaction Modes: The agent needs to interpret DMs, channel messages, threads, message edits, deletions, and even emoji reactions as meaningful inputs.
- Contextual Drift: Conversations often start in one place (e.g., a DM) and continue in another (e.g., a thread or a new DM). The agent must be able to “roll over” the context from previous interactions to maintain a coherent conversation, just as a human would.
Key Learnings and Product Insights
- Personality is a Critical Feature: During an A/B test, the team tried replacing the core model (Opus 4.6) with a cheaper and technically proficient alternative. Users immediately revolted, complaining about the change in personality. They had grown to like the slightly “sassy” and friendly tone of the Opus-powered Viktor, demonstrating that user adoption is tied not just to performance but also to likability.
- Proactivity Must Be Earned: Viktor can proactively join conversations with relevant data, such as checking PostHog to validate if an A/B test result is statistically significant. While powerful, this behavior can alarm security teams and overwhelm new users. The best practice is to earn trust with initial users first before rolling out proactive features more broadly.
- An AI Is a Hire, Not a Tool: This distinction is crucial for users to understand. In one instance, a customer connected their personal Gmail as a team-wide integration, inadvertently giving their colleagues access to private emails via Viktor. This incident inspired the creation of scoped integrations, allowing users to connect personal tools that are kept separate from shared team resources.
To build a great AI coworker, you need to focus on three pillars:
- It helps get work done.
- It knows the company and has the right context.
- It is friendly and liked by the team.
This work is framed as the modern realization of a long-held vision, articulated by Gottfried Leibniz in the 17th century: “It is unworthy of excellent men to lose hours like slaves in the labor of calculation. Let us leave that to machines.” Today, we are extending this principle from calculation to all cognitive tasks.