TL;DR: AI meeting notes fail in boring, predictable ways: the same call imported twice, early proposals logged as decisions, the wrong person credited, old decisions never retired, a bot that goes silent with no alert. Every one of these is fixable, and none of them shows up in a demo. Below are the nine we hit in a month on real calls, the fix for each, and what to demand from any vendor before you trust it with your decisions.
A company brain is a system that listens to your calls and chats, pulls out decisions and tasks, and answers questions like "what did we agree about the supplier" months later. In a demo it looks finished. On real calls, with real audio, three note-taker bots in one meeting and a team that talks over each other, it breaks in specific places.
I run an automation studio and we sell this, so discount accordingly. I am writing the failure list anyway because it is the most useful thing I can give a buyer. Everything below happened in one of the companies we run it in, over about a month. I am not naming the company or the people.
If you are searching for AI meeting notes accuracy, an AI decision log from meetings, or the usual AI knowledge base problems, this is the list I wish someone had handed me before we started.
Why did the same meeting show up twice?
Because three note-taker bots joined one call and each produced its own transcript. Our import tried to detect duplicates by matching speaker names. One of the three copies had only "Speaker 1" and "Speaker 2", so the names never matched and both copies went in.
The result is a knowledge base that counts one decision twice, and later answers that sound extra confident because two sources agree. They are the same source.
Fix and vendor question
- Fix: same time window means same meeting. Match on when the call happened, not on who the transcript says was there. Keep the best copy and link the others to it.
- Ask the vendor: what happens when two tools record the same call? Ask them to show you, not describe it.
Why do early proposals end up logged as decisions?
Because long transcripts get cut into pieces before analysis. Ours were split at about 30,000 characters and each piece was analysed on its own. Someone floated a proposal early in the call and the group settled on something different near the end. The first piece logged the proposal as a decision, the last piece logged the real one, and the system stored both side by side.
Each piece was read correctly. The mistake was never reading the whole call as one conversation. Calls are not a list of independent paragraphs. The last word usually overrides the first.
Fix and vendor question
- Fix: a reconciliation pass over the whole call after the pieces are done. It looks at every extracted decision together and drops or marks the ones that a later part of the call replaced.
- Ask the vendor: how do you handle a call longer than the model can read in one go? If the answer is "we chunk it", ask what happens after the chunks.
Can transcription change what was said?
Yes, and it did. The transcription service translated English speech into another language and made errors in the process. A weekday changed. A product term turned into a word with an unrelated meaning. Nobody noticed until someone asked when a meeting was and got the wrong day.
Logistics are where this hurts. Days, dates, names and amounts are exactly what people ask a brain for, and exactly what a translation step can quietly corrupt.
Fix and vendor question
- Fix: keep the original language end to end, and forbid the model from guessing logistics. If a day or time is not clearly in the transcript, the answer says it is not clear.
- Ask the vendor: is the transcript stored in the language spoken? Does the system ever translate before extracting? What does it do when a date is ambiguous?
Why did the system credit decisions to the wrong person?
In our case the owner of the company was credited with decisions on calls he was not on. Another participant talks like a decision maker, confident and in the imperative, and the model attributed the authority to the person it knew had the authority. A passing remark also turned into a task that nobody had agreed to.
This is the failure with the highest cost, because a wrong attribution reads as fact. A status report that says "the owner decided X" ends arguments. It should start one.
Fix and vendor question
- Fix, part one: aliases per person, so the same human is recognised under every name, nickname and transcript label, and only people who were on the call can be credited.
- Fix, part two: status reports for the owner are built from the transcript, not from the extracted task list. The task list is a guess. The transcript is the record.
- Ask the vendor: how do you know who said something? Can I see the exact line in the transcript behind any decision or task? If every item does not link back to the words, walk away.
What happens to proposals nobody has approved?
They pile up. At one point about 326 proposals were waiting for a human to approve or reject them. The search was ranking them alongside approved facts, so unapproved guesses leaked into answers and sounded just as authoritative as confirmed decisions.
Human approval is a good control. A human approval queue nobody empties is not a control, it is a pile of unverified text sitting inside your search index.
Fix and vendor question
- Fix: proposals expire after 7 days. In the first pass 135 expired. Approved items rank higher than anything pending, so a guess can never outrank a confirmed fact.
- Ask the vendor: is unreviewed content searchable? Is it labelled as unreviewed in the answer? What happens to items nobody reviews?
How does the brain know a decision was replaced?
In our first version it did not. Decisions were stored and never marked as replaced when a newer one contradicted them. Ask about a price, a deadline or an owner and the answer blended the old position with the new one, because both were equally present and equally well phrased.
Companies change their minds constantly. A knowledge base that only adds is a record of everything you ever believed, not of what you believe now.
Fix and vendor question
- Fix: superseded marking. When a new decision replaces an old one, the old one is flagged as replaced, kept for history, and left out of current answers.
- Ask the vendor: when two decisions conflict, which one wins and how does the system know? Can I see the history of a decision, old and new?
What if the bot stops answering and nobody tells you?
This happened. The model API key hit its spending limit and the bot went quiet for everyone for almost two days. There was no alert. People assumed it was slow, then assumed it was broken, then stopped asking. Trust in a tool like this is expensive to build and cheap to lose.
The cost side matters too. Using the strongest model for every routine chat message is how you hit a limit like that. We measured both on 30 real questions: about $0.006 per answer with a cheaper model for routine chat, against about $0.12 per answer on the strong model.
Fix and vendor question
- Fix: an alert when the key approaches its limit, so a human hears about it before the users do, and a cheaper model for routine chat with the strong model kept for the hard questions.
- Ask the vendor: what happens when the model provider fails or the budget runs out? Who is told, how fast, and what does the user see in the meantime?
Do scheduled checks run when nobody is at the computer?
Not if they live on a laptop. We had "daily" health checks scheduled on a laptop. The app was closed for a week and the checks did not run. From the outside they looked alive, because the schedule was still there. They were dead.
The dangerous version of a failure is the one that looks like success. A check that never runs reports nothing, and nothing looks the same as all clear.
Fix and vendor question
- Fix: run the checks on a server, and check the last-run time, not just whether a schedule exists. A check that has not run on schedule is itself a failure.
- Ask the vendor: where do your monitoring jobs run? What alerts you if the monitor itself stops?
How do you test an AI knowledge base before you trust it?
With a fixed set of real questions and a list of phrases each answer must not contain. We use 19 real questions taken from actual use. For each one we write down the facts the answer should include and, more important, the phrases it must never contain: the stale price, the wrong person, the guessed date.
The strong model passes 19 of 19 on this set, at about $4.69 a run. That price is the point. A test this cheap can run after every change, and we do run it after every change. Most of the failures above would have been caught on day one by a question set like this, if we had had one on day one.
Be careful with how you read your own score. Nineteen questions is a small set, and passing it means the known failures are covered. It does not mean the system is correct on everything. Every new failure becomes a new question, so the set grows with the bugs.
Vendor question
- Ask the vendor: what is your regression test? How many questions, how often does it run, and can I add my own?
- Ask for the negative checks specifically. A test that only checks the right answer appears does not catch a wrong answer sitting next to it.
When should you not buy a company brain?
If your team has few calls, your decisions live in two documents and the owner makes them all, a shared folder and a weekly summary will serve you better. A brain earns its keep when decisions are scattered across many calls and many people, and when someone has to answer "what did we decide" regularly.
Also hold off if nobody will own it. Someone has to approve proposals, notice when an answer is wrong and report it. Left alone, even a good system drifts, and the fixes above are what stop it drifting fast.
What should I ask any vendor before I buy?
Print this and put it on the table. A vendor who has run the product on real calls will have answers. A vendor who has only run demos will start talking about features.
Vendor checklist
- Duplicates: what happens when two or three tools record the same call?
- Long calls: how do you handle a transcript longer than the model reads at once, and what happens after you split it?
- Language: is the original language kept? Does anything translate before extraction? What happens with an ambiguous date?
- Attribution: how do you know who said it? Can I see the transcript line behind every decision and task?
- Aliases: how does one person map to several names and labels?
- Unreviewed content: is it searchable, and is it labelled? What happens to items nobody reviews?
- Replaced decisions: when two decisions conflict, which wins, and can I see the history?
- Failure alerts: what happens when the model budget runs out or the provider fails, and who hears first?
- Monitoring: where do scheduled checks run, and what tells you if the monitor itself stops?
- Testing: what is your regression set, how often does it run, and can I add my own questions with phrases that must not appear?
- Cost: what does a routine answer cost, and what does a hard one cost?
None of these questions needs a technical background. They need a vendor who has watched the system fail and fixed it. If you want to talk it through, or want a second opinion on a tool you are already considering, I will tell you plainly whether it covers these. Ivan / 2pizza.team
We run Brain with these checks built in. See Brain