Getting great results from small models

Practical prompting and workflow habits that make a 0.5B-1.5B local model feel much smarter than its size.

Small models are pattern completers with limited memory. Work with that grain and they are startlingly useful.

Autocomplete

  • Name things well. calculateMonthlyInvoiceTotal(items) gets completed correctly; doIt(x) does not.
  • Types are prompts. In TypeScript, Python with type hints, Go, Rust and C#, the signature carries most of the intent.
  • Write the comment first. A one-line // return the user's full name, falling back to email above the function is worth more than a paragraph in chat.
  • Pause at line ends for multi-line blocks; mid-line you get a single-line suggestion by design.
  • Accept partially. Ctrl+→ accepts one word at a time when the suggestion is half right.

Chat

  • Select, don’t attach. Highlight the 20 relevant lines instead of ticking “Include current file”; the model has a 4K-8K token window on the free tier.
  • One task per message. “Fix the null check and add logging and rename variables” becomes a mess; three messages work.
  • Ask for the shape you want. “Return only the corrected function” or “Answer in three bullet points”.
  • Use the chips. The Explain / Find bugs / Write tests / Refactor buttons are tuned prompts.

Edit with AI

  • Works best on 5-60 lines. For whole-file rewrites, do it in sections.
  • Be specific and mechanical: “convert callbacks to async/await”, “add JSDoc for each parameter”, “extract the validation into a function named validateInput”.
  • Always read the diff; the model preserves indentation and unrelated lines, but it is a small model.

When to step up

If you find yourself re-asking the same question three times, switch to Lite+ (free) or a Studio model. The model switcher tells you what your machine can run.