diff --git a/api/server/controllers/agents/client.js b/api/server/controllers/agents/client.js index f44d01ca79..73824d988b 100644 --- a/api/server/controllers/agents/client.js +++ b/api/server/controllers/agents/client.js @@ -1230,6 +1230,21 @@ class AgentClient extends BaseClient { const encoding = this.getEncoding(); return Tokenizer.getTokenCount(text, encoding); } + + /** @type {number} Anthropic message framing correction factor. */ + static CLAUDE_TOKEN_CORRECTION = 1.1; + + /** + * @param {object} message + * @returns {number} + */ + getTokenCountForMessage(message) { + const count = super.getTokenCountForMessage(message); + if (this.getEncoding() === 'claude') { + return Math.ceil(count * AgentClient.CLAUDE_TOKEN_CORRECTION); + } + return count; + } } module.exports = AgentClient;