ഒരേ പ്രോംപ്റ്റ്, ഒരേ ഡയഗ്രം

Prateek Rai tldraw-canvas-kit പുറത്തിറക്കി; Claude Code അല്ലെങ്കിൽ Cursor പോലുള്ള ലോക്കൽ AI അസിസ്റ്റന്റുകൾക്ക് ഓഫ്‌ലൈൻ tldraw ഡെസ്‌ക്‌ടപ്പ് ആപ്പ് പ്രവർത്തിപ്പിക്കാനും ഓരോ തവണയും ഒരേപോലെയുള്ള എഞ്ചിനീയറിംഗ് ഡയഗ്രമുകൾ നിർമ്മിക്കാനും സഹായിക്കുന്ന 19 "Agent Skills"-കളുടെ ഒരു ശേഖരമാണിത്. ക്ലൗഡ് കണക്ഷനോ ടെലിമെട്രിയോ ഇല്ലാതെ ഈ കിറ്റ് പ്രവർത്തിക്കുന്നു, അതായത് ടീമുകൾക്ക് അവരുടെ വിഷ്വൽ അസറ്റുകൾ പൂർണ്ണമായും ഓൺ-പ്രെമിസസിൽ (on-premises) തന്നെ സൂക്ഷിക്കാം.

എന്തുകൊണ്ടാണ് ഒരു ലോക്കൽ, ഡിറ്റർമിനിസ്റ്റിക് (deterministic) ഡയഗ്രം ടൂൾ പ്രധാനമാകുന്നത്

എഞ്ചിനീയറിംഗ് ടീമുകൾ സ്ലൈഡ് ഡെക്കുകൾ, ഡോക്യുമെന്റേഷൻ സൈറ്റുകൾ, ഡിസൈൻ ടൂളുകൾ എന്നിവയ്ക്കിടയിൽ ഫ്ലോചാർട്ടുകൾ, ക്ലാസ് ഡയഗ്രമുകൾ, ആർക്കിടെക്ചർ മാപ്പുകൾ എന്നിവ മാറ്റുന്നതിനായി മണിക്കൂറുകൾ ചെലവഴിക്കുന്നു. ഓരോ കോപ്പി-പേസ്റ്റ് ഘട്ടത്തിലും ചെറിയ മാറ്റങ്ങൾ സംഭവിക്കുന്നു—ലൈൻ സ്റ്റൈലുകൾ മാറുന്നു, ഐഡികൾ (IDs) വീണ്ടും ജനറേറ്റ് ചെയ്യപ്പെടുന്നു, ലേഔട്ടുകൾ മാറുന്നു. ഒരു LLM ഉപയോഗിച്ച് ഒരു ഡയഗ്രം വീണ്ടും നിർമ്മിക്കുമ്പോൾ, ടെക്സ്റ്റൽ പ്രോംപ്റ്റ് മാറ്റമില്ലാതെ തന്നെയാണെങ്കിൽ പോലും, ഫലം പലപ്പോഴും വ്യത്യസ്തമായ ക്രമീകരണമായിരിക്കും. ഓഡിറ്റ് ചെയ്യാൻ പാകത്തിലുള്ള ഡോക്യുമെന്റേഷനോ അല്ലെങ്കിൽ വീണ്ടും നിർമ്മിക്കാൻ കഴിയുന്ന ഡിസൈൻ ആർട്ടീഫാക്റ്റുകളോ ആവശ്യമുള്ള സ്ഥാപനങ്ങളെ സംബന്ധിച്ചിടത്തോളം, ഈ വ്യതിയാനം ഒരു വെല്ലുവിളിയാണ്.

രണ്ട് പ്രധാന പ്രശ്നങ്ങൾ പരിഹരിക്കാനാണ് Prateek tldraw-canvas-kit നിർമ്മിച്ചത്: (1) ഉപയോക്താവിന്റെ മെഷീനിൽ മാത്രം പ്രവർത്തിക്കുന്ന ഒരു ടൂൾ, (2) ഒരേ പ്രോംപ്റ്റ് നൽകിയാൽ ഒരേ ഡയഗ്രം തന്നെ ലഭിക്കുമെന്ന ഉറപ്പ്. AI ഏജന്റിന് വിളിക്കാവുന്ന ഒരു ലോക്കൽ HTTP API നൽകുന്നതിലൂടെ, ഈ കിറ്റ് നെറ്റ്‌വർക്ക് ലേറ്റൻസി (latency), ഡാറ്റ ചോർച്ചയ്ക്കുള്ള സാധ്യത (data-exfiltration risk), SaaS സബ്‌സ്‌ക്രിപ്ഷന്റെ ആവശ്യം എന്നിവ ഒഴിവാക്കുന്നു.

കിറ്റ് എങ്ങനെ പ്രവർത്തിക്കുന്നു

  • Offline core – tldraw ഡെസ്‌ക്‌ടപ്പ് ആപ്പ് JSON-encoded കമാൻഡുകൾ സ്വീകരിക്കുന്ന ഒരു ലോക്കൽ സെർവർ പ്രവർത്തിപ്പിക്കുന്നു. പുറത്തുനിന്നുള്ള കോളുകൾ ഒന്നും തന്നെ നടക്കുന്നില്ല, ഉപയോഗ വിവരങ്ങൾ മെഷീനിൽ നിന്ന് പുറത്തേക്ക് പോകുന്നതുമില്ല.
  • Agent Skills – ഓരോ സ്കില്ലും ഒരു നിശ്ചിത സ്ട്രക്ചർ സ്പെസിഫിക്കേഷൻ എൻകോഡ് ചെയ്യുന്നു: ലേഔട്ട് മാത്ത്, സ്റ്റെൻസിൽ ചോയിസുകൾ, സ്റ്റേബിൾ ഐഡികൾ (stable IDs). ഒരു ഏജന്റ് ഒരു സ്കിൽ ഉപയോഗിക്കുമ്പോൾ, അതിന് കൃത്യമായ ഡ്രോയിംഗ് നിർദ്ദേശങ്ങൾ ലഭിക്കുന്നു.
  • Idempotent updates – നിലവിലുള്ള ഒരു ഡയഗ്രത്തിൽ ഒരു സ്കിൽ പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, അത് രൂപങ്ങളെ (shapes) അതേ സ്ഥാനത്ത് തന്നെ അപ്‌ഡേറ്റ് ചെയ്യുകയും, കാലഹരണപ്പെട്ട ഘടകങ്ങൾ നീക്കം ചെയ്യുകയും, എഡ്ജുകൾ വീണ്ടും ക്രമീകരിക്കുകയും ചെയ്യുന്നു. ഇതിന്റെ ഫലമായി ഡ്യൂപ്ലിക്കേറ്റ് ഒബ്‌ജക്റ്റുകൾ കൂടാതെ തന്നെ ക്യാൻവാസ് റീഫ്രഷ് ചെയ്യാൻ സാധിക്കുന്നു.
  • File format – ഡയഗ്രമുകൾ പ്ലെയിൻ .tldraw ഫയലുകളായി സൂക്ഷിക്കുന്നു. ലേഔട്ട് ലോജിക് ഫയലിനുള്ളിൽ തന്നെ ഉള്ളതിനാൽ, ഒരു ഡെക്ക് പങ്കുവെക്കുമ്പോൾ ആ വ്യൂ വീണ്ടും നിർമ്മിക്കാൻ ആവശ്യമായ നാവിഗേഷൻ നിയമങ്ങളും അതിൽ ഉൾപ്പെടുന്നു.

സീക്വൻസ്, ഫ്ലോചാർട്ടുകൾ മുതൽ ER ഡയഗ്രമുകൾ, സ്റ്റേറ്റ് മെഷീനുകൾ, സ്വിംലെയ്‌നുകൾ (swimlanes), യൂസ്-കേസ്, കമ്പോണന്റ്, പാക്കേജ്, ഡിപ്ലോയ്‌മെന്റ്, ആർക്കിടെക്ചർ, മൈൻഡ് മാപ്പുകൾ, കോഡ്-ബേസ് മാപ്പുകൾ എന്നിങ്ങനെ പതിമൂന്ന് ഡയഗ്രം വിഭാഗങ്ങളെ ഈ കിറ്റ് പിന്തുണയ്ക്കുന്നു. ഉപയോക്താക്കൾ അവർക്ക് ആവശ്യമുള്ള ഡയഗ്രം വിവരിച്ചാൽ മതി; അതിന്റെ അടിസ്ഥാന ഘടന സ്കിൽ കൈകാര്യം ചെയ്യും.

വികസന വേളയിൽ പഠിച്ച പാഠങ്ങൾ

  1. Arrow styling defaults to a hand-drawn look – വൃത്തിയുള്ള ഒരു ലൈൻ ആവശ്യപ്പെട്ടാൽ പോലും, API ആദ്യം ഒരു സ്കെച്ച് ശൈലിയിലുള്ള അമ്പ് (arrow) ആണ് നിർമ്മിക്കുന്നത്. ശൈലി മാറ്റുന്നതിനായി സ്കിൽ ഒരു തുടർ കമാൻഡ് നൽകേണ്ടതുണ്ട്.
  2. Arrows can intersect shapes silently – ഒരു കണക്റ്റർ ഒരു നോഡിലൂടെ കടന്നുപോയാൽ API എററുകൾ കാണിക്കില്ല. ഇത്തരം പ്രശ്നങ്ങൾ കണ്ടെത്താൻ നിർമ്മിക്കപ്പെട്ട സ്ക്രീൻഷോട്ടുകൾ നേരിട്ട് പരിശോധിക്കേണ്ടതുണ്ട്.
  3. Edge-label wrapping breaks on short arrows – കണക്റ്റർ വളരെ ചെറുതാണെങ്കിൽ ലേബലുകൾ ശരിയായി വരാൻ സാധ്യതയില്ല, അതിനാൽ സ്കിൽ ഒരു മിനിമം നീളം നിശ്ചയിക്കുകയോ ലേബലിന്റെ സ്ഥാനം ക്രമീകരിക്കുകയോ ചെയ്യണം.

API-യെ കുറിച്ചുള്ള അനുമാനങ്ങൾക്ക് പകരം അതിന്റെ യഥാർത്ഥ പ്രവർത്തനത്തിന്റെ അടിസ്ഥാനത്തിലാണ് ഈ സ്കില്ലുകൾ നിർമ്മിച്ചതെന്ന് ഈ പ്രത്യേകതകൾ വ്യക്തമാക്കുന്നു.

കിറ്റ് ഇൻസ്റ്റാൾ ചെയ്യാനും ഉപയോഗിക്കാനും

npx skills add prateek11rai/tldraw-canvas-kit

ഈ കമാൻഡ് macOS, Linux എന്നിവയിൽ പ്രവർത്തിക്കും. ഇൻസ്റ്റാളേഷന് ശേഷം, അതേ വർക്ക്സ്റ്റേഷനിലുള്ള ഒരു AI ഏജന്റിന് ലോക്കൽ ഡോക്യുമെന്റുകൾ ക്വറി ചെയ്യാനും കോഡ് ജനറേറ്റ് ചെയ്യാനും പ്രവർത്തിച്ചുകൊണ്ടിരിക്കുന്ന tldraw സെർവറിലേക്ക് ഡ്രോയിംഗ് കമാൻഡുകൾ അയക്കാനും കഴിയും. ഇതിന്റെ ഫലമായി ലഭിക്കുന്ന ഡയഗ്രം വീണ്ടും എഡിറ്റ് ചെയ്യാനോ ഹോസ്റ്റ് വിട്ടുപോകാതെ തന്നെ പ്രസന്റേഷനുകളിലേക്ക് എക്‌സ്‌പോർട്ട് ചെയ്യാനോ സാധിക്കും.

ആർക്കൊക്കെ പ്രയോജനം ലഭിക്കും, എന്തൊക്കെ പരിമിതികളുണ്ട്?

  • Security-focused teams – കർശനമായ ഡാറ്റാ കൈകാര്യം ചെയ്യൽ നയങ്ങളുള്ള കമ്പനികൾക്ക് അവരുടെ ഡിസൈൻ ആർട്ടീഫാക്റ്റുകൾ ഫയർവാളിന് പിന്നിൽ സുരക്ഷിതമായി സൂക്ഷിക്കാം.
  • Documentation engineers – വേർഷൻ കൺട്രോൾഡ് റിപ്പോസിറ്ററികളിൽ ഡയഗ്രമുകൾ ഉൾപ്പെടുത്തേണ്ടവർക്ക് കൃത്യമായ ഒരു സോഴ്സ് ഓഫ് ട്രൂത്ത് (source of truth) ഇതിലൂടെ ലഭിക്കുന്നു.
  • Individual contributors – ഓരോ തവണയും LLM ഉപയോഗിച്ചതിന് ശേഷം ലേഔട്ടുകൾ മാനുവലായി മാറ്റുന്നതിൽ മടുപ്പ് തോന്നുന്ന ഡെവലപ്പർമാർക്ക് ഈ പ്രക്രിയ ഓട്ടോമേറ്റ് ചെയ്യാം.

ഇതിന്റെ പ്രധാന പരിമിതി ലോക്കലായി പ്രവർത്തിക്കുന്ന tldraw ഇൻസ്റ്റൻസിനെ ആശ്രയിക്കുന്നു എന്നതാണ്. നിലവിൽ ക്ലൗഡ് അധിഷ്ഠിത ഡയഗ്രം സേവനങ്ങളെ ആശ്രയിക്കുന്ന സ്ഥാപനങ്ങൾക്ക് ഡെസ്‌ക്‌ടപ്പ് ആപ്പ് സ്വീകരിക്കുകയും വർക്ക്ഫ്ലോകൾ ക്രമീകരിക്കുകയും ചെയ്യേണ്ടി വരും. കൂടാതെ, നിലവിലെ സ്കിൽ സെറ്റിൽ കസ്റ്റം സ്റ്റെൻസിൽ ലൈബ്രറികൾ ഉൾപ്പെടുന്നില്ല; ഉപയോക്താക്കൾക്ക് മുൻകൂട്ടി നിശ്ചയിച്ചിട്ടുള്ള രൂപങ്ങൾ (predefined shapes) ഉപയോഗിക്കേണ്ടി വരും.

അടുത്തത് എന്ത്?

കമ്മ്യൂണിറ്റി ഫീഡ്‌ബാക്കിന്റെ അടിസ്ഥാനത്തിൽ സ്കിൽ ലൈബ്രറി വിപുലീകരിക്കാനും Windows സപ്പോർട്ട് നൽകി ഉപഭോക്താക്കളുടെ എണ്ണം വർദ്ധിപ്പിക്കാനും പ്രതീക് പദ്ധതിയിടുന്നു. തേർഡ് പാർട്ടി ഏജന്റുകൾ ഈ കിറ്റ് സംയോജിപ്പിക്കണമെന്നും, ഒരേ ഡിറ്റർമിനിസ്റ്റിക് കോർ ഉപയോഗിക്കുന്ന വിവിധതരം ഡയഗ്രം ജനറേറ്ററുകളുടെ ഒരു മാർക്കറ്റ് പ്ലേസ് രൂപപ്പെടണമെന്നും അദ്ദേഹം പ്രതീക്ഷിക്കുന്നു.

പ്രധാന പാഠം

AI അധിഷ്ഠിത ഡയഗ്രം നിർമ്മാണം എന്നത് ക്ലൗഡ് അധിഷ്ഠിതം മാത്രമായ ഒരു പ്രോബബിലിസ്റ്റിക് പ്രക്രിയയാകണമെന്നില്ലെന്ന് tldraw-canvas-kit തെളിയിക്കുന്നു. ഡ്രോയിംഗ് ലോജിക് ഒരു ലോക്കൽ API-യിൽ ഉറപ്പിച്ചു നിർത്തുന്നതിലൂടെയും സ്ഥിരമായ ഐഡന്റിഫയറുകൾ ഉപയോഗിക്കുന്നതിലൂടെയും, സ്വകാര്യതയോ നിയന്ത്രണമോ നഷ്ടപ്പെടുത്താതെ തന്നെ ആവർത്തിക്കാവുന്നതും ഓഡിറ്റ് ചെയ്യാൻ പാകത്തിലുള്ളതുമായ വിഷ്വലുകൾ നിർമ്മിക്കാൻ ഇത് എഞ്ചിനീയർമാരെ സഹായിക്കുന്നു.