跳到主要内容

推理

推理

推理把一个提示词变成一个结构化输出——一次模型调用,或一小串固定调用。它是 窄能力 窄能力:没有循环、没有工具、没有状态。当工作需要多步推理与工具调用时,那是 Agent,不是推理。

单步推理

一次模型调用返回一个结构化输出——对记录分类、从文档中抽取字段,或总结一行数据。

多步推理

一小串固定的调用链,每一步喂给下一步——最终仍是一个结构化输出。链路由编写者决定,而非模型。

结构化输出

结果对照 Effect Schema schema 校验,调用方拿到的是类型化数据——绝不需要解析的自由文本。

推理实战

一次调用进,一个结构化值出——经过 schema 校验、可直接使用的结果:

import { Schema } from 'effect';
import { defineQueryHandler } from '@norbital-ai/bolt/authoring';

const ReviewOutcome = Schema.Struct({
  approved: Schema.Boolean,
  reason: Schema.String,
  suggested_priority: Schema.Literals('low', 'medium', 'high')
});

export default defineQueryHandler({
  description: 'Reviews one purchase request.',
  schema: Schema.Struct({ request_id: Schema.String }),
  handler: ({ request_id }, api) =>
    Effect.gen(function* () {
      // One call in, one structured value out — validated, typed, never freeform
      return yield* api.infer({
        schema: ReviewOutcome,
        prompt: 'Review this purchase request.'
      });
    })
});

ai 设施端口

模型访问经由 ai 设施端口:Bolt 定义契约,宿主在运行时绑定具体提供商,租户代码永远看不到凭据。完整的端口列表见 设施

会话即数据

每次对话都是一个租户自有的聚合: chat_session ——其中的顺序消息、嵌套轮次、标题、状态和用量会像其他集合一样原子同步。

推理 vs Agent

推理是输入一个提示词、输出一个结构化结果。 Agents 是 Agentic 工作负载:一个跨多步推理的循环、调用工具、读写集合,还能起草源码。Agent 底层使用推理——但它们是不同的编写面与不同的运行时。