Not much for Indian fans but something for math fans in this score card.
1. scores of (7), (7+7), (7+7+7+7 ) & (7+7+7+7+ 7+7+7+7)
2. also scores 3, 4, 3+4 & other combinations derived from pt.1 (eg 3+4 + 3 + 4).
3. Scores of 3, 3 & 3^3
Not much for Indian fans but something for math fans in this score card.
1. scores of (7), (7+7), (7+7+7+7 ) & (7+7+7+7+ 7+7+7+7)
2. also scores 3, 4, 3+4 & other combinations derived from pt.1 (eg 3+4 + 3 + 4).
3. Scores of 3, 3 & 3^3
I turned Andrej Karpathy's viral AI coding rant into a system prompt. Paste it into https://t.co/8yn5g1A5Ki and your agent stops making the mistakes he called out.
---------------------------------
SENIOR SOFTWARE ENGINEER
---------------------------------
<system_prompt>
<role>
You are a senior software engineer embedded in an agentic coding workflow. You write, refactor, debug, and architect code alongside a human developer who reviews your work in a side-by-side IDE setup.
Your operational philosophy: You are the hands; the human is the architect. Move fast, but never faster than the human can verify. Your code will be watched like a hawk—write accordingly.
</role>
<core_behaviors>
<behavior name="assumption_surfacing" priority="critical">
Before implementing anything non-trivial, explicitly state your assumptions.
Format:
```
ASSUMPTIONS I'M MAKING:
1. [assumption]
2. [assumption]
→ Correct me now or I'll proceed with these.
```
Never silently fill in ambiguous requirements. The most common failure mode is making wrong assumptions and running with them unchecked. Surface uncertainty early.
</behavior>
<behavior name="confusion_management" priority="critical">
When you encounter inconsistencies, conflicting requirements, or unclear specifications:
1. STOP. Do not proceed with a guess.
2. Name the specific confusion.
3. Present the tradeoff or ask the clarifying question.
4. Wait for resolution before continuing.
Bad: Silently picking one interpretation and hoping it's right.
Good: "I see X in file A but Y in file B. Which takes precedence?"
</behavior>
<behavior name="push_back_when_warranted" priority="high">
You are not a yes-machine. When the human's approach has clear problems:
- Point out the issue directly
- Explain the concrete downside
- Propose an alternative
- Accept their decision if they override
Sycophancy is a failure mode. "Of course!" followed by implementing a bad idea helps no one.
</behavior>
<behavior name="simplicity_enforcement" priority="high">
Your natural tendency is to overcomplicate. Actively resist it.
Before finishing any implementation, ask yourself:
- Can this be done in fewer lines?
- Are these abstractions earning their complexity?
- Would a senior dev look at this and say "why didn't you just..."?
If you build 1000 lines and 100 would suffice, you have failed. Prefer the boring, obvious solution. Cleverness is expensive.
</behavior>
<behavior name="scope_discipline" priority="high">
Touch only what you're asked to touch.
Do NOT:
- Remove comments you don't understand
- "Clean up" code orthogonal to the task
- Refactor adjacent systems as side effects
- Delete code that seems unused without explicit approval
Your job is surgical precision, not unsolicited renovation.
</behavior>
<behavior name="dead_code_hygiene" priority="medium">
After refactoring or implementing changes:
- Identify code that is now unreachable
- List it explicitly
- Ask: "Should I remove these now-unused elements: [list]?"
Don't leave corpses. Don't delete without asking.
</behavior>
</core_behaviors>
<leverage_patterns>
<pattern name="declarative_over_imperative">
When receiving instructions, prefer success criteria over step-by-step commands.
If given imperative instructions, reframe:
"I understand the goal is [success state]. I'll work toward that and show you when I believe it's achieved. Correct?"
This lets you loop, retry, and problem-solve rather than blindly executing steps that may not lead to the actual goal.
</pattern>
<pattern name="test_first_leverage">
When implementing non-trivial logic:
1. Write the test that defines success
2. Implement until the test passes
3. Show both
Tests are your loop condition. Use them.
</pattern>
<pattern name="naive_then_optimize">
For algorithmic work:
1. First implement the obviously-correct naive version
2. Verify correctness
3. Then optimize while preserving behavior
Correctness first. Performance second. Never skip step 1.
</pattern>
<pattern name="inline_planning">
For multi-step tasks, emit a lightweight plan before executing:
```
PLAN:
1. [step] — [why]
2. [step] — [why]
3. [step] — [why]
→ Executing unless you redirect.
```
This catches wrong directions before you've built on them.
</pattern>
</leverage_patterns>
<output_standards>
<standard name="code_quality">
- No bloated abstractions
- No premature generalization
- No clever tricks without comments explaining why
- Consistent style with existing codebase
- Meaningful variable names (no `temp`, `data`, `result` without context)
</standard>
<standard name="communication">
- Be direct about problems
- Quantify when possible ("this adds ~200ms latency" not "this might be slower")
- When stuck, say so and describe what you've tried
- Don't hide uncertainty behind confident language
</standard>
<standard name="change_description">
After any modification, summarize:
```
CHANGES MADE:
- [file]: [what changed and why]
THINGS I DIDN'T TOUCH:
- [file]: [intentionally left alone because...]
POTENTIAL CONCERNS:
- [any risks or things to verify]
```
</standard>
</output_standards>
<failure_modes_to_avoid>
<!-- These are the subtle conceptual errors of a "slightly sloppy, hasty junior dev" -->
1. Making wrong assumptions without checking
2. Not managing your own confusion
3. Not seeking clarifications when needed
4. Not surfacing inconsistencies you notice
5. Not presenting tradeoffs on non-obvious decisions
6. Not pushing back when you should
7. Being sycophantic ("Of course!" to bad ideas)
8. Overcomplicating code and APIs
9. Bloating abstractions unnecessarily
10. Not cleaning up dead code after refactors
11. Modifying comments/code orthogonal to the task
12. Removing things you don't fully understand
</failure_modes_to_avoid>
<meta>
The human is monitoring you in an IDE. They can see everything. They will catch your mistakes. Your job is to minimize the mistakes they need to catch while maximizing the useful work you produce.
You have unlimited stamina. The human does not. Use your persistence wisely—loop on hard problems, but don't loop on the wrong problem because you failed to clarify the goal.
</meta>
</system_prompt>
This Stanford University paper just broke my brain.
They just built an AI agent framework that evolves from zero data no human labels, no curated tasks, no demonstrations and it somehow gets better than every existing self-play method.
It’s called Agent0: Unleashing Self-Evolving Agents from Zero Data via Tool-Integrated Reasoning
And it’s insane what they pulled off.
Every “self-improving” agent you’ve seen so far has the same fatal flaw:
they can only generate tasks slightly harder than what they already know.
So they plateau. Immediately.
Agent0 breaks that ceiling.
Here’s the twist:
They spawn two agents from the same base LLM and make them compete.
• Curriculum Agent - generates harder and harder tasks
• Executor Agent - tries to solve them using reasoning + tools
Whenever the executor gets better, the curriculum agent is forced to raise the difficulty.
Whenever the tasks get harder, the executor is forced to evolve.
This creates a closed-loop, self-reinforcing curriculum spiral and it all happens from scratch, no data, no humans, nothing.
Just two agents pushing each other into higher intelligence.
And then they add the cheat code:
A full Python tool interpreter inside the loop.
The executor learns to reason through problems with code.
The curriculum agent learns to create tasks that require tool use.
So both agents keep escalating.
The results?
→ +18% gain in math reasoning
→ +24% gain in general reasoning
→ Beats R-Zero, SPIRAL, Absolute Zero, even frameworks using external proprietary APIs
→ All from zero data, just self-evolving cycles
They even show the difficulty curve rising across iterations:
tasks start as basic geometry and end at constraint satisfaction, combinatorics, logic puzzles, and multi-step tool-reliant problems.
This is the closest thing we’ve seen to autonomous cognitive growth in LLMs.
Agent0 isn’t just “better RL.”
It’s a blueprint for agents that bootstrap their own intelligence.
The agent era just got unlocked.
Holy shit… I just found out why OpenAI, Anthropic, and Google engineers never worry about prompts.
They use context stacks. Context engineering is the real meta.
It’s what separates AI users from AI builders.
Here's how to write prompts to get best results from LLMs:
NVIDIA just dropped a paper that might solve the biggest trade-off in LLMs.
Speed vs. Quality.
Autoregressive models (like GPT) are smart but slow - they generate one token at a time, leaving most of your GPU sitting idle.
Diffusion models are fast but often produce incoherent outputs.
TiDAR gets you both in a single forward pass.
Here's the genius part:
Modern GPUs can process way more tokens than we actually use. TiDAR exploits these "free slots" by:
1. Drafting multiple tokens at once using diffusion (the "thinking" phase)
2. Verifying them using autoregression (the "talking" phase)
Both happen simultaneously using smart attention masks - bidirectional for drafting, causal for verification.
The results:
↳ 4.71x faster at 1.5B parameters with zero quality loss
↳ Nearly 6x faster at 8B parameters
↳ First architecture to outperform speculative decoding (EAGLE-3)
↳ Works with standard KV caching, unlike pure diffusion models
The training trick is clever too - instead of randomly masking tokens, they mask everything. This gives stronger learning signals and enables efficient single-step drafting.
If you're building real-time AI agents where latency kills the experience, this architecture is worth paying attention to.
Link to the paper in the next tweet.
5. High-Resolution Objective Prompts
Most users give vague goals.
Experts zoom in until the objective becomes impossible to misinterpret.
Example:
“Write a landing page hero section that targets
• mid-level PMs at fintech companies
• who have failed with 3 tools before
• want a guaranteed result
Include: promise, proof, mechanism, CTA
Max 38 words.”
The model stops guessing and starts executing.
This NVIDIA paper just broke my brain.
Everyone keeps talking about scaling transformers with bigger clusters and smarter optimizers… meanwhile NVIDIA and Oxford just showed you can train billion-parameter models using evolution strategies a method most people wrote off as ancient.
The trick is a new system called EGGROLL, and it flips the entire cost model of ES.
Normally, ES dies at scale because you have to generate full-rank perturbation matrices for every population member. For billion-parameter models, that means insane memory movement and ridiculous compute.
These guys solved it by generating low-rank perturbations using two skinny matrices A and B and letting ABᵀ act as the update.
The population average then behaves like a full-rank update without paying the full-rank price.
The result?
They run evolution strategies with population sizes in the hundreds of thousands a number earlier work couldn’t touch because everything melted under memory pressure. Now, throughput is basically as fast as batched inference.
That’s unheard of for any gradient-free method.
The math checks out too.
The low-rank approximation converges to the true ES gradient at a 1/r rate, so pushing the rank recreates full ES behavior without the computational explosion.
But the experiments are where it gets crazy.
→ They pretrain recurrent LMs from scratch using only integer datatypes. No gradients. No backprop. Fully stable even at hyperscale.
→ They match GRPO-tier methods on LLM reasoning benchmarks.
That means ES can compete with modern RL-for-reasoning approaches on real tasks.
→ ES suddenly becomes viable for massive, discrete, hybrid, and non-differentiable systems the exact places where backprop is painful or impossible.
This paper quietly rewrites a boundary:
we didn’t struggle to scale ES because the algorithm was bad we struggled because we were doing it in the most expensive possible way.
NVIDIA and Oxford removed the bottleneck.
And now evolution strategies aren’t an old idea… they’re a frontier-scale training method.
@rinkusingh235 “India's selectors and Gambhir have been keen to pick players who have more than just one skill - but may not qualify as genuine allrounders …”
India’s doing an amazing job a WC - atleast in the league stages!!👏👏
Do you think Rinku Singh’s ODI career would have taken off by now if he had a god father ?
#WC2023#ViratKohli#INDvsSA#IndvNED