Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

输出容量限制移除:作用范围与本地证据

在已配置好环境(已安装 Python 依赖)的目录下运行:

需翻译完整的输入内容,不得提前终止处理。

HERMES_HOME=$(mktemp -d) FULL_OUTPUT_CAP_SURFACES=1 \
  VERIFY_OUTPUT_CAP_REMOVAL=1 PYTHONPATH=$PWD \
  .venv/bin/python evals/output_caps_local_capture.py

该HTTP测试夹具仅返回LOCAL_CAPTURE_ONLY值,绝不会进行供应商相关推断。相同的测试流程会在未设置VERIFY_OUTPUT_CAP_REMOVAL参数的情况下,基于原始基准配置运行,同时使用对应版本的代码目录及PYTHONPATH环境。判定标准为实际捕获的请求内容,而非伪造的响应长度。该测试夹具会调用已安装的OpenAI、Anthropic及boto3 SDK;其中boto3用于本地Converse功能的测试,并不涉及AWS服务调用。TTY转录内容会被保存在临时的HERMES_HOME目录下。

规则边界

已移除的内容包括:HERMES_MAX_TOKENS、model.max_tokens、专用的命名/自定义供应商参数max_output_tokens、模型元数据输出覆盖功能、批量CLI请求限制、MoA预设/参考值/槽位限制,以及辅助压缩相关的用户限制。此类专用限制不再通过网关/API/CLI、子进程、审核或管理工具的运行时机制来调整。过时的配置将被忽略,同时也不会引入全局请求字段清洗功能。

保留的内容包括:

  • 协议字段及内部任务参数:原生Anthropic Messages格式需要指定max_tokens参数;基于Bedrock平台的原生Anthropic功能与Converse功能存在差异,Converse中的inferenceConfig.maxTokens为可选参数。供应商的默认值无需与模型的最大Token数完全一致。
  • 供应商实现约束:现有的NVIDIA、Qwen OAuth、Meta、Kimi、Opencode以及原生Gemini配置文件的预算限制均保持不变。此次变更不会为这些服务路径带来新的供应商认可流程或计费规则。
  • 任务 API: AIAgent(max_tokens=...)、辅助函数 call_llm 的调用限额以及 llm.oneshot 功能仍可由应用任务直接调用,而不受用户模型设置的限制。桌面端工具 requestOneShot 用于处理提交信息等短文本生成任务,而“项目构思”功能同样采用无状态 RPC 方式,该界面不存在输入输出长度限制。目前可选的桌面端 maxTokens 封装功能尚未有明确指定最大 token 数值的调用方式,其任务 RPC 接口规范仍保持不变。
  • MCP 安全策略: SamplingHandler.max_tokens_cap 用于限制特定服务器的采样请求量,同时还会对请求频率、超时时间以及工具调用轮次进行管控。与之相关的 Nix 配置、迁移指南、示例代码及文档则属于独立的信任边界,依然会得到支持。
  • 通用协议透传功能: request_overrides/extra_body 仍然是用于自定义请求结构的机制,并非专门用于控制输出长度的工具;若移除这些自定义的原始字段,将会影响其他协议的正常运行。
  • 会话级别的 --max-tokens 选择过滤器、实际使用情况、上下文长度限制、提供者错误恢复机制以及工具输出大小限额之间彼此独立,互不关联。

变更前后的观察结果

本地生产环境基准上限固定上限
主代理对话17不适用
子进程构建及完整生命周期17不适用
完整的MoA架构:两个顾问节点 + 聚合器23 / 23 / 不适用全部不适用
压缩后的call_llm调用47不适用
通过PTY进行的一次性CLI调用13不适用
通过boto3与回环接口进行对话4096不适用
原生Anthropic SDK1638416384
显式设定的内部任务预算4343

初始捕获内容还涵盖了真实的网关/API/自定义提供程序解析器、已注册的自定义提供程序配置文件、已完成审核的副本,以及保留了43这一明确内部预算值的审核副本。此处并未进行调度测试。此外,还分别使用原生的Electron A/B版本针对独立的真实后端打开了模型设置界面,并切换了预设的MoA架构模式:两种模式下均将enabled字段设置为false;基准模式下仍保留着29/31的预设上限,而固定模式下则取消了这些上限。桌面端和仪表板相关的TypeScript检查以及生产环境下的桌面端构建也均通过了测试。目前尚无任何本地测试能够验证远程提供程序的行为或计费逻辑。