内容
# 漂移
[](https://pypi.org/project/drift-lang/)
[](https://pypi.org/project/drift-lang/)
[](https://marketplace.visualstudio.com/items?itemName=rileyq7.drift-lang)
[](./LICENSE)
[](https://github.com/rileyq7/drift/actions/workflows/test.yml)
**基于意图的智能系统语言** 写你的智能代理,用英语描述区块,运行为异步Python。
```drift
agent 邮箱分类 {
模型: "gpt-5.4-nano"
预算: $0.10 每运行
步骤 分类(邮件列表: 字符串列表) -> 邮件分析列表 {
让 分析列表 = []
对于每个 邮件 在 邮件列表 并行 {
让 分析 = 分类 邮件 为 邮件分析
分析列表.添加(分析)
}
对于每个 分析 在 分析列表 {
如果 分析.优先级 == "紧急" {
响应 "紧急 {分析.主题}: {分析.摘要}"
}
}
返回 分析列表
}
}
```
一个完整的智能代理:模型选择,预算,并行扩展,结构化分类,条件输出。编译器生成异步Python,在漂移的薄运行时运行。实时对抗OpenAI:5封邮件,1.82秒,$0.0092,返回5个类型化数据类。
## 安装
```bash
pip install drift-lang
```
可选额外功能:
```bash
pip install "drift-lang[mcp]" # MCP 工具支持
pip install "drift-lang[dendric]" # Dendric 内存后端
pip install "drift-lang[all]"
```
## 30秒到你的第一个智能代理
```bash
drift new hello
cd hello
drift run hello.drift --input '{"name":"Riley"}'
```
不需要API密钥。漂移回落到模拟提供程序,因此你立即看到一些工作。 将`ANTHROPIC_API_KEY`或`OPENAI_API_KEY`放入`.env`以使用真实模型。
## 命令行界面
```
drift new <名称> 脚手架启动项目
drift run <文件.drift> 编译并执行
drift check <文件.drift> 验证语法
drift transpile <文件> 生成Python(使用-o写入文件)
drift lex / parse 调试工具
```
## 语言内容
- **`agent`**:顶级单元。具有`模型`、`预算`、`状态`、`内存`和`步骤`。
- **`步骤`**:类型化子过程。主体是声明性语句序列。
- **意图动词**:`总结`、`提取`、`分类`、`翻译`、`匹配`、`生成`等。每个都是类型化的LLM调用。
- **`confident<T>`**:置信度控制的分支。当确定时运行廉价路径,不确定时升级。
- **`模型 { … }`**:多提供程序路由,具有`prefer`、`fallback`、`upgrade when confidence < 0.7`和`stream "fast" then "slow"`。
- **`工具名称 from python|mcp|rest`**:声明外部工具。MCP针对官方SDK运行。
- **`pipeline`**:可组合流程,具有`->`、`=>`、`~>`、`|>`运算符。
- **`for each x in xs parallel`**:`asyncio.gather`底层。
- **`attempt / recover`**:结构化错误处理,具有重试、失败和命名分支。
- **`内存`**:短期暂存或持久后端(Dendric)。`remember`、`recall`、`deja_vu`、`forget`。
- **`定义动词`**:使用您自己的类型化动词扩展意图词汇。
- **跨智能代理调用**:`OtherAgent.step(args)` 直接生效。
## 文档
| 文件 | 适用于 |
|---|---|
| [`LLM.md`](./LLM.md) | 编写智能代理(Claude,Cursor,Copilot):一次性加载完整参考 |
| [`docs/language.md`](./docs/language.md) | 人类学习漂移 |
| [`docs/cookbook.md`](./docs/cookbook.md) | 复制粘贴模式 |
| [`docs/gotchas.md`](./docs/gotchas.md) | 常见错误 |
## 示例
在 [`examples/`](./examples) 中查看有效的 `.drift` 程序及其生成的Python:
- `hello.drift`:最小智能代理
- `confident_demo.drift`:`confident<T>` 分支
- `grant_checker.drift`:端到端意图 + 结构化返回
- `inbox_sorter.drift`:`for each … parallel` 分类
- `inbox_triage_live.drift`:规范的30行演示(真实LLM验证:5封邮件,1.82秒,$0.0092)
- `grant_checker_with_memory.drift`:Dendric支持的长期内存
- `grant_checker_compare.drift`:引用证明内存。运行2的LLM推理引用运行1的名称并进行并排比较
## 状态
Alpha。语言表面稳定,运行时正常,352/352测试通过。OpenAI + Anthropic提供程序,具有严格JSON输出,MCP工具,Dendric内存,源映射运行时错误。语音基元解析但适配器未连接。`confident<T>` 之外的类型系统正在路线图中。
## 许可证
MIT