无限输出功能

LLM(大型语言模型)提供商通常会对单个请求的输出量进行限制,这通常被称为输出令牌限制。

Aider 能够通过与支持”预填充”(prefill)助理响应的模型配合来突破这一限制。当您使用支持预填充功能的模型运行 aider 时,会在启动时显示的公告行中看到”infinite output”(无限输出)的标注:

Aider v0.58.0
Main model: claude-3-5-sonnet-20240620 with diff edit format, prompt cache, infinite output

支持预填充功能的模型可以被”引导”,使其认为自己已经开始响应特定的文本内容。这相当于您可以将文字”放入它们的口中”,模型会从该点继续生成后续文本。

当 aider 从模型收集代码编辑内容时,如果遇到输出令牌限制,aider 会简单地发起另一个 LLM 请求,并将部分响应内容预填充进去。这会提示模型从上次中断的地方继续生成更多所需响应。这种对部分完成响应的预填充可以重复进行,从而实现非常长的输出。跨越这些输出限制边界连接文本需要一些启发式方法,但通常相当可靠。

Aider 对支持”预填充”的模型提供”无限输出”功能,例如:

生成模型列表

model_list = “\n”.join(f”- {model}” for model in sorted(prefill_models))

cog.out(model_list) ]]]–>

  • anthropic.claude-3-5-haiku-20241022-v1:0
  • anthropic.claude-3-5-sonnet-20241022-v2:0
  • anthropic.claude-3-7-sonnet-20250219-v1:0
  • anthropic.claude-opus-4-20250514-v1:0
  • anthropic.claude-sonnet-4-20250514-v1:0
  • apac.anthropic.claude-3-5-sonnet-20241022-v2:0
  • apac.anthropic.claude-sonnet-4-20250514-v1:0
  • azure_ai/mistral-medium-2505
  • claude-3-5-haiku-20241022
  • claude-3-5-haiku-latest
  • claude-3-5-sonnet-20240620
  • claude-3-5-sonnet-20241022
  • claude-3-5-sonnet-latest
  • claude-3-7-sonnet-20250219
  • claude-3-7-sonnet-latest
  • claude-3-haiku-20240307
  • claude-3-opus-20240229
  • claude-3-opus-latest
  • claude-3-sonnet-20240229
  • claude-4-opus-20250514
  • claude-4-sonnet-20250514
  • claude-opus-4-20250514
  • claude-sonnet-4-20250514
  • codestral/codestral-2405
  • codestral/codestral-latest
  • databricks/databricks-claude-3-7-sonnet
  • deepseek/deepseek-chat
  • deepseek/deepseek-coder
  • deepseek/deepseek-reasoner
  • eu.anthropic.claude-3-5-haiku-20241022-v1:0
  • eu.anthropic.claude-3-5-sonnet-20241022-v2:0
  • eu.anthropic.claude-3-7-sonnet-20250219-v1:0
  • eu.anthropic.claude-opus-4-20250514-v1:0
  • eu.anthropic.claude-sonnet-4-20250514-v1:0
  • mistral/codestral-2405
  • mistral/codestral-latest
  • mistral/codestral-mamba-latest
  • mistral/devstral-small-2505
  • mistral/magistral-medium-2506
  • mistral/magistral-medium-latest
  • mistral/magistral-small-2506
  • mistral/magistral-small-latest
  • mistral/mistral-large-2402
  • mistral/mistral-large-2407
  • mistral/mistral-large-2411
  • mistral/mistral-large-latest
  • mistral/mistral-medium
  • mistral/mistral-medium-2312
  • mistral/mistral-medium-2505
  • mistral/mistral-medium-latest
  • mistral/mistral-small
  • mistral/mistral-small-latest
  • mistral/mistral-tiny
  • mistral/open-codestral-mamba
  • mistral/open-mistral-7b
  • mistral/open-mistral-nemo
  • mistral/open-mistral-nemo-2407
  • mistral/open-mixtral-8x22b
  • mistral/open-mixtral-8x7b
  • mistral/pixtral-12b-2409
  • mistral/pixtral-large-2411
  • mistral/pixtral-large-latest
  • openrouter/anthropic/claude-3.5-sonnet
  • openrouter/anthropic/claude-3.7-sonnet
  • openrouter/anthropic/claude-sonnet-4
  • openrouter/deepseek/deepseek-r1
  • openrouter/deepseek/deepseek-r1-0528
  • us.anthropic.claude-3-5-haiku-20241022-v1:0
  • us.anthropic.claude-3-5-sonnet-20241022-v2:0
  • us.anthropic.claude-3-7-sonnet-20250219-v1:0
  • us.anthropic.claude-opus-4-20250514-v1:0
  • us.anthropic.claude-sonnet-4-20250514-v1:0
  • vertex_ai/claude-3-5-haiku
  • vertex_ai/claude-3-5-haiku@20241022
  • vertex_ai/claude-3-5-sonnet
  • vertex_ai/claude-3-5-sonnet-v2
  • vertex_ai/claude-3-5-sonnet-v2@20241022
  • vertex_ai/claude-3-5-sonnet@20240620
  • vertex_ai/claude-3-7-sonnet@20250219
  • vertex_ai/claude-3-haiku
  • vertex_ai/claude-3-haiku@20240307
  • vertex_ai/claude-3-opus
  • vertex_ai/claude-3-opus@20240229
  • vertex_ai/claude-3-sonnet
  • vertex_ai/claude-3-sonnet@20240229
  • vertex_ai/claude-opus-4
  • vertex_ai/claude-opus-4@20250514
  • vertex_ai/claude-sonnet-4
  • vertex_ai/claude-sonnet-4@20250514

目录