Ponytail AI coding agent என்றால் என்ன? முழு விளக்கம்
Ponytail மூலம் உங்கள் AI agent-ஐ மிகக் குறைந்த குறியீட்டில் வேலை செய்ய வைப்பது எப்படி? இதன் முக்கிய விதிகள், சமீபத்திய release விவரங்கள் மற்றும் இதை பயன்படுத்தும் முறையை அறியுங்கள்.
Ponytail என்றால் என்ன
Ponytail என்பது ஒரு AI coding agent குறைவான குறியீட்டை (code) எழுதுவதற்கு உதவும் விதிகளின் தொகுப்பாகும். இந்தத் திட்டம் தன்னை ஒரே வரியில் இவ்வாறு விவரிக்கிறது: "உங்கள் AI agent-ஐ அந்த அறையில் இருக்கும் மிகவும் சோம்பேறியான senior developer போல சிந்திக்க வைக்கிறது. நீங்கள் எழுதாத குறியீடே சிறந்த குறியீடு." இது MIT உரிமம் பெற்றது. இதற்குத் தனியாக runtime கிடையாது, இதில் எதுவும் தானாக இயங்காது. இது agent-ன் அறிவுறுத்தல்களில் சேர்க்கப்படும் உரை (text) ஆகும். திறன்களை (skills) ஏற்கும் host-களுக்கு இது ஒரு skill-ஆகவும், மற்றவற்றுக்கு எளிய விதி கோப்புகளாகவும் (rule files) வழங்கப்படுகிறது.
இதன் repository DietrichGebert/ponytail ஆகும். இது 12 June 2026 அன்று உருவாக்கப்பட்டது மற்றும் 1 August 2026-க்குள் 90,000 stars-ஐக் கடந்தது. 1 August 2026 அன்று, கடைசியாக வெளியிடப்பட்ட tag v4.8.4 ஆகும், இது 29 June 2026 அன்று வெளியிடப்பட்டது. ஜூன் 14 முதல் 29-க்குள் மட்டும் பத்து tag-கள் வெளியிடப்பட்டதாக releases பக்கம் காட்டுகிறது. இதன் வேகம் குறையவில்லை: 17 October 2026 அன்று, கடைசியாக வெளியிடப்பட்ட release v5.3.2 ஆகும், இது 16 October அன்று இரவு வெளியிடப்பட்டது. இது அந்த நாளில் வெளியான மூன்றாவது release ஆகும்; இதற்கு முன்பு v5.3.0 மற்றும் v5.3.1 வெளியாகின. அதற்கு முன்பு 13 October அன்று v5.2.0 வெளியானது, அதற்கு ஐந்து நாட்களுக்கு முன்பு 8 October அன்று v5.0.0 மற்றும் v5.1.0 ஆகிய இரண்டும் வெளியாகின. இந்த repository தற்போது 165,000-க்கும் அதிகமான stars-ஐக் கொண்டுள்ளது. இவ்வளவு வேகத்தில் இயங்கும் ஒரு திட்டம் நீங்கள் இதைப் படிக்கும் நேரத்திற்குள் மாறியிருக்கக்கூடும், எனவே இதன் மேல் எதையாவது உருவாக்கும் முன் ஒரு குறிப்பிட்ட tag-ஐப் பயன்படுத்தவும் (pin).
கருவிக்கு முந்தைய சிந்தனை: உறுதியான முதல் படியில் நில்லுங்கள்
Ponytail-ன் அடிப்படை ஒரு முடிவெடுக்கும் ஏணி (decision ladder). எதையும் எழுதும் முன், இந்த ஏணியில் ஏறும் முகவர் (agent), உறுதியாக இருக்கும் முதல் படியில் நிற்கிறார்.
- இது உண்மையில் தேவையா? இது YAGNI (you are not going to need it) கொள்கை. பதில் இல்லை என்றால், இதைத் தவிர்க்கவும்.
- இது ஏற்கனவே இந்த codebase-ல் உள்ளதா? ஏற்கனவே உள்ள helper அல்லது pattern-ஐ மீண்டும் பயன்படுத்தவும்.
- standard library-ல் இது உள்ளதா? அதைப் பயன்படுத்தவும்.
- native platform feature-ல் இது உள்ளதா? அதைப் பயன்படுத்தவும்.
- ஏற்கனவே நிறுவப்பட்ட dependency இதைத் தீர்க்குமா? அதைப் பயன்படுத்தவும்.
- இதை ஒரே வரியில் எழுத முடியுமா? ஒரே வரியில் எழுதவும்.
- அதன் பிறகு, வேலை செய்யும் குறைந்தபட்ச குறியீட்டை மட்டும் எழுதவும்.
இது v4.8.4-ல் எழுதப்பட்டுள்ள ஏணி, இந்தக் கட்டுரையின் பிற பகுதிகளில் உள்ள படி எண்கள் இதைப் பின்பற்றுகின்றன. தற்போதைய main branch, 3 மற்றும் 4 ஆகிய படிகளை "Standard library அல்லது platform feature-ல் உள்ளதா? திட்டத்திற்கு என சொந்தமாக இல்லாதவரை அதைப் பயன்படுத்தவும்" என்று ஒன்றாக இணைக்கிறது. மேலும், "native widget-ஐ விட house component சிறந்தது" என்று சேர்க்கிறது, எனவே இதில் ஆறு படிகள் உள்ளன. வரிசை அப்படியேதான் உள்ளது.
எந்தவொரு தனிப் படியும் அல்ல, இந்த வரிசைமுறையே வேலையைச் செய்கிறது. ஒரு date picker-ஐ உருவாக்கச் சொன்னால், முகவர் அதை உருவாக்குவார், ஏனெனில் அதைச் செய்யவே அவருக்குக் கட்டளையிடப்பட்டது. ஆனால், எதையும் உருவாக்கும் முன் ஏற்கனவே உள்ளதைச் சரிபார்க்க இந்த ஏணி அவரைத் தூண்டுகிறது: படி 2, repository-ல் ஏற்கனவே அதற்கான component உள்ளதா என்று கேட்கிறது; படி 4, browser-லேயே <input type="date"> வசதி உள்ளதாகக் கூறுகிறது. திட்டத்தின் தற்போதைய benchmark இந்தச் சூழலைத் துல்லியமாகக் காட்டுகிறது: இந்த விதி இல்லாதபோது 335 வரிகளில் இருந்த date picker, Ponytail 5 மூலம் 10 வரிகளாகக் குறைந்தது. ஏனெனில், முகவர் repository-ன் சொந்த Input component-ஐ type="date" உடன் மீண்டும் பயன்படுத்தினார், calendar-ஐ browser-ஐ வழங்க அனுமதித்தார். ஒரு colour picker 135 வரிகளிலிருந்து 26 வரிகளாகக் குறைந்தது. படி 2 அமைதியாகத் தோல்வியடையும் இடமாகும், ஏனெனில் உங்களிடம் ஏற்கனவே உள்ள helper-ஐக் காண முடியாத முகவர், மகிழ்ச்சியுடன் இன்னொன்றை எழுதிவிடுவார். இந்த இடைவெளியைத்தான் உங்கள் codebase-ன் queryable map நிரப்ப முயல்கிறது.
இங்கே 'சோம்பேறித்தனம்' என்பது கவனக்குறைவு அல்ல, விதிகளின் தொகுப்பு இதை நேரடியாகக் கூறுகிறது. அதன் "எதற்கும் சோம்பேறித்தனமாக இருக்கக்கூடாது" பட்டியலில், முடிவெடுக்கும் முன் சிக்கலைப் புரிந்துகொள்வது, trust boundaries-ல் input validation, தரவு இழப்பைத் தடுக்கும் error handling, பாதுகாப்பு, அணுகல்தன்மை (accessibility) மற்றும் நீங்கள் பெயரிட்டுக் கேட்ட அனைத்தும் அடங்கும். மேலும், சிக்கலான logic-ன் ஒவ்வொரு பகுதிக்கும் ஒரு சிறிய runnable check-ஐயும் இது கோருகிறது. இந்த விதி கண்டுபிடிப்பைக் குறைக்கிறது. இது துல்லியத்தைக் குறைப்பதில்லை.
இந்த repository உண்மையில் எவற்றை வழங்குகிறது
AGENTS.md, எப்போதும் இயங்கும் ruleset; இதுவே முழுமையான கருத்தாக்கம், இதை ஐந்து நிமிடங்களில் படித்துவிடலாம்.skills/ponytail/SKILL.md, திறன் வரையறை (skill definition); இதில்lite,full,ultraஅல்லதுoffஆகிய argument குறிப்புகள் உள்ளன..cursor/rules/மற்றும்.windsurf/rules/போன்ற editor-சார்ந்த கோப்பகங்களில் உள்ள விதி கோப்புகள் (rule files); இவை விதிகளை வாசிக்கும் ஆனால் திறன்களை (skills) ஏற்றாத hosts-களுக்காகப் பயன்படுகின்றன.hooks/,benchmarks/,examples/மற்றும்scripts/.
Intensity argument, விதியின் தீவிரத்தன்மையை மாற்றுகிறது. lite நீங்கள் கேட்டதை உருவாக்குவதோடு, ஒரு வரியில் எளிமையான விருப்பத்தையும் குறிப்பிடுகிறது. full என்பது default அமைப்பாகும், இது ladder-ஐ அமல்படுத்துகிறது. ultra என்பது YAGNI தீவிரவாத அமைப்பாகும்: இது சேர்ப்பதை விட நீக்குவதற்கே முன்னுரிமை அளிக்கும், மேலும் இது தேவையை (requirement) மறுபரிசீலனை செய்ய வலியுறுத்தும்.
திறன் கொண்ட (skill-capable) hosts-களில் slash commands-களும் கிடைக்கும். /ponytail அளவை (level) அமைக்கிறது, /ponytail-review over-engineering-ஐக் கண்டறிய diff-ஐச் சரிபார்க்கிறது, /ponytail-audit முழு repository-ஐயும் சரிபார்க்கிறது, /ponytail-debt நீங்கள் தள்ளிவைத்த குறுக்குவழிகளைச் (shortcuts) சேகரிக்கிறது, மற்றும் /ponytail-gain benchmark scorecard-ஐ அச்சிடுகிறது. விதி கோப்புகளை மட்டும் வாசிக்கும் hosts-களில் கட்டளைகள் இல்லாமல் ruleset மட்டும் கிடைக்கும். 16 அக்டோபர் 2026 அன்று வெளியிடப்பட்ட v5.3.0-லிருந்து, Claude Code-ல் prompt-க்கு மேலே ஒரு பட்டை (band) காட்டப்படுகிறது; இது பணியின் செலவு, code reuse மற்றும் test status ஆகியவற்றைக் காட்டுகிறது. இதற்கு Claude Code 2.1.290 அல்லது அதற்குப் பிந்தைய பதிப்பு தேவை; இது VS Code chat panel, cloud sessions அல்லது claude -p-ல் தோன்றாது, மேலும் /ponytail band off இதை மறைத்துவிடும். v5.3.2-லிருந்து, /ponytail band import உங்கள் முந்தைய Claude Code sessions-ஐ ஒருமுறை வாசித்து, அவற்றின் செலவு, agent நேரம் மற்றும் tokens ஆகியவற்றுடன் board-ல் சேர்க்கிறது, இதன் மூலம் நீங்கள் விதிகளின் கீழ் இயக்கப்பட்ட sessions-உடன் அவற்றை ஒப்பிடலாம்.
நீங்கள் நம்புவதற்கு முன் source-ஐ வாசிக்க, branch-க்கு பதிலாக tag-ஐ clone செய்யவும். மேலே உள்ள ladder இதிலிருந்துதான் வருகிறது; தற்போதைய வாசகங்களை வாசிக்க, 17 அக்டோபர் 2026-ன் சமீபத்திய பதிப்பான v5.3.2-ஐப் பயன்படுத்தவும்:
git clone --depth 1 --branch v4.8.4 https://github.com/DietrichGebert/ponytail.gitClaude Code-ல், இந்தத் திட்டம் plugin நிறுவல் முறையை ஆவணப்படுத்துகிறது. 17 அக்டோபர் 2026 அன்று ஆவணப்படுத்தப்பட்டபடி இந்த இரண்டு வரிகள் கீழே உள்ளன:
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytailPlugin பாதை tag-க்கு பதிலாக default branch-ஐப் பின்பற்றுவதால், sessions-களுக்கு இடையே உங்கள் agent-ஐ வழிநடத்தும் அறிவுறுத்தல்கள் மாறக்கூடும். update கட்டளையின் வசதிக்காக நீங்கள் ஏற்கும் சமரசம் இதுவாகும்.
VPS-ல் ஒரு lazy agent ஏன் சிக்கனமானது
ஒரு agent எழுதும் diff, உரையாடலை விட்டு வெளியேறாது. அடுத்தடுத்த சுற்றுகளில், அது உருவாக்கிய ஒவ்வொரு கோப்புடனும் சேர்த்து, இந்த diff-ஐயும் model மீண்டும் வாசிக்கும். எனவே, 500 வரிகள் கொண்ட ஒரு மாற்றம், சுருக்கமான summary மூலம் பழைய சுற்றுகள் மாற்றப்படும் வரை, அமர்வின் ஒவ்வொரு பிந்தைய சுற்றிலும் சுமையை ஏற்படுத்தும். இதனால்தான், ஒரு runaway refactor நடக்கும்போது, அமர்வு நீடிக்க நீடிக்க agent மெதுவாகவும் மந்தமாகவும் செயல்படுகிறது: agent-ன் சொந்த வெளியீடுகளால் context window நிரம்பிவிடுகிறது, இதனால் உங்கள் உண்மையான code-க்கு இடம் குறைகிறது. இதைக் கட்டுப்படுத்துவதே coding agent-ன் context window-ஐ நிர்வகித்தல் என்பதன் முழுப் பொருளாகும்.
Tokens உள்ளே செல்வதற்கும் வெளியே வருவதற்கும் கட்டணம் வசூலிக்கப்படுகிறது. எனவே, பாதியளவு அளவுள்ள ஒரு diff இருமடங்கு சிக்கனமானது; அது எழுதப்படும்போது ஒருமுறை, அதை மீண்டும் வாசிக்கும் ஒவ்வொரு சுற்றிலும் ஒருமுறை எனச் சேமிப்பு கிடைக்கிறது. இந்தச் சேமிப்பு உங்கள் கட்டணத்தில் பிரதிபலிப்பது நீங்கள் எவ்வாறு பணம் செலுத்துகிறீர்கள் என்பதைப் பொறுத்தது. ஏனெனில், Pro அல்லது Max சந்தா அதன் பயன்பாட்டு வரம்பு வரை கூடுதல் tokens-ஐ ஏற்கும், அதற்கு மேல் opt-in usage credits தனியாக வசூலிக்கப்படும். அதேசமயம், per-token API கட்டண முறையில் ஒவ்வொரு token-க்கும் நீங்கள் பணம் செலுத்த வேண்டும். நீங்கள் ஒரு self-hosted அமைப்பில் கட்டணத்தைக் கண்காணிப்பவர் என்றால், instruction file என்பது செலவில்லாத ஒரு கருவியாகும். AI agent-ன் செலவைக் கட்டுப்படுத்துதல் என்பது output அளவிலிருந்து தொடங்குகிறது, மேலும் coding agent எவ்வாறு tokens-ஐச் செலவிடுகிறது என்பது, tokens மீண்டும் வாசிக்கப்படுவது ஏன் மக்கள் எதிர்பார்ப்பதை விட முக்கியமானது என்பதை விளக்குகிறது.
ஒரு மனிதன் இன்னும் அந்த diff-ஐ வாசிக்கிறான். 20 வரிகளில் முடிந்திருக்க வேண்டிய 400 வரிகள் கொண்ட மாற்றம், மதிப்பாய்வாளரின் கவனத்தை வீணாக்குகிறது; கவனமே முதலில் தீர்ந்துபோகும் வளமாகும். ஒரு நாளில் நான்காவதாக வரும் நீண்ட diff-ஐ, முதல் diff-க்குக் கொடுத்த அதே கவனத்துடன் யாரும் மதிப்பாய்வு செய்வதில்லை. எனவே, அளவுக்கு அதிகமாக உருவாக்குவது நேரத்தை மட்டும் வீணாக்குவதில்லை; அது தவறுகளைக் கண்டறிய வேண்டிய மதிப்பாய்வின் தரத்தையும் மெதுவாகக் குறைக்கிறது.
ஒரு server-ல் நிலைமை மாறுகிறது, ஏனெனில் agent பெரும்பாலும் யாரும் கவனிக்காத நிலையில் இயங்குகிறது. ஒரு tmux session-ல் அல்லது timer மூலம் இயங்கும் agent, நீங்கள் பார்ப்பதற்குள் தவறான முடிவுகளின் அடிப்படையில் பல மணிநேரம் செயல்படக்கூடும். இதுதான் VPS-ல் coding agent-ஐ இயக்குவதில் உள்ள நடைமுறை அபாயம். இதனால்தான் loop engineering செய்பவர்கள், தனிப்பட்ட prompts-ஐ விட standing instructions-ல் அதிக கவனம் செலுத்துகிறார்கள். எப்போதும் இயங்கும் கோப்பில் உள்ள ஒரு விதி, 200-வது சுற்றுக்கும் பொருந்தும். நீங்கள் chat-ல் தட்டச்சு செய்த விதி 3-வது சுற்றுக்கு மட்டுமே பொருந்தும். அதே server-ல் நீங்கள் தொடங்கும் இரண்டாவது அமர்வுக்கும் இது பொருந்தும்; அது committed கோப்பை வாசிக்கும், ஆனால் முதல் அமர்வில் நீங்கள் தட்டச்சு செய்த எதையும் அது பெறாது. இரண்டு அமர்வுகளும் ஒன்றோடொன்று செய்திகளைப் பரிமாறிக்கொள்ளும்போது கூட இது பொருந்தும்.
புதிய dependencies என்பது மற்றொரு மறைமுகச் செலவாகும். ஏற்கனவே நிறுவப்பட்டவற்றைப் பயன்படுத்துங்கள் என்று 5-வது விதி கூறுகிறது. ஒரு agent தனது சொந்த முயற்சியால் சேர்க்கும் ஒவ்வொரு package-ம், நீங்கள் பிற்காலத்தில் patch செய்ய வேண்டிய ஒன்றாகவும், அந்த repository-லிருந்து நீங்கள் உருவாக்கும் ஒவ்வொரு container image-லும் இடம்பெறும் ஒன்றாகவும் மாறுகிறது.
Ponytail-ன் சொந்த benchmark எண்கள் என்ன சொல்கின்றன
இந்தத் திட்டம் இரண்டு வகையான முடிவுகளை வெளியிட்டுள்ளது, அவை ஒன்றுக்கொன்று பெருமளவில் முரண்படுகின்றன. இவை இரண்டுமே திட்டத்தின் சொந்த வெளியீடுகள் தான். இதில் எதுவுமே சுயாதீனமான சோதனை அல்ல.
இந்த விளக்கப்படத்தின் தரவு
[
{
"label": "Lines of code",
"v4_13_pct": 48,
"v5_pct": 53
},
{
"label": "Cost per run",
"v4_13_pct": 16,
"v5_pct": 26
},
{
"label": "Wall clock time",
"v4_13_pct": 38,
"v5_pct": 41
}
]இந்த வரைபடம், அக்டோபர் 7, 2026 தேதியிட்ட திட்டத்தின் தற்போதைய agentic benchmark ஆகும். Opus 5.5-ல் இயங்கும் Headless Claude Code 2.1.288 sessions, இயல்புநிலை effort-ல் 39 பணிகளை முடித்தன. ஒவ்வொரு பணிக்கும் ஒவ்வொரு பிரிவிற்கும் ஐந்து முறை என, மொத்தம் 585 sessions; இதில் no skill, Ponytail v4.13.0 மற்றும் Ponytail 5 ஆகிய பிரிவுகள் அடங்கும். இதில் பன்னிரண்டு பணிகள் tiangolo-வின் full-stack-fastapi-template-ல் உள்ள feature tickets ஆகும்; இது ஒரு உண்மையான FastAPI மற்றும் React repository, இதன் git diff அடிப்படையில் மதிப்பெண்கள் வழங்கப்பட்டன. மீதமுள்ளவை மறைக்கப்பட்ட சோதனைகளைக் கொண்ட 18 surgical பணிகள், ஆறு சிறிய app கோரிக்கைகள் மற்றும் மூன்று "எனக்கு ஒரு உதாரணத்தைக் காட்டு" கோரிக்கைகள். ஒவ்வொரு பிரிவிலும் Bash முடக்கப்பட்டிருந்தது. Ponytail 5-ல் output tokens 45 சதவீதம் குறைந்தன.
ஜூன் 2026-ல் இந்தத் திட்டம் வெளியிட்ட single shot எண்களுடன் இதை ஒப்பிட்டுப் பாருங்கள். அவை, ஒரு bare model ஐந்து அன்றாடத் தூண்டுதல்களுக்கு (prompts) விதியுடன் மற்றும் விதி இல்லாமலும் அளித்த பதில்களிலிருந்து வந்தவை; இவை மீண்டும் மீண்டும் செய்யப்பட்ட சோதனைகளின் சராசரி (medians) ஆகும். அவை Haiku, Sonnet மற்றும் Opus ஆகியவற்றில் 80 முதல் 94 சதவீதம் வரை குறைவான code-ஐக் காட்டின, மேலும் ஜூன் 17, 2026 தேதியிட்ட செலவு சரிபார்ப்பு Haiku-வை 63 சதவீதம் மலிவானதாகக் காட்டியது. Ponytail 5-க்கான தற்போதைய agentic முடிவு 53 சதவீதம் குறைவான lines of code, 26 சதவீதம் குறைவான செலவு மற்றும் 41 சதவீதம் குறைவான wall clock time ஆகியவற்றைக் காட்டுகிறது. இந்தத் திட்டம் single shot எண்ணை விரைவாகத் திருத்தியது. ஜூன் 29, 2026-ல், v4.8.4 மூலம், README-ல் ஏற்கனவே agentic முடிவு முன்னிலைப்படுத்தப்பட்டது, "~54% less code (up to 94%)", மேலும் முந்தைய 80 முதல் 94 சதவீதம் என்பது "சராசரி அல்ல, பணி வாரியான உச்ச வரம்பு" என்ற குறிப்புடன், single shot எண்கள் "பழைய single-shot எண்கள்" என்று தலைப்பிடப்பட்ட ஒரு சுருக்கப்பட்ட பகுதிக்கு மாற்றப்பட்டன. அந்தப் பகுதி ஏன் இந்த இடைவெளி உள்ளது என்பதை நேர்மையாக விளக்கியது: single shot baseline என்பது ஒரு bare model, அது "தனது பதில்களை உரை மற்றும் விருப்பங்களால் நிரப்புகிறது", இதை முறியடிப்பது எளிது. உண்மையான வேலையைச் செய்யும் ஒரு உண்மையான agent-உடன் ஒப்பிடும்போது இந்த வெற்றி குறைகிறது. அது உண்மையானதாகவே நீடிக்கிறது, அதுவே மிகவும் பயனுள்ள உண்மை. ஜூன் மாத agentic run-ல், Haiku 4.5-ல் தலா நான்கு முறை செய்யப்பட்ட பன்னிரண்டு tickets, இன்றைய முடிவுக்கு நெருக்கமாக 54 சதவீதம் குறைவான வரிகளைக் கொண்டிருந்தன, மேலும் தற்போதைய README-ல் single shot எண்கள் முற்றிலும் நீக்கப்பட்டுவிட்டன.
இதில் ஒரு எச்சரிக்கை உள்ளது, அது திட்டத்தின் சொந்த எச்சரிக்கை, இது உங்களுக்குப் பயனுள்ளதா என்பதைத் தீர்மானிப்பது அதுதான். ஒரு genuine over-build trap இருக்கும் இடங்களில் சேமிப்பு அதிகமாக உள்ளது, ஏற்கனவே மிகக் குறைந்த அளவில் இருந்த code-ல் சேமிப்பு கிட்டத்தட்ட பூஜ்ஜியமாக உள்ளது. அக்டோபர் மாத பணி வாரியான அட்டவணை இதை உறுதிப்படுத்துகிறது, பல surgical பணிகள் மூன்று பிரிவுகளிலும் ஒரே வரி எண்ணிக்கையிலேயே முடிந்துள்ளன. ஒரு model மற்றும் ஒரு host-ல், Bash முடக்கப்பட்ட நிலையில் செய்யப்படும் முப்பத்தொன்பது பணிகள் உங்கள் repository-ன் செயல்பாட்டை முன்கூட்டியே கணிக்காது. இந்த எண் உங்களுக்கு முக்கியமென்றால், உங்கள் சொந்த tickets-ல் விதியுடன் மற்றும் விதி இல்லாமலும் ஒப்பீட்டைச் செய்து பாருங்கள், வரிகளை நீங்களே எண்ணுங்கள்.
எந்த மென்பொருளையும் நிறுவத் தேவையில்லாமல் நீங்கள் இன்று பயன்படுத்தக்கூடிய மாதிரி
இந்த ஏணி (ladder) என்பது உரை வடிவிலானது, எனவே இந்த யோசனையைப் பயன்படுத்த உங்களுக்கு எந்த plugin-ம் தேவையில்லை. உங்கள் agent ஏற்கனவே வாசிக்கும் அறிவுறுத்தல் கோப்பில் (instruction file), அது AGENTS.md, CLAUDE.md அல்லது உங்கள் editor-ன் விதிகள் கோப்பாக இருந்தாலும், இது போன்ற ஒரு தொகுதியை நகலெடுத்து ஒட்டவும்.
## Before you write code
Climb this list in order. Stop at the first line that applies.
1. Does this need to exist? If not, say so and stop.
2. Does this repo already have it? Reuse the helper.
3. Does the standard library do it? Use it.
4. Does the platform do it natively? Use it.
5. Does an installed dependency do it? Use it.
6. Can it be one line? Write one line.
7. Otherwise write the minimum that works.
Never take the shortcut on: reading the code before changing it, validating
input that crosses a trust boundary, error handling that would otherwise lose
data, security, accessibility, or anything I asked for by name.
Do not add an abstraction I did not ask for. Do not add a dependency without
saying why in one line. Prefer deleting code to adding it.
Mark a deliberate simplification with a comment naming its ceiling and the
upgrade path.அந்த கடைசி விதியைத் தனியாகக் கவனிப்பது அவசியம். Ponytail-ன் தற்போதைய releases-ல், அதன் மரபுப்படி shortcut: என்று குறிக்கப்பட்ட ஒரு comment உள்ளது. இது வரம்பையும், எப்போது upgrade செய்ய வேண்டும் என்பதையும் குறிப்பிடுகிறது (ஜூன் மாத releases, v4.8.4 உட்பட, அதற்குப் பதிலாக ponytail: என்று குறித்துள்ளன):
# shortcut: global lock, per-account locks if throughput mattersஇந்த comment இரண்டு வரிகள் கொண்ட வேலைதான், ஆனால் இது ஒரு review சுழற்சியை வீணாக்கக்கூடிய கேள்வியைத் தீர்த்து வைக்கிறது. எளிமையான பதிப்பு என்பது ஒரு திட்டமிட்ட முடிவு என்பதை இது அடுத்த வாசகருக்குத் தெரிவிக்கிறது, மேலும் அந்த முடிவு எந்தச் சூழலில் மாற வேண்டும் என்பதையும் குறிப்பிடுகிறது. இது இல்லையென்றால், ஒரு reviewer-ஆல் இது திட்டமிட்ட குறுக்குவழியா அல்லது agent மறந்துவிட்ட விஷயமா என்று கண்டறிய முடியாது, எனவே அவர்கள் அதைக் கேட்க வேண்டியிருக்கும்.
இந்தத் தொகுதியை நீங்கள் எங்கே வைக்கிறீர்கள் என்பது, அதில் என்ன எழுதப்பட்டுள்ளது என்பதைப் போலவே முக்கியமானது. ஒவ்வொரு முறையும் agent வாசிக்கும் ஒரு கோப்பு, ஒவ்வொரு செயல்பாட்டையும் வழிநடத்துகிறது; நீங்கள் கவனிக்காத செயல்பாடுகளும் இதில் அடங்கும். அந்த வேறுபாடுதான் உங்கள் agent உண்மையில் பின்பற்றும் AGENTS.md-ஐ எழுதுதல் என்ற தலைப்பின் மையப்பொருள். இதனால்தான் இந்த மாதிரி உங்கள் shell history-ல் இல்லாமல், ஒரு committed கோப்பில் இருக்க வேண்டும். ஒரு monorepo-வில் இது ஒன்றுக்கும் மேற்பட்ட committed கோப்புகளில் இருக்க வேண்டும், ஏனெனில் ஒவ்வொரு package-க்கும் ஒரு AGENTS.md என்பது ஒவ்வொரு directory-ன் விதிகளையும் சுருக்கமாக வைத்திருக்கும்; இல்லையெனில் ஒவ்வொரு முறையும் முழு tree-ன் மரபுகளையும் agent வாசிக்க வேண்டியிருக்கும். இருப்பினும், வைக்கும் இடம் மட்டுமே ஒரு உத்தரவாதம் அல்ல. எனவே, ஏணிக்கு இன்னும் வலுவான சொற்கள் தேவை என்று முடிவெடுக்கும் முன், ஏன் ஒரு agent தான் ஏற்கனவே ஏற்றிக்கொண்ட விதியைப் புறக்கணிக்கிறது என்பதைத் தெரிந்துகொள்வது அவசியம்.
இந்த விதி எப்போது சரியாக இருப்பதில்லையோ
ஏற்கனவே இருக்கும் ஒரு codebase-ல் feature வேலைகளைச் செய்வதற்கு இந்த ladder வடிவமைக்கப்பட்டுள்ளது; அங்கு ஏற்கனவே உள்ள குறியீடுகளை மீண்டும் பயன்படுத்துவது (reuse) பொதுவாகச் சாத்தியம் மற்றும் பொதுவாகச் சரியானது. இது greenfield திட்டங்களுக்கு அவ்வளவு பொருத்தமாக இருப்பதில்லை, ஏனெனில் rung 2-ல் மீண்டும் பயன்படுத்த ஏதுமில்லை மற்றும் rung 5-ல் எதுவும் நிறுவப்பட்டிருக்காது. இந்த agent இன்னும் rung 1, standard library, ஒரு platform feature அல்லது ஒரு one-liner-ல் நிறுத்தப்படலாம், ஆனால் மிகவும் மலிவான இரண்டு வெளியேற்ற வழிகள் (exits) இல்லாததால், புதிய குறியீட்டை எழுதுவதற்கு அதிக வேலைகள் தள்ளப்படுகின்றன. உங்களுக்கு உண்மையிலேயே abstraction தேவைப்படும் தருணத்திலும் இது சரியாகப் பொருந்தாது. ஒரே மாதிரியான நகலெடுக்கப்பட்ட தொகுதியை (copied block) நான்காவது முறையாக அழைப்பவரைச் சேர்க்கப்போகிறீர்கள் என்றால், "shortest diff" உங்களுக்கு ஐந்தாவது நகலைத் தரும்.
ultra நிலை உங்கள் தேவைகளைச் சவாலுக்கு உட்படுத்தும். அந்த நிலை அதற்காகவே உருவாக்கப்பட்டது, நீங்கள் ஏற்கனவே ஒரு முடிவை எடுத்துவிட்டு வேலையை முடிக்க விரும்பும்போது இது ஒரு உண்மையான செலவாகும். சாதாரண வேலைகளுக்கு full-ஐப் பயன்படுத்துங்கள், ஒரு feature கோரிக்கையே பிரச்சினையாக இருக்கலாம் என்று நீங்கள் சந்தேகிக்கும்போது ultra-ஐ நாடுங்கள்.
பிரச்சினையைத் தவறாகப் புரிந்துகொள்வதிலிருந்து எந்தவொரு instruction தொகுப்பும் உங்களைக் காப்பாற்றாது. முடிவெடுப்பதற்கு முன் குறியீட்டைப் புரிந்துகொள்வதே இந்த விதிகளின் முதல் அம்சம்; இதுவே செலவு மிகுந்த பகுதியாகும், இதை இந்த உரையால் உங்களுக்காகச் செய்ய முடியாது. தவறான function-ல் செய்யப்படும் மிகச்சிறிய diff கூட ஒரு தவறான தீர்வே, மேலும் அது இப்போது எளிதாக அங்கீகரிக்கக்கூடிய ஒரு சிறிய தவறான தீர்வாக மாறிவிடுகிறது.
நேர்மையான சுருக்கம் என்னவென்றால், Ponytail என்பது கவனமாக எழுதப்பட்ட, சிறப்பாக விநியோகிக்கப்பட்ட மற்றும் எண்களைக் கொண்ட ஒரு prompt ஆகும். இதில் எந்தவொரு பகுதியும் plugin-ஐக் கோருவதில்லை. இந்தத் திட்டம் உங்களுக்கு வழங்குவது என்னவென்றால், யாரோ ஒருவர் இந்த பட்டியலைச் சரியாக எழுதி, அதை ஒரு உண்மையான repository-ல் சோதித்து, அந்த முறையை முடிவுகளுடன் சேர்த்துப் பதிப்பித்திருப்பதுதான்.
FAQ
Claude Code தவிர பிற agents-உடன் Ponytail வேலை செய்யுமா?
ஆம். இது skills-ஐ ஏற்கும் hosts-க்கான ஒரு skill-ஆகவே releases செய்யப்படுகிறது. இதில் Claude Code, Codex, OpenCode, Gemini மற்றும் README-ல் குறிப்பிடப்பட்டுள்ள பிறவும் அடங்கும். Cursor, Windsurf, Cline மற்றும் Copilot போன்ற editors, rule files-ஐ வாசிக்கும் ஆனால் skills-ஐ ஏற்றாது. இவை matching rules directory-ல் உள்ள always-on ruleset-ஐ எடுத்துக்கொள்ளும், ஆனால் slash commands-ஐப் பெறாது. இரண்டு முறைகளிலும் text ஒன்றாகவே இருக்கும். எனவே, உங்கள் host அந்த text-ஐ ஒவ்வொரு turn-இலும் context-ல் வைத்திருக்கிறதா அல்லது skill தூண்டப்படும்போது மட்டும் பயன்படுத்துகிறதா என்பதுதான் உண்மையான வித்தியாசம்.
ஒரு சோம்பேறி (lazy) agent சோதனைகள், சரிபார்ப்பு அல்லது பாதுகாப்பைத் தவிர்த்துவிடுமா?
இல்லை, ruleset இதை நேரடியாகக் குறிப்பிடுகிறது. அதன் "never lazy about" பட்டியலில், trust boundaries-ல் உள்ள input validation, தரவு இழப்பைத் தடுக்கும் error handling, பாதுகாப்பு மற்றும் அணுகல்தன்மை ஆகியவை உள்ளன. மேலும், சிக்கலான logic-ன் ஒவ்வொரு பகுதிக்கும் ஒரு சிறிய runnable check-ஐ இது கோருகிறது. இந்த rule நீக்குவது தேவையற்ற கட்டமைப்புகளை மட்டுமே: யாரும் கோராத abstractions மற்றும் யாருக்கும் தேவைப்படாத dependencies. நீங்கள் இதை நிறுவிய பிறகு உங்கள் agent சோதனைகளைத் தவிர்க்கத் தொடங்கினால், அதற்கு உங்கள் சொந்த config-ல் உள்ள மற்றொரு instruction-தான் காரணம். எனவே, agent கடைசியாக ஏற்றும் கோப்பைச் சரிபார்க்கவும்.
வெளியிடப்பட்ட வேகம் மற்றும் செலவு குறித்த எண்கள் நம்பகமானவையா?
இவை திட்டத்தின் சொந்த அளவீடுகள், அவற்றின் முறைகளுடன் வெளியிடப்பட்டுள்ளன. அவற்றை அப்படியே புரிந்துகொள்ள வேண்டும். ஜூன் 2026-ன் single shot புள்ளிவிவரங்கள், உரை மற்றும் விருப்பங்களால் பதிலைப் பூர்த்தி செய்த ஒரு bare model-உடன் ஒப்பிடப்பட்டன. அந்த நேரத்தில் README-லேயே அது ஒரு பலவீனமான baseline என்று குறிப்பிடப்பட்டிருந்தது. தற்போதைய agentic புள்ளிவிவரங்கள் Opus 5.5-ல் இயங்கும் headless Claude Code sessions-லிருந்து பெறப்பட்டவை. இதில் 39 tasks, ஒவ்வொன்றும் ஐந்து முறை இயக்கப்பட்டன. அவற்றில் பன்னிரண்டு, ஒரு FastAPI மற்றும் React repository-ல் உள்ள feature tickets ஆகும். அந்த setup-க்கு அவை உண்மையான எண்கள். இவை உங்கள் codebase-க்கான முன்னறிவிப்பு அல்ல, ஏனெனில் ஏற்கனவே minimal-ஆக உள்ள code-ல் சேமிப்பு கிட்டத்தட்ட பூஜ்ஜியமாகக் குறைவதை திட்டத்தின் per-task முடிவுகளே காட்டுகின்றன.
பலனைப் பெற நான் எதையாவது நிறுவ வேண்டுமா?
இல்லை. இந்த ladder என்பது வெறும் text தான். உங்கள் agent ஏற்கனவே வாசிக்கும் instruction file-ல் ஒரு சமமான block-ஐ நகலெடுத்து ஒட்டினால், பெரும்பாலான பலன்கள் கிடைத்துவிடும். இந்த plugin உங்களுக்குப் பராமரிக்கப்படும் wording, intensity levels, review commands மற்றும் update path ஆகியவற்றை வழங்குகிறது. நிறுவல் அவசியமா என்பதை அறிய, நகலெடுக்கப்பட்ட block-ஐ முதலில் முயற்சிப்பதே முதல் படியாகும்.
கவனிக்கப்படாத (unattended) agent இரவு நேரத்தில் அளவுக்கு அதிகமாக build செய்வதை நான் எப்படித் தடுப்பது?
Rule-ஐ chat message-ல் வைக்காமல் always-on instruction file-ல் வைக்கவும். அப்போதுதான் அது ஒரு நீண்ட run-ன் 200-வது turn-இலும் செயல்படும், 3-வது turn-இல் மட்டும் அல்ல. பிறகு சேதத்தைக் கட்டுப்படுத்தவும்: உங்கள் ஒரே ஒரு copy-க்கு பதிலாக, agent சிதைக்க அனுமதிக்கப்பட்ட ஒரு checkout-ஐ அதற்கு வழங்கவும். எதையும் merge செய்வதற்கு முன் மனிதரின் diff review-ஐக் கட்டாயமாக்கவும். ஒரு minimal diff rule நீங்கள் படிக்க வேண்டிய அளவைக் குறைக்கும். அது எதைச் சேர்க்க வேண்டும் என்பதை முடிவு செய்யாது, செய்யக் கூடாது.