Skip to content

Command Palette

Search for a command to run...

Editorial standards

Corrections

When we get a fact or a code sample wrong, we fix it, add a dated note at the top of the corrected page and list it here. Fixes that touch many pages at once are listed here only. Wording, spelling and layout changes are not corrections and are not listed.

How we decide what counts as a correction is in our editorial policy →. Spotted something wrong? Email connect@learnaiengineering.dev or use the contact page →, with the page address and what you expected.

20 corrections

  1. Local and open-source models →

    What was wrong
    The local-versus-cloud experiment overstated cloud costs by about 100 times (2M tokens a day was shown as about $60 a day) and said self-hosting a 70B model breaks even at about 5M tokens a day. It also called public OpenAI non-compliant for health data.
    What we changed
    Costs are now computed from one dated price table: 2M tokens a day is about $0.52 a day on gpt-4o-mini, and break-even for a 70B model on 4 GPUs is about 30M tokens a day against gpt-4o. GPU costs are labelled illustrative, and the health-data line says to check your provider's BAA and data-retention terms.
  2. Cost and reliability →

    What was wrong
    The stacked-savings experiment claimed a 97% cost reduction its own inputs did not give, and presented its uptime figures as facts. The cost blow-up example ($200 to $4,800 a day) used multipliers that did not multiply out, and the 10k-call exercise said gpt-4o cost $200 a day.
    What we changed
    The experiment now computes its reduction (90%) and labels the uptime figures illustrative. The blow-up uses one breakdown (3 × 2.3 × 3.58 × 7.2 ≈ 178x, about $200 to $35,800 a day), and the exercise computes $130 a day from the dated price table.
  3. Retrieval and reranking →

    What was wrong
    The hybrid search sample used psycopg2 with parameters out of placeholder order, applied the permission filter only when filters were passed (so access control was not enforced at query time as the text said), and called PostgreSQL's ts_rank BM25.
    What we changed
    The sample uses psycopg 3 throughout with parameters in order, the permission filter is a required argument applied in both queries, and ts_rank is described as PostgreSQL full-text search.
  4. Model Context Protocol (MCP) →

    What was wrong
    The MCP sample did not match the MCP Python SDK's API, used names it never defined, and relied on a check that the SQL starts with SELECT for read-only access.
    What we changed
    Rewritten for the MCP Python SDK 1.x (a FastMCP server and a ClientSession client), with every name defined and read-only access from a read-only Postgres role.
  5. Workflow graphs →

    What was wrong
    The LangGraph human-review step called an approval function and a checkpointer that were never defined, so the graph could not pause and resume as described.
    What we changed
    Human review now uses LangGraph's interrupt() with an InMemorySaver checkpointer and resumes with Command(resume=...) on the same thread.
  6. AI safety, bias and content moderation →

    What was wrong
    The bias experiment presented invented figures as if they were measurements, and called a lending outcome illegal without saying where.
    What we changed
    Every figure is labelled an invented example, and the lending point now says many jurisdictions prohibit it and to take legal advice for yours.
  7. Agent memory and planning →

    What was wrong
    The planner asked the model for a JSON array and then read a "steps" key from it, so the code would fail.
    What we changed
    The planner uses Structured Outputs with a typed result and reads its steps from the parsed output.
  8. Observability and tracing →

    What was wrong
    The trace experiment's call costs ($0.0003 and $0.08) did not match the models' prices.
    What we changed
    The costs are computed from the dated price table: $0.00018 and $0.024.
  9. Data and databases →

    What was wrong
    The pgvector schema declared a 1024-dimension column for text-embedding-3-small, which returns 1536 dimensions by default, so inserts would fail.
    What we changed
    The column size now comes from the embedding model (1536), with a note that the two must match.
  10. LLM fundamentals →

    What was wrong
    The sample read a latency_ms field from the API response, which the API does not return.
    What we changed
    The sample times the call itself with time.perf_counter().
  11. Tutorial series pages →

    What was wrong
    Chapter and lab counts were typed by hand and were wrong on several series (Building LLM Applications and Production AI Systems showed the wrong number of chapters), and "This completes the series" appeared on chapters that were not the last.
    What we changed
    Counts are computed from the chapter and lab data, and the completion message appears only on each series' last chapter.
  12. Chapter experiments →

    What was wrong
    Experiment results showed made-up figures without saying so.
    What we changed
    Every experiment result now says "Figures are illustrative; measure your own."
  13. Cost blowup after launch →

    What was wrong
    The figures did not multiply out: costs went from $200 to $4,800 a day (24x), but the diagnosis multiplied to about 230x. The matching interview answer and daily practice card had the same problem.
    What we changed
    One breakdown is used everywhere: 3 (traffic) × 2.3 (cache) × 3.58 (model mix) × 7.2 (prompt size) ≈ 178x, about $200 to $35,800 a day, with dated prices. The interview answer's stacked savings are now 0.4 × 0.25 × 0.5, about 95%.
  14. What is Grok Bot? xAI's always-on AI teammates explained →

    What was wrong
    Several details did not match xAI's own documentation, the plan table was out of date, and the post made claims we could not find in xAI's docs (about CAPTCHAs, password managers and the underlying model).
    What we changed
    Rewritten from xAI's pages and Cursor's pricing page: all bots on an account share one computer, bots hand you the computer for sign-in, 2FA and payment, and the plans are today's. The unsourced claims are removed.
  15. When should an AI agent ask permission? Approval design →

    What was wrong
    The post attributed a line to xAI (Auto Review "complements, not replaces, least privilege") that we could not find in xAI's docs.
    What we changed
    It now describes Auto Review as xAI's docs do: a separate review model that works alongside approvals, the network policy and per-user isolation.
  16. How to cut LLM costs: caching, routing and compression, with a worked example →

    What was wrong
    The title promised a 90% cost cut, which is the result of a worked example with stated assumptions, not a typical outcome.
    What we changed
    The post is retitled and moved from /blog/how-to-reduce-llm-costs-by-90-percent (the old address redirects). The body labels 90% as a worked model.
  17. Dots, Muse, Grok Bot and Gemini Spark compared (October 2026) →

    What was wrong
    The comparison ranked the agents ("best for", "the only one") without a basis, quoted Muse prices that are not on Meta's page, and had out-of-date Gemini Spark facts.
    What we changed
    The comparison is unranked and dated, the Gemini facts follow Google's pages, and the Muse price amounts are replaced with a general description of its plans.
  18. OpenAI DevDay 2026 for agent builders: computer use, Sol, MCP events →

    What was wrong
    OpenAI's pricing claim and stats were stated as our own facts, the source links pointed to outdated pages, and the Luna model name was presented as OpenAI's.
    What we changed
    The claims are attributed to OpenAI, the links point to OpenAI's current recap, and the Luna name is attributed to press coverage.
  19. AI agents and workflows, no coding needed →

    What was wrong
    The page treated every "Grok bot" as unofficial, although Grok Bot is xAI's own product.
    What we changed
    It now uses one explanation that separates the Grok app, the xAI API, @grok on X, Grok Bot and unofficial third-party bots, checked against xAI's pages.
  20. Choose the right AI model →

    What was wrong
    Provider "strengths" were stated without sources, and the Grok explanation left out Grok Bot.
    What we changed
    The strengths are replaced with checks you can run on your own work, and the Grok explanation matches the agents page.