Lab online·~/experiments

Victor's AI Lab.

14 specimens·6 categories

An experimental playground for exploring AI systems, testing ideas, and learning through building. Not polished — on purpose.

EXPERIMENTS·RESEARCH·LEARNING·PROTOTYPES

★FEATURED SPECIMEN·RAG

Aug 12, 2026 · EXP-014

CH-01 · EXP-014live
0mst →
Iterating·Mistral 7B · QLoRA · pgvector
›Question
Can a small open-source model be trained to refuse to answer when retrieval confidence drops below a threshold — instead of hallucinating?
›Experiment
Fine-tuned Mistral-7B with QLoRA on 4k synthetic (query, grounded-answer, refusal) triplets. Hybrid retriever (BM25 + dense) feeds top-8 chunks with calibrated scores. Generator forced to emit either a cited answer or a structured REFUSE token.
›Result
Refusal precision climbed from 0.61 → 0.89. Hallucination rate dropped 3.4×. Cost: 18% increase in latency and ~600 MB extra VRAM at inference.
›What I learned
A small model can learn citation discipline, but only if the training data includes plenty of 'should have refused' examples. The generator over-trusts context without them.

Specimen index.

13 entries

  • exploring1
  • successful8
  • failed2
  • iterating3
  • CH-01 · EXP-013live
    0mst →
    EXP-013/Agents·Successful·Jul 28, 2026

    Agent loop with a self-critic step

    Does adding an explicit self-critic step (generate → critique → revise) improve tool-use agent accuracy on multi-hop tasks?

    ↳ Test agent reached 71% final-answer accuracy vs 58% control. Cost: 2.3× more tokens. Critic flagged real errors 64% of the time, hallucinated issues 11%.

    Claude SonnetLangGraphTavily
    /exp-013private · notes only
  • CH-01 · EXP-012live
    0mst →
    EXP-012/Local LLM·Successful·Jul 10, 2026

    Quantising Llama-3 8B for M-series Mac

    What's the lowest quantisation level at which Llama-3 8B remains useful for code review on a 16 GB M2 MacBook?

    ↳ q4: 0.92 alignment with GPT-4o. q3: 0.78. q2: 0.51, with frequent reasoning collapses. Memory: 4.6 GB / 3.8 GB / 3.1 GB respectively.

    Llama-3 8BMLXGPTQ
    /exp-012private · notes only
  • CH-01 · EXP-011live
    0mst →
    EXP-011/Prompts·Successful·Jun 22, 2026

    Prompt contract for tool calls

    Can a strict JSON-schema prompt contract reduce tool-call format errors below 1% without using constrained decoding?

    ↳ Format errors dropped from 4.7% to 0.6%. Adding few-shot examples of valid edge cases (nulls, empty arrays) closed most of the remaining gap.

    Claude HaikuJSON schema
    /exp-011private · notes only
  • CH-01 · EXP-010live
    0mst →
    EXP-010/Multimodal·Iterating·Jun 04, 2026

    Multimodal PDF chunking

    Does rendering each PDF page as an image and letting a vision model extract semantic chunks beat traditional text extraction on mixed-layout documents?

    ↳ Vision approach: 0.79 recall@5. Layout-aware: 0.71. Plain text: 0.54. Vision cost: 14× more, 9s/page vs 0.3s.

    GPT-4o visionUnstructuredChroma
    /exp-010private · notes only
  • CH-01 · EXP-009live
    0mst →
    EXP-009/Agents·Failed·May 18, 2026

    Why my agent kept calling the same tool

    Why does my ReAct agent repeatedly invoke the same search tool with near-identical queries until it hits the step limit?

    ↳ 62% of failures were repetition loops, 24% were circular tool chains, 14% were infinite confirmation loops. Only the progress-check prompt actually helped — 71% reduction.

    Claude Haikufunction calling
    /exp-009private · notes only
  • CH-01 · EXP-008live
    0mst →
    EXP-008/Local LLM·Successful·May 02, 2026

    Local RAG with no vector DB

    How much of a difference does the vector DB actually make for a single-user, single-machine RAG setup with under 10k documents?

    ↳ Vector: 0.68 recall@5. BM25: 0.61. Difference smaller than expected. Vector pipeline took 3× longer to index and 1.4× longer to query.

    llama.cppNumpyBM25
    /exp-008private · notes only
  • CH-01 · EXP-007live
    0mst →
    EXP-007/Prompts·Exploring·Apr 14, 2026

    AI eval rubrics for subjective tasks

    Can LLM-as-judge work for subjective tasks (UX writing, design critique) if the rubric is structured carefully enough?

    ↳ Opus-judge vs human agreement: 0.74 (writing), 0.68 (code review), 0.61 (design). Disagreement clusters around 'specificity' criteria — humans reward detail, the model rewards confidence.

    Claude Opusrubric design
    /exp-007private · notes only
  • CH-01 · EXP-006live
    0mst →
    EXP-006/Local LLM·Failed·Mar 29, 2026

    Streaming a 70B model on consumer hardware

    Can a 70B-parameter model run interactively (≥15 tok/s) on a single consumer GPU with offloading tricks?

    ↳ Best case: 11.2 tok/s with 12 GB CPU offload. Acceptable for batch but not for chat UX. 8-bit variant hit 6 tok/s — unusable.

    Llama-3 70Bexllamav2NVLink offload
    /exp-006private · notes only
  • CH-01 · EXP-005live
    0mst →
    EXP-005/Developer Tools·Successful·Mar 11, 2026

    Building a minimal eval harness

    What's the smallest eval harness I can build that still catches regressions across prompt and model changes?

    ↳ Caught 4 silent regressions over the month that I would have shipped. Cost: ~2 hours to build, ~10 minutes per run. Replaced my prior 'spot-check' workflow entirely.

    PythonPytestJSONL
    /exp-005private · notes only
  • CH-01 · EXP-004live
    0mst →
    EXP-004/Multimodal·Successful·Feb 20, 2026

    Vision-language document Q&A

    For scanned invoices and receipts, does sending page images directly to a vision model beat OCR-then-LLM pipelines?

    ↳ OCR pipeline: 0.71 field accuracy. GPT-4o vision: 0.93. Claude vision: 0.91. Vision models also handled handwritten fields that OCR completely missed.

    GPT-4opdf2image
    /exp-004private · notes only
  • CH-01 · EXP-003live
    0mst →
    EXP-003/Prompts·Successful·Feb 04, 2026

    Prompt caching payoff

    How much does prompt caching actually save on a retrieval-heavy chat app with 20k conversations/day?

    ↳ Cost reduction: 78% on cached portion. p50 latency: 1.4s → 0.9s. Cache hit rate stabilised at 91% after the first day.

    Anthropic prompt caching
    /exp-003private · notes only
  • CH-01 · EXP-002live
    0mst →
    EXP-002/Agents·Iterating·Jan 22, 2026

    Agent that plans before it acts

    Does forcing an agent to commit to a written plan before its first tool call reduce wasted tool invocations?

    ↳ Plan-then-ReAct used 31% fewer tool calls and reached 0.78 accuracy vs 0.71. Plan-then-execute was faster but dropped to 0.62 — the inability to replan hurt.

    Claude SonnetReActPlan-and-Execute
    /exp-002private · notes only
  • CH-01 · EXP-001live
    0mst →
    EXP-001/Local LLM·Successful·Jan 08, 2026

    First fine-tune, first lesson

    Can a domain-specific fine-tune on a 7B model beat GPT-3.5 on a narrow legal-summarisation task?

    ↳ Fine-tuned 7B: 0.74 win rate. GPT-3.5: 0.59 (0.34 ties). Fine-tune cost: $42 of compute. Inference cost per summary dropped from $0.011 to $0.0008.

    Mistral 7BQLoRAPEFT
    /exp-001private · notes only

/lab notebook/ongoing

This is where ideas get tested before they become systems.

The Lab is the honest side of the work. Most entries fail, some iterate for weeks, and a handful graduate into Projects. If something here sparks a question or a collaboration, the door is open.

© 2026
Motion-Y

Hello, I'm your Motion-Y Assistant. How can I help you today?