ai-automation
AI 能力接入规范(mom)
目标:以后写脚本和工具时,默认评估“这一步是否更适合交给模型”。
1. 何时用 AI,何时用纯逻辑
适合 AI:
- 文本提取(从杂乱内容里抓字段)
- 分类/打标签(规则难穷举)
- 改写/总结/翻译
- 异常日志归因(先给候选原因)
- 多源信息归纳(先合并,再产出结构化结果)
适合纯逻辑:
- 可严格定义的计算和校验
- 文件系统批处理
- 数据库事务与幂等写入
- 安全关键路径(鉴权、权限判断)
- 高一致性要求流程
原则:Deterministic core + AI assist
2. 统一入口(默认配置)
- Base URL:
<REDACTED_URL> - API Key:
<REDACTED_TOKEN> - Fast model:
<REDACTED_MODEL_NAME> - Balanced/Strong model:
<REDACTED_MODEL_NAME>
环境变量优先级(高 -> 低):
AI_*OPENAI_*- 代码内默认值
3. 模型选型建议
fast:提取、分类、摘要、翻译、改写balanced:常规问答、常规生成strong:复杂规划、复杂代码、复杂推理
4. 代码复用(Bun)
使用通用 client:
import { chat, chatJson } from "<REDACTED_PATH>";
示例(提取结构化信息):
const { data } = await chatJson<{ title: string; tags: string[] }>(
[
{ role: "system", content: "提取标题和标签,返回 JSON" },
{ role: "user", content: input },
],
{ task: "extract", effort: "fast" }
);
5. CLI 快速用法
# 快速总结
bun <REDACTED_PATH> --task summarize --prompt "..."
# 从 stdin 提取
cat input.txt | bun <REDACTED_PATH> --task extract --stdin
# 复杂任务用强模型
bun <REDACTED_PATH> --task coding --effort strong --prompt "..."
6. 工程要求
- AI 输出要有兜底(解析失败时降级)
- AI 输出写入前做结构校验
- 记录模型名和关键参数,便于复盘
- 涉及外部动作时,先做人类确认