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