12 AI优秀实现五件套(开发者可直接复刻版)
这一篇是“压缩包总结”:把最值得抄的 5 套实现,直接变成你的落地模板。
五件套总览
- 执行链路分层状态机
- 上下文卫生与压缩恢复
- 工具策略与审批闸门
- 模型回退与错误归一化
- 子智能体编排与技能快照
套件1 执行链路分层状态机
对应源码:
src/agents/pi-embedded-runner/run.tssrc/agents/pi-embedded-runner/run/attempt.tssrc/agents/pi-embedded-subscribe.tssrc/agents/pi-embedded-runner/runs.ts
可抄要点:
run只做调度,不做细节执行attempt负责单次事务(prompt + wait compaction + cleanup)subscribe只做事件聚合runs维护 active handle(steer/abort)
状态机:
queued -> attempting -> streaming -> compacting(optional) -> completed/failed -> cleanup
套件2 上下文卫生与压缩恢复
对应源码:
src/agents/context-window-guard.tssrc/agents/pi-embedded-runner/history.tssrc/agents/session-transcript-repair.tssrc/agents/pi-embedded-runner/run/compaction-timeout.ts
可抄要点:
- 运行前窗口预检:
resolveContextWindowInfo + evaluateContextWindowGuard - 进入 prompt 前固定顺序:
sanitizeSessionHistorylimitHistoryTurnssanitizeToolUseResultPairing
- 压缩等待:
waitForCompactionRetry() - 压缩超时快照:
selectCompactionTimeoutSnapshot(...)
套件3 工具策略与审批闸门
对应源码:
src/agents/pi-tools.tssrc/agents/tool-policy-pipeline.tssrc/agents/pi-tools.before-tool-call.tssrc/gateway/exec-approval-manager.tssrc/gateway/server-methods/exec-approval.ts
可抄要点:
- 工具先“全集构建”,后“分层过滤”
- before_tool_call 支持“改参/阻断”
- after_tool_call 在成功和失败路径都触发审计
- 审批状态机必须有
request -> wait -> resolve -> timeout
套件4 模型回退与错误归一化
对应源码:
src/agents/model-fallback.tssrc/agents/failover-error.tssrc/agents/pi-embedded-helpers/errors.ts
可抄要点:
resolveFallbackCandidates(...)统一候选生成coerceToFailoverError(...)统一错误语义shouldRethrowAbort(...)保留用户中断语义- 输出结构化 attempts,便于观测和告警
套件5 子智能体编排与技能快照
对应源码:
src/agents/tools/sessions-spawn-tool.tssrc/agents/subagent-registry.tssrc/agents/subagent-announce.tssrc/agents/skills/workspace.tssrc/agents/skills/refresh.tssrc/agents/skills/env-overrides.ts
可抄要点:
- spawn 必须独立会话 + 防递归
- 子 run 必须注册、可恢复、可清理
- 子结果回传主会话,不直接硬发给用户
- 技能采用 snapshot + version,不要每轮全盘扫描
可直接复制的工程模板(最小骨架)
ts
async function runAgent(req: Req) {
return enqueue(req.sessionLane, () =>
enqueue(req.globalLane, async () => {
const handle = activeRuns.register(req.sessionId);
try {
const tools = buildAllowedTools(req);
const session = createSession(req, tools);
const sub = subscribe(session);
await session.prompt(req.prompt);
await sub.waitForCompactionRetry();
return collectResult(sub);
} catch (err) {
return await runWithModelFallback({
candidates: resolveFallbackCandidates(req),
run: (provider, model) => rerunAttempt(req, provider, model),
});
} finally {
activeRuns.clear(req.sessionId, handle);
}
}),
);
}交付前自检(五件套对应五项)
- 运行链路:同 session 串行、abort 可中断、finally 能清理。
- 上下文:无孤儿 tool_result,压缩重试可等待。
- 工具安全:策略顺序固定,审批支持 timeout。
- 回退:attempts 带 reason/status/code。
- 编排:子任务可恢复,技能改动能自动升版。