我在假期期间编写了一个开源的扑克河牌求解器。代码完全由Codex编写,我还制作了一个Claude Code的版本以进行比较。 总体而言,这些工具让我在我熟悉的领域中迭代得更快。但我也感到我无法完全信任它们。它们会犯错误并遇到bug,但往往不会承认,而是认为这没什么大不了的,偶尔还会试图让我觉得没问题。 在一次与Claude Code的调试会议中,我问它,作为 sanity check,当玩家在底池中有$100时,“总是弃牌”策略的期望值应该是多少。它告诉我,根据它的算法,EV是-$93。当我指出这有多奇怪时,希望它能意识到这是一个bug,它却安慰我说$93接近$100,所以可能没问题。(当我特别提示它考虑阻挡牌作为潜在问题时,它承认算法确实没有正确考虑这些。)Codex在这方面也没有好到哪里去,遇到了一系列(有趣地)不同的bug和算法错误,我不得不仔细处理。幸运的是,我能够解决这些问题,因为我对扑克求解器是专家,但我认为没有多少其他人能够通过使用AI编码工具成功制作这个求解器。 最令人沮丧的经历是制作GUI。在经过十几次反复沟通后,Codex和Claude Code都无法制作我请求的前端,尽管Claude Code的版本至少更美观。我在前端方面经验不足,所以我所要求的可能根本不可能,但如果是这样,我希望他们能告诉我这很困难或不可能,而不是反复制作破损的实现或我没有请求的东西。这让我意识到,与人类队友合作和与AI合作之间仍然存在很大差异。 在初步实现完成并调试后,我要求Codex和Claude Code创建优化的C++版本。在这方面,Codex表现得出乎意料的好。它的C++版本比Claude Code的快6倍(即使在多次提示进一步优化后)。Codex的优化仍然不如我能做的好,但我毕竟花了6年的时间攻读博士学位制作扑克机器人。总体而言,我认为Codex在这方面做得很出色。 我最后的请求是问AI是否能提出新算法,以更快地解决NLTH河牌。两者都没有成功,这并不令人惊讶。LLM正在迅速进步,但开发这种事情的新算法对于人类专家来说是一个需要数月的研究项目。LLM还没有达到那个水平。