打开 Lito
Lito文档
打开 Lito

权限与运行控制

一轮文献研究可能连续检索、读原文,再组织回答。模型负责判断下一步需要什么;系统负责限制它能访问的材料、允许占用的资源,以及何时结束执行。两者共同决定任务能否按用户选择的范围完成。

一、资料与工具访问

后端根据用户身份和请求中的材料范围生成检索条件。资料范围可以包含项目文件及当前附件,访问权限继续单独约束候选;指定某个文件或项目,不会自动获得访问权限。通过过滤的片段再参与排序和筛选。

图 08-01点击放大

文献检索、工具配置和运行记录分别校验:

位置 当前做法 对使用体验的影响
资料检索 数据库检索条件包含 ACL、项目与附件等过滤项 候选证据先经过范围限制,再参与排序和筛选
工具配置 根据工具配置、凭据和本次请求构造可用工具 模型只能选择本轮提供的工具
运行记录 列表、导出、停止和恢复均按会话归属校验 知道一个 run_id 不足以读取或操作对应任务

项目文献范围约束资料检索,不是网络隔离开关。open_url 等外部工具是否可用,由工具配置和各自的访问限制决定;不能因为选择了项目论文,就认为整个任务已禁止联网。

研究记录按会话归属校验,管理员身份也不自动开放其他用户的记录。过程追踪的内容见 Observability 与 Evaluation。

二、Skill 执行与沙箱

内置综述 Skill 的方法资源由应用加载,配套脚本由后端直接导入调用。它使用已有检索、文件读取与存储能力,不能绕过资料范围、访问权限或运行预算。Skill 中出现脚本说明,也不等于模型获得了任意代码执行能力。

代码中保留了 Craft 沙箱相关实现,但普通研究流程未启用这套环境。这里的资料过滤、工具配置和运行限制属于应用层控制,不应描述为所有工具都在沙箱中隔离执行。

三、运行预算与排队

每次受控研究运行保存独立预算,在模型和工具调用入口检查额度,同时监视时间与停止信号。下表列出代码默认值,实际运行使用创建时保存的配置。

控制项 当前默认值 计算口径
同时运行 2 个 同一运行队列限制并发,后续请求按提交顺序等待;可由服务配置调整
持续时间 600 秒 从创建运行开始计时,包含排队
模型与向量编码调用 64 次 按受控调用入口累计,与外层循环轮数分别限制
工具调用 30 次 按实际进入工具执行的次数累计
Token 预算 2,000,000 调用前预占保守输入估算与声明的输出上限;生成中累计输出估算,收到提供商用量后结算,未结算调用保留预占
重复结果 3 次 工具名、参数和完整结果相同的指纹累计出现三次后结束
已知费用 100 美分 依据已返回用量和已配置价格估算

请求中的 run_budget 可收紧时间、调用次数、Token、重复结果和费用上限;并发数由服务配置控制。费用无法计算时记录为 unknown,时间和调用限制仍然生效。费用检查依据已返回用量,可能晚于当前调用实际产生费用的时刻,不能将其理解为计费服务的硬性封顶。

例如两项研究正在运行时,第三项会进入排队状态;一项任务释放名额后,排队任务才能开始。这个设计控制同一队列同时承担的模型、检索和数据库工作量,也让“等待执行”和“已经开始研究”可以分别追踪。

四、综述范围与交付控制

Skill启用不等于可以忽略本轮要求。明确不检索或只润色时,当前综述分支停止强制预取、定向补查及稿后补查,并从模型可用集合中移除内部搜索和网页搜索。这个限制不等于对所有其他工具提供账户级网络隔离。

停止取证与正文质量分别记录:取证结束不直接判定当前正文有错,也不能抹去已确认的问题。修订、补读和技术重试都受次数及剩余预算约束;未完成检查时保留已有稿件、引用与实际状态。具体的核验与交付分工见Agent Loop 与工具。

五、停止与异常处理

用户点击停止后,系统设置运行停止信号,拒绝后续受控调用,并通过已注册的取消或关闭接口尝试中断模型请求、向量编码和数据库查询。执行退出时保存实际结果与结束原因,再释放占用的运行资源。

图 08-02点击放大

图中的中断和取消操作通过已注册的接口尽力执行,具体结果取决于调用当时的状态。

运行记录区分用户主动停止(cancelled)、时间预算耗尽(time_budget_exhausted),以及调用、Token、工具、费用额度耗尽和重复无进展等原因。保存结束原因不等于任务已经完成,已有证据和稿件按实际生成情况保留。

浏览器断连与主动停止分别处理:当前后台执行路径在页面连接中断后继续处理,用户可重新打开会话读取保存的结果。主动停止会传播取消信号,但外部服务是否立即终止取决于其接口,已发生的计算仍可能计费。

图表