- Be boring - use chat completions, don't use provider specific things, you probably don't need an agent (a fancy for loop)
- Store LLM requests in the DB - time, provider, model, request, request headers, response, response headers, latency, token usage, estimated cost
- Use PrismPHP