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 emailabove 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.