📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

클로드 코드 전세계 사용량 1위의 활용 노하우 공개 l Sionic AI 엔지니어 울트라띵크 박진형(AI 팟캐스트 #73)

평범한 사업가47:55

Transcription

欢迎来到播客《普通人》,我们将探索人工智能改变人们生活的独特方式。我是主持人、YouTuber“普通创业者”。今天,我们邀请到了“赛奥尼克AI”的工程师朴镇亨先生,他创下了全球Claude Code使用量第一的记录。我们将围绕“Claude Code的终极利用”这一主题进行深入探讨。朴镇亨先生,非常感谢您的到来。能否请您简单地做个自我介绍?

大家好,我是赛奥尼克AI的朴镇亨。我们公司目前称之为“Ultrathink Engineering”。我最近主要从机器学习工程和后端工程的角度,致力于开发和部署AI代理,并努力与企业客户建立更紧密的联系。

您在赛奥尼克AI担任工程师,能否简单介绍一下贵公司?

我所在的“赛奥尼克AI”公司,主要是为企业提供服务。事实上,企业引入生成式AI并非易事,因为这需要拥有非常多样化的机器学习团队,或者DevOps团队,所以引入起来并不那么简单。因此,我们致力于构建中间平台,帮助企业更好地引入和利用AI。通过这些平台,我们帮助企业客户更轻松地引入AI。

企业客户最主要的需求集中在哪些方面?AI代理相关方面的需求是否最多?

是的,确实如此。尽管企业希望利用AI的用例多种多样,但从企业的角度来看,我认为需要同时考虑“向上”和“向下”两个方面。所谓“向上”,比如我们公司拥有20年、30年的公司文档,我们希望AI能够很好地学习这些文档,并在需要时准确地给出恰当的回答。这是企业希望引入AI的基本愿望。而从“代理化”的角度来看,则是希望能够将各种用例很好地整理成代码或函数,并能够按照既定的流程进行定义和执行。从这个角度,我们经常会听到“代理式AI”或“代理检索”的说法。

至于“向下”,企业担心引入AI后会不会出现不良回答,或者错误的回答,或者因为不希望的操作而产生问题。他们在这方面有很多顾虑。例如,回答中可能出现个人信息等。这可能是一个很小的问题,但对实际用户来说,可能是一个非常关键的问题。从这个角度来看,我认为企业最纠结的地方在于,需要在“向上”和“向下”两个方面都加以考虑。

去年,所有企业都拼命地投入到RAG(检索增强生成)的研发中,并付出了巨大的努力来构建内部系统。而今年,似乎有很多企业在尝试引入代理式AI。您刚才也提到了,能否简单解释一下这两者之间的区别,以及为什么会出现从RAG到代理式AI的这种转变趋势?

好的。我认为,市场对引入生成式AI的最大期望,在于希望用计算机或AI来替代人力资源。从这个角度来看,AI需要能够执行各种各样的用例和行为。如果AI只能执行某一项特定的行为,那么就很难满足这种期望。

举个例子,如果用户问“请告诉我我们公司今年的总销售额”,在过去的RAG模式下,这可能只是从数据库中检索信息。但是,如果用户问“考虑到今天的股市情况,目前的年销售额和ROAS是多少?”,这就不只是简单的搜索就能解决的了。AI需要填补这些空白,甚至需要更主动地进行计算,将用户抽象的请求转化为更具体的内容。从这个角度来看,我们希望AI能够承担更多样化的任务,并扩大AI的能力范围,这便是“代理式”这个词的由来。

因此,RAG本身更像是一个时髦的词语。RAG本质上是搜索,就像Naver搜索、Google搜索、Spotify搜索一样,我们也是在公司的内部规定中进行搜索。而代理则可以利用搜索这个工具,也可以不利用,甚至AI会判断如何使用搜索。从这个角度来看,AI能够做的事情大大增加了。您可以将RAG搜索看作是AI代理可以使用的工具之一。

这些概念一直在不断发展,而且变化速度非常快,这让使用者们也感到应接不暇。今天的讲解非常清晰,让我很容易理解。关于我们今天的主题,正如我之前介绍的,您拥有Claude Code使用量全球第一的头衔。当然,这个排名一直在变动,现在可能不是第一了。现在是第三名了。但您仍然位居前列,这得益于您一直以来的使用经验。

很多人可能不了解“使用量第一”这个概念,能否请您简单解释一下?另外,您在自我介绍时提到了“Ultrathink Engineering”,能否也谈谈这方面的内容?

好的。当我说到“使用量第一”时,很多人会产生误解。记录显示使用了5亿(韩元),大约是40万美元。当时最高的时候,很多人会问“那是不是支付了5亿韩元?”。并不是支付了5亿,我当然拥有多个最大套餐,并且在同时使用。这指的是在一个月内使用最多的Token数量。

Token使用量,指的是,如果我没有订阅套餐,而是按照实际使用量付费,而不是使用无限套餐,那么我可能需要支付相当于5亿韩元的使用费。如果将其换算成Token数量,大约是12亿Token,或者15亿Token。这意味着使用了15亿Token。

这15亿Token的使用量,可以包含很多方面。通常我们考虑Token时,有输入(Input),即我们实际传递给AI的上下文;有输出(Output),即AI模型思考、推理、思考过程中的内部Token;以及最终输出的结果Token。这三者加起来就是Token数量。因此,可以理解为,在AI的输入、输出以及内部思考过程中,总共消耗了大约15亿Token。

这个Token使用量非常惊人。我本人也大量使用Claude Code,我发现要用好它,关键在于使用量。使用越多,体验就越好。我发现,使用得越多的人,就越能找到如何更好地使用它的方法。所以,今天我们想分享的核心内容是,您在使用15亿Token的过程中领悟到的独家秘诀。通过这些,我们将探讨未来个人或企业如何利用Claude Code或编码代理工具,不仅提高生产力,还能节省成本。

那么,我们是否可以开始共享屏幕了?我将使用上次Claude Meetup时使用的幻灯片,并在此基础上进行补充说明。标题是“Ultrathink工程师的Claude Code使用技巧”。这是我的一些想法。很多人会问关于使用量的问题,但正如我所说,关键在于如何更好地使用它。我将从这个角度进行阐述。

我的想法是这样的:去年我们订阅AI模型,可能每月花费20美元、30美元。而现在,到2025年10月,我们谈论的是每月200美元、300美元。最近,Sam Altman也提到,将推出一个只能由Pro Plan订阅者购买的附加套餐。从这个角度来看,我认为AI模型带来的生产力与现有的订阅套餐之间存在不匹配。

因为,举个例子,现在一个初级前端开发者的工作,AI模型已经可以完全胜任了。而我们给人类支付的月薪是300万韩元,目前的最低时薪是210万韩元。那么,至少可以支付210万韩元。实际上,如果我们看OpenAI的报道,他们提到将为博士级研究员的模型设定3万美元的费用。所以,我一方面认为,“现在是AI模型最便宜的时候”。但另一方面,我没有提到的是,随着价格越来越高,我个人也无法一直支付5亿韩元。因此,我认为需要区分哪些是昂贵的,哪些是便宜的。

从这个角度来看,我可以谈谈我主要用AI构建了哪些东西。首先是“muvera-py”。这是什么呢?最近,Google DeepMind发布了一篇关于搜索的论文,其中提到了一种比现有搜索方式好大约50倍的方法,但之前一直未能很好地使用它,因为有Cobalt。而Muvera的作用是,将这种好50倍但成本也高50倍的搜索技术,成本只提高约1.5倍。这是一种算法。这篇论文的实现是用非常困难的C++语言编写的,但人们通常使用Python。我思考,能否将这种用C++编写的、非常困难的实现,改写成人们常用的Python呢?于是我进行了一些实现。这个实现使用了Claude Opus 4和Gemini DeepMind 2。当时GPT-5 Pro还没有发布,所以这是一项艰巨的编码工作,因为需要阅读论文并理解。

那么,工作流程就是这样的。首先,需要理解论文。理解论文才能让我作为“人机协作”的一部分,能够判断它是否正在正确实现。否则,我无法提供有效的指导。所以,我需要先理解这篇论文。要理解论文,最好的方法是使用最好的模型。与GPT-5 Pro或Gemini DeepMind等优秀模型一起理解这篇论文,进行共同研读。当我充分理解后,AI模型也应该理解了。然后,就需要讨论如何实现。我将其制作成一个名为“Tech Spec”的Markdown文件。这个Tech Spec会包含诸如“这篇论文是这样的,要实现它需要满足哪些要求,例如有5个要求”等内容。就像PM(产品经理)一样,最好的模型会列出这些要求。然后,像Claude Code或Codex这样的编码CLI工具,会制定具体的计划,并获得最好的AI的批准。是否可以这样做?需要不断地进行这种迭代。

我实际制作的实现体,就是最终的答案。我利用Gemini Pro和Tech Spec,并借助Claude Code完成了实现。当时,这个项目在Reddit等地方非常火爆。因为这是Google DeepMind的论文,我却在它发布后两天内就完成了实现。我喜欢去桑拿房。最近我经常去首尔的某个桑拿房,那里也有咖啡馆。桑拿后,我会在咖啡馆喝冰美式,吃面包,然后编码。那时我不是在做公司的工作,而是在周末做一些有创造性的事情。然后,通过周五、周六、周日的三天时间,我总能完成一个作品。然后,我可以利用这个作品做新的事情,或者变得有名。

当时,Muvera-py的项目,我是在凌晨开始工作的,一直到周六下午才完成。从周五凌晨开始。所以,它非常有名,因为它是DeepMind的论文,引起了大家的广泛关注。而且,C++的实现版本很难直接应用到我的代码中,而Python的实现版本则可以立即使用。当时,我收到的最典型的联系人是现在担任Perplexity搜索主管的Wang Bo先生。他之前在Jina AI担任嵌入式RAG领域的负责人,最近跳槽了。碰巧今天Jina被著名的搜索引擎Elasticsearch收购的消息也传出来了。总之,Wang Bo先生来到Perplexity,并向我发出了邀请,问我是否愿意一起合作。此外,它在Twitter上也病毒式传播,收到了很多联系。

我确实收到了很多这样的联系。例如,通过开源的方式公开后,我与xAI的Andrew Zheng(Grok的后期训练团队成员)进行了交流,也与微软的AI GBB团队取得了联系。当我将这些内容发布到Reddit时,他们也会联系我。所以,最近一段时间,我收到了大量的联系。这让我感觉自己像一个了不起的天才工程师。与MIT毕业的人联系,收到各种各样的联系,感觉似乎可以去任何地方。

但是,需要放下自我。因为,如果没有Gemini 2.5 Pro,我可能无法做出这样的成果。所以,总是感觉是AI走在前面,我则在后面学习。然后,我毕竟是人,AI可能看不到某些东西。这时,我可以在中间说“这不对吧?”。这个过程中的每一个环节,都对产出有很大的帮助。

更具体地说,我认为人们对Claude Code非常感兴趣,因为它非常有名,所以对这种编码CLI工具的关注度非常高。正如我在这里写的那样,人们通常的想法是,向Claude Code或类似的编码CLI代理提出“请帮我做成这样”这样非常抽象的要求,然后它就能完成。但实际上并非如此。

因为,如果我们仔细想想,让一个刚毕业的初级工程师,声称有开发经验,在大学里做过团队项目,然后让他直接做一个类似KakaoTalk的东西,他肯定做不出来。他需要思考,KakaoTalk是一个最终目标,而我当下想要什么,未来要做什么,这些都需要提供非常多的背景信息。而且,他毕竟是初级开发者,如果让他做KakaoTalk,他肯定会逃跑。当然,AI不会逃跑,它会装作完成了,但实际上可能无法运行。

从这个角度来看,我可能尝试过使用编码CLI工具,但它没有正常运行。这似乎就是这种情况。另一方面,也有人说,已经有正在运行的代码,但让编码CLI工具来处理却效果不佳。这很正常,因为让一个初级工程师阅读KakaoTalk的源代码,他会非常困难。实现它本身也很困难。

因此,从这个角度来看,我们应该像与人一起工作一样,与这个编码CLI工具,也就是AI编码代理一起工作。因为,如果我们回顾一下过去IT行业的工作方式,我们曾经有过很多瀑布式的工作方式。例如,需求明确,然后实现这些需求。在敏捷开发方面,我们会快速地让需求失败,然后由人或外部QA进行反馈,判断是否做得好。这种观点在与AI代理一起工作时也是必要的。反馈的提供者可以是其他AI代理,也可以是人,或者是领域专家。有很多不同的领域。从这个角度来看,我们不是简单地向编码工具祈祷,而是需要非常有策略地进行。

从这个角度,我将进一步介绍的是,我们必须写好文档。这是一个非常经典,甚至有些老套的说法,但文档的编写至关重要。反过来说,如果文档写得好,那么无论是什么AI模型,都能很好地实现。我将文档分为两类:一是技术规范(Tech Spec),二是计划(Plan)。我特别想强调技术规范的重要性。

首先,请先编写技术规范。技术规范是指,我们将要实现什么,不实现什么,那么通过这次实现,我们想要达到的目的是什么,不想要达到的目的是什么。这需要明确。换句话说,更像是“你自己要知道你想做什么”。

例如,如果我们考虑制作KakaoTalk,它可以是即时通讯,可以是群聊,可以是短信,也可以是开放聊天室。如果我们假设从零开始,那么我们应该深入了解KakaoTalk。KakaoTalk本质上是即时通讯,即时通讯意味着有接收者和发送者。那么,我们最基本的就是创建接收者,创建发送者。发送者向接收者发送消息。大概是这个过程。

那么,我们可以制定三个需求。1. 可以注册收发双方。2. 接收者可以添加发送者为好友。3. 发送者可以向接收者发送消息。4. 接收者可以读取发送者的消息。这样就有了四个需求。那么,我们就可以制定出比“请帮我做一个KakaoTalk”更明确的规范。那么,我们这次要实现的就是这四个需求。而这次不实现的,比如开放聊天室,因为太大了,或者群聊,以后再说。或者已读功能,以后再说。

这样,我们就需要非常清楚地用文档说明,我们现在要做什么,我们的目标是什么。否则,对于每个AI模型来说,“请帮我做一个KakaoTalk”的理解可能会非常不同。甚至,即使是同一个AI模型,当我创建一个新的会话时,它所想的也可能完全不同。因为AI模型只是根据那一刻的上下文来输出结果,而要让AI模型真正地学习,需要大量的GPU资源,这并不是我们每天都能做到的。从这个角度来看,我们需要不断地通过文档记录,就像交接文件一样,以便新的人进来后能够继续工作。

您刚才提到的似乎是“需求驱动开发”(SDD)的方式,以及最近在企业中引起关注的“Spec Sheets”,这是GitHub开发的,您认为它非常重要。而且,随着“Prompt Coding”的兴起,人们不再只是简单地说“给我做这个”,而是在开始工作之前,总是按照工作指令单的方式进行,这种方式在开发者和非开发者之间都非常受欢迎,您认为这非常重要。

是的。我认为人们的顾虑非常相似。不是简单地祈祷,而是要明确自己想做什么。但这是非常自然的事情。对人来说是自然的事情,所以这没什么特别的。只是要写好文档,做好版本管理,妥善保存,并保持文档和代码之间的同步。这是一个非常重要的问题。事实上,这说起来容易,但做起来非常困难。

是的,非常困难。我也觉得这部分很困难。所以,这非常困难。因此,从一开始就需要写好规范。反过来说,即使从一开始就写好了规范,也不意味着就万事大吉了。因为情况可能会随时变化,所以快速迭代,快速失败才是正确的。

这个技术规范,是指要实现的具体事项。这些实现事项越具体越好。这是非常自然的事情。我所说的“具体”,是指深入到代码层面。因此,需要与最好的模型进行交流。与最昂贵的模型进行交流。这时,即使花费100万韩元或1000万韩元的Token,也需要大量使用。而且,不仅仅是让一个模型来做,而是要与同级别的其他模型,如Gemini Pro、DeepMind等模型进行讨论。

事实上,有Gemini、GPT等各种AI模型。这些模型在某种程度上可以说是具有不同的本质。例如,Gemini可能更具包容性,而GPT可能更具批判性。究其原因,可能是因为AI模型在训练时是如何进行的,以及以何种倾向来打磨AI模型。而且,AI模型拥有的数据集分布也不同。例如,Claude在最新的Python方面更擅长,而过去的GPT在Python方面则表现出约3到5年前的编码模式。因此,AI模型所拥有的知识和行为可能存在差异。所以,我认为只有当多个模型都给出“OK”的信号时,我才能继续进行下一步。

正如您所说,您通过多个模型来验证一项任务。那么,您通常是如何进行的呢?自从Claude Code出现以来,出现了并行处理、调用各种MCP(多模型组合处理)等方式,您通常是如何进行的呢?

我认为可以考虑以下几点。我在这里举了一个例子。我认为,这个技术规范,即使是人也能清楚地理解。因此,可以通过终端或VS Code进行交流。我个人更喜欢使用ChatGPT.com。因为,我需要自己阅读文档,才能介入并提出意见。

当一个TF(特设工作组)成立时,例如公司成立了一个TF,进行了几次初步会议,这时,即使不是一线员工,上级也会参与讨论。这与此非常相似。

我当时做的事情是,例如,我将要在这个名为“Text Embedding Inferencer”的Hugging Face代码中添加一个新模型。Hugging Face非常有名。这个代码的作用是,在我们使用RAG或搜索时,会涉及到Embedding、或者Reranker等。在实际使用中,部署最好的服务模型(Embedding和Reranking模型)并将其作为服务器使用,是其中一个非常关键的环节。它是其中一个封装器。

在这个项目中,实际贡献者只有大约50人,其中每个人都非常有名。Jina、Perplexity等公司的人员很多。我最近的个人爱好是为这个仓库添加新的模型。因为,在这个仓库中,我不仅可以从技术上理解模型是如何实现的,而且如果我能快速地加入新模型,我也可以获得声名。而且,这具有一举两得的特点,所以我一直在努力实现它。

最近,Jina AI,一家非常著名的公司,发布了一个名为“Reranker”的模型。这个模型非常好,众所周知。那么,例如,在我这次假期期间,我做了什么呢?我将Jina Reranker V3,也就是在RAG中使用的这个新模型,添加到Hugging Face的支持中。我该怎么做呢?这对非开发者来说很难,对开发者来说也很难。因为,要为Hugging Face的这个仓库做出贡献,首先需要了解Rust语言,然后需要了解机器学习知识。而且,这是一个已经运行的、被很多人使用、被世界各地广泛使用的仓库,所以需要理解它的实现和系统结构才能做出贡献。

那么,如果我想为已经存在的代码贡献一个陌生的模型,用一种困难的语言,我该怎么办呢?这对我也来说是一个非常具有挑战性的任务,因为我的经验并不长,而且我也不擅长这个仓库。那么,要实现这一点,我首先可以尝试的是,这个模型是什么,我不知道。当这个模型出来时,通常会有论文。论文是对这个模型如何构成的非常详细的解释。

那么,我将这个解释直接输入到GPT中。这是GPT-5 Pro。输入到GPT中,它会告诉我一些东西。我一边阅读一边学习。然后,我也会让它解释,并进行讨论。然后,我可以尝试问这样的问题。

我把这个写下来,这是我问出来的,我一直在学习。然后,我让它解释,也进行讨论。然后,我可以尝试问这样的问题。我写道:“在这个公司,Hugging Face有这个,我想为Hugging Face贡献代码,该怎么办?”然后,它会让我编写技术规范,并基本上勾勒出大致的轮廓。有目标,有非目标,需要做什么,有哪些需求,需求1、2、3、4、5等等。然后,我要求它用Markdown文件详细地写出来。

好的,然后它会很详细地写出来。但基本上,GPT所知道的知识,以及它作为代理,会搜索这个公司,查看代码文件,进行分析,并得出自己的结论。但是,它得出的结论可能与Gemini得出的结论不同。那么,我就会让Gemini,它也理解得非常透彻,而且内容也非常多。然后,我将这里的内容复制到这里,并问同样的问题。也就是说,我将GPT作为锚点,将其作为主要工作者,将DeepMind作为反馈者,将结果交给它,它给出意见,然后它再次提问。然后,它会给出意见。然后,这两个意见肯定会发生冲突。Gemini的思考方式,DeepMind的思考方式,这两种思考方式会发生冲突。所以,不能就这样直接使用。

然后,它们会有不同的想法。那么,就需要协调这两个想法。例如,协调这两个想法的一个主要方法是,使用Zen MCP。例如,在MCP中,可以让两个模型进行辩论,然后强迫它们和解,最多可以设置30次辩论。这是一种叫做“Challenge”的MCP,在用于编码CLI的MCP中,可以让这两个模型进行辩论,然后选择胜者。我个人在编写技术规范时,是自己做的。因为我需要阅读并理解,然后我才能做出判断。

所以,我这样做。例如,我根据收到的反馈进行了修改。这里省略了一些内容,但我在这里写下的这些内容。当这两个模型达成一定程度的共识后,我就会将其交给Claude Code,或者类似的编码CLI代理,询问它们是否认为这个技术规范是正确的。这样做是因为,基于ChatGPT的这些模型虽然可以进行各种函数调用,但编码CLI代理才是最了解我当前代码的。

所以,例如,我将看一下我之前做的代码。可以看到有很多内容。这是因为会话中断了,所以我一直延续并创建了分支。就这样做。例如,我将GPT-5 Pro编写的初稿技术规范交给它,然后问它。它会阅读并判断,它所关注的文件与你现在能够更好地阅读文件的差距有多大。而且,不仅仅是让它这样做,我还让Codex也这样做。它可能无法查看过去的内容。是的,Codex没有这个功能。但是,我让Codex也做了这个任务,也让Gemini做了。然后,我会将这些结果再次输入到GPT-5 Pro和Gemini DeepMind中。问它们怎么看。

最终,这里必须有一个标准。我将以GPT-5 Pro的结果为基准。而Gemini DeepMind则作为辅助,用于反馈和审查。这样,才能最终统一。那么,这些意见,Gemini DeepMind的意见,我将它们全部收集起来,然后交给Claude GPT-5 Pro。然后,在这两者之间,也就是五个人之间。如果五个人都给出“OK”的信号,那么就会不断地重复这个意见的交换。当然,我也会在里面,所以是六个人。这感觉就像是,为了实现这个实现体,有一个技术规范协商委员会,并且会一直重复,直到六个人都同意。

如果某个朋友说了奇怪的话,我就会介入,说“你这样想是错的”,然后阻止它。或者,某个Gemini朋友会直接给这个朋友提供反馈。必须进行这样的过程。在这个过程中,协调者可以是MCP朋友。但是,由于技术规范非常重要,所以我自己来做。所以,我在这里这样说。非常长,非常长。

那么,当LLM模型之间进行讨论时,您是如何进行的呢?

在工作的过程中,无论如何都需要等待,我很好奇您是如何利用这段等待时间的。我认为会有两种情况:第一种是,事实上,我需要提高自己的理解能力,所以当我去的时候,看文件的时间就已经过去了。然后,如果这是一个非常艰巨,也就是技术难度非常高的工作,那么我在工作的时候实际上无法做其他事情,我必须理解我的同事们是否说得对,才能给出反馈,所以我倾向于学习。但如果不是这样,只是添加一个简单的功能,那么我可以委托给我的同事,而我可以在这段时间里做其他事情。这样,如果难度较低,我可以同时进行三到四个任务,如果难度较高,我倾向于只专注于一个任务。这似乎是一种需要高度专注才能理解的难度水平,对吧?所以,人们常常误解的是,他们认为只要把事情交给别人,自己什么都不做,一切都会完成,但实际上并非如此。事实上,为了最大限度地发挥同事的能力,我必须自己努力。因此,即使我使用了大量的代币,我也不是在闲着。所以,这确实是人们常常误解的一个方面。您把这一点说得很清楚。因为人们可能会认为,他们只是用了大量的代币,然后到处提问,再把问题转给别人,但实际上并非如此。相反,您在提炼给出的答案,然后人类介入并进行调整,扮演着管理者的角色。是的,我就是这样做的。最终的技术规格就是这个。看到这个,有很多不同的说法,有目标和非目标,有当前状态,然后模型是这样的,在架构和技术上是这样的。然后,实际上,有需求,以及如何根据这些需求进行工作的说明。例如,我正在考虑的是,我正在处理需求 6 的子任务 3,即实现检测逻辑。这时需要这样的代码。我把它做得像一个可以直接复制使用的草图。那么,也有这样的情况,比如 Gemini 的输出通常不长,但 Claude 的输出非常长。那么,我认为 Claude 在非常关键的任务上表现不佳,但它非常擅长写作。那么,关键点可以由 Gemini Pro 来把握,而像 Claude 这样可以写得更长的,就可以让它来做,因为 Claude 在写长内容方面有优势。Gemini 则感觉是快速地进出。因此,充分利用这些模型的特点也非常重要。然后,就是这样编写技术规格。这样写之后,我只要拿着这份文件,任何人都可以开始这项工作。就像我一开始说的那样,不是简单地说“请实现这个”,而是说“有了这个,我应该能做到”。我也会有这样的心态,AI 模型也会有。接下来需要做的是制定非常详细的待办事项计划。事实上,仅仅有技术规格是不够的。因为技术规格更像是关于应该做什么的陈述,而与我今天坐下来具体要做什么无关。所以,我总是把 AI 模型想象成一个非常初级的工程师,它什么都不知道,所以需要耐心地教导它。因此,如果只给技术规格,它可能会说“我明白了要做什么,但不知所措”。所以,需要告诉它“你就坐在这里,做这项工作”。在制定待办事项时,您是否也像之前那样,通过向多个模型提问和讨论来制定技术规格?是的,我倾向于这样做。但对于技术规格,我认为人类会介入很多。而对于计划,一旦技术规格扎实,就可以从这里开始自动化。是的,这个计划的目的是什么呢?编码 CLI 代理有这样的功能,它能够非常准确地捕捉代码,并且能够更多地看到上下文和语境。因此,从这里开始,我不太使用 ChatGPT.com 等,而是非常重视编码 CLI 代理之间的讨论。因为技术规格已经明确了要做什么,以及需要修改哪些文件,所以具体的细节就像是实际从业者在开会一样。因此,这里有一些系统进程。首先,我们来看看 PLAN.md。在查看 PLAN.md 时,有大约三个或四个版本。这里要做的是,这最终是实现指南。而我在这里做的是,这与刚才不同。刚才讨论的是要做什么的技术性问题,而这里是具体说明这次要做什么。所以,您会看到,这个模型主要使用了 Claude Code Sonnet 4.5,并且使用了像 Gemini CLI 这样的模型来提供中间反馈。例如,当 Claude Code Sonnet 4.5 工作时,这时会有其他编码代理在中间不断提供反馈,使用 MCP。例如,我看到现在有八到九个里程碑。 뽑는 게 잘 뽑아져 있는가。您是否同意这个里程碑?您是否尝试执行与 Claude Code CLI 相同的操作,并检查 Claude Code CLI 生成的这些里程碑是否正确,顺序是否正确,是否是正确的点?请不断提供反馈,如果认为不对,请明确说明原因并重新执行。直到两者都同意为止,就这样反复进行。这需要大约三个小时。我花了大约两天时间来完成技术规格,而这个花了三个多小时。我花了大约四天时间来完成这项工作。那么,这里有一个 PLAN.md。您可以这样理解这个里程碑:里程碑 1、2、3 是我打开会话,运行 Claude Code,实现这些里程碑,然后关闭。它应该是这个大小。当然,一个里程碑可能非常大,那么就有子任务。这些子任务也可以一个一个地分解。最终的判断是由编码 CLI 代理来完成的,由您来调整。Claude Code Sonnet 4.5 是一个知道何时会丢失上下文的模型,所以它在设定里程碑方面有点帮助。那么,我的期望是这样的:一旦有了 PLAN.md,例如,我只需要完成这个“带投影仪验证的检测逻辑”这项工作,然后我就可以关闭会话,提交代码。如果一切都完成了,那么人类就会介入,如果我能提供反馈,我就会提供反馈,或者如果我能创建自动化测试,那么这个朋友就会全部创建好,然后我就会运行它,然后一旦完成,我就会确认。是继续还是不继续。所以,PLAN.md 需要不断更新。如果我完成了里程碑 1-1,就打上 V 标记,然后提交。这样就完成了。在做这类工作时,Claude.md 的作用非常重要。Claude.md 是一个系统提示,它非常强烈地指导着当前的编码 CLI 代理应该如何工作。例如,有这样的情况:在开始工作之前,必须阅读技术规格。必须非常仔细地阅读。这一个可能超过 30,000 个代币。对吧?然后,基于这个技术规格,您必须全力以赴地实现 PLAN。如果不知道,就必须询问技术规格。那么,有了技术规格和 PLAN,无论给出什么模型,都可以实现。是的,当然,如果模型太差,就无法实现。例如,就是这样:当我说是“go”的时候,就是根据 plan.md,实现最后一个未实现的任务。并且先编写测试。因为有测试,我才能定量评估,才能知道自己是否失败或通过。然后,只编写实现这个测试所需的最小代码。因为如果交给 AI 模型,它可能会突然展开,进行大量修改,这样人类也很难提供反馈。因此,只进行微小的修改,只进行最小的修改。如果这还不够,也可以这样做:只编写 100 行以内。这样设置提示,就可以强制执行基于规则,如果超过 100 行,就可以关闭会话。有各种各样的策略。所以,在细化时,就是这样做的。首先,运行测试。然后,将这个交给编译器,运行测试,然后实现。重复这个过程,直到 1、2、3 都满足。您将重复这个过程,仅限于里程碑 1 的“带投影仪验证的检测逻辑”。在这个过程中,使用 MCP 等来获取其他代码的反馈也是一个很好的方法。然后,就是不断重复这个 PLAN。不断重复,实现,然后实现,然后实现,不断向上。Claude Code 本身也有一个 PLAN 模式,对吧?这与那个完全不同。是的,完全不同。事实上,PLAN 模式是关于我自己的。您可以这样想:techspec.md 是来自管理层的指令,PLAN.md 是上级给我的今天的任务,而 Claude Code 的 PLAN.md 是我自己的思考。我应该先读这个吗?我应该先写这个,然后运行它吗?等等。这是我内心的想法。我认为可以降到这个程度。然后,就是不断重复这个过程。并且需要不断更新这个 PLAN。例如,一旦完成,就使用非常原始的方法,打上 V 标记,然后关闭。然后打开一个新的会话,处理下一个未标记 V 的任务。然后下一个会来阅读,所以为他写一个笔记,在 plan.md 上。然后,他会这样写:因为这是需要修复并继续的,所以告诉他。为什么这很重要?因为有这样的原因。然后,在下一个会话中,他会处理这个任务并继续。您通常是直接修改 MD 文件,还是让它在工作完成后自己提出改进建议?我让它自己提出建议。但是,版本管理也很重要,所以需要提交包括 plan.md 在内的文件。所以,一个提交包含一个里程碑,或者一个子任务。这样,我就可以回溯,也可以前进。所以,这与 Git 的提交功能也非常紧密地结合使用。一个提交只创建一个功能,这在软件工程中经常被提及,我认为这也是在使用 plan.md 等时适用的原则。那么,我们今天准备的内容大概完成了 20% 吗?是的,似乎是这样。我们今天也无法全部谈完,内容量很大,对吧?我们还有第二部分。我们深入探讨了一些内容,也谈论了一些非常有趣的事情。所以,我们将把剩下的 Claude Code 和编码代理的内容分成两部分,下次再继续进行。下次再继续进行,这样会更好。好的。