Plus One: Internal LLM Platform for Cross-Company AI Adoption

prosus · Tech · 2023 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Internal generative AI adoption platform for a global technology group

Prosus needed a way for teams across many portfolio companies, languages, and domains to discover useful generative AI use cases, test them safely in existing workflows, manage hallucinations and costs, and decide when to use commercial models, RAG, fine-tuning, or agentic execution.

Constraints:

Architecture

Prosus built Plus One as a Slack-based internal AI assistant that aggregates large language models and other generative models behind one social interface. Users can request image generation, audio transcription, code review, documentation, summarization of internal Google Docs, data enrichment, and analysis. The system collects feedback through reactions, including a dedicated hallucination signal, routes requests across models based on cost, quality, latency, and capacity, uses RAG for internal knowledge such as Confluence, supports structured JSON outputs for downstream use cases, and keeps answers visible to teams for social quality control. Prosus also experimented with agents that execute Python analysis, but treats production agents as early and brittle.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  Slack_Plus_One_interface["Slack Plus One interface"] --> Model_routing_layer["Model routing layer"]
  Slack_Plus_One_interface --> Feedback_reactions["Feedback reactions"]
  Model_routing_layer --> LLM_backends["LLM backends"]
  Model_routing_layer --> Generative_media_models["Generative media models"]
  Model_routing_layer --> RAG_pipeline["RAG pipeline"]
  Model_routing_layer --> Cost_monitoring["Cost monitoring"]
  RAG_pipeline --> Internal_knowledge_bases["Internal knowledge bases"]
  Feedback_reactions --> Hallucination_monitoring["Hallucination monitoring"]
  Feedback_reactions --> Model_routing_layer
  Hallucination_monitoring --> Prompt_and_RAG_tuning["Prompt and RAG tuning"]
  Hallucination_monitoring --> Backend_evaluations["Backend evaluations"]
  Prompt_and_RAG_tuning --> RAG_pipeline
  Prompt_and_RAG_tuning --> Model_routing_layer
  Python_analysis_agent["Python analysis agent"] --> Model_routing_layer
  Social_quality_control["Social quality control"] --> Slack_Plus_One_interface
  Social_quality_control --> Feedback_reactions
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Slack Plus One interface Provides the shared conversational surface where employees ask questions and teams can see responses. Model routing layer, Feedback reactions
Model routing layer Routes requests among LLMs and generative models based on capacity, cost, quality, latency, task type, and model suitability. LLM backends, Generative media models, RAG pipeline, Cost monitoring
LLM backends Answer general questions, produce summaries, review code, generate structured outputs, and perform language tasks. Model routing layer
Generative media models Handle non-text modalities such as image generation, transcription, and image captioning. Model routing layer
RAG pipeline Indexes and retrieves internal knowledge such as Confluence or documents, then adds relevant context and attribution to prompts. Internal knowledge bases, Model routing layer
Internal knowledge bases Contain internal Google Docs, Confluence, documentation, and other group knowledge that models otherwise cannot answer from. RAG pipeline
Feedback reactions Collect thumbs-up, thumbs-down, heart, and Pinocchio hallucination signals from users. Hallucination monitoring, Model routing layer
Hallucination monitoring Categorizes hallucination reports by root cause and tracks progress from roughly 10% toward below 2%. Prompt and RAG tuning, Backend evaluations
Prompt and RAG tuning Adjusts prompts, dynamic prompt construction, retrieval strategy, embeddings, hybrid search, chunking, and attribution. RAG pipeline, Model routing layer
Cost monitoring Tracks token and model costs across tasks, languages, context sizes, and endpoints. Model routing layer
Python analysis agent Experimental agent that accepts uploaded spreadsheets, executes analysis in Python, and returns charts or analysis. Model routing layer
Social quality control Relies on Slack team visibility and existing subject-matter-review processes so users do not trust outputs blindly. Slack Plus One interface, Feedback reactions

Data flow

A user asks Plus One in Slack; the platform chooses an appropriate model or generative backend, optionally retrieves internal knowledge through a RAG pipeline, builds a prompt with relevant context and attribution, returns the answer in the team channel, collects emoji feedback including hallucination reports, and uses that feedback plus backend evaluations to improve prompts, routing, RAG settings, and model selection. For agentic data analysis, uploaded files can flow into a Python execution environment before charts or analysis are returned.

4 supporting quotes
“it's got um any and all large language models other generative models under the hood that uh you can interact with by asking questions”transcript, stated
“it lives in slack as you can see here um and it can do a variety of things”transcript, stated
“that's sort of the traditional uh rag approach making sure you do retrieval of the relevant information”transcript, stated
“we do that through intelligent model routing where we essentially make trade-off between three things cost quality and latency”transcript, stated

Why this architecture

Prosus chose a Slack-based shared platform to make experimentation visible, low-friction, and socially reviewable across portfolio companies. Aggregating models behind Plus One let teams discover real use cases before committing to fine-tuning or productization, while feedback, RAG, routing, and cost monitoring made the same interface useful for production lessons about hallucination, affordability, and scale.

4 supporting quotes
“one of the ways that we tried to do that was through a tool that we called plus one because it looked and feeled like a plus one team member”transcript, stated
“thousands of users have been experimenting with plus one uh to kind of go on this Collective uh journey”transcript, stated
“it in a way democratizes skills which is a kind of a cool thing for any team for any organization trying to build things”transcript, stated
“as opposed to many of the other tools out there which you're using by yourself you can actually use this in plus one in slack”transcript, stated

Models used: large language models · generative models · open-source image generation models · audio transcription models · commercial models · fine-tuned models · smaller language models · Python execution environment

Scale

Alternatives considered (roads not taken)

Start every use case by fine-tuning proprietary models

Rejected because: Prosus found teams could discover value faster with prompt engineering, model selection, and commercial models before taking on fine-tuning and hosting complexity.

“you actually don't need to find T your models yet”transcript, stated
“try and experiment fast before you start thinking about uh getting all of the the things in house to fine-tune your own model”transcript, stated

Use one default model endpoint for all requests

Rejected because: Capacity, latency, cost, and quality vary by task, so Plus One needs routing across model endpoints.

“where do you route your request depending on capacity is certainly important”transcript, stated
“having a way to actually route between your models is one of the key components of a system like plus one”transcript, stated

Treat RAG as a general hallucination cure-all

Rejected because: Prosus found RAG is hard, context-specific, and sensitive to retrieval strategy, embeddings, hybrid search, chunking, prompt construction, and attribution.

“everybody believes that and and we do to certain extent it can solve a lot of the hallucination problems”transcript, stated
“making it generalizable is very hard”transcript, stated

Trust individual LLM answers in isolation

Rejected because: The team put Plus One in Slack so answers are visible to colleagues and can be corrected through social quality control.

“you can have your team uh you know look at what the answers are that it generates”transcript, stated
“social quality control which is an additional layer of uh of ensuring that uh you know you don't end up uh confiding in an answer without verifying it”transcript, stated

Rush agentic workflows into production

Rejected because: Prosus found agents exciting when they work but brittle, non-deterministic, prompt-sensitive, and model-update-sensitive.

“when they work it's phenomenal and it really does provide you kind of a magical moment for a user”transcript, stated
“they're very brittle very sensitive to updates in the model very sensitive to the prompt”transcript, stated

Patterns

model-routing (model-ops)

Plus One routes requests across multiple model endpoints and capabilities by task, capacity, quality, latency, and cost.

“we do that through intelligent model routing where we essentially make trade-off between three things cost quality and latency”transcript, stated
“depending on capacity is certainly important”transcript, stated

cost-aware-routing (cost)

Prosus monitors task costs and routes to smaller, cheaper, or more efficient models and prompts when they meet quality and latency needs.

“we continuously try to understand what are the costs of uh of of answering or fulfilling this question fulfilling this task”transcript, stated
“choosing a simp a cheaper model uh right so if you have a smaller model then uh that of course will be cheaper”transcript, stated

rag-retrieval (retrieval)

Plus One connects models to internal knowledge bases such as Confluence and uses retrieval, indexing, prompt injection, and attribution to reduce hallucinations.

“connecting these these um uh models to specific uh knowledge bases”transcript, stated
“having it indexed either through embeddings or otherwise and then uh put it into the uh The Prompt”transcript, stated

observability-tracing (operations)

Prosus collects user reactions, hallucination labels, backend evaluations, model/version behavior, and cost histories to monitor platform quality.

“we use to kind of collect feedback to understand you know how well how good is this response how valuable is it”transcript, stated
“we could then go back to the models and so on to figure out uh in which case which model uh version was doing better”transcript, stated

human-in-the-loop-gate (control)

Plus One deliberately operates in Slack and existing quality processes so team members, subject matter experts, teachers, or content teams can review and correct outputs.

“it's supposed to operate in a human context with other team members right it doesn't do things by itself”transcript, stated
“there's essentially a human in the loop that somehow checks the quality uh continuously”transcript, stated

structured-output-contract (output-control)

Users discovered business use cases by asking Plus One to transform answers, such as dish ingredients, into JSON suitable for downstream enrichment workflows.

“can you structure it in Json”transcript, stated
“this could be one of those uh use cases that would be extremely valuable”transcript, stated

prompt-versioning (prompt-ops)

Prosus uses prompt engineering and dynamic prompt construction to reduce hallucinations and adapt RAG context to specific use cases.

“can we solve some of that through prompting which we then did”transcript, stated
“some of it's through prompting some of it's through Dynamic prompt building”transcript, stated

tool-use-orchestration (agent-architecture)

The experimental data-analysis agent orchestrates file upload, Python execution, chart generation, and analysis through Plus One.

“we have created some agents here's one that does data analysis where you can upload an Excel sheet it then goes to you know a python execution environment”transcript, stated
“plus one generate uh in this case a chart and do some of the analysis”transcript, stated

Tradeoffs

Put Plus One in Slack.

Chose shared Slack workspace interaction over private one-user AI tools.

Rationale: Slack lowers adoption friction and creates social quality control because teammates can see, critique, and correct outputs.

“to to talk to it mostly through slack uh”transcript, stated
“you can have your team uh you know look at what the answers are that it generates”transcript, stated

Use model routing instead of a single best model.

Chose routing by cost, quality, latency, and capacity over one model endpoint for all tasks.

Rationale: Different tasks and capacity states require different tradeoffs, and latency can become infinite when capacity is unavailable.

“latency is basically a capacity issue right if you don't have capacity your latency becomes infinite”transcript, stated
“you have to choose and so having a way to actually route between your models is one of the key components”transcript, stated

Use commercial/general models to discover use cases before fine-tuning.

Chose prompting, model choice, and general models first over collecting custom datasets and fine-tuning immediately.

Rationale: General models can reveal valuable tasks quickly and avoid the hosting and operational complications of fine-tuned models until value is proven.

“you can just out of the box use a powerful model like this one to uh answer it”transcript, stated
“which then needs to be hosted which you know has all sorts of other uh complications down the line”transcript, stated

Balance flashy innovation with low-hanging operational use cases.

Chose both candy and vegetables over only novel demo-heavy use cases.

Rationale: Existing problems such as data enrichment may deliver immediate value even if they are less flashy than new conversational experiences.

“finding a balance between going for the SE stuff and uh at the same time also making sure that you pick up the unsexy low hanging fruit”transcript, stated
“this data enrichment example that I gave you about taking a dish and understanding or asking a model what its ingredients are is it vegetarian”transcript, stated

Use humans and existing review processes where answers affect users.

Chose team review, subject matter experts, teachers, and content curators over fully automated user-facing answer publication.

Rationale: Prosus works in education and other sensitive domains where quality expectations already depend on human review.

“you can actually use some of these uh you know existing processes to ensure that the quality of the answers is what you like”transcript, stated
“subject matter experts that we have the teachers and so on”transcript, stated

Gotchas (what bit them)

Hallucinations were common enough to need a dedicated feedback path.

Root cause: Models answered questions about internal information, recent facts, or general factual details they could not reliably know.

Resolution: Prosus added a Pinocchio hallucination reaction, categorized hallucination causes, tuned prompts, and connected models to internal knowledge through RAG.

“the fourth one uh is related to uh the mushrooms of Demetrios right it's the hallucination we call it lovingly the Pinocchio Emoji”transcript, stated
“people are asking questions related to uh internal you know information that these models can't answer unless you give them access to it”transcript, stated

RAG pipelines are difficult to generalize across content types.

Root cause: Retrieval strategy, embeddings, hybrid search, chunk size, prompt construction, and attribution vary by documentation, code, books, papers, Jira cards, and other formats.

Resolution: Tune the RAG pipeline per context and treat retrieval/prompt hyperparameters as use-case-sensitive rather than universal.

“it's very hard and um uh context specific how you build this rag pipeline”transcript, stated
“all those hyper parameters are very sensitive to the use case”transcript, stated

Global language and code workloads create hidden token cost penalties.

Root cause: Tokenizers trained primarily on English can use far more tokens for non-English text or code with the same character count.

Resolution: Account for tokenization economics when choosing models and deploying across languages or code-heavy tasks.

“this token uh uh tokenization uh approach here is actually much more inefficient for non-english languages than it is for English”transcript, stated
“picking the right tokenization can actually help you a lot when you go um uh to non-english”transcript, stated

Agentic execution compounded errors and produced inconsistent user experiences.

Root cause: Agents combine non-deterministic model behavior with multi-step execution, prompt sensitivity, and model-update sensitivity.

Resolution: Keep agents exploratory, use them where the value is compelling, and avoid overclaiming production reliability until consistency improves.

“when you start doing executions the kind of room for error compounds”transcript, stated
“that non-deterministic behavior also compounds and and creates kind of a strange user experience”transcript, stated

Successful prototypes can hide production cost and impact problems.

Root cause: At large-company scale, a working POC still has to be cost-effective and move business metrics.

Resolution: Evaluate affordability, routing, and metric impact before productizing flashy generative AI use cases.

“it's often easy to do a PC but especially when you're operating at scale um shipping that product in a cost effective way um is hard”transcript, stated
“making sure you actually have impact on your metrics um is something that still needs to be demonstrated”transcript, stated

Evaluation

Prosus evaluates Plus One through Slack reaction feedback, a dedicated hallucination emoji, model/version comparisons by task type, backend evaluations for known failure buckets, productivity studies, cost tracking, and production-quality review by humans or subject matter experts.

Metrics: Thumbs-up feedback · Thumbs-down feedback · Heart feedback · Pinocchio hallucination feedback · Hallucination rate from about 10% to below 2% · Model/version performance by task type · Productivity and speed studies · Cost per task · Latency and capacity behavior · Token counts by language and code · Backend evaluations for hallucination buckets

4 supporting quotes
“four emojis right thumbs up thumbs down heart and the little Pinocchio”transcript, stated
“when we actually did some uh some very specific studies on trying to measure productivity and speed”transcript, stated
“some evaluations that we do basically on the back end to control for that”transcript, stated
“we continuously try to understand what are the costs of uh of of answering or fulfilling this question fulfilling this task”transcript, stated

Outcomes

Prosus is a global group serving about two billion users, and Plus One was used by thousands of internal users with more than half a million questions in about one year.

4 supporting quotes
“over half a million questions asked to plus one in the last year or so”transcript, stated
“about a 50/50 split between engineering and non-engineering”transcript, stated
“one of the conclusions we were able to draw is that it's able to improve productivity”transcript, stated
“now this is a stat from June we're uh you know comfortably below 2%”transcript, stated