程序员节后的清晨:一份实验目录该留下什么

发布时间:2026/10/25 18:53:56
程序员节后的清晨:一份实验目录该留下什么

节日过后的清晨,技术讨论通常会恢复成更普通的问题:昨天那次实验放在哪个目录?后来是不是换过输入?那张截图对应哪个配置?

我不想再用“潮水退去才见真章”给工程师排座次。比口号更实在的,是让陌生人打开一个目录时,能知道哪些文件一起构成了一次实验。这里的陌生人,也可能是两周后的自己。

目录不必复杂,身份要明确

输入、配置、输出之外,再放一份manifest,记录相对路径与摘要。摘要能发现内容变化,不能证明内容正确;它也不能替代版本控制、来源许可或实验说明。不要把密钥写入配置再一起归档,模型请求中的敏感数据应采用合适的脱敏或访问控制。

from pathlib import Path import hashlib import json import tempfile def manifest(folder): records = [] for path in sorted(folder.glob('*.json')): if path.name == 'manifest.json': continue records.append({'path': path.name, 'sha256': hashlib.sha256(path.read_bytes()).hexdigest()}) return records with tempfile.TemporaryDirectory() as tmp: root = Path(tmp) (root / 'input.json').write_text('{"question":"demo"}', encoding='utf-8') (root / 'config.json').write_text('{"seed":7}', encoding='utf-8') (root / 'output.json').write_text('{"status":"fixture"}', encoding='utf-8') first = manifest(root) (root / 'manifest.json').write_text(json.dumps(first), encoding='utf-8') assert manifest(root) == first (root / 'config.json').write_text('{"seed":8}', encoding='utf-8') second = manifest(root) changed = [b['path'] for a, b in zip(first, second) if a != b] assert changed == ['config.json'] print('stable manifest; changed file:', changed)

这段程序已经在本地临时目录运行,验证了manifest不把自身递归纳入,以及配置变化能够被识别。它没有执行模型实验,也没有给任何输出的科学正确性背书。图中的手只是整理文件的情境示意。

留下一段接班说明

Anthropic 2025年的长任务Agent工程文章讨论过用进度文件和版本记录衔接会话。它是既有实践背景,不是十月新发布的功能。对个人实验,我会把接班说明压到三个问题:做了什么、证据在哪里、还有什么没验证。

十月的新工具更容易让一次任务跨过多个模型和媒体阶段。例如Runway的更新分别列出镜头生成、配音与音效相关能力,最终成片并不只有一个“模型版本”。产品更新 因此,目录里还应记录每一步采用的工具与输入关系,而非只保存最后一个视频文件。

好的目录不会替人思考,但它让人不必先猜。清晨打开终端,能从一条明确的记录继续往前走,这种安静的连续性,比给昨天补一个传奇故事更值得保留。