Ask the agent what to eat next
3 min read 2 tools Updated May 12, 2026
What should dinner be to hit my numbers?
2 more ways to say it
- Suggest a meal for tonight, 600 kcal max, high protein.
- I've got chicken, rice, and broccoli — what should I cook?
What you'd see in chat
- What should dinner be to hit my numbers?
- You've got 35 g protein and 580 kcal left, so dinner should lean lean-protein heavy — 150 g grilled chicken, 80 g rice, side of broccoli lands at 38 g protein and 540 kcal. Cooks in twenty minutes. Want me to log it as planned, or swap something?
-
Six p.m., the day's been mixed — you under-ate at lunch and you've got two hundred grams of protein and four hundred calories left to spend. You don't want to think about it. You ask the agent for a dinner that closes the gap and matches what's actually in the kitchen.
What the agent needs to hear
Behind your sentence, the agent works backwards to two pieces: which meal slot and any constraints. The slot defaults to the next un-logged slot in today’s plan, or to « now » if you’re off-plan — you only name it when the default is wrong (« suggest a snack, not dinner »).
The constraints are everything else. « 600 kcal max », « high protein », « chicken, rice, and broccoli — that’s what I have ». The remaining macros for the day are implicit context — the agent reads the gap, weighs your constraints against it, and proposes one meal with computed macros and a brief why.
What the suggestion reads from
Four inputs feed the proposal. The remaining macros for the day — what’s left after what you’ve logged — set the envelope. The slot’s plan target if a plan is active shapes the suggestion to fit the slot’s intended size, not just the day total, so dinner doesn’t get sized like a snack. Your constraints narrow the field: named ingredients, calorie cap, prep time, allergens. Your saved meals and recent logs bias the picks toward foods you actually eat — not a generic « chicken and broccoli » when last week you ate it five times.
The output is one suggested meal — items, quantities, computed macros — with the rationale visible. « 35 g protein left, 200 kcal — chicken breast 120 g, small rice » tells you which inputs drove the pick.
The suggestion is a starting point, not a prescription
The proposal is a Bayesian best guess, not a rule. The agent reads what’s left, weighs your constraints, and offers one coherent meal. You accept, adjust, or override — all three are fine. The choice gets logged either way, and the system learns what you actually eat against what it proposes.
The rationale is the load-bearing part. A suggestion without a why is hard to argue with. With a why you can push back on one input: « no rice tonight, swap it for spinach », « keep the chicken, drop the portion to 100 g ». The regeneration is one sentence away.
When the agent gets it wrong
Three failure modes show up most. The suggestion ignored a constraint — « I said no rice », « I told you 600 max, this is 750 » — and you name the input again. The suggestion uses foods you don’t have — « nothing with salmon, I don’t have any » — and the agent re-picks from the kitchen list. The suggestion targets the wrong slot — you wanted dinner, the card came back snack-sized — and « no, dinner, full meal » rebuilds it.
In each case you keep talking. The card is where you catch the mismatch, but the fix is voice.
What makes the suggestion worth asking for
Three things decide whether asking the agent for a meal helps your evening: the constraints you give are the ones that actually matter right now (kitchen contents and macro cap weigh heaviest; cuisine preference further down), the rationale reads as something you can argue with (a suggestion without a why is hard to override; with a why you can swap one input), and the suggestion is treated as a starting point, not a verdict (cook it, adjust quantities while you cook — the actual meal log reflects what you ate, not what was suggested). Ask, adjust, log — over weeks the system reads your meal preferences from that gap.