藏在《Query Loop Implementation》里的Skill

技能描述

为 AI 应用实现可上线的 LLM query loop:工具调用、结构化 tool_result 回传、ReAct 循环、最大轮次退出、权限检查、超时、预算控制和 fatal error 终止路径。

Skill.md

Query Loop Implementation

很多 AI 产品一开始只有一次模型调用。只要加入工具调用,一次调用就不够了:模型需要请求工具、读取工具结果、基于 observation 继续判断,然后选择继续调用工具或输出最终答案。

这个 skill 把这套模式整理成可上线的产品基础设施。

核心架构

使用三个边界:

ConversationManager 负责持久状态:session id、已保存 messages、用户设置、权限上下文、用量和预算。

QueryLoop 负责单次任务回合:调用模型、检测 tool call、执行工具、追加 tool result,并决定继续还是停止。

ToolRuntime 负责工具注册表:schema、校验、权限检查、执行、错误格式化和结果大小限制。

最小可用 Loop

第一版生产实现应该保持克制:

for (let turn = 1; turn <= maxTurns; turn++) {
  const response = await model.generate({ messages, tools })
  messages.push(response.message)

  const toolCalls = extractToolCalls(response.message)
  if (toolCalls.length === 0) {
    return { status: "completed", finalMessage: response.message, messages }
  }

  for (const call of toolCalls) {
    const result = await tools.execute(call, { signal, messages })
    messages.push(makeToolResultMessage(call.id, result))
  }
}

return { status: "max_turns", messages }

模型之所以能在工具调用后继续判断,是因为 loop 把 tool_result message 追加进去后再次调用模型。

安全要求

  • 必须有 maxTurns
  • 支持 abort signal 和请求超时。
  • 对所有模型生成的工具参数做 schema 校验。
  • 任何副作用发生前先做权限检查。
  • 跟踪 token、成本和运行时预算。
  • 工具输出追加到历史前必须限制大小。
  • 可恢复工具错误以 tool result 形式返回。
  • 权限拒绝、预算耗尽、重复失败或 fatal tool error 时终止。

适用场景

当你要实现或审查这些能力时使用:

  • 聊天或 workflow 产品里的工具调用
  • function calling loop
  • ReAct 风格的 reasoning-action-observation 循环
  • query engine 或 agent runtime
  • 类 Claude Code 的 agent loop
  • tool result 回传和继续判断逻辑
  • 最大轮次、超时、预算和权限 guardrail

刻意不处理什么

这个 skill 不负责上下文窗口管理。裁剪、检索、摘要和压缩应该放在单独的 context management 层。Query loop 接收 messages,返回更新后的 messages,专注于确定性的控制流。

安装使用

安装指令

npx skills add simbajigege/book2skills/skills/query-loop-implementation
OR

直接下载

相关技能

Tool Permission System AI Skill

为 agent 工具设计可配置的分层权限/安全系统:用一条权限流水线统一决定 allow / ask / deny,支持企业 / 用户 / 项目多作用域规则覆盖,并通过 hook 系统扩展。

LangChain Tool Builder AI Skill

用 Claude Code 的 fail-closed 设计模式定义 LangChain(Python)工具——name、schema、权限、执行逻辑统一写在一个类里,自动走 validate → permission → call ...

Claude Code 记忆架构实现指南 AI Skill

将混乱的 MEMORY.md 重构为 Claude Code autoDream 内部使用的 2 层记忆架构 —— 保持常驻索引精简、主题文件按需加载,让 autoDream 提取代理正确去重和维护记忆。

Compact Memory 实现指南 AI Skill

用 Anthropic API 或 Claude Agent SDK 为 Agent 实现 compact memory 的开发者指南——涵盖触发时机、fork compactor 模式、compact JSON schema 设计、...

Compact with Memory AI Skill

正确执行 /compact——生成高质量的对话摘要,完整保留推理过程、决策背景和当前状态,同时在压缩前通过记忆预处理持久化机构知识。

Harness Step 1 — 创建 AGENTS.md 与知识库 AI Skill

扫描项目代码库,自动生成 AGENTS.md(agent 工作指南)和完整的 docs/ 知识库骨架,让 Claude Code 在任意新会话中 30 秒内定向,无需重复解释项目结构。

Harness Step 2 — 填充 docs/ 知识库内容 AI Skill

深度阅读项目代码,将隐藏在代码里的架构知识、命名约定、技术决策显式写入 docs/ 各文件,让 agent 在任何 session 都能快速理解项目全貌,而不是靠猜测。

Harness Step 3 — 建立跨 Session 状态管理 AI Skill

创建 init.sh(环境健康检查)、tasks.json(结构化任务队列)和 progress.md(会话日志),解决 Claude Code 每次新对话失忆的问题,让任意 session 在 30 秒内完全恢复工作状态。

Session Dream AI Skill

会话结束时的手动记忆提炼——从当前对话中提取关键决策、失败路径、新发现和当前阻塞,写入 MEMORY.md topic 文件。Claude Code autoDream 后台服务的手动触发版本。

一本书读懂财报 AI Skill

用肖星的三表联动框架分析企业财务报表,判断一家公司是否真正赚钱。适用于:解读资产负债表、分析现金流健康度、ROIC vs WACC好公司测试、跨行业财务比较。

商业冒险分析框架 AI Skill

运用约翰·布鲁克斯《商业冒险》(原书名《Business Adventures》)分析企业失败、市场恐慌、产品时机、治理缺口、监管风险、欺诈暴露、机构脆弱性和创新盲区。