𝗪𝗵𝘆 𝗔𝗣𝗖 𝗔𝗴𝗲𝗻𝘁𝘀 𝗦𝗵𝗼𝘂𝗹𝗱 𝗗𝗲𝗳𝗮𝘂𝗹𝘁 𝗧𝗼 𝗺𝗼𝗱𝗲𝗹: 𝗶𝗻𝗵𝗲𝗿𝗶𝘁
APC agent files work best when they are small and portable.
The best default is to use model: inherit. Use a specific model only when your project requires it. This rule keeps your files clean. The repository holds the project contract. The runtime makes the choice of model.
An APC agent is a persona in your agent file. It defines the name, role, and skills. It should not hardcode the entire runtime stack. It should not force one vendor as the default. It describes the persona and lets the runtime do its job.
Why model: inherit is better:
- Portability: You might use APX today and Cursor or Claude Code tomorrow. Inheritance allows the agent to work across all tools.
- Less Noise: Hardcoding models in every file creates clutter.
- Better Separation: APC defines what the agent is. The runtime defines how it runs.
- Easier Setup: Team members can clone your repo and run it immediately without changing agent files.
When to use a specific model:
Use a specific provider and model ID only if the project depends on it. For example:
- A small local model for simple summaries.
- A specific model for certain tool-use profiles.
- A predictable engine for test fixtures.
Use this test before you pin a model:
- Is the model part of the project contract? Pin it.
- Is the model just a local runtime choice? Use model: inherit.
- Is the value secret or machine-specific? Keep it in your runtime config.
Describe the agent, not the machine. This keeps your agent files useful instead of sticky.
Source: https://dev.to/agentprojectcontext/why-apc-agents-should-default-to-model-inherit-1jih
Optional learning community: https://t.me/GyaanSetuAi