VanaAPI

← 文章

读懂一段陌生函数时的提示词笔记

日常活儿ZH2026-10-28

遇到陌生代码时,直接问“解释一下”并没有错,但答案常常不是太简略,就是充满新术语。更有效的办法,是告诉模型:你目前懂什么、卡在哪里,以及希望按什么顺序理解。提示词不必复杂,只要把阅读任务说具体。

§ 先说明自己的起点

同一段函数,对刚学变量的人和已经会写循环的人,需要不同的解释。与其要求“通俗一点”,不如交代已有知识,并限制一次引入的新概念。

可用提示词:“我刚学会 JavaScript 的变量、数组和循环,还不熟悉回调函数。请解释下面的代码,先用两句话说明它解决什么问题,再解释必要的新概念。不要假设我了解项目背景。”

随后贴出相关代码即可。如果涉及公司项目,先移除密钥、个人资料和内部地址。

§ 先看用途,再看每一步

逐行解释容易让人知道每行做什么,却仍然不明白整段代码为什么存在。先建立整体印象,再拆解步骤,通常更容易跟上。

可用提示词:“先说明这段代码的输入、输出和主要用途,再按执行顺序解释。不要逐字翻译语法。遇到代码没有提供的信息,请标为未知,不要补写项目背景。”

例如,看到 const doubled = numbers.map(n => n * 2);,先理解“生成一个每项都翻倍的新数组”,再认识 map 和箭头函数,会比同时学习所有语法更清楚。

§ 给一个输入,让执行过程可见

抽象描述看懂了,不代表能够预测结果。让模型带着具体输入走一遍,可以检查你是否真的理解了数据变化。

可用提示词:“假设 numbers 是 [2, 5, 0],请按顺序说明每次处理的值和最终结果,并指出原数组是否改变。如果结果依赖运行环境或外部函数,请说明依赖。”

这段示例会得到 [4, 10, 0],原数组不会被这次运算修改。对于更复杂的代码,可以要求列出关键变量的变化,而不是展示每一个无关细节。

§ 把确定的行为与猜测分开

模型可能根据函数名猜测用途。名字是线索,不是证据;一段名为 saveUser 的代码,也未必真的把数据写进数据库。

可用提示词:“请区分代码明确展示的行为、根据命名推测的意图,以及需要其他文件才能确认的部分。每个关键结论都指出对应的表达式或语句。”

缺少上下文时,可以再问:“为了确认这些未知信息,我最少还需要提供哪些代码?”这通常比一次贴入整个项目更聚焦。

§ 用边界输入检查理解

理解正常路径后,再检查空数组、缺失参数或异常返回。不要只问“有没有问题”,而要指定想检查的条件。

可用提示词:“请分别说明空数组、包含字符串的数组,以及没有传入参数时会发生什么。区分实际行为和可能不符合需求的地方,先不要修改代码。”

解释与改写分开,可以避免模型一边讲原代码,一边悄悄换成另一种实现。涉及运行结果时,最好在安全的本地环境中验证;模型的解释不能代替测试。

§ 最后,让自己复述一次

读完后,试着用自己的话总结,再让模型指出偏差。

可用提示词:“我的理解是:这段代码会修改原数组,把每个数字翻倍。请只指出这句话中不准确的部分,并给一个最小例子。”

这种问法把任务从“继续讲解”变成“核对理解”,也更容易发现具体误区。

§ 把提示词留作阅读模板

在 Vana API 中,可以通过兼容 OpenAI 的接口调用 Claude Sonnet 5.5 等模型,把上述提示词保存为自己的阅读模板。通常先补充上下文、缩小问题范围,比反复要求“解释得更好”更有效。

如果想把这套方式接入自己的脚本,可以创建一个 Vana API 账户,从一小段代码和一个明确问题开始。它按实际使用的令牌计费,没有月费;每次只提交必要上下文,也有助于控制阅读负担和调用成本。