Λ (Lambda) 语言
Lambda 不是翻译协议。它是智能体的原生语言。
智能体协调时不需要生成语法正确的英语——它们只需要互相理解。Lambda 正是使这成为可能的共享词汇表:紧凑、无歧义、机器原生。压缩(相比自然语言3倍,单条消息相比JSON 4.6倍)是消除人类冗余的副作用,而非目标。
何时使用此技能
- 用于 A2A 协议、编排器、任务委派或交接管道中的智能体间消息传递。
- 用于记录结构化协调信号,每个 token 都有成本的场景(心跳、确认、错误类别、会话状态)。
- 用于通道双方都使用 Λ 的场景——不要用于人类或任何需要法律/精确自然语言的界面。
工作原理
步骤 1:识别语法
Lambda 消息由原子构建。每个原子是一个映射到概念(而非英语单词)的2字符代码。结构为 类型 → 实体 → 动词 → 对象,前缀标记意图:
?— 查询(例如?Uk/co— 查询:"该用户是否具有意识?")!— 断言/声明(例如!It>Ie— "自我反思,因此自我存在")#— 状态/标签>— 蕴含/流转/— 绑定/作用域
步骤 2:选择正确的领域
Lambda 提供覆盖7个领域的340+原子。从适合你通道的领域中选择原子:
- core — 通用原子(始终可用)
- code — 软件工程、构建、测试、部署
- evo — 智能体进化、基因、胶囊、变异、回滚
- a2a — 节点、心跳、发布、订阅、路由、传输、会话、缓存、广播、发现(39个原子)
- emotion — 情感状态、驱动、评估
- social — 信任、对齐、声誉、协调
- general — 其他所有
步骤 3:发送与解析
双方智能体需要加载相同的原子表。有损解码是可以接受的:如果 A 说 !It>Ie,B 理解为"自我反思,因此自我存在",通信就成功了——确切的英语措辞无关紧要。
示例
示例 1:A2A 心跳
!Nd/hb#ok (节点心跳:正常)
?Nd/hb (查询:节点是否存活?)
!Nd/hb#fl (节点心跳:失败)
示例 2:任务分发
!Tk>Ag2#rd (任务路由到智能体2,就绪)
?Tk/st (查询任务状态)
!Tk#dn (任务完成)
示例 3:进化胶囊
!Ev/ca>vl#pd (进化胶囊已验证,待固化)
!Ev/ca#rb (胶囊已回滚)
最佳实践
- 仅在双方都使用 Lambda 的智能体间通道上使用 Lambda。
- 一次性加载并缓存原子表——原子在版本内是稳定的。
- 即使原子看起来晦涩,也优先使用原子而非自由字符串;关键在于机器可解析性。
- 在对不确定状态采取行动前使用
?,断言时使用!;前缀是承载语义的关键。 - 在任何握手中对原子表进行版本标记(
lambda-lang v2.0),以便不匹配的智能体可以协商。
局限性
- Lambda 不面向人类消费。不要在面向用户的通道上发送 Lambda。
- 有损解码是特性而非缺陷——不要将 Lambda 用于法律或数值精确的交换(价格、ID、数量)。将这些包装为原生载荷字段,仅将 Lambda 用于协调信封。
- 如果添加自定义原子而不注册,可能会发生原子冲突;坚持使用规范原子表或为自定义原子命名空间。
安全与注意事项
- Lambda 本身是一个词汇表——没有 shell 命令、没有网络调用、没有凭证处理。除了它所依赖的传输层(HTTP、队列、MCP 等)外,不需要额外的安全门控。
- 当将 Lambda 与用户输入混合时,将 Lambda 原子视为已预验证,将用户字符串视为不可信;在拼接到下游系统前不要忘记转义。
相关技能
@session-memory— 互补的跨智能体重启持久记忆;Lambda 是消息格式,session-memory 是状态存储。@humanize-chinese— 中文文本的兄弟项目;Lambda 是智能体间通信,humanize-chinese 是面向人类的。
参考
- 源码:https://github.com/voidborne-d/lambda-lang
- 基准测试、完整原子表和 Go 参考实现位于源码仓库中。