使用 TypeSafe 构建
TypeSafe 让 AI 智能单元像编程原语一样可用:你可以将它们组合成更强大的能力,而这些单元本身是小的判断。它的 System One 模型 返回快速、专注的判断结果,软件可直接消费。Jev 是 TypeSafe 的旗舰产品,也是首个 System One 模型。它能理解自然语言,返回类型化答案和概率,而非生成文本或推理解释。代码掌控工作流;模型在普通代码需要语义理解的地方提供可编程的常识。
阅读实时文档
最新的 TypeSafe 文档是权威来源。请将其作为任务的一部分进行阅读。 本技能提供方向;文档包含当前的概念、提示指导、API 合同、SDK 使用、模型、限制和实际示例。
- 从文档索引开始,发现相关页面和手册。使用有针对性的阅读,而不是加载整个网站。
- Mintlify 通过在页面路径后附加
.md来提供 Markdown,例如如何使用 TypeSafe 构建。从索引中跟踪链接;在有用时将无扩展名的文档页面链接转换为.md。相对链接解析自https://docs.typesafe.ai。 - 在编写集成之前,阅读当前的 API 或所选 SDK 页面以及与设计相关的提问指南。对于新工作流,还应检查最接近的手册:它通常能提供比通用分类器更好的分解方案。
- 如果索引不可用,请使用下面的直接链接或网站的导航。如果 Markdown 获取失败,请尝试普通页面。如果无法实时访问,请使用可用的本地文档或已安装的 SDK 类型,说明该限制,并避免编造版本相关的细节。
| 任务 | 从此处开始;然后关注相关细节 |
|---|---|
| 理解编程模型 | System One,构建指南 |
| 探索构建什么 | 用例图,然后从索引中选择相关的手册 |
| 准备输入和提问 | 状态,原语,然后选择原语的页面 |
| 决定如何处理不确定性 | 置信度 |
| 编写 API 代码 | HTTP API,Python SDK,或 JavaScript SDK |
| 更新旧集成 | 迁移指南 和已安装 SDK 的当前参考 |
找到有用的形态
从用户期望的行为开始:应用程序将显示、选择、更改或移交什么?反向推导出它需要的判断。将已知规则、计算、精确查找和执行保留在代码中。保留用户选择的堆栈和范围;在语义理解有帮助的地方添加 TypeSafe。
在进行头脑风暴或选择架构时,不要只考虑分类。以下模式是起点:围绕用户目标组合原语,包括那些不符合既定配方的主意。
- 路由并填充已知参数。 一个请求可以选择一个处理程序及其类型化参数。预先提出有用的分支特定问题,并仅消费相关答案。探索函数调用和推测性扇出。
- 选择而非生成。 在代码中找到候选值或源文本范围,使用判断来选择预期的值,然后复制或规范化它。代码也可以将源文本组装成格式化的文档或阅读指南。探索值提取和结构恢复。
- 查找并判断证据。 检索候选者,比较它们与查询的相关性,并选择有用的上下文。探索重排序和分层分类。
- 将判断转化为可复用的数据。 一次对多个维度评分,然后让代码或用户控件更改权重、阈值、排名和视图。在标记结果的情况下,这些信号可以成为经典的机器学习特征。探索复合评分和特征发现。
- 验证并升级。 检查特定声明或字段与其证据;将不确定或失败的情况交给人员或推理模型。探索引文检查和提取级联。
- 响应变化的状态。 代码可以保留目标和观察,而新的判断指导下一步的有限操作。保持推断状态与观察到的事实区分开来,并在将结果应用于已变化的情况之前检查新鲜度。
对于开放式请求,提出最能服务于用户目标的几个方向,并推荐一个起点。对于具体请求,选择相关模式并构建;头脑风暴不是强制性的绕路。
设计判断
根据答案的含义选择原语,然后阅读相关的原语页面:
| 需求 | 原语 | 重要区别 |
|---|---|---|
| 从定义集合中选择一个 | Choice | 选择一个选项;其分布比较竞争选项 |
| 判断条件是否成立 | Noul | 是的概率;无单独的置信度;当多个可能适用时每个标签使用一个 |
| 在描述维度上的程度 | Score | 在有序级别上的概率加权位置;使用可比的每个项目 Score 进行分级排名 |
为每个问题提供足够相关的状态来回答:源文本、身份、关系、策略和当前事实。当上下文有多个部分时,优先使用命名的 JSON 字段。将判断放在指令中,并在标准中定义可能的答案。问题 ID 供代码使用,不会发送给模型;在问题中包含完整的含义。使用反引号引用的嵌套状态路径,例如 ticket.messages[0].text。
每个问题提出一个狭窄、连贯的判断。拆分独立有用的维度,但不要破坏被判断的关系。有边界的动作选择或上下文解释是有效的;原子性并不意味着字面的事实提取或一句话限制。对于简单问题,字符串即可。当定义、对比、排除或示例能澄清指令或标准时,使用结构化对象或数组。分数级别必须描述具体情况并独立存在。
确保所需的答案可用。当没有选项可能符合时,包含一个不匹配的结果;当独立有用时,使用单独的存在的判断。对于源值选择,检查候选覆盖范围:模型无法选择未提供的值。
组合与验证
在相同状态上同时提问独立的问题,包括有用的推测性问题。它们并行运行,且无法看到彼此的回答。明确陈述每个推测前提;代码消费适用的答案。当需要先前的答案来获取证据、构建新状态或确定下一步选项时,才需要第二个请求。额外的问题仍会消耗 token;测量实际请求预算、成本和端到端延迟。
使用概率和置信度来指导行为,并在用户数据和后果上评估阈值。Choice/Score 置信度总结了分布集中度,而不是整体工作流的正确性或操作权限。接近 0.5 的 Noul 意味着“是”和“否”的概率接近,而不是中等强度。几个可接受的替代方案也可能分散概率;低置信度不一定使无害的偏好选择失效。忽略未使用分支的不确定性。
保持策略明确,原始判断可复用。加权评分适用于补偿性偏好;需要一个“任何严重违规”规则需要单独条件。当证据和问题含义未改变时,更改权重或显示过滤器无需重新运行推理。类型化输出保证接口,而非真实性。System One 模型训练用于校准决策;在目标领域验证其性能。
测试代表性案例和由此产生的应用程序行为。对于失败,检查确切的状态、问题、候选者、答案、组合和观察到的结果。区分缺失证据、模型错误、代码错误和服务故障。将手册阈值和演示结果视为供评估的示例,而非通用规则或永久模型限制。在 Web 应用中,将 API 凭据保留在服务器端。