Agent Loop 与工具
用户要求“比较这些论文的结论,再写一段综述”时,模型需要先取得材料,再决定如何组织回答。Agent Loop 把这个过程接成可以继续推进的循环:模型提出工具请求,系统执行,结果进入下一轮判断。
一、研究请求的处理流程
一次用户消息对应一次研究运行。系统先准备会话、模型、文件范围、历史与工具,随后进入模型循环。主循环按模型轮次、时间、Token 和调用预算控制执行。接近收尾时限制外部工具调用,为正文生成和必要修改保留资源;预算不足或用户取消时记录实际结束原因。
工具结果回填后,Agent Loop 会将其加入历史,重新组装下一轮输入并检查预算,再调用模型。因此回路返回“准备本轮输入”,让模型在下一次判断时使用新取得的证据。
模型通常在当前工具集合中自行判断是否调用工具。系统也可以按任务安排首次取证或缺口补查;明确只润色、不加新事实或不检索时,综述流程使用已有材料。程序负责限制可用工具、执行次数和资料范围,模型负责问题拆分、查询表达和内容综合。
| 决定 | 由谁处理 | 对用户任务的影响 |
|---|---|---|
| 本次用哪些论文、什么模型和助手要求 | 用户选择与请求准备 | 确定研究范围和工作方式 |
| 下一步是否检索、查询什么 | 模型选择查询;程序可按任务安排取证与补查 | 在允许范围内补充资料 |
| 工具参数怎样执行、结果如何返回 | Tool System | 将模型请求转为实际操作 |
| 已取得的材料怎样写成比较或综述 | 模型;综述按 Skill 方法组织 | 决定内容结构和表达 |
| 综述稿是否需要修订或补查 | 模型结合证据核验,Skill 脚本处理结果 | 区分内容问题、证据缺口与技术故障 |
| 是否继续执行、是否需要中止 | 循环条件与运行控制 | 管理等待时间、预算和取消 |
外层循环的一次工具调用可能包含查询改写、相关性判断等内部模型调用,因此外层轮次、总模型调用及 Embedding 用量分别记录。用户继续要求缩写或调整结构时,系统沿用历史与引用开启新的运行。
二、综述 Skill 的接入
请求准备时按用户任务选取综述 Skill。在启用预取且没有明确禁止检索时,可由程序安排首次取证;后续具体查询仍可由模型选择。工具结果回填后,Skill 脚本建立工作证据,必要时安排定向补查。只润色、不加新事实或明确不检索时,不启动这些搜索入口。
主循环负责资源、工具执行和交付,Skill 脚本负责综述的证据与修订决策。主题分组和正文写作由模型按 Skill 方法完成,属于模型生成阶段。选中材料与必写材料分开处理:逐篇要求核对全部指定文献,其余任务按实际引用核验,并在综合阶段判断重要遗漏。
三、正文检查与修订
普通问答与简单比较生成回答后按原有路径交付,不强制执行完整综述核验。综述任务先保存正文与引用,再按适用范围核验。单篇阶段检查事实、条件与同篇不同表述;综合阶段检查共同引用、跨篇关系和本文定位。含单个引文的句子也可能表达跨篇判断,不只按引用数量分工。
语义判断主要由模型完成,代码验证来源定位、字段和状态,并决定补读、修订或保留稿件。已确认的内容问题进入修订;证据不足可在原补查预算内读取后复核同一稿件,不先重写;技术故障不生成事实修改意见。综述工作流最多追加一次内容修订,仍受运行预算约束;未解决问题随稿保存。
复核按文献及综合阶段更新。已完成的新核验替换对应旧判断,不能因其他论文检查失败恢复已撤销意见。未变化的逐篇判断可以在同次运行中复用,仍由综合阶段核对上下文。
检查结果、重试和最终交付状态分别进入运行记录。格式错误或超时不直接成为事实修改要求;已确认错误也不能因技术故障而被清除。对用户交付已有稿件、引用与必要的状态说明,内部检查通过不等于内容质量已经验收。
四、工具调用与结果处理
模型看到的是工具名称、使用说明和参数结构。系统还会给工具补上用户、材料范围、对话历史等运行信息。它们由服务端提供,不要求模型重新猜测。
同一批中的多个 internal_search 会合并 queries 后执行,避免每个查询各自走一套完整检索。不同工具可以并行执行。工具返回后,系统分别组织面向模型的文本和面向界面的资料;引用关系随结果更新。
| 工具契约中的内容 | 作用 |
|---|---|
name、description、参数结构 |
让模型知道何时调用、需要提供什么 |
is_available 与本轮允许工具 |
决定本轮真正可用的能力 |
override_kwargs |
服务端补充用户、历史、来源编号等信息 |
llm_facing_response |
让下一轮模型理解结果 |
rich_response |
保存来源、文档及界面展示所需信息 |
tool_call_id |
把返回结果与原工具请求对应起来 |
internal_search 用于文献检索,open_url 用于网页读取,add_memory 用于记忆写入。工具是否提供给模型取决于用户设置、助手配置、本轮任务与可用条件,不是每次请求都提供全部能力。普通研究路径使用文献检索;网页读取的访问边界见权限与运行控制,记忆写入见Memory。
工具发生可处理错误时,系统将错误转成模型可理解的结果,模型可以据此调整。主动取消会中止执行并保存已有结果。没有正文、只有工具动作的过程不能记为任务完成;存在已保存稿件时,应区分稿件交付情况与尚未完成的检查。