APC Agents ਨੂੰ model: inherit ਨੂੰ ਡਿਫੌਲਟ ਕਿਉਂ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ
APC agent ਫਾਈਲਾਂ ਉਦੋਂ ਸਭ ਤੋਂ ਵਧੀਆ ਕੰਮ ਕਰਦੀਆਂ ਹਨ ਜਦੋਂ ਉਹ ਛੋਟੀਆਂ ਅਤੇ ਪੋਰਟੇਬਲ (portable) ਹੁੰਦੀਆਂ ਹਨ।
ਸਭ ਤੋਂ ਵਧੀਆ ਡਿਫੌਲਟ model: inherit ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ। ਕਿਸੇ ਖਾਸ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਹੀ ਕਰੋ ਜਦੋਂ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸਦੀ ਲੋੜ ਹੋਵੇ। ਇਹ ਨਿਯਮ ਤੁਹਾਡੀਆਂ ਫਾਈਲਾਂ ਨੂੰ ਸਾਫ਼ ਰੱਖਦਾ ਹੈ। ਰਿਪੋਜ਼ਟਰੀ (repository) ਪ੍ਰੋਜੈਕਟ ਕੰਟਰੈਕਟ ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ। ਰਨਟਾਈਮ (runtime) ਮਾਡਲ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ।
ਇੱਕ APC agent ਤੁਹਾਡੀ agent ਫਾਈਲ ਵਿੱਚ ਇੱਕ persona ਹੁੰਦਾ ਹੈ। ਇਹ ਨਾਮ, ਭੂਮਿਕਾ (role) ਅਤੇ ਹੁਨਰ (skills) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਪੂਰੇ runtime stack ਨੂੰ hardcode ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ। ਇਸ ਨੂੰ ਕਿਸੇ ਇੱਕ ਵੈਂਡਰ (vendor) ਨੂੰ ਡਿਫੌਲਟ ਵਜੋਂ ਲਾਗੂ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ। ਇਹ ਸਿਰਫ਼ persona ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ ਅਤੇ runtime ਨੂੰ ਆਪਣਾ ਕੰਮ ਕਰਨ ਦਿੰਦਾ ਹੈ।
model: inherit ਕਿਉਂ ਬਿਹਤਰ ਹੈ:
- ਪੋਰਟੇਬਿਲਟੀ (Portability): ਤੁਸੀਂ ਅੱਜ APX ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਕੱਲ੍ਹ Cursor ਜਾਂ Claude Code ਦੀ। ਇੰਹੇਰੀਟੈਂਸ (Inheritance) agent ਨੂੰ ਸਾਰੇ ਟੂਲਸ ਵਿੱਚ ਕੰਮ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
- ਘੱਟ ਰੌਲਾ (Less Noise): ਹਰ ਫਾਈਲ ਵਿੱਚ ਮਾਡਲਾਂ ਨੂੰ hardcode ਕਰਨ ਨਾਲ ਗੜਬੜ (clutter) ਪੈਦਾ ਹੁੰਦੀ ਹੈ।
- ਬਿਹਤਰ ਵੱਖਰੇਵਾਂ (Better Separation): APC ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਕਿ agent ਕੀ ਹੈ। Runtime ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਕਿ ਇਹ ਕਿਵੇਂ ਚੱਲਦਾ ਹੈ।
- ਆਸਾਨ ਸੈੱਟਅੱਪ (Easier Setup): ਟੀਮ ਦੇ ਮੈਂਬਰ agent ਫਾਈਲਾਂ ਨੂੰ ਬਦਲੇ ਬਿਨਾਂ ਤੁਹਾਡੀ repo ਨੂੰ ਕਲੋਨ ਕਰ ਸਕਦੇ ਹਨ ਅਤੇ ਇਸਨੂੰ ਤੁਰੰਤ ਚਲਾ ਸਕਦੇ ਹਨ।
ਕਿਸੇ ਖਾਸ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕਦੋਂ ਕਰਨੀ ਹੈ:
ਕਿਸੇ ਖਾਸ provider ਅਤੇ model ID ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਹੀ ਕਰੋ ਜੇਕਰ ਪ੍ਰੋਜੈਕਟ ਇਸ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ:
- ਸਧਾਰਨ ਸਾਰਾਂਸ਼ਾਂ (summaries) ਲਈ ਇੱਕ ਛੋਟਾ ਸਥਾਨਕ (local) ਮਾਡਲ।
- ਕੁਝ ਖਾਸ tool-use profiles ਲਈ ਇੱਕ ਖਾਸ ਮਾਡਲ।
- test fixtures ਲਈ ਇੱਕ ਭਵਿੱਖਬਾਣੀਯੋਗ (predictable) ਇੰਜਣ।
ਕਿਸੇ ਮਾਡਲ ਨੂੰ ਪਿੰਨ (pin) ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਟੈਸਟ ਦੀ ਵਰਤੋਂ ਕਰੋ:
- ਕੀ ਮਾਡਲ ਪ੍ਰੋਜੈਕਟ ਕੰਟਰੈਕਟ ਦਾ ਹਿੱਸਾ ਹੈ? ਇਸਨੂੰ ਪਿੰਨ ਕਰੋ।
- ਕੀ ਮਾਡਲ ਸਿਰਫ਼ ਇੱਕ ਸਥਾਨਕ runtime ਚੋਣ ਹੈ?
model: inheritਦੀ ਵਰਤੋਂ ਕਰੋ। - ਕੀ ਮੁੱਲ (value) ਗੁਪਤ ਹੈ ਜਾਂ ਮਸ਼ੀਨ-ਵਿਸ਼ੇਸ਼ ਹੈ? ਇਸਨੂੰ ਆਪਣੇ runtime config ਵਿੱਚ ਰੱਖੋ।
Agent ਦਾ ਵਰਣਨ ਕਰੋ, ਮਸ਼ੀਨ ਦਾ ਨਹੀਂ। ਇਹ ਤੁਹਾਡੀਆਂ agent ਫਾਈਲਾਂ ਨੂੰ 'sticky' ਹੋਣ ਦੀ ਬਜਾਏ ਉਪਯੋਗੀ ਬਣਾ ਕੇ ਰੱਖਦਾ ਹੈ।
Source: https://dev.to/agentprojectcontext/why-apc-agents-should-default-to-model-inherit-1jih
Optional learning community: https://t.me/GyaanSetuAi