少样本示例
向人工智能展示您想要的风格和形式。
少样本示例 是 CoddyKit 上的免费 Vibe Coding 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Vibe Coding 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Vibe Coding 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
Show, Don't Just Tell
Describing the code you want with words works — but showing an example works even better. This technique is called few-shot prompting: you give the AI one or more examples of input and the matching output, then ask it to follow the same pattern.
It's the difference between explaining a recipe and handing someone a finished dish to copy. Examples remove guesswork and lock in your exact style.
Zero-Shot vs Few-Shot
Zero-shot = you ask with no examples. Few-shot = you include a couple of examples first.
- Zero-shot: "Write a function that turns a title into a URL slug."
- Few-shot: same request, plus 2 examples of titles and the exact slugs you expect.
Few-shot wins whenever the format matters and is hard to describe in words. You teach by demonstration.
Your First Few-Shot Prompt
The pattern is simple: list a few input → output pairs, then leave the last one open for the AI to complete.
Here we teach the AI exactly how our slugs should look. It now knows: lowercase, spaces become dashes, punctuation dropped — without us writing a single rule.
Turn each title into a URL slug, following these examples:
Title: "Hello World!" -> hello-world
Title: "My First App" -> my-first-app
Title: "10 Tips & Tricks" -> 10-tips-tricks
Title: "Vibe Coding 101" ->Examples Teach Style
Few-shot isn't only for data formats — it's how you transfer coding style. Show the AI one function written your way, and it will match your naming, comments and structure on the next one.
This is gold in a real project: paste an existing function as the example, then ask for a new one "in the same style." The AI matches your codebase instead of inventing its own conventions.
Here is how I write functions in this project:
// Returns the average of a list of numbers
function averageOf(numbers) {
const total = numbers.reduce((sum, n) => sum + n, 0);
return total / numbers.length;
}
Write a function maxOf(numbers) in exactly this style.See the Matching Output
When you give a clean example like the one before, the AI returns code that fits right in. Here's the kind of result that prompt produces — same comment style, same naming, same shape.
Run it to confirm the pattern holds.
// Returns the largest number in a list
function maxOf(numbers) {
return numbers.reduce((biggest, n) => (n > biggest ? n : biggest), numbers[0]);
}
console.log(maxOf([3, 9, 2, 7]));
console.log(maxOf([-5, -1, -10]));How Many Examples?
You rarely need many. A few rules of thumb:
- 1 example — when the pattern is mostly clear and you just want to pin the style.
- 2–3 examples — when the format has edge cases (punctuation, numbers, special words).
- Add an edge case on purpose so the AI learns how to handle the tricky input, not just the easy one.
More than 3 rarely helps and just makes the prompt long.
Format phone numbers like these examples (note the edge case with extra digits):
"1234567890" -> (123) 456-7890
"5551234567" -> (555) 123-4567
"12345" -> invalid number
"9998887777" ->Cover the Edge Cases
The trick that separates good few-shot prompts from great ones: include the weird input. If you only show happy-path examples, the AI assumes inputs are always clean — and your app crashes on the first odd one.
By showing an invalid or empty example and the response you want, you teach error handling by demonstration. No long explanation needed.
Convert each price string to a number. Handle bad input as shown:
"$19.99" -> 19.99
"$0" -> 0
"free" -> null
"" -> null
"$120.50" ->Few-Shot for Tone and Text
Examples aren't only for code logic — they shape any text the AI writes. Building an app with messages, button labels, or error text? Show two examples in your voice and the AI matches it.
This keeps your whole product consistent: friendly, terse, professional — whatever you demonstrate.
Write friendly, short error messages in this style:
Problem: empty email field -> "Oops! We need your email to continue."
Problem: password too short -> "Almost there — make your password a bit longer."
Problem: file too large ->Examples Inside Real Tools
Few-shot works everywhere you prompt:
- Cursor / Claude Code: paste an existing function as the example, ask for a sibling function "in the same style."
- v0 / Lovable: describe a component, then say "like this card" and paste a sample to copy.
- Copilot: write one example function above, and its autocomplete mimics your pattern for the next one.
The AI is a pattern-matcher — give it the pattern.
// @cursor: here is our standard API helper, follow this exact shape
async function getUser(id) {
const res = await fetch(`/api/users/${id}`);
if (!res.ok) return null;
return res.json();
}
// Now write getOrder(id) in the same style.When Examples Backfire
Few-shot is strong, so be careful:
- A buggy example teaches the bug — the AI copies your mistake.
- Inconsistent examples confuse it: if your two slugs follow different rules, output is random.
- Examples that are too narrow make it overfit and fail on anything new.
Rule: your examples must be correct, consistent, and cover the range of inputs you expect.
Combine With Roles and Constraints
The most reliable prompts stack everything you've learned: a role, a few constraints, and one or two examples. Role sets the skill, constraints set the rules, examples set the exact shape.
That combination is how builders get code they can paste and ship — instead of rolling the dice on each request.
ROLE: Senior JS engineer.
CONSTRAINTS: vanilla JS, return only the function.
EXAMPLE:
isEven(4) -> true
isEven(7) -> false
TASK: Write isPositive(n) following the same simple style as isEven.Quick Check
You're using few-shot prompting to format dates, but the AI keeps breaking on empty input. What's the best fix?
Recap: Teach by Example
Few-shot prompting is one of your sharpest tools:
- Show input → output pairs and let the AI complete the pattern.
- Examples transfer format, style, and tone better than words.
- Include edge cases so the AI learns error handling.
- Keep examples correct and consistent — bugs and contradictions get copied.
- Stack with roles + constraints for the most reliable output.
Next: breaking big features into small, promptable steps.
常见问题解答
「少样本示例」课时是免费的吗?
是的 — 「少样本示例」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Vibe Coding 课程的其余内容,请升级到 CoddyKit PRO。 Vibe Coding 课程共包含 4 节课。
「少样本示例」这节课中我会学到什么?
向人工智能展示您想要的风格和形式。 你通过在浏览器中直接运行的动手代码来练习 Vibe Coding,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Vibe Coding 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Vibe Coding 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「少样本示例」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Vibe Coding 课中编写并运行代码吗?
能。每节 Vibe Coding 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。