使用 ASA Core v1.0 的确定性再生

发布: (2025年12月3日 GMT+8 23:54)
5 min read
原文: Dev.to

Source: Dev.to

再生成陷阱

大多数 AI 驱动的编码工具擅长一次又一次地生成代码……
你更新规格,点击 regenerate,结果突然出现:

  • 你的自定义逻辑消失
  • 验证规则不见了
  • 测试结构不再匹配
  • 处理器和模型出现偏差

这就是再生成陷阱。

为什么传统工具的再生成会失败

生成器并不知道你写了什么。典型的生命周期如下:

  1. 第 1 天 – 生成脚手架 → 看起来很棒
  2. 第 2 天 – 实现业务逻辑 → 感觉很好
  3. 第 3 天 – 需求变更 → 再生成 → 所有东西都没了

后果

  • 开发者时间浪费
  • 对生成器产生畏惧感
  • 规格与代码出现分歧
  • 架构衰退

你失去的不仅是代码——还有信任。

ASA 的确定性流水线

切片(Slices)

自包含的垂直特性单元,例如:

domains/auth/login/
├── slice.spec.md
├── slice.contract.json
├── handler.py
├── service.py
├── repository.py
├── schemas.py
└── tests/

规格(Human‑readable)

每个切片都包含一个规格文件,必须包含七个章节:

  • 目的
  • 输入
  • 输出
  • 行为
  • 错误
  • 副作用
  • 依赖

合约(Machine‑readable)

从规格生成的 JSON Schema,例如:

{
  "inputs": { "email": "string", "password": "string" },
  "outputs": { "jwt_token": "string", "expires_in": "int" }
}

确定性模板和基于标记的保留

ASA 的模板不包含随机性。ASA 不再猜测“你的代码”和“生成代码”的边界,而是显式标记需要保留的区域:

# === BEGIN USER CODE ===
def execute(self, request: LoginRequest) -> LoginResponse:
    user = self.repo.get_user_by_email(request.email)
    token = self.repo.generate_jwt(user.id)
    return LoginResponse(jwt_token=token, expires_in=3600)
# === END USER CODE ===

在再生成过程中,ASA:

  1. 提取标记之间的所有内容
  2. 再生成外围结构
  3. 将你的代码准确插回原位

这种 100 % 确定性的往返保证了你的代码永远不会被意外覆盖。

安全再生成示例

你已有一个可工作的登录切片。后来,安全团队想记录 ip_address

  1. 更新 slice.spec.md
- email: string
- password: string
- ip_address: string # new
  1. 运行再生成命令:
asa generate-contract auth/login
asa regenerate-slice auth/login

ASA 会更新:

  • 模型
  • 处理器签名
  • 测试
  • 合约

你的自定义逻辑保持完整。

为什么确定性对 AI 辅助开发至关重要

  • 多个代理可能会同时触及同一个切片
  • 规格可能每天都在变化
  • 合约快速演进
  • 自动化工作流需要可预测的行为
  • CI 流水线必须在无人监管的情况下再生成并进行 lint

ASA 确保:

  • 相同规格 → 相同合约
  • 相同合约 → 相同文件
  • diff 中没有意外
  • 逻辑不会被意外覆盖

该架构专为 AI 时代而构建。

ASA Core v1.0:适用场景

  • 长期运行的后端系统
  • 多代理编码环境
  • 快速演进的功能集合
  • 团队厌倦代码漂移
  • 需要确定性输出的组织
  • 任何以 LLM 为核心进行构建的项目

ASA 让你 拥抱再生成 而不是害怕它。再生成不应让人感觉像:

rm -rf my_code

而应像在保留业务逻辑的同时安全地更新结构。

ASA Core v1.0 的关键要素

  • 切片共置
  • 确定性模板
  • 机器可读合约
  • 基于标记的保留
  • 通过 linter 实现边界强制

如果你想要一种能够跟上 AI 驱动开发节奏的后端架构,ASA 正是你的不二选择。

Source code & starter kit:

Back to Blog

相关文章

阅读更多 »

SaaS IA 新闻

SaaS IA 新闻的封面图片 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazon...

从混沌到代码:ALPHALABS

让我彻夜难眠的问题 我想要构建一个平台,让任何人都能创建 AI trading agents、backtest strategies,并证明其 performance……