跳到课程正文
EN
课程书架/自学公开课程

AFFLATUS · 课程资料

一本随身的实践手册

从 Vibe Coding 到个人 FDE:24 周实践路线。

2026.09.27 · 原文核对基线公开分享版 1.0

六、部署能力的补充说明:把“能访问”与“能放心使用”分开

1. 两条可落地路线,选择一条即可

路线 A:本地个人工具。 使用本机运行环境、明确的工作目录和手动触发;需要调度时使用自己理解的系统机制。必须知道电脑休眠、关机、断网和账号退出时会发生什么。模型推理若通过云端完成,应在数据流图上明确标出;“执行器在本地”不代表“所有数据都在本地”。本地路径降低了部分部署负担,但不自动解决设备共享、备份、同步和模型服务的数据处理问题。

路线 B:受控托管服务。 先发布最小 mock 服务,再验证认证、对象权限与状态保存,然后接少量只读模型调用,最后才考虑定时运行。R71 · Render:Deploy a Node Express App 是一个具体 Node 托管实例,不是必须购买的服务;已有平台可以继续使用。每次实施时核对计划价格、运行时间、持久存储、区域、日志和访问控制,不假定免费套餐适合长期后台任务。

路线 B 不应把数据库文件放在可能被重建的临时磁盘上。不同服务类型的存储与调度限制分别检查;例如 R72 · Render:Cron Jobs 和 R73 · Render:Persistent Disks 不能被合并理解成“所有任务都能挂一块永久盘”。对于个人练习,使用低频只读任务与可控存储比过早搭建复杂基础设施更重要。

2. 上线前必须回答的九个问题

问题 应提供的证据
运行在哪里、用什么身份? 运行环境与身份说明,而不是只有一个网址
谁能触发与读取结果? 未登录、无权限与错误对象访问的实际拒绝测试
数据去了哪里? 输入、输出、模型、日志、备份的去向与保留策略
如何产生和结束任务? 明确触发、取消、总超时与卡住后的处理
重试是否导致重复动作? 重复和并发样例;不确定完成状态的核查路径
费用如何计量与限制? 各计费账户、预算来源、覆盖重试的执行限制
如何发现真正失败? 用户结果检查,而不仅是进程存活或 HTTP 状态
如何恢复? 实际回滚与备份恢复记录,以及可能丢失的数据范围
如何彻底停用? 停调度、清队列、撤销凭据、处理数据与外部产物的方法

这不是一张“填写后就安全”的认证表。风险与控制需要结合具体运行环境测试;组织系统与高后果场景应由有权限的责任人审查。一般风险识别可参考 R66 · NIST:AI Risk Management Framework。

3. 动作权限逐级增加

等级 示例 课程默认要求
L0 不执行外部动作 mock、本地合成文件、离线统计 第 1 周即可开始,避免覆盖源数据
L1 只读公开来源 从固定文档提取证据 来源与网络范围明确,输出可追溯
L2 草稿 提醒文本、计划草案、拟议补丁 人工检查,不直接发送或合并
L3 可逆写入 专用测试日历的一条事件 按对象与内容批准,有重复检查、撤销和审计
L4 高后果动作 付款、永久删除、生产权限变更 不进入本课程默认自动化范围

限制落实在执行器与服务端权限,不只写在自然语言里。认证回答“你是谁”,授权还要回答“你能对这个对象做什么”;相关原则见 R60 · OWASP:Authorization Cheat Sheet。不能通过隐藏按钮、秘密网址或 CORS 代替授权。

七、有高额度订阅,仍要分清三笔账

1. 订阅、应用推理与托管不是同一份预算

预算 典型用途 需要核对什么
coding 订阅 交互式开发、学习、官方支持的个人自动化 认证方式、可用工具、共享额度、限制窗口、额外消费设置
应用 API 自己部署的应用调用模型 真实项目与密钥、计费单位、预算、重试和并发
托管与存储 服务、任务调度、数据库、日志 运行计划、持久性、网络与日志费用、停用后是否继续产生费用

OpenAI 的 ChatGPT 与 API 计费需要分别管理;Codex 支持路径应按当前官方入口核对,不能从一句“订阅可用”推出所有应用都可共用额度。来源见 R53 · OpenAI:ChatGPT 与 API 的计费管理、R54 · Codex 使用与计费入口。

Claude 也需要区分订阅认证与 API key 路径。核对日的 Agent SDK 说明页在 June 15 更新中写明此前拟议改制暂停,相关使用仍计入订阅;页面保留的旧月度 credits 公告不能当作现行余额。这是带日期的产品状态,不是未来承诺。实施前重新核对 R55 · Claude Code:Use with your Pro or Max plan、R56 · Claude Agent SDK:Use with your Claude plan。

本课程不通过复制登录令牌、转售共享账号、建立未授权中转或绕过限额来利用订阅。也不把产品界面的“5x”解释成跨厂商固定 token 数;它只是需要回到对应产品说明核对的套餐表述。

2. 一套与两套订阅怎样安排

只有一套时,优先用于主力开发与导师反馈,分开任务会话,并保留处理故障和补课的余量。有两套时,可将第二套用于关键设计、重要补丁与难故障的独立复核;不要让两个 agent 无边界互相争论,也不要把额度用尽当成成功指标。

常规任务先用在自己的同类任务中已验证可接受的模型与配置。困难设计、跨模块故障或高风险边界再提升推理投入。不同产品的 effort 名称和实现并不天然等价,记录实际配置即可,不制造一张永久有效的“最佳强度表”。

3. 把预算限制真正落实

先用 mock 检验停止逻辑。真实运行至少限制总任务时间、工具步骤、重试、并发与可授权费用;控制应覆盖所有子调用,而不是只算最后一次成功。预算不足时停止或进入人工批准,不静默切换到更贵配置。供应商预算提醒未必是严格硬限制,需确认实际计费与限额行为。

配置样例中的“最多 10 步、最多 2 次重试”只是教学起点,不是行业标准或安全保证。只有执行程序真的读取、落实并通过测试后,才能称为有效控制。并发请求还需要在共享预算与运行状态层面协调,不能让每个进程都各自认为有整份预算。

八、RSI 的四层边界:改进系统,不神化“自我进化”

层 实际行为 主要学习价值 不该宣称什么
R0 记录 保存任务元数据、实际结果和失败 建立可追溯经验 不能把模型自述当成功
R1 统计 估计同类任务耗时、重试和配置适用性 根据真实观察调整选择 不能把少量样例叫普遍校准
R2 候选优化 提出有限提示或工具变更,独立评测 用证据采用或拒绝 不能只看最好的尝试
R3 代码提案 在隔离环境生成补丁,人审查发布 形成受控工程改进 不能自动改权限、预算和评分标准

GEPA 与 DGM 为后期选读提供了研究入口,但它们的具体设定、评价与约束不能直接等同于个人系统的效果。这里不复述未经本人复现的性能结论,更不据此声称自主无限进化已实现。原始来源见 R51 · GEPA:Reflective Prompt Evolution Can Outperform Reinforcement Learning、R52 · Sakana AI:Darwin Gödel Machine。

一次有效改进试验可以非常小:原系统常引用旧版文档;先冻结基线,提出“版本过滤会减少旧引用”的假设;只改变过滤规则;在相同任务、预算与权限下比较;用独立案例验证;记录额外成本;人决定采用或拒绝。没有改善就停止,不再启动一轮反思试图把结论改成成功。

三类控制不应交给候选提出者自行修改:成功标准、权限与预算、最终独立评价的答案。 如果任务真的要求更改验收,应把规则变更作为单独决定审查,而不是夹在代码补丁里。

保留集不是永远可重复使用的秘密宝箱。随着反馈积累,它可能逐渐进入优化过程;需记录使用历史,必要时增加独立新案例。小样本只支持小范围判断。没有足够真实数据时,最诚实的产物是一份错误分类和下一步采样计划,而不是精确到小数点的可靠性承诺。

九、从知识到生活:让工具有自然触发点,也有退出机制

1. 不让知识工作台变成新闻仓库

每周只选一到三个真正与当前问题有关的知识点。为每个知识点完成:来源、解释、适用条件、反例、预测、实验、行为改变、再次应用。 没有实际问题时可以不增加资料,不要求系统每天生成内容证明自己在运行。

例子:你学到幂等性,不只保存定义,而是在测试环境重复触发一次任务,观察是否产生重复草稿,改变实现,再用另一个输入验证。你读到新的上下文方法,不立即重建记忆平台,而是比较一次短交接与原流程,确认恢复任务是否真的更容易。

这些例子是课程练习,不代表对任何具体人的实测结果。提醒和复测应围绕自然任务触发,避免额外增加每天维护多个面板的义务。

2. 净省时的计算方式

每周净省时
= 可比成功任务在旧流程中的本人主动时间
− 新流程所有本人操作、监督、复核与返工时间(包括失败)
− 本周维护时间

一次性建造时间、现金费用、未完成需求和主观质量变化另外记录。模型在后台运行而你可以做别的事情,不等于你在持续劳动;但你被迫等待、频繁检查和处理错误的时间也不能漏掉。

纯合成算例: 同等完成质量下,每周 12 项任务原来每项主动花 6 分钟,共 72 分钟。新流程全部主动操作与复核 18 分钟,维护 14 分钟,净省 40 分钟。假设建造耗时 8 小时且未来情况稳定,简单时间回本为 480 ÷ 40 = 12 周。这里没有计入现金费用、学习价值与未来故障,不是读者的收益预测。

净省时长期为负时有四种合理动作:缩小任务、降低频率、回到手动、停用。学习项目可以继续,但应明确是学习预算。课程的成功不是所有工具永远在线,而是你能辨别什么值得留在生活里。

十、隐私与安全贯穿全程,而不是最后加一句免责声明

1. 数据分级:从默认不上传开始

数据类型 本课程默认处理
合成样例、公开官方材料 可用于练习;仍检查版权、来源和不可信内容
个人普通资料 先最小化与本地处理;发送到外部服务需明确目的、权限与数据政策
他人资料、工作或客户资料 不进入默认实验;需要相应授权、组织批准与适用处理流程
凭据、私人密钥、会话令牌 不写入文章、代码、提示、截图、日志或公开仓库
高后果敏感数据与生产操作 超出默认课程范围,另做专业与责任审查

换成匿名 ID 只是减少直接标识,不必然达到匿名。日期、地点、职业、任务内容和行为模式仍可能形成关联。公开作品优先使用合成重现,不自动发布真实元数据的聚合。一般风险识别可参考 R66 · NIST:AI Risk Management Framework,秘密与日志处理分别见 R59 · OWASP:Secrets Management Cheat Sheet、R61 · OWASP:Logging Cheat Sheet。

2. 常见误区与需要验证的控制

误区 更可靠的处理方式
“程序在本地,所以没有云端数据流” 检查模型调用、开发工具、遥测、备份与同步,而不只看主程序
“只读 agent 没有风险” 控制能读什么、能发往哪里,以及返回和日志是否包含私人内容
“MCP 服务安装后就可信” 核对来源、权限、令牌、工具返回和实际访问范围;见 R57 · MCP:Security Best Practices,2026-07-28 版
“系统提示禁止越权就足够” 执行器和权限系统实际拒绝越界;用合成注入与越界参数测试
“没有人知道链接就算私密” 使用真正认证与对象授权;未授权会话实际访问测试
“分支或容器自动等于安全沙箱” 检查执行身份、挂载、特权、网络与宿主控制接口
“删除最新文件就修复密钥泄露” 先撤销或轮换,再处理历史、副本与日志;见 R64 · GitHub:Removing sensitive data from a repository
“网站上线就是 agent 部署完成” 验证运行、状态、触发、费用、停止、恢复和真实结果

不可信资料可能通过提示注入诱导模型偏离任务,防护需要多层边界,不存在一句万能提示。相关参考见 R58 · OWASP:LLM Prompt Injection Prevention Cheat Sheet。服务端抓取还需要限制目标、重定向和网络访问,不能把任意链接直接交给后端读取;见 R62 · OWASP:Server-Side Request Forgery Prevention Cheat Sheet。这些指南是设计起点,不是系统经过专业安全审计的证明。

3. 第三方依赖也是数据与执行边界

新装包、插件、浏览器扩展或 MCP 服务之前,先确认来源、必要性、维护状态与所需权限。只因模型建议就运行安装脚本,不算理解依赖。锁定已经验证的版本并保留更新记录,但安全修复不能无限延期。

日志不应该默认收集所有东西。运行标识、状态、错误类别和必要用量通常比完整提示更适合开始;要诊断确实需要原文时,再明确访问、期限与脱敏。第三方遥测也是外部数据接收方,参考 R65 · OpenTelemetry:Handling sensitive data。

十一、怎样更新课程,而不被新模型拖着走

1. 稳定能力与可替换实现分开

约八成注意力给需求、代码、数据、网络、验证、权限和维护;约两成用于模型、SDK 与部署适配。这只是精力安排建议,不是精确研究结论。替换一个 API 不应该要求重学整个项目;将模型配置、工具接口与业务规则分开维护。

每条更新记录至少包含来源、发布或版本日期、核对日期、影响的任务、成本与权限变化、验证计划、回滚方法。模型 ID 和推理设置必须从实际产品或官方文档核对,不用宣传名称猜测调用参数。

2. 三个更新窗口

节奏 执行内容 停止条件
每周 20–30 分钟 看相关官方课程、模型、SDK 和安全通知,最多记三条采用/观察/忽略建议 没有影响当前任务的变化就结束
每月一个有预算实验 用固定任务比较一个新旧方案,记录所有成本与回归 无明确收益就保持现状
重大安全或弃用事件 检查实际影响、暂停受影响能力、做必要修复 验证恢复后结束,不顺便重写全项目

这是一套维护方案,不代表已经替读者创建自动任务。要自动执行时另设运行环境、来源、权限和费用;自动检查只生成提案,不自动安装依赖、修改课程或升级生产系统。

3. 哪些理由不足以触发迁移

模型发布会、公共排行榜单项领先、别人社交媒体演示、工具宣称“一键全部完成”,都不足以单独证明你的任务应迁移。相反,原流程的具体失败被解决、同等质量下减少复核、必要安全更新、官方弃用和可维护性改善,才值得进入自己的验证过程。

还要问“旧机制是否可以删除”。用于补偿旧模型行为的复杂上下文处理或特殊重试,可能在新环境中变成负担;R46 · Anthropic:Managed Agents 工程文章 提供相关工程讨论,但具体是否删除仍取决于自己的测试。

十二、可以直接复用的七张模板

下面均为原创教学模板,默认空白或合成字段。它们用于组织判断,不会自动强制执行权限与预算。下载包另提供独立文件,方便复制到私人项目中;填入真实记录后不要原样公开。

模板 A:一页问题与工作流说明

要解决的重复任务:
任务在什么情况下发生:
旧流程步骤与实际主动时间:
输入、输出与使用者:
本轮只改善什么:
明确不做什么:
数据是否离开本机,去哪里:
允许读取与允许执行的范围:
一个正常情景、一个错误情景:
如何验证真的完成:
失败时如何手动替代、停止和恢复:
下一次真实使用时间或触发条件:

模板 B:知识到行动卡

问题:
来源 URL、版本/发布日期、读取日期:
支持主张的具体位置:
原文事实:
我的解释与推断:
适用条件、局限与反例:
我预测改变什么会产生什么结果:
基线、最小实验、停止条件:
实际结果与替代解释:
决定:采用 / 拒绝 / 证据不足
落实成什么操作、设置或代码:
新情景复测与实际行为变化:

模板 C:一条任务与用量记录

{
  "schema_version": "1.0",
  "data_kind": "synthetic_example",
  "task_id": "demo-task-001",
  "task_class": "public_document_summary",
  "run_id": "demo-run-001",
  "execution_mode": "mock",
  "model_id": null,
  "reasoning_setting": null,
  "result_status": "not_run",
  "result_verified_by": null,
  "attempt_count": 0,
  "human_active_minutes": null,
  "human_review_minutes": null,
  "human_rework_minutes": null,
  "usage_value": null,
  "usage_unit": null,
  "usage_provenance": "unknown",
  "cost_amount": null,
  "cost_currency": null,
  "raw_prompt_stored": false
}

零次尝试只是这条未运行样例的状态;真实记录缺数值时用未知,而非填零。时间字段应互不重复,或在汇总前明确去重规则。准确模型 ID、用量单位和费用来源在真实实施时核对。

模板 D:评测案例

案例 ID 与任务类别:
资料类型:合成 / 公开 / 另获授权(写明处理范围)
输入和允许访问的资料:
预期最终状态:
机器可判断的条件:
需要人工核查的条件与证据位置:
必须拒绝或转人工的条件:
错误严重程度:
数据分区:开发 / 回归 / 独立保留
谁有权读取答案:
实际尝试数、结果、费用和未验证项:

模板 E:改进提案

重复失败与证据:
基线版本:
可证伪假设:
本轮只改变的变量:
候选数量与总预算:
预算由哪里强制执行:
开发集与独立评测如何隔离:
质量、成本、延迟与权限的不可退步条件:
所有尝试的实际结果:
结论:采用 / 拒绝 / 证据不足
批准者与采用范围:
回滚版本与步骤:

模板 F:一页事件手册

如何发现异常:
立即停止新的触发与排队任务的方法:
哪些已发出的外部动作可能无法取消:
最小必要检查与敏感信息限制:
如何区分权限、来源、模型、网络和存储问题:
如何确认外部动作是否已经完成:
恢复到哪个版本和数据点:
如何防止恢复时重复执行:
恢复后由谁核验结果:
本次影响、证据与下一项最小改进:

模板 G:每周价值与学习复盘

本周实际交付、验证与未验证内容:
真正用过多少次,完成了哪些相近任务:
旧流程主动时间依据:
新流程操作、监督、复核、失败返工与维护:
净省时与计算限制:
建造时间、现金费用与学习投入:
本周独立解释、修复或迁移的证据:
一项已经改变的行为:
应保留、简化、暂停或删除什么:
下周只做的一个最小目标:

十三、把学习成果写成技术博客:公开方法,不公开私人记录

1. 文章应该展示什么

围绕“问题—约束—实现—验证—失败—采用或拒绝”组织叙事。用合成样例展示数据流,引用官方文档与研究,写清实际执行范围与限制。尚未完成的内容使用“计划”“练习”或“待验证”,不要改成作者亲身成功的故事。

完整课程可以作为一篇长文;也可以将每周拆成单篇系列。分周发布时保留适用对象、前置能力、资料核对日期和安全要求,让单篇读者不必翻到总纲才知道关键边界。外部课程链接保留来源,不上传其整套课件、付费视频、受限实验或未获许可素材。

2. 发布前内容检查

检查正文、代码块、附件、截图、图片元数据、压缩包、网页源码与版本历史。移除个人姓名、邮箱、真实域名或仓库身份、雇主客户信息、日历细节、财务健康资料、登录信息、私人文件路径、日志与聊天记录。项目可以保留架构思想,但公开案例改成通用名字和合成数据。

确认示例代码没有真实服务地址或凭据,公开配置默认 mock、只读和未授权状态。带有真实数据的表格、数据库、备份与源映射文件不应混进静态公开目录。私有系统截图建议用合成界面重现,不依赖一层可撤销遮挡。

秘密一旦公开,先撤销或轮换,再按 R64 · GitHub:Removing sensitive data from a repository 处理历史与副本。内容扫描只能减少明显遗漏,不能保证识别所有可关联信息,也不能证明代码经过完整安全审计。

3. 教程页与运行中的 agent 分开托管

教程展示不需要访问读者邮箱、日历、文件或模型账号。优先静态正文,不附带登录、上传、执行按钮和追踪脚本。运行演示需要另一个明确隔离的环境,默认合成数据、最小权限与独立预算,不能把个人生产接口直接暴露在文章里。

本文配套 HTML 不主动加载第三方脚本、字体、图片、统计或嵌入内容;官方资源仅作为可点击链接。它并不能替你的既有网站移除分析代码、Cookie、CDN 访问日志或主机日志;把 Markdown 粘进已有站点之后,要再次检查最终页面的数据流。

静态站可评估内容安全策略与来源信息策略。CSP 的某些限制需要 HTTP 响应头,而不是只加 meta 标签,例如 frame-ancestors;原理与适用范围见 R77 · MDN:Content-Security-Policy、R78 · MDN:Referrer-Policy。配套发布指南给出该独立 HTML 的具体说明,不要把某一页策略盲目复制到整个站点。

4. 版权、署名与更新声明

本教程的学习安排、练习与模板属于新编排内容,不代表任何被引用机构背书。外部课程、文档、论文、图像和代码仍按其各自许可与条款使用;本文链接到它们,不授予转售、转载全文或取得证书的权利。

发布者可以为自己有权许可的正文选择共享方式,但不要替外部内容授予新的开源或知识共享许可。保留资料核对日期与变更记录。链接失效时优先找官方迁移入口,不换成来历不明的镜像;登录后内容、未来课程材料与所有实验都不在本次完整验证范围。