Skip to main content

你从未写过的代码

让 AI 完成你工作中真实、乏味的工作,并信任结果,无需编写或阅读一行代码

你描述了问题。人工智能选择语言、编写代码、运行并修复它。你永远不会写一行,也永远不会读它的语法,尽管你将学会检查它做了什么。13 个概念,80% 实际使用.

想象一下一家小公司的簿记员。她从来没有写过一行代码,也永远不会。每个月,两份文件应该一致:她的公司记录的支出以及银行实际收取的费用。每个月她都会失去一次晚上的狩猎机会,一行一行地寻找少数不匹配的线索。

上个月她尝试了一些新东西。她打开人工智能聊天,用简单的英语输入:_“这两个文件应该匹配,我自己的支出记录和银行对账单。找到其中一个文件中的每笔交易,而另一个文件中不存在的交易。”_一分钟后,答案出现在她的屏幕上:23 个不匹配的地方,每个都有其金额和日期。狩猎的夜晚已经过去了。

再读一遍,注意缺少什么。她从未学过编程。她从来没有读过一行代码。她描述了一个问题,人工智能编写了代码并运行它,过去她晚上的工作现在只需倒一杯咖啡的时间就可以完成。

她恰好是一名簿记员,但此举与会计无关:用简单的语言描述问题,让人工智能编写并运行代码,然后检查它做了什么。一个有 200 个成绩的老师,一个有一个月日志的护士,一个有一堆杂乱文件夹的学生,都有同样的问题和同样的出路。本课程为他们每个人,也为你,教授这一动作。

七十年来,代码有一个看门人:你必须能够编写它。那扇门现在打开了。世界上最有用的编程语言(Python,一种处理电子表格、重命名文件、生成报告和自动化设备的语言)可供任何能够清楚描述问题的人使用。不是“如果你参加了六个月的训练营就可以使用”。今天可用,在你已经打开的聊天选项卡中。

如果你是从提示课程来到这里的,那么你已经遇到了代码的_有趣_方面:你构建了一个小游戏,也许是你自己的网页,并将其发送到一个可以发短信给朋友的链接。那是真实的,而且很有趣,但这不是本课程的目的。这是另一半,也是更大的一半,也是代码最初被发明的目的。不是玩具,而是在实际工作中安静地消耗一整天时间的乏味琐事,那种有真正风险的事情:成绩、薪水、病人的记录、客户的钱,以一种你无需阅读任何一行就可以_证明_是正确的方式进行总计、合并或检查。最后一部分,信任你看不到的工作,才是本课程真正要讲的技能。

本课程适合拥有两个应该匹配但不匹配的电子表格的会计师。医生有一年的临床数据,却没有时间分析。营销人员从四个拒绝合并的平台进行出口。老师有 200 个等级条目。这名学生拥有 300 个命名不当的文件。即使是每天早上需要登录 40 台设备的网络工程师也是如此。你们都不需要学习 Python 或任何语言。你们所有人都需要学习本页上的十三个概念:哪些问题是_代码问题_,如何以委托承包商的方式委托代码,如何验证你无法阅读的工作,以及如何在人工智能现在为你编写代码的五个表面上完成所有这些工作。

一句话概括了整个过程:你不是在学习写代码;你是在学习如何写代码。你正在学习成为一个好的代码客户。 好的客户不会砌砖。他们写出清晰的简报,根据他们可以衡量的事情检查工作,并保留他们所支付的费用。

准确地说,标题中的承诺是:你永远不会_编写_代码,也永远不需要_阅读_它的语法:标点符号、关键字、需要几个月才能学习的逐行语法。(你甚至不必选择_语言_;人工智能会做到这一点,正如你将在概念 2 中看到的那样。)你_将_学会做的是检查代码_做了什么_:确认总数,用简单的英语检查步骤,找出错误的答案。不阅读语法是本课程给你的自由。验证结果是它反问的责任。两人并不紧张;这是好客户的全部工作。

📚 教具

打开完整幻灯片

查看完整演示 — 你永远不会写的代码


两分钟证明一下

在任何理论之前,先感觉一下大门打开了。打开 Claude.ai(免费帐户需要一分钟;ChatGPTGemini 也可以)并粘贴此、虚假数据和所有内容:

这是我这个月的开支。编写并运行代码 按类别汇总它们,找到我最大的类别,然后告诉我 确切的总数。告诉我代码实际上运行了。

杂货 4,250 燃料 3,100 杂货 2,890 互联网 2,499 燃油 2,750 外出就餐 1,850 杂货 3,120 手机 1,200 外出就餐 2,400 燃油 2,950

看看会发生什么。AI 一看并没有回答。它编写一个小程序(几乎肯定是 Python,因为这就是这类问题所需要的,尽管你没有要求任何语言,也不需要),在你的数字上运行它,并报告:每个类别的总数,最大的类别,总计,计算的,而不是估计的。并注意你所做的所有事情:你没有选择语言,没有安装任何东西,没有在任何地方复制代码,没有按下运行按钮。选择工具、编写代码、运行它都是人工智能的工作。你只是委托、接收了一个工作程序并从中受益,而没有阅读它的任何内容。

现在,这一举动使其成为一项_技能_而不是一个技巧。在同一对话中,粘贴:

通过手动检查自行添加杂货行:4,250 + 2,890 + 3,120。它与你的代码报告的内容相符吗?

它匹配。这种微小的检查,即根据足够小的计算来验证机器输出,这就是概念 6 的种子,它是可以信任人工智能编写的代码的人和只抱希望的人之间的区别。

两分钟,你就已经一次偶然地完成了本课程教授的所有内容:描述一个问题,要求编写代码,观察它的运行,并验证答案的一部分。下面的十三个概念使每个步骤都经过深思熟虑,因此当它是你自己的真实数据而不是十个虚假费用线时,它们会继续发挥作用。


本速成课程假设了之前的基础知识:人工智能到底是什么 用于机器的心理模型,2026 年人工智能提示,特别是概念 10(模型编写和运行代码)和概念 7(头脑风暴迭代循环),以及 Markdown 输入,HTML 输出,因为你在这里编写的摘要是 Markdown 规范,而你要求返回的报告是 HTML。本页将两者深化为一个学科:代码作为中间的东西。完整的工具演练位于 agent 编码速成课程Cowork 和 OpenWork 速成课程 中;你不需要完成此页。进一步来说,使用一般 agent 解决问题 假设了这里的一切。

还没读过那两个?60 秒版本

你可以在没有他们的情况下关注整个页面;这就是你真正需要保留的所有内容。

  • 摘自_AI Prompting in 2026_: 现代人工智能可以编写一个小程序,运行它,并在答案中使用结果,但只有当你的措辞要求时,它才会可靠地做到这一点;留给猜测,它通常只是估计。最有价值的习惯是_loop_:提供上下文、询问选项、反应、迭代。不要接受第一个回来的东西。
  • **来自_Markdown In,HTML Out_:**当你向 AI 编写时,结构胜过散文,因为标题和项目符号消除了猜测(这就是“Markdown”的全部含义:标题为 # 的文本,项目符号为 - 的文本)。当你想要一个结果时,人们会_阅读_,以 HTML 页面(设计的、可共享的文档)的形式请求它,而不是文本墙。

这就是整个依赖关系。如果这两个想法有意义,那么你就准备好了。

你需要什么,你会带走什么

你需要:

  • 一个免费聊天帐户。 Claude.ai 是示例使用的;ChatGPT 和 Gemini 中的模式相同,但具体的文件上传、代码执行和使用限​​制因产品和计划而异。(Claude.ai 要求帐户持有人年满 18 岁;如果你年龄较小,请使用 ChatGPT 或 Gemini,这些帐户允许 13 岁以上的人在父母的许可下使用。)
  • 你自己工作或生活中的一个真实电子表格或文件夹:银行导出、销售表、成绩文件、杂乱的下载文件夹。这些练习对你的数据的影响比我们的数据大十倍。
  • 未安装任何内容。 第 1 部分和第 2 部分完全在浏览器中发生。第 3 部分展示了安装带来回报的表面,但阅读它不需要任何内容​​。

阅读大约需要一个小时,边读边运行 🔬_立即执行_ 框可能会增加三十分钟。做他们;它们就是重点。

到最后,你将能够:

  • 发现代码问题:在几秒钟内判断任务是人工智能大脑的问题还是其双手的工作。
  • 编写一个由五部分组成的代码简介(目标、输入、输出、规则、边缘案例),其中不包含任何技术语言。
  • 强制计算超过估计:让人工智能真正运行代码而不是猜测,并证明它确实如此。
  • 验证你无法读取的结果:根据你独立知道的内容检查 AI 编写的工作,而无需接触 Python。
  • 在真实文件上安全地运行脚本:备份、试运行、范围文件夹,因此错误只是耸耸肩,而不是灾难。
  • 保留你构建的内容:将一次性解决方案转变为你或同事可以永远运行的可重用脚本。
时间紧迫?30 分钟路径

整页是值得的,但如果长度让你感到害怕,这可以让你快速掌握核心技能:阅读 概念 3-6(哪些问题需要代码,如何强制计算,如何简述,如何验证)并随时运行每个人的🔬_立即执行_框。稍后回来了解表面(第 3 部分)、安全规则(概念 12)和项目。仅凭这几部分就可以让你成为合格的代码客户。


第 1 部分:交易

三个概念可以改变你认为自己可以提出的要求。

1. 代码不再受编码控制

为什么簿记员失去的夜晚如此重要?因为对于她的整个职业生涯来说,这笔交易是同样残酷的非此即彼:_要么学习编程,要么手工完成。_协调两个文件意味着一晚上的手动搜索,或者乞求开发人员提供脚本,等待两周,然后得到几乎合适的东西。

新协议:人工智能是开发人员,你是客户,开发人员可以在几秒钟内免费工作,并且永远不会厌倦你的修改。

改变的不是 AI 可以写代码,而是 AI 可以写代码。到 2022 年,情况可能会很糟糕。三件事一起成熟:

  • **人工智能为描述良好的小问题编写_工作_代码。**对于本课程涵盖的问题规模(一个文件、一个文件夹、一个重复任务),现代模型在大多数情况下在第一次或第二次尝试时就会成功。
  • **人工智能_运行_代码本身。**你不会将代码复制到你没有的工具中。AI 在聊天自己的沙箱(Claude.ai、ChatGPT、Gemini)中或经许可在你的计算机上(Claude Code、OpenCode、Cowork、OpenWork)执行它,查看结果并修复自己的错误。
  • **人工智能_修复_代码本身。**当出现问题时,错误消息会返回到循环中,人工智能会纠正过程。程序员花费数年时间构建的调试技能现在已成为服务的一部分。

(这些是人工智能可以为你编写和运行代码的地方,第 3 部分将逐一介绍。简短的版本:Claude.ai 是你可能已经使用的聊天网站,ChatGPTGemini 的工作方式相同;Claude CodeOpenCode 是直接在计算机上的文件夹内工作的工具;CoworkOpenWork 是桌面应用程序,可为非程序员执行相同的操作。这五个表面分为三种类型 place(浏览器、文件夹、桌面应用程序);在文件夹对和桌面对中,第一个工具是商业产品,第二个工具是免费的开源替代品。)

如果你在 2023 年尝试使用人工智能编写代码,请忘记一件事

当时,人工智能递给你一段代码然后走开,除非你安装了 Python 并且知道将该代码块粘贴到哪里,否则对话就结束了。那个时代已经结束了。 今天,你描述了问题,人工智能以相同的响应编写代码_并运行它_,而你这边没有安装任何东西。没有任何步骤将代码交给你来处理。唯一能到达你手中的东西是你真正想要的东西:答案、图表、清理后的文件、报告。

将它们放在一起,工作单元就会发生变化。你不再问“我可以写这个吗?”你问“我可以_描述_这个吗?”描述是你已经拥有的技能。你每周都会向同事、承包商和裁缝描述问题。

从现场看,六种职业:

Who他们描述的问题AI 的 Python 做了什么
Bookkeeper“这两张表应该匹配:我的分类账和银行对账单。在其中一张中找到每笔交易,但在另一张中找不到。”在几秒钟内协调了 1,400 行;标记了 23 个金额和日期不匹配的地方。
医生(诊所老板)“预约出口的一年。哪些日期和时段的缺席率最差?”按工作日和小时计算缺席率;周一上午 9 点的情况比平均水平差 3 倍。
Marketer“四个平台导出,四种不同的列布局。一张表:支出、潜在客户、按营销活动划分的每个潜在客户成本。”合并格式,标准化货币,生成表格和图表。
Teacher“200 名学生,三个评估栏。计算加权期末成绩、字母成绩以及每个学生的个性化一行评论。”三者都做到了;仅评论合并就挽救了一个晚上。
Student“300 个名为 IMG_4501.jpg 及以上的扫描文件。使用每个照片文件中存储的日期重命名它们。”一分钟内重命名了所有 300 个。
Network engineer“每天早上登录这些设备,获取接口状态和错误计数器,编写健康报告。”开场白中的脚本每天在他到达办公桌前运行。

六大职业,零行代码阅读。每一行的模式:直到现在,这个问题始终是_可描述的_,但从未_可调试_。

重新构建这一概念

不要再问“我知道该怎么做吗?”开始问“我可以描述一下_完成_是什么样子吗?”如果你能描述完成,你就可以委托代码。

🔬 立即执行此操作(1 分钟)。 感受新政:你描述一件真正的家务活,AI 会帮你完成。打开 Claude.ai 并粘贴以下内容:

这里有八名学生,每行一名:他们的平均分数,那么如何 他们的期末项目已经逾期很多天了。告诉我哪些学生 迟到 50 天以下和超过 30 天,所以我知道该联系谁, 那是多少。编写并运行代码,以便计数准确。

72, 12 41, 45 88, 60 35, 8 47, 38 29, 90 51, 33 44, 5

你没有手工对任何东西进行分类或统计。你描述了哪些学生很重要以及要找到什么;AI 编写了一个小程序,运行它,然后传回答案(三名学生:得分 41、47 和 29 的学生)。这就是新协议,从头到尾:描述完成,接收完成,并保证算术。

2. 代码到底是什么(60 秒版本)

(已经自己写代码了吗?略过这一节。这门课程真正从概念 3 开始,而概念 6 和 12,即验证和爆炸半径,即使是经验丰富的程序员也会被这些部分所困扰。)在本课程中,你永远不会阅读代码,但你需要知道你正在调试什么,就像一个从不砌砖的房主仍然知道墙是什么一样。

**代码是计算机以任何速度、任意次数完美遵循的精确指令列表。**就是这样。“打开文件。对于每一行,读取类别和金额。将金额添加到该类别的运行总计中。完成后,打印每个总计。”用英文写的,这是一个程序。它是用编程语言编写的代码,机器会毫不犹豫地执行它一百万次。

代码有多种语言,就像合同有多种人类语言一样,就像你让翻译人员选择正确的语言一样,你也可以让人工智能为工作选择正确的代码语言。你将在屏幕上看到两个:

  • Python 是你最常看到的,也是本课程的主角。它是解决你的问题类型(文件、电子表格、数据、图表、报告、自动化)的默认语言,而且,毫无疑问,它是 AI 最了解的语言。 AI 训练数据中的 Python 数量比任何其他语言都多,因此当 AI 编写 Python 时,它是用其母语编写的。对于下一个概念所涉及的实际数据问题,人工智能几乎每次都会使用 Python。
  • JavaScript / TypeScript 是当你要求“点击”某些东西时你会看到的:一个网络工具、一个小游戏、一个通过链接共享的计算器。这就是提示课程所处的世界,你在那里构建的游戏和页面。(TypeScript 只是带有额外安全检查的 JavaScript;就你的目的而言,它们是相同的东西,只是略有不同。)本课程几乎没有涉及到这个世界。这里的工作,即可靠处理的真实数据,是 Python 的主场。

这是让你的工作变得简单的部分:你永远不会在它们之间进行选择。 选择语言是一种技术判断,而技术判断正是你所委托的。好的客户会描述建筑物,并让建筑师在钢材和木材之间做出选择;你描述问题,然后让 AI 在 Python 和 JavaScript 之间做出决定。它根据你的问题需求进行选择,是电子表格中的数字 (Python) 还是人们可以点击的按钮 (JavaScript),而且这种选择的正确性比初学者要可靠得多。知道这两个名称的唯一原因是,这样你就可以识别滚动过去的内容,并且当“让我成为一个工具”请求以与“我的总费用”请求不同的语言返回时,你不会感到惊讶。

Diagram: how the AI picks the language. You describe what you want back. If it's a number, file, or report (total my expenses, reconcile two sheets, rename photos), the AI writes Python. If it's a thing you click or open in a browser (a shareable calculator, an interactive quiz, a dashboard with buttons), it writes JavaScript or TypeScript. You never choose; the choice follows the output.

当代码滚动过去时会是什么样子?Python 的片段如下所示:

totals = {}
for row in rows:
totals[row.category] = totals.get(row.category, 0) + row.amount

_你的目光是不是从那上面滑下来了?完全没问题。这就是这里所有的注意代码要求你的地方。_然而你仍然可以读一半:“对于每一行,将金额添加到该类别的总数中”通过标点符号显示。这就是本课程对你的阅读水平要求,仅此而已。

(还有其他语言吗?很多:Go、Rust、SQL 等等,每种语言都适合本课程之外的技术工作。有一天你可能会瞥见一种语言,但规则永远不会改变:对于本课程涉及的日常数据问题,它是 Python 或 JavaScript,无论哪种方式_你描述结果,人工智能都会选择语言_。)

你_被允许_查看它。你不是_必须_这样做的。本课程的承诺是,你需要的每一项技能(调试、引导、验证、保存)都无需解析任何一行即可发挥作用。像对待机械师的开放式发动机舱一样对待滚动代码:证据表明真正的工作正在发生,而不是你必须通过的测试。

代码值得记住的一个属性是:**代码在两个方向上都是精确的。**它将计算你的总数,精确到最后一分,算术错误为零,并且它还会完全按照所告诉的去做,包括错误的事情,完美地,大规模的。一个存在误解的脚本错误重命名 300 个文件的速度与正确重命名它们的速度一样快。这就是概念 6(验证)和概念 12(爆炸半径)存在的原因。力量和危险来自同一个属性。

非软件类比。 菜谱是人类的代码。细心的厨师“慢火煮 20 分钟”制作出晚餐;由一个完全听话的机器人执行,它被意外告知“慢火煮 20 小时”,完美地生产出木炭。机器人没有失败。简报做到了。第 2 部分中的所有内容都是关于编写不会烧毁厨房的简报。

🔬 现在就执行此操作(1 分钟)。 看看“AI 编写代码_并运行它_”实际上是什么样子。粘贴这个:

编写并运行代码来计算这些数字的总和,然后告诉我平均值 40 以上的有多少:12、47、8、93、21、56。显示代码 你跑了。

返回一个简短的 Python 程序,一个“运行成功”的结果,以及答案(总计 237,平均 39.5,三个高于 40)。你不要求任何语言;Python 正是此类工作所需要的,也是你在本课程的其余部分中将看到的。(它也编写 JavaScript,用于可点击的内容,但那些是提示课程的游戏和页面。在这里,我们完成工作。)

3.分界线:哪些问题是代码问题

这是整个课程所围绕的概念,因为这是你在任何提示之前做出的决定:这是人工智能头脑的问题,还是人工智能双手的工作?

人工智能有两种方式可以帮助你。它可以从自己的推理中回答(起草、建议、总结、解释、集思广益)。它可以计算:编写并运行对实际数据进行操作的代码。大多数人只使用第一个,然后想知道为什么人工智能对电子表格的“分析”有错误的总数。总数是错误的,因为人工智能在应该计算的时候做出了回答:它一目了然地描述了你的数据,就像人类浏览的方式,而不是处理它的方式,就像机器计数的方式。

四个信号告诉你问题是代码问题。其中任何一个就足够了:

Diagram: the dividing line. A question for the AI's mind (draft, advise, summarize, explain, judge an idea) is an answer problem, where the AI just replies. A job for the AI's hands (total, merge, scan, rename, clean, reconcile, chart, automate) is a code problem, where the AI writes and runs code. Four signals mark a code problem, any one being enough: Volume (more than you'd do by hand), Precision (a wrong digit has consequences), Repetition (you'll face it again), Files (it lives in files, not sentences).

Signal测试Examples
体积比你手工轻松完成的项目还要多。需要重命名 300 个文件,总共 5,000 行,需要扫描 80 个 PDF 以查找子句。
精度错误的数字会产生后果。发票、工资单、成绩、剂量表、对账表,任何与金钱有关的东西。
重复下周或下个月你将再次面临同样的任务。月末报告、每日设备运行状况检查、每周活动汇总。
文件问题存在于文件中,而不是句子中。电子表格、导出的数据文件、图像文件夹、日志。

容量、精度、重复、文件:简称VPRF,是本课程不断提及的四字母测试。如果一项任务没有完成这四个任务,那么它就是一个_答案_问题:使用 2026 年人工智能提示 中的技能,永远不要考虑代码。如果它跳闸,哪怕只有一个,那就是一个代码问题,本课程的其余部分就是剧本。

通过过滤器运行你自己的一周:

Task代码问题?为什么
“起草一封拒绝会面的礼貌电子邮件。”No没有体积,没有精确的桩,没有文件。纯答案问题。
“总结一下这份合同。”No一份文件,充满判断力。AI 直接读取。
“这 80 份合同中哪些有非标准终止条款?”卷+文件。代码扫描全部 80 个;基于浏览的答案可能会遗漏一些。
“我的经营理念好不好?”No判断。使用提示课程中的标题模式。
“今年我在燃料上花了多少钱?”精度+文件。这个数字必须来自计算,而不是印象。
“解释一下什么是共同基金。”NoKnowledge question.
“按拍摄日期重命名这些度假照片。”Volume + files.
“每周一我都会将三项导出合并到一份报告中。”重复是最强烈的信号,因为脚本成为一种资产(概念 8)。

**要注意的陷阱:**那些_看起来_像是回答问题但会影响精度的问题。“我今年的销售趋势大致如何?”感觉是对话式的,因此人们会以对话式的方式提问并得到对话式(即近似的)答案。如果决定取决于数字,那么无论你的措辞多么随意,这都是一个代码问题。措辞修复是概念 4。

其中每一个都获得哪种语言?(只是好奇;你永远不会选择它)

回想概念 2,人工智能选择语言,并且选择遵循_输出_,而不是任务:

如果你想要的结果是……AI 通常会写...Examples from above
一个数字、一个已清理的文件、一份报告、一个重命名的文件夹Python燃油总量、合同扫描、照片重命名、周一汇总
有人点击、输入或在浏览器中打开的东西JavaScript / TypeScript可共享的费用计算器、交互式测验、带有按钮的小仪表板

本课程中的几乎所有内容(VPRF 问题、项目、你的实际工作周)都会生成一个数字或一个文件,因此你几乎每次都会看到 Python。可点击的工具是提示课程的领域,而不是我们的领域。

非软件示例。 学校管理员要求人工智能“查看此费用电子表格,并告诉我哪些家庭拖欠付款。”人工智能自信地列出了八个家庭。后来计算出的真实数字是十一。没有人说谎;人工智能已经_回答_(通过浏览进行模式匹配)而不是_计算_。三个失踪家庭收到了部分付款,略读后显示为已付款。一句话就可以阻止它:“编写并运行代码来找到它们。”她现在用这句话结束每个数据问题,这正是第 2 部分开始的地方。

🔬 现在就这样做(2 分钟)。 做出整个课程开启的单一决定,连续八次。粘贴这个:

将这 8 个任务分类为 ANSWER 问题(你只需回答)或 CODE 问题(你编写并运行代码)。每人给出一个简短的理由,并且 触发信号的名称:音量、精度、重复或文件。

  1. 起草一封礼貌的电子邮件拒绝会议。
  2. 将 2,000 行销售额相加并按月细分总数。
  3. 我的经营理念好不好?
  4. 使用每张照片中存储的日期重命名 300 张照片。
  5. 解释什么是共同基金。
  6. 查找 80 份合同中哪些包含非标准取消条款。
  7. 总结一下这篇新闻文章。
  8. 每个星期一,将三个导出的文件合并到一个报告中。

在阅读其原因之前,请根据你的直觉检查其答案。奇数任务是解答问题;偶数的是代码问题。你刚刚将脑力劳动和体力劳动区分开来,这是你余生每次提示之前都会采取的行动。


第 2 部分:调试代码

你已确定这是代码问题。五个概念涵盖了完整的客户端技巧:确保代码实际运行、编写摘要、验证你无法阅读的工作、处理故障以及保留你所支付的费用。

4. 让人工智能的手动起来:自动与显式

现代人工智能工具根据提示听起来如何来决定是否编写代码。上传电子表格并询问“哪些产品增长最快?”大多数人都会计算它。但对于任何乍一看可以回答的问题,人工智能可能会跳过代码并_估计_,并且估计的格式与计算完全相同:同样自信的语气,同样整洁的数字。这是无声的故障模式,对于本课程来说,它是头号敌人。

你可以用一个习惯来消除它:**永远不要让人工智能对任何触发 Precision 信号的事情做出决定。**说出来。

值得将其钉在办公桌上方的三行咒语:

编写并运行代码来回答这个问题。 显示你运行的代码。 在分析任何内容之前,请告诉我确切的行数、列数 文件的名称和日期范围。

第一行强制计算。第二行给了你证据:如果没有出现代码块,就没有代码运行,无论散文如何声称。第三行是本课程中最便宜的测谎仪:如果人工智能实际上正在读取你的文件,则行数和列名称将完全正确;如果它是编造的,你会得到一个可疑的整数和看似合理但错误的列名,并且你会知道在“分析”开始之前停止。

请注意,咒语说的是“代码”,而不是“Python”。这是经过深思熟虑的,也是本课程中每个提示的规则:你告诉人工智能_计算_;你永远不会告诉它_用哪种语言进行计算_。“编写并运行代码”让人工智能为你的问题选择正确的工具(概念 2)。添加“in Python”会迫使它基于你没有能力做出的猜测,并且在 Python 是错误选择的罕见问题上,你会悄悄地引导它错误。描述工作、需求代码,将语言留给人工智能。

你的措辞如何并排引导人工智能:

你的措辞通常会发生什么Risk
“这个数据说明了什么?”基于概览的摘要,也许是代码。估计伪装成事实。
“成本趋势大致如何?”几乎总是一眼。“粗略”告诉人工智能精度并不重要。好吧_仅_如果你真的不在乎的话。
“编写并运行代码来计算每月的成本。”代码,每次。Minimal.
“你是在这个文件上运行代码,还是进行估计?如果是估计,请停止并运行代码。”AI 声明其方法,然后进行计算。怀疑一眼时的最强单招。

而相反的纪律:不要要求代码来回答问题。“编写并运行代码来告诉我我的文章是否有说服力”浪费了工具。与概念 3 的分界线是双向的。

告诉

关于你的数据的响应不包含可见的代码块,不包含行计数,也不包含“这是我计算的内容”,这是_关于你的数据的意见_,而不是对它的分析。就像对待你从未见过的承包商的发票一样对待它。

🔬 现在就这样做(2 分钟)。 让 AI 证明 它是计算出来的,而不是猜测的。将这个小文件和三行咒语粘贴在一起:

这是一个小的通勤日志。

日期、模式、分钟 2025-03-03,巴士,35 2025-03-03,步行,10 2025-03-04,自行车,20 2025-03-05,巴士,40 2025-03-06,步行,15 2025-03-07,自行车,25 2025-03-10,巴士,30 2025-03-11,步行,12

编写并运行代码以按模式总计分钟数。 显示你运行的代码。 首先,告诉我确切的行数、列数 名称和日期范围。

你可以自己检查答案:8 行,列日期/模式/分钟,全部在2025 年 3 月。它将准确地报告这一点,然后是一个代码块,然后是总数(总线为 105)。在一个有数百行的文件中,你永远无法目视,同样的开场问题是什么吸引了人工智能发明数字。

5. 简述问题,而不是程序

这是本课程中最自由的事实:**最好的代码简介根本不包含任何技术语言。**你不需要指定循环、库、文件处理,甚至不指定要使用的编程语言。你可以指定一个好的结果是什么样的,就像你对人类助手所做的那样,人工智能将意图转化为实施,包括语言。对编程一知半解的人通常会写出比完全初学者更糟糕的简报,因为他们对如何进行微观管理,而对内容没有具体说明。“用 Python 写这个”正是这种微观管理:你现在已经根据你实际上无法证明的偏好来限制人工智能的选择,当描述_结果_(“我可以点击的工具”与“电子表格中的数字”)时,它会让它自己正确选择。

完整的简介回答了五个问题。你在提示课程的应用配方中遇到了前三个(目标、输入、输出);代码问题再加两个:

# Brief: [name the task]

## Goal
What problem is solved when this works?

## Input
What am I giving you? (files, their format, roughly how many rows/items)

## Output
What exactly do I want back? (a number, a table, a chart, a cleaned
file, an HTML report)

## Rules
The constraints a stranger wouldn't know. (The school year starts in
August. "Pending" means not yet submitted. Ignore rows before 2024.)

## Edge cases
What should happen when the data is imperfect? (blank rows, duplicates,
a date in the wrong format, an amount with a currency symbol)

是的,这就是 Markdown 规范,正是 Markdown 输入,HTML 输出 训练你编写的那种。代码简介是该技能开始支付复利的地方:人工智能不再需要猜测每个标题。

初学者跳过的两个部分是最重要的两个部分:

规则是你的专业知识所在。AI 懂 Python;它不知道你的学年从八月开始,“待处理”意味着尚未在你的系统中提交,或者市中心商店于三月关闭并应排除在外。你得到的每一个错误分析都会追溯到你知道但未声明的规则。学校管理人员错过了概念 3 中的部分付款?缺少一条规则:“有任何未付余额的家庭都算作拖欠。”

边缘情况是你提前决定不完美数据应该做什么的地方,因为你的数据_是_不完美的;每个人的都是。专业的举动是一句话:_“如果你遇到了无法解释的行,请不要猜测;跳过它,并在末尾列出每个跳过的行。”_这句话将无声的损坏转换为可见的报告。

一份工作简报,教师版(此处的输入是 .csv 文件,只是保存为纯文本的电子表格;更多内容将在第 3 部分中介绍):

# Brief: Who hasn't turned in the essay

## Goal
Find which students on my class list have NOT submitted the essay,
so I know exactly who to chase before grades are due.

## Input
Two files, attached. "class-list.csv": Name, Student ID (about 180
students). "submissions.csv": one row per file turned in, with
Student Name, Filename, Date.

## Output
A list of students with no matching submission, and a count, then a
one-line summary. Format it as an HTML page I can print for class.

## Rules
- Match on student name; names in the submissions may have extra
spaces or different capitalization than the class list.
- A student who submitted twice still counts as submitted (once).

## Edge cases
- A submission whose name matches nobody on the class list: list it
separately (a typo or a wrong upload), don't silently drop it.
- Any row you can't read: skip it and list it at the end.

任何地方都没有编程语言,而且这个简报在第一次运行时会比“查找未提交的人”更容易成功,因为所有猜测都已被删除。(请注意输出行悄悄地应用了之前的课程:面向人的结果是 HTML。)

不知道自己的边缘情况?问。

诚实的事实:你通常不知道数据中潜藏着什么。因此,让发现成为第一个提示:_“在做任何事情之前,检查文件并告诉我:这里可能有什么不明确、不一致或令人惊讶的地方?列出你在处理之前想要回答的问题。”_人工智能检查后返回“有 14 行空白日期和两种货币格式。我应该如何处理每行?”,_现在_你用知识而不是想象力编写边缘案例部分。检查、询问,然后简短说明。这是提示课程中应用于数据的头脑风暴迭代循环。

🔬 现在就这样做(3 分钟)。 写下你的第一份简报,内容是关于反驳的数据。这个小文件故意弄乱了:一个杂散的单位,一个数字中的逗号,一行输入了两次,还有一行没有日期。将文件和摘要粘贴在一起,完全如图所示:

Here is my data, and my brief for it.

Date,Meal,Calories
2025-03-02,Breakfast,420
2025-03-02,Lunch,650 kcal
2025-03-02,Lunch,650 kcal
2025-03-05,Dinner,"1,100"
,Snack,200
2025-03-06,Breakfast,380

# Brief: Total my March calories by meal

## Goal
A clean total for each meal, so I can see where the calories went.

## Output
A table of meal and total, biggest first, then the grand total.

## Rules
- Calories may have a unit like "kcal" or a comma; treat them as plain numbers.
- The exact same row appearing twice is a double-entry; count it once.

## Edge cases
- A row with no date: do not guess. Skip it, and list it at the end.

Write and run code to do this, and tell me which rows you skipped or
treated as duplicates.

看着它去掉 kcal 和逗号,删除重复的午餐行,将空白日期行放在一边(并_告诉你_它做到了),并对其余的进行总计。规则边缘情况行是造成这种情况的原因。删除这两个部分,再次运行,混乱的情况就会直接回来。这就是简报的全部力量,前后一体。这里有六排凌乱的;实际出口中有几百个,其中很容易隐藏一个错误的数字。正是因为简明扼要,大版本才值得信赖。

6. 验证你无法阅读的作品

记住 AI 究竟是什么(概念 3)里说过:模型自己没有真假核查器。写代码时,你有一个它没有的核查器:你可以运行代码。因此这里的验证是运行和阅读,而不是相信。

这是每个怀疑论者都会问的问题,他们问这个问题是对的:如果你看不懂代码,你怎么知道它是正确的?

答案比计算机更古老:**就像你检查任何你无法审计其技术的专家一样。**你不会通过重新推导税法来验证你的会计师;而是通过重新推导税法来验证你的会计师。你根据记录检查总数。你无法通过亲自测试水泥来验证建筑商;你检查墙壁是否笔直以及门是否关闭。你根据独立知识验证输出,并且你作为领域专家拥有人工智能永远不会的独立知识。

五项检查,按逐步升级的顺序进行。前三种涵盖了大多数情况:

1.已知答案测试。 在信任 5,000 行的脚本之前,为其提供一个你已经知道其答案的切片。在你已经手动关闭的一个月上运行它。选择一名学生并在纸上计算她的加权成绩。如果脚本重现了你可以检查的每个答案,那么你对无法检查的答案的信心是“应得的”,而不是希望。这是此页面上最强大的一步。

Diagram: the verification ladder, five rungs rising with effort and stakes. Rung 1, Known-answer test: run it on one slice whose answer you already know, the everyday default and single most powerful move. Rung 2, Reality questions: rows in versus rows out, totals in a plausible range, biggest item the one you know. Rung 3, Plain-English replay: ask the AI to explain what the code did; wrong logic reads wrong in English too. Rung 4, Adversarial pass: ask it to find any way it could be wrong and score its confidence, for higher stakes. Rung 5, Cross-model check: take the brief to a second AI from a different family and compare the numbers, for money or signed work. Never act on a precision-critical number you haven't tested against at least one answer you independently know.

在运行完整文件之前,请在 3 月运行代码。我 已经知道 3 月份的正确总额为 184,250 美元。让我看看是什么 代码获取。

2.现实问题。 用你对世界的了解来询问输出。输入行数与输出行数:如果输入了 1,400 行,而报告涵盖了 1,381 行,那么缺失的 19 行在哪里?总数是否在合理的范围内?“最大客户”是否与你_知道_最大的客户相符?任何与你的专业直觉相矛盾的答案要么是数据意外,要么是代码错误,两者都值得下一个提示:“你的报告说 X。用简单的英语告诉我你是如何计算这个数字的,并向我展示下面的三行。”

3.简单的英语重播。 让人工智能将代码的行为解释为一个过程:

用简单的英语一步步解释这段代码的作用,就好像 向一位同事描述它,他会检查逻辑但无法阅读 代码。包括它对空白行和重复行的作用。

你无法审计 Python,但你绝对可以审计“我在两天内匹配了金额和日期,将借方视为负数,并跳过了 14 个无法解析的行(如下所列)”。如果_过程_是错误的(错误的规则,错误的假设),它在英语中也会是错误的,你会发现它。大多数真正的错误是程序错误,而不是拼写错误,这就是它起作用的原因。

4.对抗性通行证。 直接借用提示课程的标题习惯:_“找出该分析可能错误或误导的任何方式。代码做了哪些假设?最薄弱的环节是什么?为每个主张给你自己的信心打分 1-10 分,并证明每个分数的合理性。”_人工智能确实擅长在明确邀请时攻击自己的工作。

5.跨模型检查。 对于高风险输出(审计员的调节,董事会的分析),将摘要和数据带到不同系列的第二个模型(提示课程,概念 13)并比较计算的数字。两个独立编写的程序在 23 个不匹配上达成一致是该技术提供的最强信号。

StakesMinimum verification
个人好奇心(你自己的支出)Reality questions.
同事依赖的工作产品已知答案测试+简单英语重播。
金钱,成绩,健康,任何签名的东西所有五个,以及一个人审查承重声明。

非软件示例。 药剂师委托编写了一个脚本,根据库存计数交叉检查她的配药日志。在信任它之前,她设置了一个陷阱:她手动将一个虚假差异插入到数据副本中,这是一个她知道的 10 个单位的差距,因为她创建了它。剧本抓住了她的心,还有四个她不知道的真实差异。正是这种植物让她相信了四人。用一个已知错误对数据进行加盐,然后查看代码是否找到它,这是一种最优雅形式的已知答案测试,并且需要 90 秒。

你永远不会跳过的一件事

你可以跳过此列表中的任何检查,除了以下一项:永远不要对你尚未针对至少一个你独立知道的答案进行测试的精度关键数字采取行动。 代码是准确的(概念 2),包括完全错误。已知答案测试是你的防火墙。

🔬 现在就执行此操作(2 分钟)。 在足够小的切片上运行你永远不会跳过的一项检查,以便手动验证。首先自己将这三个数字相加:8,000 + 6,500 + 9,000 = 23,500。现在让 AI 证明其代码已到达:

这是我三天的步骤,每行一个: 周一 8000 周二 6500 星期三 9000 编写并运行代码来计算步骤总数。我用手算出来的 应为 23,500。显示代码和它得到的总数。

如果代码返回23,500,则你已经观看了已知答案测试的工作:你检查了可以自己验证的切片,因此你可以在全年的步骤中信任相同的代码,而你永远无法在头脑中添加这些步骤。如果它返回任何其他内容,则说明你在三十秒内免费捕获了一个错误。

7. 当它崩溃时:错误是对话,而不是失败

会出问题的。脚本停止;出现红色文字;或者更糟糕的是,它完成了并且输出看起来很奇怪。这是思维方式的转变,将坚持到底的人和放弃的人区分开来:**错误并不是项目失败;而是错误。它是计算机非常精确地描述它所需要的东西。**并且你的员工中有一位专家,他已经在对话中,可以流利地阅读该语言。

整个技能,针对红色文本错误:

它停止并显示此错误。诊断它,修复代码,然后 再次运行:

[粘贴红色文字,全部]

就是这样。你不解释错误;你转发它。人工智能会像机械师读取发动机噪音一样读取自己的错误消息,修复脚本并重新运行。大多数错误在第一次粘贴时就会消失。在第 3 部分中,人工智能在自己的循环中运行代码,它通常会发现错误本身并在你注意到之前修复它:你将看到它在单个响应中尝试、失败、调整和成功。

更微妙的情况是错误但正在运行:没有红色文本,但数字有异味。不要说“错了,改正”;AI 不知道哪个部分冒犯了。像向医生报告症状一样:

产量显示总销量 420 万,但我知道今年 约为 1200 万。有些东西被丢弃或误读。 调查:显示你处理的行数、日期范围 你发现了,前 5 行是代码看到的。

具体症状、预期值、重新修复前请_检查_。十分之九的罪魁祸首立即浮出水面:代码只读取三页 Excel 文件的第一页(选项卡),或者将带有逗号的“1,200”视为文本,或者你的导出悄悄地中途被切断。请注意,这只是 Concept 6 的现实问题,现在用作修复工具。

三种模式几乎涵盖了所有故障:

Symptom提示
红色文本,脚本已停止粘贴完整的错误:“诊断、修复、重新运行。”
运行,但数字与你所知道的相矛盾说出症状和你的期望值;要求它在修复之前显示行数和样本行。
同一修复连续失败 3 次别再挖了。“我们已经尝试了三次。退后一步,重新陈述问题,并提出两种完全不同的方法。”三击意味着_方法_错误,而不是打字错误,如果对话变得冗长且混乱,请开始与摘要和经验教训进行干净的交谈(上下文腐烂,提示课程概念 4)。

非软件示例。 营销人员的营销活动合并脚本因提及“编解码器”的错误而崩溃。她一个音节都没听懂就贴了上去。实际上,人工智能的回答是:你的导出内容之一以不同的文本编码保存(与旧系统中的文件常见),调整代码以检测它。热然;工作了。总停机时间:四十秒。她从未了解过编解码器是什么,也从来不需要了解。不要求流畅地犯错。愿意粘贴它们的是。

🔬 立即执行此操作(2 分钟)。 今天故意使其崩溃,而没有任何危险,因此下个月真正的崩溃感觉很常见。粘贴这个,故意打字错误和所有:

这是一个小小的阅读日志: 标题、类型、页数 沙丘,科幻,412 哈姆雷特,戏剧,150 智人,历史,498 首先编写并运行代码以按类型对页面进行总计。然后拼错了 数据中的“Pages”列作为“Pagse”,重新运行相同的代码而无需 修复它,并显示确切的错误。

出现红色文字。(如果人工智能有助于修复拼写错误而不是显示错误,请告诉它:“不,完全按照编写的方式运行它,以便我可以看到失败。”)你将无法理解其中的一个字,而这正是重点。现在只做技能要求的事情:

这是错误。诊断它,修复代码,然后再次运行。

它读取自己的错误,修复列名,然后完成。你刚刚从第一次崩溃中幸存下来,整个技能就是:将红色文本粘贴回去。你永远不必知道这意味着什么。

8. 保留脚本:解决的问题变成一个按钮

概念 3 中的重复信号具有其他三个信号所没有的回报:一次编写的脚本是你永远拥有的资产。 老师的提交检查摘要在你第一次编写时需要付出努力。下一个作业,同样的工作只有一句话:_“在这个新的班级列表上运行我的提交检查脚本。”_未来每一轮的边际成本四舍五入为零。这是你停止_使用_人工智能并开始_积累_它的时刻,这是迈向本书后面部分构建的人工智能工作者的第一步。

这个习惯分为三个部分:

以文件形式请求脚本。 当你再次需要代码构建的结果时,以以下内容结尾:“将其另存为脚本文件,命名清晰,顶部有简单的英语描述,说明其功能、所需文件以及适用的规则。” 在 Claude.ai 上下载该文件;在第 3 部分表面上,它已经位于你的文件夹中。

将摘要放在脚本旁边。 将 Concept 5 中的 Markdown 摘要保存在脚本旁边。该脚本是_how_(对于机器);简介是“什么和为什么”(针对人类和未来的人工智能会议)。六个月后,当某些事情需要改变时,你不会从头开始重新解释;你将把简报和脚本交给任何人工智能,并说“延迟截止规则已更改;更新它。”上一课程将其称为意图层。这对文件 brief.mdsubmissions.py 是你的第一部分。

给他们一个家。 一个文件夹,my-scripts/,每个任务一个子文件夹。每份文件内含简介、脚本和一个小型示例输入文件。该样本是明天的已知答案测试,已预先打包。

my-scripts/
essay-submissions/
brief.md ← what & why, in your words
submissions.py ← the code (you still never read it)
sample-class/ ← inputs whose correct answer you know
monthly-campaign-rollup/
brief.md
rollup.py
sample-april/

表面上重新运行。 在 Claude.ai 上,你使用新月份的文件重新上传脚本,并说“在这些文件上运行此脚本”:可行,稍微手动。在第 3 部分的表面上,脚本位于你的计算机上,因此重新运行只是工具中的一个句子,该工具已经可以看到你的文件夹。坦率地说,这种不对称性是阅读第 3 部分的最佳论据:聊天是脚本诞生的地方;你的机器就是他们居住的地方。

没有保留脚本的习惯有了它
每个月,凭记忆重新解释任务。每个月:“在新文件上运行脚本。”
微妙的规则漂移:梅的逻辑与六月的逻辑不同。规则被冻结在脚本中;每次运行都有相同的逻辑。
你的人工智能技能只能帮助你。将文件夹交给同事:简介、脚本、样本。他们在几分钟内就能高效工作。

非软件示例。 一位诊所经理在三月份建立了她的缺席分析并保留了脚本。到了 8 月,“在本月的出口中运行未出现的脚本”已成为周五 30 秒的例行公事,当新分行开业时,她将文件夹交给经理,经理在第一天就运行了该脚本,没有提出任何问题。据描述,一天下午,六个人的重复工作实现了自动化。这种乘法(描述一次,永远运行,交给任何人)是本课程在一个轶事中的整个经济论证。

🔬 立即执行此操作(1 分钟)。 将结果变成你_拥有_的东西。粘贴此、数据和所有内容:

按主题汇总本研究日志,然后将代码保存为脚本文件 我可以下载: 数学 3 历史 2 数学 1.5 科学 2 在脚本的最顶部,放置一个简单的英文注释:它的作用, 它需要什么文件,以及它遵循的规则。给它起个名字我 一年后就会认识。

你现在拥有一个真实的文件。下次你粘贴新数字并说“在这些数字上运行此操作”。你曾经做过的工作已经成为你永远按下的按钮。这正是“使用”人工智能变成“拥有”某种东西的时刻,这是本书后面每个人工智能工作者的第一块砖。


第三部分:一个问题,五个表面

第 1 部分和第 2 部分中的所有内容(分界线、概要、验证、循环、保留的脚本)在任何地方都相同。跨表面的变化是_代码运行的位置以及它可以接触的内容_。有五个表面,但只能运行三种地方代码:浏览器沙箱(Claude.ai,ChatGPT 和 Gemini 的工作方式相同)、位于文件夹内的终端(Claude Code、OpenCode)和桌面应用程序(Cowork、OpenWork)。接下来的三个概念使用一个正在运行的作业来遍历这三个地方,因此差异很明显:

正在运行的作业

一个包含 12 个每月费用 CSV 的文件夹。合并它们,按类别汇总,标记重复交易,并生成一页带图表的 HTML 报告。

(如果你不熟悉“CSV”,那么在我们开始之前先说一句:CSV 是最简单的一种电子表格文件:用逗号分隔的普通值行。你的银行、学校门户、健身应用程序以及几乎每个带有“导出”或“下载”按钮的系统都会生成它们,Excel 会像任何其他电子表格一样打开和保存它们。如果你的数据是常规 Excel 文件,则不会发生任何变化:本课程中的每个提示都相同。)

9. Claude.ai:主界面(以及 ChatGPT、Gemini)

浏览器聊天是本课程的所在地,是迄今为止运行的每个提示的所在地,并且大多数代码问题将在很长一段时间内得到解决。当你要求 Claude.ai 编写并运行代码时,代码会在 沙箱 中执行:Anthropic 这边的一台临时计算机,为你的对话而创建。你上传的内容将进入;结果、文件和图表出来了;你的计算机上的任何内容都不会被触及,这使得它成为学习的零风险表面。ChatGPT(其数据分析功能)和 Gemini 的工作方式相同:上传、请求代码、验证。本课程中的每个提示均保持不变。

Claude.ai 上正在运行的作业:

随附 12 个 CSV 文件,每月一份是我 2025 年的开支 (列:日期、描述、类别、金额)。

编写并运行代码:

  1. 将所有 12 个数据合并为一个数据集。告诉我总行数和 在进一步操作之前确认所有 12 个月都已存在。
  2. 按类别和月份划分的总支出。
  3. 标记可能重复的交易(相同日期、金额和 描述);列出它们,不要删除任何内容。
  4. 生成一页 HTML 报告:每月趋势图、类别 表、重复列表和三个值得我注意的观察结果。

规则:金额使用逗号作为千位分隔符。退款是 负面。如果任何行无法解析,请跳过它并将其列在末尾。

几分钟后:呈现的 HTML artifact,正如 Markdown 输入,HTML 输出 课程所承诺的那样:你的 Markdown 形状的简报输入,设计好的页面输出,Python 隐形在中间。运行 Concept 6 检查(行数是否匹配?你熟悉的一个月看起来正确吗?),然后发布或下载报告。

这就是“人工智能运行代码”的样子:程序及其结果一起出现在一个回复中。你什么也没写,也没有按下运行按钮。

主表面最擅长什么,以及它的终点: Illustration: code running inside Claude.ai. On the left, you type a request in plain English and attach a data file. An arrow points right to Claude, which writes a short Python program, runs it (shown with a "ran successfully" badge), and returns a chart and the computed totals. Labels on the left note that you installed no Python, pasted nothing, and pressed no run button.

StrengthLimit
零安装,对你的机器零风险。沙箱只能看到你上传的内容。四十个文件意味着四十个上传,从这里“登录到我的网络设备”是不可能的。
非常适合一次性和探索性工作。沙箱是临时的。必须下载脚本(概念 8),否则它们实际上会随着聊天而消失。
完整的概要→代码→验证→迭代循环,全部可见。重复性作业意味着每次都重新上传。每月罚款;乏味的日常。

边界,一行:**聊天沙箱是你访问的一个工作室;**当你的问题是_关于_你的计算机(其文件夹、数百个文件、其日常节奏)时,你已经不再需要访问,并且存在接下来的两个表面。

🔬 现在就执行此操作(2 分钟)。 到目前为止,所有练习都在 Claude.ai 上运行,因此你已经在家庭表面上_live_ 了。这是它的标志性举措,即设计的报告。粘贴此、数据和所有内容:

这是上个月的屏幕时间,每个应用程序的小时数: Instagram,28 YouTube,41 消息,12 地图,6 游戏,19 生成一页 HTML 报告:包含总小时数的标题、 按应用程序划分的简单条形图、完整表格以及两个值得观察的结果 我的注意。让它看起来足够好,可以发送给某人。

出现的是一个设计好的页面,而不是一堵文字墙:输入的是简单的文字,输出的是真实的报告,中间运行着看不见的代码。这就是上一门课程中的“Markdown 输入,HTML 输出”,现在由你从未编写过的代码提供支持。

10. Claude Code & OpenCode:你文件夹中的 agent

Claude Code(Anthropic)和 OpenCode(开源,适用于许多人工智能模型;本书原则上将每个商业工具与一个开放的替代方案配对)存在于终端中:自图形屏幕出现以来,每台计算机中都存在的纯文本窗口。如果这个词让你退缩,请保持这个重构:_终端只是一个位于文件夹内的聊天框。_你输入句子;agent 回答。与浏览器的区别在于聊天的一切:agent 可以查看已经存在的文件(无需上传),直接在它们上运行代码,保存永久存在的脚本,并在紧密循环中修复自己的错误,而无需你传送消息。

(终端是了解这些工具的最清晰方式,也是本课程教授它们的地方,但两者都已经超越了它。Claude Code 也在代码编辑器、桌面应用程序和浏览器中运行;OpenCode 也在编辑器和桌面应用程序中运行。“文件夹中的聊天框”理念存在于它们中的每一个中:无论它位于何处,它都是一个可以查看文件并对其进行操作的 agent。选择你的工具提供的任何入口点;技能是相同的。)

再次运行作业,注意缺少什么:

Expess-2025 文件夹包含 12 个每月 CSV。合并它们, 按类别和月份总计,标记重复项(相同日期、金额、 描述),并生成带有趋势图、类别的 report.html 表、重复项列表和三个观察值。金额使用逗号 分隔符;退款为负数;跳过并列出无法解析的行。 将合并和报告代码保存为可重用脚本,名为 月度报告(你选择正确的文件类型),以便我可以重新运行 明年吧。

没有附件:文件就在_那里_。agent 读取它们,编写代码(Python,用于像这样的合并和总计作业),运行它,遇到逗号分隔符障碍,自行修复它,然后完成。打开文件夹:report.html,准备发送,monthly-report.py,永远属于你。明年一月:“在 2026 文件夹上运行月度报告脚本。” Concept 8 的保留脚本习惯,并为你完成保留工作。

Claude 文件夹中的代码。请注意,它列出了你从未上传的文件;他们已经在那里了。该窗口看起来很技术性,但你输入的所有内容都是简单的英语。

这是要求最高的工作的表面:必须按计划在你自己的计算机上运行的代码,涉及浏览器选项卡永远无法到达的系统。想象一下一名网络工程师每天早上登录四十台设备来获取健康报告。这项工作需要在他到达办公桌前从他的机器上、在他的网络上运行代码。没有浏览器沙箱可以做到这一点。他的整个工作流程是:打开终端、描述、验证、调度。他也从未读过剧本,也从未学过写剧本。

Illustration: Claude Code working inside a folder. On the left, a folder named expenses-2025 already contains twelve monthly CSV files; below it, the report.html and monthly-report.py files that appear after the run. An arrow points to a terminal window opened in that folder, where a plain-English request is typed, the agent reports finding the 12 files with no upload needed, writes and runs a script, fixes a comma-separator issue itself, and confirms the report was created. Claude Code 或 OpenCode? 相同的文件夹聊天体验。Claude Code 是 Anthropic 的,经过精心设计,由 Claude 运行。OpenCode 是开源的,可让你选择模型,包括免费模型和自托管模型。学习其中任何一个;技能是相同的。agent 编码速成课程 涵盖安装和操作;你在这里学到的内容(简短、验证、迭代、保留)正是你将在其中执行的操作。

非程序员也属于这里

这些工具是向开发者推销的,但营销的边界是错误的。“与可以看到此文件夹的 agent 聊天”不需要了解代码;它需要了解_你的文件和你的问题_,这是你带来的部分。这些工具的一些最重的非程序员用户是会计师和研究人员,他们只是厌倦了上传。

11. Cowork & OpenWork:具有安全仪式的授权

Claude Cowork(Anthropic)和OpenWork(开源,来自 Different AI)是桌面应用程序:与终端表面相同的文件触摸功能,包装在普通应用程序窗口中,专为知识工作者而不是开发人员构建。你在提示课程的概念 11 中遇到了该类别。这里的新功能是认识到这些应用程序的底层含义:当 Cowork 重新组织你的文件夹或构建报告时,通常是通过“编写并运行代码”来完成的。相同的 Python,不同的服装。

它们的定义功能是其他表面留给你的纪律的内置工作节奏:先计划,批准后采取行动。 为 Cowork 提供正在运行的作业,它通常会以计划进行响应(“我将读取 12 个 CSV,合并这些列,将退款视为负数,标记重复项而不删除,生成 report.html;这是我将创建的内容”)并等待。你用简单的英语阅读了计划,在执行之前发现错误的假设,然后批准。计划审查步骤是 Concept 6 的简单英语重播,移至工作之前而不是之后:默认情况下进行验证,内置于界面中。

根据你面前的问题,在五个中进行选择:

你的情况Reach for为什么
关于一个或几个文件的一次性问题Claude.ai(或 ChatGPT / Gemini)上传、计算、验证、完成。无需安装,没有任何风险。
在借来的计算机上学习、探索或工作Claude.ai沙箱不会伤害任何东西。
问题出在你的文件夹中;你会重复一遍;脚本应该持续存在Claude CodeOpenCode无需上传,脚本保留,错误自我修复,可以实现自动化。
Diagram: five surfaces, one graduation path. On the left, START HERE, the browser: Claude.ai, ChatGPT, and Gemini run code in a temporary sandbox with zero risk and nothing to install, but you upload files each time and scripts vanish with the chat; best for one-off jobs, exploring, and learning. An arrow labeled "graduate when uploads annoy you" points right to YOUR MACHINE, where the files live: Claude Code and OpenCode in the terminal (a chat box in a folder, can run on a schedule) and Cowork and OpenWork as desktop apps (plan-then-approve built in). These see your files with no uploading and keep scripts forever, but mistakes touch real files. Within each pair, the first tool is commercial and the second open-source.
相同,但你需要一个应用程序,而不是终端,并且需要一个在任何移动之前批准的计划CoworkOpenWork先计划后批准是表面内置的验证。
任务必须按计划运行,或者触及其他系统(网络工程师的情况)Claude CodeOpenCode只有在你的计算机上运行的代码才能在你睡觉时运行。

诚实的排序建议:留在 Claude.ai,直到上传成为你一周中烦人的部分。 这种烦人就是毕业信号。大多数读者将本课程应用到实际工作中一个月内就能感受到;当你这样做时,工具对速成课程正在等待你。

概念 10 和 11 没有“现在就做”,这就是重点

你无法在浏览器选项卡中尝试终端或桌面应用程序;它们存在于你的计算机上,尝试它们意味着只需短暂安装,这正是 Agentic CodingCowork 和 OpenWork 课程的用途。这是令人放心的部分:你已经_已经_在 Claude.ai 上亲手练习了真正的技能(简短、强制代码、验证、保留)。这些表面改变了代码运行的位置,而不是你所做的事情。同样的工作,更大的房间。


第 4 部分:电源,安全握持

两个结束概念:可以触及真实事物的代码的安全规则,以及单提示代码结束位置的诚实地图。

12. 爆炸半径:接触文件的代码的规则

在 Claude.ai 上,错误是免费的:沙箱是一次性的,你的计算机是不可触及的。当你转向在你的机器上运行代码的表面时,Concept 2 的警告就不再是理论上的了:代码完全按照所告诉的那样进行,完美地大规模执行,包括错误的事情。 一个带有被误解的摘要的脚本会在四秒钟内错误地重命名 300 个文件,而这与正确重命名它们需要花费的时间相同。提示课程中的两个事实值得重复,因为人们以昂贵的方式学习它们:agent 删除的文件通常跳过回收站,而脚本编辑的文件不保留撤消历史记录

所以:四个规则,易于遵循,几乎可以消除所有风险。它们一起缩小了_爆炸半径_,这是如果运行出现问题可能发生的最糟糕的事情。

规则 1:处理副本,直到脚本赢得信任。 在任何修改文件的运行之前:“首先将文件夹复制到费用-2025-备份,然后仅处理原始文件。” 一句话。当(而不是如果)脚本第一次运行期间出现问题时,该事件就变成了耸肩而不是灾难。当脚本在真实数据上干净地运行几次后,请放松_该脚本_的限制。

规则 2:要求在任何破坏性行为之前进行预演。 重命名、移动、删除、覆盖:“还不要更改任何内容。向我展示你将执行的操作的完整列表(每次重命名,旧名称 → 新名称)并等待我的批准。” 阅读该列表需要两分钟,并发现误解(“等等,为什么它会触及 2024 文件夹?”),但它仍然是文字而不是行动。Cowork 和 OpenWork 在设计上就做到了这一点;在终端表面上,你_强制执行它。

规则 3:确定范围。 将 agent 指向包含问题的最小文件夹:绝不是你的主目录,绝不是“文档”,绝不是整个磁盘。expenses-2025/ 中的脚本混淆可能会损坏你根据规则 1 备份的 12 个 CSV。驱动器顶部的脚本混淆可能会损害你的生命。

Diagram: blast radius, four rules for code that touches real files, with a warning that deleted files often skip the recycle bin and edited files keep no undo history. Rule 1, work on copies until a script has earned trust. Rule 2, demand a dry run that lists every operation before any rename, move, or delete. Rule 3, scope the territory to the smallest folder, never the whole disk. Rule 4, output to new files, never overwrite the inputs. Together: three sentences per brief, about ninety seconds per run. 规则 4:输出到新文件;永远不会覆盖输入。 “将结果写入新文件;保持原始文件不变。” 原始数据保持原始状态;每次运行都可以通过删除来逆转。让它成为每份简报输出部分的一条固定线。

整个仪式每段需要三句话,每次运行大约需要九十秒:

首先将文件夹复制到备份。告诉我你的行动计划 在更改任何内容之前,等待批准。写入所有输出 到新文件;切勿修改原件。

这与提示课程为桌面应用程序提供的权限阶梯相同,翻译为代码:信任被授予_具有跟踪记录的特定脚本_,而不是技术,并且代码可能涉及的范围的增长速度与其行为的证据一样快。

非软件示例。 一名研究人员要求 agent 通过删除重复项来“清理”采访录音文件夹。试运行列表显示了 40 个建议删除的内容,其中包括匹配逻辑错误分组的 6 个文件,因为两个不同的采访具有相同的长度和相似的名称。她更正了规则(“匹配内容,而不是名称和大小”),重新进行试运行,批准了 34 个真正的删除。由于读了两分钟的计划,本来会悄无声息地消失(经过回收站,无法恢复)的六次采访得以幸存。这就是仪式所买的东西。

🔬 现在就这样做(2 分钟)。 练习预防灾难的举措:在任何改变之前要求制定计划。粘贴:

我有六个文件:report-jan.pdf、report-feb.pdf、notes.txt、 报告-mar.pdf、照片.jpg、报告-apr.pdf。我只想重命名 “report-”PDF 为 report-01.pdf、report-02.pdf 等,按日期顺序排列。 在做任何事情之前,请告诉我你的确切计划:接下来是每个旧名字 为其新名称。暂时不要更改,等待我的批准。

它会向你显示一个列表,旧名称位于新名称旁边,然后停止。阅读它。检查 notes.txtphoto.jpg 是否保持不变。_在单个文件移动之前花两分钟的时间阅读,就是整个安全习惯。_在你的真实文件中,这是耸耸肩和灾难之间的区别。

13. 地图的边缘及其对面是什么

这门课程故意充满信心,因为在它的领域内,这种信心是有道理的:对于适合摘要并存在于你的文件中的问题,人工智能编写的代码(其语法你从未阅读过(但你总是验证其结果))并不是妥协。现在这项工作就是这样完成的。但你应该确切地知道领土的尽头在哪里,既可以避免沮丧,也可以了解本书的下一步发展。

越过边缘,需要多个提示代码:

  • 其他人登录的软件。 帐户、付款、同时用户、必须在凌晨 3 点起床的服务:产品,而不是脚本。可以使用人工智能进行构建,但可以使用本书第 4 部分的工程学科,而不是聊天提示。
  • 始终在线的自动化,带来现实世界的后果。 “每周自动向我的客户发送电子邮件”在无人值守的情况下运行,Concept 6 的检查无法到达。_你运行并验证_的脚本与_运行自身的工作人员_之间的差距就是本课程与本书所要教授的数字 FTE 之间的差距:可交叉,但具有评估驱动的纪律,而不是乐观。
  • 高风险行为无法撤消。 提交税务申报、发送群发电子邮件、执行交易的代码。让代码_准备_这些并由人类_发射_它们。当你去掉人类的那一天,你就需要本书后面部分的可靠性工程。
  • 穿着计算服装的判断。 “计算晋升哪些员工”:算术很简单;标准就是整个问题,它们是你的,而不是 Python 的。代码计算;你决定。

**在今天的范围内,你的:**你工作生活中涉及数量、精度、重复或文件的每一次核对、汇总、重命名、合并、清理、交叉检查、标记、图表和报告。对于大多数专业人士来说,每年数百小时的工作时间直到现在都被限制在你被告知必须首先学习的技能之后。

还记得那个拿回她晚上的簿记员吗?将她乘以你工作生活中的每一次对账、汇总、重命名和报告,你就拥有了本课程的全部承诺。学习这一点的人不会被取代,而是会被取代。他们一周的工作时间又回来了。那不是魔法;而是魔法。它是_委托代码_:问题描述一次,完美计算,永久保存,免费重新运行。他们都没有成为程序员。他们成为了好客户。现在你也一样了。

本书从这里开始。 现在,你掌握了构建此基础课程的两个重要杠杆:精确的文档(在 Markdown 输入,HTML 输出 中教授)和通过它们委托的计算(本页)。剩下的就是决定何时联系他们的纪律:AI 时代如何思考,知道何时呼叫 agent,何时不呼叫。之后,使用一般 agent 解决问题 将第 3 部分中的两个杠杆带到 agent 表面,并添加操作规则(分解、约束、自主阶梯),将“AI 给我写了一个脚本”变成“AI 和我交付了参与”。工具对演练(Agentic CodingCowork 和 OpenWork)在上传开始让你烦恼的那一天就在那里。


在尝试提示之前简要回顾一下

十三个概念,每行一行:

  • 概念 1. 代码不再受编写能力的限制。AI 编写代码_并运行它_:没有安装任何内容,也没有粘贴任何内容。你问“我可以描述这个吗?”,而不是“我可以构建这个吗?”
  • 概念 2. 代码是双向完美执行的精确指令。人工智能选择语言;对于本课程的实际数据工作,几乎每次都意味着使用 Python。你永远不会写或读它的语法。
  • 概念 3. 四个信号标记一个代码问题:体积、精度、重复、文件。 任何一个就足够了。无意味着这是一个答案问题。
  • 概念 4. 人工智能有时会估计何时应该计算。说出以下内容:“编写并运行代码。向我展示代码已运行。首先给我行数。”
  • 概念 5. 简要介绍问题,而不是程序:目标、输入、输出、规则(你的专业知识)、边缘情况(不完美的数据应该做什么)。让人工智能首先检查数据并告诉你要做什么决定。
  • 概念 6. 根据独立知识验证输出:已知答案测试、现实问题、简单英语重播、对抗性通过、跨模型检查。切勿对未经测试的精度关键数字采取行动。
  • 概念 7. 错误是对话。粘贴红色文字;将错误的数字报告为具有预期值的症状;在三次修复失败后,要求采取新的方法。
  • 概念 8. 重复将脚本变成资产:将摘要、脚本和已知答案样本放在一个文件夹中。描述一次,永远奔跑,交给任何人。
  • 概念 9. Claude.ai(以及 ChatGPT、Gemini)在零风险沙箱中运行代码:一次性工作和所有学习的主界面。
  • 概念 10. Claude Code 和 OpenCode 将 agent 放入你的文件夹中:无上传、持久脚本、自我修复错误、计划运行。该终端是一个位于文件夹中的聊天框。
  • 概念 11. Cowork 和 OpenWork 将相同的功能封装在桌面应用程序中,并在表面中内置了计划然后批准:验证。
  • 概念 12. 当代码可以接触真实文件时:首先复制,销毁前试运行,尽可能最小的文件夹,输出到新文件。每个摘要三句话。
  • 概念 13. 地图的边缘:多用户软件、无人值守的自动化、不可撤消操作和判断调用需要本书的其余部分。今天其他一切都是你的。

在这一切的背后,是一种身份和一种技能。身份:**你是客户,而不是承包商。**技能,提示课程永远不需要的技能:你可以信任你看不到的工作,因为你根据你已经知道的东西对其进行了测试。清晰地介绍情况、根据他们独立了解的情况进行验证并保留他们所支付的费用的客户赢得了一周中真正的一天,从事真正重要的工作。这就是整个课程。


你已经做过十次了

如果你运行上面的“立即执行此操作”框,那么你不仅仅是阅读了本课程;你还阅读了本课程。你_用过_它。你发现了代码问题,迫使人工智能进行计算,编写了一份摘要来驯服混乱的数据,运行了已知答案的测试,在崩溃中幸存下来,保留了脚本,并要求进行试运行。所有这些都是你亲眼所见,根据页面中的数据进行的。

现在取下辅助轮。下面的四个项目对你的数据运行相同的操作,其中答案实际上很重要。


🚀 项目

上面那十个“立即执行此操作”框,是在我们递给你的数据上做的排练。下面这四个项目才是真刀真枪:你的数据、你的利害、结尾还有一个捕获

捕获是指 AI 的代码发现的、你原本并不知道、而且你可以为之做点什么的真实情况:一个该取消的订阅、一笔该申诉的扣款、一个该挽救的成绩、一个该催还欠款的朋友。所以请注意这些项目不是什么。它们不是要做一个用来炫耀的页面。没有链接可发,没有页面可发布。你带走的东西是一句能讲给真人听的话(“AI 找到了一个我忘记的订阅,到目前为止已经花掉 796,外加一笔我可以申诉的重复扣款”),以及一个你保留下来的小脚本。捕获就是演示。

挑选自己数据的唯一筛选标准:现成 App 测试

在把项目对准某份数据之前,先问:有没有公司已经为这件完全相同的事做好了一个 App? 如果有(拆账有 Splitwise、记账有预算 App、回顾一年有你手机的年度总结),那它就是不适合放在这里的问题。只有当规则对每个人都一样时,App 才会存在。而如果规则是通用的,就没有属于你的东西可以交代,也没有只有你掌握、可供验证去比对的私有答案。

合适的问题正好相反:一个**只有一人的市场。**你的规则、你的烂摊子、一个只有你能确认的答案。这正是委托代码胜过应用商店里任何 App 的地方,也是下面每个项目所在之处。

从“金钱侦探”开始;它会教会你其余项目反复重用的每一招。前三个项目在你只能读取的数据里寻找捕获;第四个把同样的纪律用在你的文件上,那里利害更高,因为那里的代码可以删除。每个项目在免费帐户上都不到一小时。

项目 145 min金钱侦探不要往前记账。去你自己的真实历史里,揪出那个藏着的漏洞。

“钱就是莫名其妙地没了,我不知道它去了哪里。”每个人都说过这句话。预算 App 是往前回答它的,所以才会人人都有这么一个,也正因如此,记账没通过现成 App 测试。这是相反的一招,也是没有 App 这么做的原因:你是在往回翻自己的真实历史,找那个只有你认得出来的特定漏洞。

先在一个答案你能核对的样本钱包上排练一次,再把它放到你自己的真实导出数据上去跑。

还没有自己的导出数据?先在这个钱包上排练

把这个粘贴进聊天,当作你的“文件”。这是一名学生几个月的钱包,一行一笔交易。正数是收入,负数是支出。

Date,What,Amount
2025-06-01,Pocket money,+5000
2025-06-04,PrimeVideo subscription,-199
2025-06-05,Spotify,-299
2025-06-07,Foodpanda,-650
2025-06-09,Careem ride,-300
2025-06-15,Tutoring received,+1500
2025-06-18,Foodpanda,-700
2025-06-28,Bank service fee,-50
2025-07-01,Pocket money,+5000
2025-07-04,PrimeVideo subscription,-199
2025-07-05,Spotify,-299
2025-07-08,Foodpanda,-650
2025-07-08,Foodpanda,-650
2025-07-14,Careem ride,-300
2025-07-28,Bank service fee,-50
2025-08-01,Pocket money,+5000
2025-08-04,PrimeVideo subscription,-199
2025-08-05,Spotify,-299
2025-08-10,Foodpanda,-700
2025-08-16,Careem ride,-350
2025-08-20,Tutoring received,+1500
2025-08-28,Bank service fee,-50
2025-09-01,Pocket money,+5000
2025-09-04,PrimeVideo subscription,-199
2025-09-05,Spotify,-299
2025-09-12,Foodpanda,-700
2025-09-17,Careem ride,-300
2025-09-28,Bank service fee,-50

粘贴这个钱包,然后是这份简报:

这是我几个月的钱包(加号是收入,减号是支出)。钱一直在莫名其妙地消失,我看不出去了哪里。当我的金钱侦探:编写并运行代码,并让我看到它跑过,找出钱到底去了哪里、有没有什么在每个月悄悄扣我钱、有没有哪笔扣款在同一天被收了两次。然后告诉我,到下次零花钱发下来时,我手里还会剩多少。

先在幕后赢得你的信任。在你相信它找到的任何东西之前,先确认两个你自己能核对的数字:总收入应该是 23,000(四个月、每月 5,000 零花钱,加上两次各 1,500 的家教收入),而 PrimeVideo 应该每个月都出现,到目前为止共扣 796(199 乘以四)。如果代码能重现这两个数字,那么它找到的、你无法事先核对的那些东西就赢得了你的信任。那次悄悄的核对,正是概念 6 的已知答案测试在幕后做它真正的工作。

**现在让它自己解释清楚。**你能核对的数字都对上了,所以下一招就是让 AI 用你真正读得懂的话,带你走一遍它自己的思路。

现在像我不会读代码一样解释给我听。你用的是哪种语言,你到底是怎么算出这些数字的,尤其是你怎么判定某一笔是重复扣款的?

这是概念 6 的大白话复述。你读不懂 Python,但你用大白话核对逻辑:“我按类别求和,只有当同一笔金额每个月都出现时我才把它算作周期性扣款,我把同一天同一金额标记为可能的重复。”如果这套逻辑有错,它用英语读出来就是错的,你不用读哪怕一行代码就能抓住它。还要注意,你从没告诉它用 Python(概念 2):是它自己挑的语言,因为这是数据工作,选对工具是它的活儿,不是你的。

侦探捕获到了什么。在这个钱包上,它浮现出三件你没交给它的真实情况:一个 PrimeVideo 订阅每月悄悄扣走 199,到目前为止已 796,是你忘了自己有的;一笔 Foodpanda 扣款在同一天被收了两次,7 月 8 日,这是一笔你可以申诉的重复扣款;以及真正的漏洞,外卖大约 4,050,比所有订阅加起来还多。预测则诚实地建立在其上:你其实是净盈余的,你只是感觉很穷,因为外卖是在用一小口一小口地啃你。(而且侦探对自己的立足点很诚实:那个预测假设你的家教收入会持续进来,可这里四个月里只来了两个月。好侦探会把数字它所依赖的前提一并给你看。)

你的那一句话:“AI 找到了一个我忘记的订阅,到目前为止已花掉 796,外加一笔我可以申诉的重复扣款。”这句话以一个动词收尾。你去取消、你去申诉、你一周里在家吃两次。

**保留这个工具。**让它把整件事存成一个脚本,配上大白话的头注(概念 8),起个像“我的每月金钱核查”这样的名字。下个月你粘贴一份新的导出数据,说一句“跑这个”,这场追查就从一个晚上变成了三十秒的习惯。

利害比零花钱更高?

如果这个捕获要用来推动一个真实的决定(一笔值得追的退款、一份你要给别人看的预算),就把同一份简报放进另一个不同家族的 AI 里再跑一次,看两边在漏洞上是否一致,然后再行动。那是概念 6 最强的核对方式,真刀真枪地做一遍。

**可选:留个凭证。**捕获才是真正的交付物,而你已经拿到了。但如果你想留一份副本或给别人看(家长、你自己的记录),你可以用上一门课里那个技能——Markdown In / HTML Out——把你的发现打包起来。

为了留存或给别人看:把我发现的东西做成一个干净的页面让我保存,包含那个漏洞、那个被遗忘的订阅、那笔重复扣款,以及你的一句话结论。

在 Claude 上,报告会作为一个你可以保存的产物内联出现;在 ChatGPT 上,它会下载成一个 .html 文件,你用浏览器打开,两种方式结果相同。这是在打包捕获,而不是重点,而且它是给你自己的:一份关于你自己被遗忘的订阅的报告,是给你或家长看的,绝不是你拿去发布的链接。这也是这个项目两种用法都用到代码的诚实含义:用 Python 计算并捕获漏洞,用上一门课的 HTML 标记把它打包,而绝不是去构建一个可点击的 App。

▶ 看一份示例报告(你保存的页面可以长成什么样)

这一份是用上面那个练习钱包做的,不是任何人的真实金钱,所以可以放心展示。你的那份会带着你自己的捕获,而你真实的报告始终属于你,绝不是你拿去发布的链接。你也可以在单独的标签页里打开这个示例

**完成时间:**代码重现了你早已知道的那两个数字,并且它交给你至少一件你原本不知道、本周就能据此行动的真实情况(那个被遗忘的订阅、那笔重复扣款),外加一个下个月能重新运行的已保存脚本。

项目 230-45 min我的成绩到底如何把没有 App 拥有的那一套评分规则——你老师的规则——编码进去,弄清你真正处在什么位置。

没有哪个成绩册 App 知道:你老师会去掉你最低的两次作业、只算十次小测中最好的八次、允许出色的期末成绩替换偏弱的期中成绩、还给迟交罚分设了上限。这一整套规则只存在于世上某一份教学大纲里,而这恰恰是它通过现成 App 测试的原因:规则不是通用的,它们是你老师的,所以只有写的简报才能把它们编码进去。这是“简述问题,而不是程序”(概念 5)最纯粹的体现,因为这里的规则部分就是教学大纲,照抄成大白话。

收集你真实的分数(直接从门户复制粘贴,乱一点没关系)和你老师实际的规则。如果手边没有,就先在样本上排练。

手边没有分数?先在这个上排练,再去做真的
My homework scores: 60, 92, 88, 45, 90, 85
My quiz scores (best 8 of 10 count): 70, 95, 88, 100, 0, 91, 84, 77, 93, 80
Midterm: 72
Final: 86

My teacher's exact rules:
- Homework is 20% of the grade. Drop my two lowest homework scores, average the rest.
- Quizzes are 20%. Only my best 8 of 10 count (a 0 means I missed one).
- Midterm is 25%.
- Final is 35%. If my final percentage is higher than my midterm, the final replaces the midterm too.

粘贴你的分数和规则,然后是这份简报:

这是我的分数和我老师确切的评分规则。编写并运行代码,并让我看到它跑过,按每一条规则算出我现在真实的成绩,并显示每一部分的小计,好让我能手动核对其中一项。然后告诉我,期末要考多少才能达到 90%。

**先在幕后赢得你的信任。**在你信任整个成绩之前,先自己核对一个类别。去掉最低的两次作业(45 和 60),把剩下的取平均——92、88、90、85——也就是 88.75。如果代码的作业小计读作 88.75,那么它在你不易手算的那些类别上的算术就赢得了你的信任。(在你自己的数据上,挑那个在纸上最容易算的单个类别。这就是已知答案测试,只花一分钟。)

**捕获。**算回来的数字几乎从不是你脑子里那个数字。捕获是一个你原本没有、带着利害、还附带一个计划的真实数据:“我其实只有 79 分,不是我以为的 85 分,而我期末要考 88 分才能拿 A。”这句话也以动词收尾。它会改变你今晚学什么,而这正是跑它的全部意义。

**保留这个工具。**把它存成一个“我期末要考多少”脚本。每次有成绩公布就重新跑一遍,你就总能确切知道自己处在什么位置、期末到底要冲过多少。

**完成时间:**代码重现了你手算的那一个类别,并且它交给你一个你原本不知道的真实成绩,外加你下一步需要拿到的确切分数,具体到足以改变今晚的学习计划。

项目 345 min两本账对不上两份本该一致的记录:你点过的总数,和那份乱糟糟的电子记录。找出差额,点出人名。

还记得开篇那位记账员吗?她每个月都要花掉一个晚上,去找那少数几笔两份记录对不上的交易。你现在有她的问题,只是放在青少年的尺度上。你为一次班级旅行、一个社团、一份团体礼物收过钱。你点过收进来多少,所以你知道真实的总数,而这个点数就是你的已知答案,是没有 App 能给你的东西,因为没有 App 当时在场。

现在把它和那份乱糟糟的电子记录对账:JazzCash、Venmo 或 Easypaisa 里满是自由文本的备注,加上你那张谁欠钱的纸质清单。你的私有知识就是没有 App 拥有的规则:“备注里的 pizza 不是会费,那是朋友还我钱”;“Ali 的 1,000 把他和他弟弟都包了”;“一笔来自我不认得的号码的零散 500,大概是某人的会费,但是谁的?”那一整套规则只存在于你一个人的脑子里,这正是为什么这是一个只有一人的市场,而 Splitwise 不是。

没有自己的收款要结算?就在这一份上排练
Everyone owes 500 for the class trip. Eight people: Ali, Omar, Sara,
Bilal, Hina, Zoya, Ayesha, Usman. So the books should show 4,000.

Digital record (JazzCash), exactly as it came in, messy memos and all:
Date,From,Amount,Memo
2025-09-02,Ali,1000,trip me + my brother Omar
2025-09-02,Sara,500,trip dues
2025-09-03,Bilal,500,
2025-09-03,Hina,500,class trip
2025-09-05,0300-unknown,500,
2025-09-05,Usman,300,pizza
2025-09-06,Zoya,500,dues
2025-09-08,Ayesha,500,trip

What only I know (the rules):
- Ali's 1,000 covers Ali AND his brother Omar. Count it for both.
- Usman's 300 with "pizza" is NOT dues; he was paying me back. Ignore it.
- The 500 from "0300-unknown" has no name I recognize. Do not assume; flag it.

粘贴会费清单、电子记录和你的规则,然后是这份简报:

这是每个人该付多少、那份乱糟糟的付款记录,以及只有我知道的规则。编写并运行代码,并让我看到它跑过,把它们对账:谁付了、谁还欠着、有多少对不上。把任何你无法对应到某个人的付款列出来;不要猜。我点过的总数是 [你的数字];让我看看它和这个数对得上吗。

**先在幕后赢得你的信任。**你点出来的数字——八个人共欠 4,000——就是这里的已知答案,和概念 6 里那个手工结清的月份扮演同样的角色。如果代码算出的“预期”总数不是 4,000,那在你看捕获之前,简报里就有地方出错了。

**捕获。**在这份样本上,账面在纸上差了 500。套用你的规则,七个人是付清的(Ali 和 Omar 由那 1,000 覆盖,加上 Sara、Bilal、Hina、Zoya、Ayesha),Usman 唯一的付款是 pizza,所以他还欠着,另外还有一笔来自你不认得的号码、无法归位的 500。所以捕获是一个真实、可行动的对不上:要么那笔神秘的 500 是 Usman 用你不知道的某个名义付的,要么你确实还被欠着钱,而一条消息就能定夺。交付物就是你今晚能发进群聊的那句话:“除了 Usman 大家都对上了,还有一笔神秘的 500,所以我结账前先问问他。”这样的对不上,要么是你简报里的一个错误,要么是一个值得追的真实差异,而这正是记账员的看家本领。

**保留这个工具。**把它存成你的对账脚本。下一次旅行、下一份礼物、下一次收款:粘贴新的记录和新的会费清单,一个晚上的追查就变成了一句话的核查。

**完成时间:**代码和你点过的总数对上了,并且它交给你一个具体要去催的名字,或一笔具体要去归位的付款——那一个真实的对不上——用一句你今晚就能发进群聊的话。

项目 445 min相册大抢救你的相册里藏着吃掉真实空间的重复照片。找出它们,安全删除,再把剩下的按日期整理好。

另外三个项目读取你的数据。这一个改动它,而这正是它能教会其余项目教不了的安全习惯的原因。你的相册其实是两摊乱账叠在一起:一是满是重复(同一张照片存了两次、几乎一样的连拍、一张你到处复制的截图),二是侥幸留下来的照片根本没有任何顺序。在这里你要把两件事都解决:找出并安全删除重复,再把剩下的按日期排好。难点在于重复浪费掉的空间;安全这一课是删掉它们而绝不弄丢一张真照片;回报是一个终于井井有条的相册。

首先,找出重复,并注意 AI 从不“看”你的照片。分辨两张照片是一项算法,不是 AI 的活儿:代码把每张图片缩成一个微小的指纹,再比对指纹。你要求的正是这个:

编写并运行代码,找出这个文件夹里重复和近似重复的照片。用感知哈希给每张图片生成指纹,把匹配的归成一组,告诉我有多少重复、它们占了多少空间。先什么都别删。

捕获以一个数字的形式到来:_“47 张重复,分布在 18 组里,2.1 GB。”_单凭这个就值回这个项目了。

**然后是安全闸门,因为这一步会删除(概念 12)。**删掉的文件不进回收站,而指纹匹配可能出错,因为两次不同的日落看起来很像。所以你要让代码在动手之前先把它的计划亮出来:

对每一组,保留最大的那一份,并列出你打算删除的那些,带上名称和大小。现在什么都别改。先把原件复制到一个备份里,然后等我批准。

读那份清单。几乎总有一张“重复”其实是另一个时刻:把它留下,再批准其余的。那次审查,在删掉哪怕一个文件之前进行,就是整堂安全课,也是上面那些只读项目从没让你练过的一招。

**最后,把剩下的整理好,让这次清理真正留得住。**重复照片清掉之后,如果相册还是一千张按上传顺序排着的照片,那它也只整理了一半。再加一条指令就能把它收拾妥当:

现在把剩下的照片按日期排序,最新的排在前面,整理成一份我能一眼扫过去的副本。我的原件别动。

到最后,你手上是你自己的相册,去了重,也有了次序:没发布出去,没发送给谁,只是你的文件终于整齐了。

▶ 自己上手试试(实时)

这就是那段代码做的事,做成了可交互的样子。丢一堆照片进去(同一张试着放两次):它会给每一张生成指纹来抓出重复,让你在删除任何一张之前先审一遍,然后把剩下的按日期排序。没有 AI,什么都不上传,全在你的浏览器里完成。它在下方实时加载;你也可以在单独的标签页里打开它

**完成时间:**代码交给你一个真实的数字(找到的重复以及它们浪费的空间),你在批准之前至少抓住了一个错误匹配,并且原件的一份备份已经存在,所以删除是安全的,留下来的照片也已按日期排好序。保留这个脚本,你的相册就再也不会堆积起来。

🛟 如果你在项目中途卡住了

我们见过的每一次卡壳都落在下面其中一种里。找到你的症状,粘贴对应的修复。它们都不要求你弄懂哪里出了错;那是 AI 的活儿。

1. “它打不开或读不了我的导出数据。” 通常是文件的问题,不是 AI 的问题。粘贴:_“准确告诉我这个文件哪里有问题:它的格式、你能读到什么、读不到什么,以及我应该重新导出成什么或另存为什么。”_如果下载界面同时提供了 CSV 和 Excel,就试试另一个。十有八九,重新导出就解决了。

2. “它回答了,但我从没看到代码块。” 这是概念 4 里那个无声的估算。把那句话再坚定地说一遍:_“停。编写并运行代码来回答这个,把代码给我看,并先给我行数。”_没有代码块就意味着没有代码跑过,不管它的文字怎么说。

3. “数字和我点过的或我知道的对不上。” 不要说“它错了”。把它当成一个症状来报告(概念 7):_“你的总数是 X,但我点出来是 Y。把你处理的行数、日期范围,以及代码看到的前五行给我看。”_罪魁祸首(一行被跳过、一个逗号被当成文本、一份没导完的导出)几乎总会在那次检查里浮现。还要记住:在这些项目里,对不上也许就是那个捕获,而不是一个错误。

4. “同一个修复一直失败。” 三振意味着思路错了,不是打字错了。粘贴:“我们已经试了三次。忘掉现在的代码。重新陈述问题,提出两种完全不同的思路。”

5. “我的文件里有私人数据,上传它让我紧张。” 好直觉;照着它做。这些项目都涉及真实的金钱和真实的姓名,所以这一点很要紧。粘贴:_“在任何分析之前,做一份去掉姓名和账号的清理副本,只在那份副本上工作,并确认你去掉了什么。”_或者你先自己删掉那些列;总数很少需要它们。在上传任何敏感内容之前,先查清你所用工具的数据政策;如果你的数据确实不能外流(出于工作场所或学校的规定),就在样本上练习,只在一个经过批准的工具里施展这些招数。

6. “我在项目中途用完了免费额度。” 这里每个项目都装得进一个免费额度,但大量迭代可能会撞上每日上限。等额度重置(你保存的简报意味着恢复不花一分钱),或者把简报重新粘进另一个模型家族里继续干;技能两边都通用。

贯穿这六种情况的规律:**卡住时,把卡壳本身描述给 AI 听。**那个委托代码的同一个技能,会把项目救回来。

你现在会委托代码了。下一门课程教你主导这场合作:用通用 agent 解决问题 →


Flashcards Study Aid


测试你的理解力

十三个概念,一个身份:你是客户,而不是承包商。这三十二个场景将你带入其他人的电子表格、文件夹和损坏的运行中,并询问每个概念所涉及的一个问题。没有奖励记住定义;每个人都奖励知道实际该做什么。从推理中回答,而不是最长的选择。

Checking access...