5个月4亿营收! Claude Code负责人重磅访谈, 首次分享更多细节内幕
- 2025-08-18 03:03:10
- 950
Code凭借代理式编程实现快速增长,其从终端切入的设计、子代理功能、记忆系统等创新,重塑了编程交互方式,不仅赋能开发效率提升,还拓展至非编程领域,展现出AIagent的广泛潜力。
你有没有想过,编程这件事情可能彻底变了?我们正在见证一场从直接操作代码到与AIagent对话的根本性转变。这不是什么渐进式改良,而是一次彻底的范式革命。
最近,我看到了一期非常精彩的播客访谈。Firstmark的MattTurck采访了Anthropic的BorisCherny,也就是ClaudeCode的创造者。整个对话长达一个小时,深入探讨了ClaudeCode是如何从一个意外的内部原型变成改变整个编程行业的产品。当Boris去年年底在终端里随便摆弄一个原型时,他绝对想不到自己会无意中创造出一个如此成功的产品。ClaudeCode在短短5个月内就实现了年化4亿美元的营收,成为史上增长最快的产品之一。更重要的是,它正在重新定义程序员与代码之间的关系。
现在,Anthropic的大部分代码都是通过ClaudeCode编写的,几乎每个工程师都在日常使用它。听完这个访谈,我开始思考一个深刻的问题:当AI不再只是辅助编程,而是成为编程的主要执行者时,编程本身意味着什么?Boris在访谈中分享的那些细节和洞察,让我对这个问题有了全新的理解。
AI编程的本质转变:从文本操作到意图表达
BorisCherny在访谈中提到了一个让我印象深刻的观点:编程方式在过去50年里几乎没有变化。他说:”从Ed和Vim这些早期的1970年代工具开始,程序员的工作方式就是直接操作文本文档。你在一个叫IDE的特殊软件中加载代码,就像使用MicrosoftWord或GoogleDocs一样,然后手动编辑代码。这种方式已经持续了50年。”但现在,我们终于迎来了第一次真正的变革。
这种变革的核心不在于工具的表面功能,而在于交互方式的根本改变。传统编程要求程序员精确地告诉计算机”如何”完成任务,每一个步骤都需要明确指定。而agentic编程(代理式编程)则让程序员专注于表达”想要”什么结果,由AIagent来规划和执行具体步骤。正如Boris所描述的:”人类向模型描述他们想要的变化,然后模型完成所有编辑工作。”这种从”操作”到”表达”的转变,让编程变得更接近人类自然的思维方式。
我特别认同Boris对于这种转变历史意义的理解。他提到这就像从打孔卡到汇编语言,再从汇编语言到高级编程语言的演进一样,是编程发展的又一次重大跃迁。每一次跃迁都让程序员能够在更高的抽象层次上工作,从而释放出更多创造力。而agentic编程可能是迄今为止最大的一次跃迁,因为它不仅改变了我们编写代码的方式,更改变了我们思考问题的方式。
从ClaudeCode的实际应用来看,这种转变已经产生了显著效果。Boris提到,Anthropic的技术入职培训过去需要几周时间,但现在工程师通常在前几天就能变得高效。新员工不再需要打扰团队中的高级工程师或经理来获得问题答案,他们只需询问ClaudeCode就能得到所有这些问题的答案。这种效率提升不仅来自于工具的便利性,更来自于它降低了知识获取的门槛。当复杂的代码库可以通过自然语言进行探索和理解时,学习曲线变得平缓了许多。
为什么选择终端:简单背后的深层设计哲学
很多人可能会好奇,为什么ClaudeCode选择在终端(CLI)而不是图形界面(IDE)中运行?这个选择看似反直觉,实际上体现了深刻的产品设计哲学。Boris在访谈中透露,这个决定最初确实是”意外”的结果,但背后的逻辑却非常值得深思。
当时Boris和同事Sid在房间里头脑风暴,在白板上列出了几个选项:可以做CLI工具、IDE扩展或基于网页的产品。他们最终选择了CLI,因为”这是最简单的,而我处理产品的方式通常是先从简单的事情开始”。但这种”简单”的背后,实际上蕴含着更深层的设计哲学。
我认为ClaudeCode选择终端的真正原因,体现了一种”产品跟随模型”而非”模型适应产品”的设计理念。Boris明确表示:”我们专注于构建展示模型能力的最简单界面。这样当模型快速进步时,我们能够快速适应,你能以同样的方式体验下一个模型。”在大语言模型快速演进的时代,构建复杂的图形界面可能会成为束缚,因为你很难预测下一代模型会带来什么新能力。
终端的通用性也是一个重要优势。正如Boris所说:”它在任何地方都能工作。不管你用的是Mac还是Windows,不管你使用什么IDE,不管你的偏好是什么。程序员都很有个人偏好,有各种不同的设置和喜好,但这个工具与所有这些都兼容。”这种设计哲学让我想到了Unix的设计原则:做好一件事,并且做到极致。
更有趣的是,这种”简单”的设计反而释放了更多可能性。虽然ClaudeCode主要在终端中运行,但它也支持VSCode、Cursor、JetBrains等IDE扩展,甚至可以作为GitHubAction运行。你可以在GitHub上直接@claude并像与同事对话一样与它交流,它就能为你做出修改。这种灵活性证明了简单设计的力量:不是因为功能少,而是因为核心足够纯粹,可以适应各种不同的使用场景。
我特别欣赏Boris提到的一个细节:尽管ClaudeCode运行在看似简陋的终端中,但他们在用户体验上投入了大量精力。”我们可能在加载指示器——也就是Claude工作时的旋转器上花了30或40次迭代,只是为了让它感觉恰到好处,让你知道正在发生什么,但又不会给你太多信息,也不会抖动和移动。”这种对细节的执着,展现了他们对产品品质的坚持。甚至那些在Claude工作时显示的随机词汇(像”cooking”、”hurting”、”sleeping”、”honking”、”clotting”),都是精心设计的用户体验元素,让枯燥的等待过程变得有趣。
Agentic编程的核心:工具使用和多步骤推理
要理解ClaudeCode的革命性,就必须深入理解什么是agentic编程。Boris在访谈中给出了一个非常清晰的解释:传统的LLM交互是”你发送一条消息,它发送一条消息回来”,而agentic系统则是”你发送一条消息,它回复你,然后它可能会做更多事情”。这个”更多事情”就是工具使用(tooluse)的能力。
我觉得Boris举的那个红色按钮变蓝色的例子特别生动。当你告诉ClaudeCode“让我网站上的红色按钮变成蓝色”时,它会经历一个复杂的推理和执行过程:首先选择读取文件的工具,如果不知道文件在哪里,会使用文件搜索工具找到那个文件,然后打开并读取文件,接着编辑文件,保存文件,甚至可能打开浏览器检查按钮确实变成了蓝色。整个过程展现了AIagent将高级意图分解为具体步骤的能力。
这种能力的关键在于模型能够”串联工具并以新颖的方式组合它们”。这不是简单的自动化流程,而是智能化的问题解决。ClaudeCode可以做”几乎任何人在计算机上能做的事情”,包括读取文件、写入文件、运行系统命令、编辑内容,甚至联网搜索。当然,出于安全考虑,大部分操作都需要人类批准,但这种能力范围的广泛性为各种创新应用打开了大门。
最近推出的子代理(sub-agents)功能更是将这种能力推向了新高度。Boris提到这个功能源于一个Reddit帖子,有人分享了他们为ClaudeCode构建的子代理系统,包括产品经理子代理、工程师子代理和设计师子代理。这个想法激发了团队的兴趣,他们迅速将其官方化。子代理本质上是”其他的Claude”,但有不同的提示和工具集。你可以定义一个专门的QA工程师子代理,负责验证代码正确性和测试代码,给它配备浏览器、iOS模拟器、Android模拟器等工具。
我认为子代理的概念特别有趣,因为它体现了一个重要的设计选择:是应该将人类的职能角色映射到AIagent上,还是应该创造一种更适合AI的工作分配方式?Boris提到了两种可能性:一种是模仿传统工程团队的角色分工,另一种是让所有子代理都是通才,但承担不同的工作部分。这个问题的答案可能会随着模型能力的提升而变化。正如Boris所说,随着模型变得更强大,可能不再需要这种细分,因为单个模型就能处理更复杂的任务。
记忆系统:claude.md文件的巧妙设计
ClaudeCode的记忆系统设计让我印象深刻,它完美体现了”最简单就是最好”的设计原则。Boris介绍说,他们使用一种叫claude.md的特殊文件来记录记忆。这个文件的名字就叫claude.md,你可以把它放在代码库中或任何你想要的文件夹中,用来记录记忆。当你告诉Claude记住某件事时,比如”每当我编辑这个文件时,我总是希望你在浏览器中双重检查它”,Claude就会将这个信息记录在相应的claude.md文件中。
这种设计的巧妙之处在于它的简单性和共享性。这不是什么复杂的数据库或者专有格式,就是一个普通的文本文件。更重要的是,这个文件可以与团队共享。当你把claude.md文件提交到代码库中并与团队分享时,如果Claude在你使用时记住了什么,团队中的每个人都能从中受益。这创造了一种”集体记忆”的效果,每个团队成员都开始为这个知识库和记忆银行做贡献。
我特别欣赏这种设计的透明性。因为是文本文件,任何人都可以读取,也很容易编辑这些记忆,看到里面到底存储了什么。这种透明性不仅增加了信任感,也让团队能够主动管理和优化这些共享知识。想象一下,这就像是一个不断进化的团队知识库,每个人的经验和最佳实践都能自动积累和传承。
Boris也提到了自动记忆的挑战。他们尝试过让Claude自动记忆事情,但遇到了两个问题:一是它会记住不应该记住的事情(比如用户说”让按钮变蓝”,它可能记住”用户总是希望按钮是蓝色的”),二是它有时不会记住非常重要的事情。这种人工与自动记忆的平衡问题,实际上反映了更深层的AI系统设计挑战:如何在自动化和控制之间找到合适的平衡点。
我认为claude.md文件的设计哲学值得很多产品学习。在一个充满复杂技术的世界里,有时最简单的解决方案反而是最有效的。这种设计不需要特殊工具、特殊提示或任何复杂配置,就是一个文件,Claude自然而然地学会使用它。这种”自然性”让技术变得更加人性化和可接近。
安全性和人机协作的平衡艺术
在讨论AIagent的强大能力时,安全性始终是一个核心关切。ClaudeCode在这方面的设计思路值得深入分析。Boris明确表示:”默认行为总是有人在循环中。这非常重要,因为最终这是一个模型,它不可预测,你要确保它不会做任何危险的事情。”
ClaudeCode的安全机制采用了分层设计。对于已知不会产生危险后果的操作,比如读取文件,系统知道这本质上是安全的,就会直接让模型在你允许的文件夹中执行。但对于其他操作,如编辑文件、运行命令或使用互联网,总是需要人类参与并批准。这种设计既保证了安全性,又保持了工作流程的效率。
更有趣的是,系统还提供了个性化的安全配置。如果你发现自己总是批准对同一文件的编辑或总是批准同一命令,你可以配置一个设置文件,在团队范围内使用。你可以用这个文件创建允许列表或阻止列表,指定某些命令或某些文件,让模型在无需人类批准的情况下总是能够编辑,或者永远不能运行。这种灵活性让团队能够根据自己的工作习惯和安全要求定制AIagent的行为边界。
我认为这种设计哲学代表了AI系统安全性思考的一个重要方向:不是简单的禁止或允许,而是建立一个动态的、可配置的信任系统。随着用户对AIagent行为的了解加深,以及AIagent证明其可靠性,这个信任边界可以逐步扩展。这种渐进式的信任建立,比一刀切的安全策略更加实用和有效。
对于企业用户来说,ClaudeCode的安全设计还体现在数据隐私方面。Boris提到,在高度监管的行业中,ClaudeCode表现得相当不错,”因为它除了API本身之外不使用任何服务”。如果你的公司已经批准了AWSBedrock,你就可以直接使用Bedrock运行ClaudeCode。这种设计避免了复杂的数据治理问题,让企业更容易采用这种技术。
这种安全设计的另一个优势是透明性。所有的操作都是可见的,所有的批准都是明确的,用户始终了解AIagent在做什么。这种透明性不仅增加了信任感,也为问题排查和行为分析提供了基础。当出现问题时,用户可以清楚地回溯AIagent的操作历史,理解问题的根源。
超越编程:ClaudeCode的意外应用场景
最让我感到惊讶的是ClaudeCode在非编程领域的广泛应用。Boris在访谈中提到:”有趣的是,我们看到很多人将ClaudeCode用于非编程用例。例如,Anthropic的数据科学家都使用ClaudeCode来编写查询,设计师用它来构建小型原型,产品经理用它来管理任务。”这种现象让我重新思考了AIagent的本质和价值。
更令人惊讶的是,甚至有人将ClaudeCode用于完全与技术无关的用例。Boris提到有个叫AlexFinn的人在Twitter上分享了他使用ClaudeCode进行笔记记录、个人生活组织和业务指标管理的经验。这些用例的出现让我意识到,ClaudeCode的价值可能远超出了编程工具的范畴。
我认为这种现象的根本原因在于ClaudeCode提供了一种全新的人机交互模式。当你可以用自然语言描述你想要完成的任务,而AIagent能够理解并执行时,传统的软件类别边界就开始模糊了。终端不再只是程序员的专用工具,而是成为了一个通用的任务执行环境。
这也解释了为什么ClaudeCodeSDK被用于构建各种与编程完全无关的agentic应用。Boris提到:”人们使用ClaudeCodeSDK来构建agentic编程应用和平台,以及在其上的用户界面。但他们也将其用于各种完全无关的agentic用例。任何需要AI的地方,几年前你可能会使用API,现在我们发现一些用户转向agenticSDK,将其作为构建当今AI应用所需的工具。”
这种趋势让我思考AIagent可能代表着软件发展的一个新阶段。就像API曾经改变了软件的构建方式一样,agenticSDK可能正在开创一个新的软件构建范式。在这个新范式中,软件不再是预定义功能的集合,而是能够理解意图并动态执行任务的智能系统。
我特别感兴趣的是这种跨领域应用背后的心理机制。当人们发现一个工具如此强大和通用时,他们会自然地尝试将其应用到生活的各个方面。这种”工具扩散”现象在技术史上经常出现,通常预示着一项技术的真正突破。从某种意义上说,ClaudeCode的成功不仅在于它解决了编程问题,更在于它提供了一种新的思考和解决问题的方式。
AI编程大战中的生态思维
当谈到AI编程领域的竞争格局时,Boris的观点让我印象深刻。他认为这个市场足够大,能容纳所有参与者。”你可以将其视为整个编程市场。你可以将其视为所有创造力和创造事物的市场,因为这在某个时候会扩展到编程之外,扩展到设计和类似的事情。我认为有足够的空间容纳每个人。”
我认为Boris的这种生态思维特别值得关注。在许多技术领域,我们经常看到零和竞争的心态,但在AI编程这个快速发展的领域,合作可能比竞争更重要。Boris自己就是这种思维的实践者:”我个人使用很多这些产品,我每天使用ClaudeCode,但我也每天使用Cursor,也每天使用其他产品。所以这些都有空间,它们都以某种方式融入人们的工作流程。”
这种多工具并存的现象揭示了一个重要趋势:在AI时代,单一工具很难满足所有需求。不同的AI编程工具有不同的优势和特色,它们更可能是互补而非替代的关系。ClaudeCode在agentic工作流和终端操作方面表现卓越,Cursor在IDE集成方面有优势,其他工具也各有特色。
Boris提到的另一个重要观点是”为6个月后的模型能力构建产品,而不是为今天的模型”。这个建议对所有AI产品构建者都极其重要。他们在构建ClaudeCode时就遵循了这个原则:”我们开始构建ClaudeCode时还是Sonnet3.5,它还行,然后随着3.6和3.7,它还不错,挺好的,但当Sonnet4和Opus4出来时,它才真正发挥作用,我们感觉产品真的很好,我们开始能够将其用于大量编程。”
这种前瞻性思维需要对技术发展趋势的深刻理解。Boris建议产品构建者应该”使用所有这些产品,看看它们在哪里遇到困难,尝试感受模型本身”。要”远离所有脚手架和人们围绕它构建的所有产品,只是感受模型在尽可能原始形式下的能力”。只有深入理解模型的能力边界,才能设计出真正发挥其潜力的产品。
我特别认同Boris对于竞争对手构建自己模型这一趋势的看法。他认为平台上构建的创新会比内部构建的更多,”只是因为有太多东西要构建,没有足够的时间、人员和精力来构建所有这些东西”。这种平台思维体现了Anthropic对于生态建设的重视,也解释了为什么他们在构建ClaudeCode的同时,也在大力推广ModelContextProtocol(MCP)等开放标准。
编程职业的未来:赋能而非替代
关于AI对编程职业的影响,这可能是最敏感也最重要的话题。Boris的观点既现实又充满希望。他认为这种转变”就像60年代从打孔卡和汇编语言转向后来的汇编语言与Fortran、Cobol和第一批高级语言之间的转变一样。我认为这只是另一个下一个转变。”
我特别欣赏Boris对于这种转变赋能性质的强调。他说:”作为完成这项工作的人,让agent编写代码是非常令人兴奋的。作为工程师,这感觉非常赋能,因为我可以探索比以前更多的想法。我可以做得更快。我可以在我一无所知的领域工作。也许我不懂iOS,但我可以编写一个应用程序,因为我可以大致进行代码审查,我可以看到它看起来合理,但Claude实际上完成了所有的编写和所有的测试。”
这种观点让我想到了历史上每一次重大技术变革。当印刷术发明时,人们担心抄写员会失业;当计算机出现时,人们担心计算员会失业;当电子表格软件出现时,人们担心会计师会失业。但历史告诉我们,这些技术更多地是解放了人类去做更有价值的工作,而不是简单地替代人类。
Boris提到的一个细节特别有趣:团队中有个工程师Lena,她周末有时仍然手工编写C++,”因为作为程序员,这是我们享受的事情之一,因为有时你必须深入底层,你必须以这种方式来做”。这让我想到,即使在AI高度自动化的未来,仍然会有人选择手工编程,就像在数字摄影时代仍有人坚持胶片摄影一样。
对于年轻开发者,Boris的建议很实用:”对于今天学习编程的人来说,实际上比我学习编程时更困难,因为你不仅要知道编程——因为你仍然需要理解语言,仍然需要理解框架,仍然需要理解系统设计和所有这些东西——而且你还必须使用所有这些工具,你必须两者兼顾。”
我认为这种”双重技能”的要求实际上为新一代程序员创造了更大的机会。那些能够既理解传统编程又精通AI工具的人,将拥有比任何一代程序员都更强大的创造能力。他们不仅能够编写代码,还能指挥AIagent军队,实现以前不可能完成的项目规模和复杂度。
从更宏观的角度看,我相信AI编程工具会大大降低软件开发的门槛,让更多人能够参与到软件创造中来。这不会减少专业程序员的需求,反而可能增加对高级软件架构师、AIagent管理专家和跨领域问题解决者的需求。编程的未来不是人与机器的对立,而是人机协作的新纪元。
ClaudeCode的下一步:持续进化的产品哲学
当谈到ClaudeCode的未来发展时,Boris展现了一种持续实验和快速迭代的产品哲学。他提到了几个即将到来的重要更新:原生Windows支持、单文件分发(不再需要NodeJS)、以及将ClaudeCode集成到更多地方的努力。但最令人兴奋的是他对”更多agent”的展望:”期待更多的agent。能够启动agent,agent管理agent,以及更多这种自由度。”
这种agent管理agent的概念让我想到了软件架构中的微服务思想,但这是在AI层面的实现。想象一下,未来可能会有专门的agent负责项目管理,它能够根据项目需求动态创建和管理各种专业agent:前端agent、后端agent、测试agent、部署agent等等。这种分层的agent架构可能会成为复杂软件系统的标准组织方式。
我特别欣赏Boris对于产品发展不确定性的坦诚承认:”总的来说,我们真的不知道。我们仍在测试各种东西,我们有很多想法,我们不知道什么会成功,但我们很兴奋展示我们想出的东西,看看人们是否喜欢。”这种实验性心态在快速变化的AI领域尤其重要。
从产品策略角度看,ClaudeCode的发展路径体现了一种”最小可行产品”的思维。他们始终坚持构建最简单的接口来展示模型能力,而不是构建复杂的功能堆叠。这种策略在模型快速迭代的时代特别有效,因为它让产品能够快速适应新模型的能力,而不会被旧的设计假设所束缚。
我认为ClaudeCode的成功还有一个重要因素:它真正体现了”Dogfooding(Eatingyourowndogfood)”的产品理念。Boris多次强调,Anthropic内部几乎每个人都在日常使用ClaudeCode,大部分代码都是通过它编写的。这种内部深度使用不仅确保了产品质量,也让团队能够第一时间发现问题和改进机会。当产品团队本身就是重度用户时,产品的演进方向往往更加准确和实用。
另一个值得关注的趋势是ClaudeCode如何处理定价模式的演进。随着用户发现更多创新用法,比如运行”Claude军队”——5个、10个、20个Claude并行工作——传统的定价模式就需要调整。Boris提到:”有些人有这些Claude军队,一天24小时并行运行,只是在工作。这非常令人兴奋,但我们原有的定价结构真的不适合为这类用户提供服务。”这种定价模式的演进反映了产品从单用户工具向平台服务的转变。
我特别感兴趣的是Boris提到的容器化运行方式,这为更自主的AIagent部署提供了可能。”基本上,你需要为它设置一个容器,只是给它一些容器存在的环境,然后它可以在不需要批准的情况下以安全的方式运行。”这种部署模式可能会催生出全新的AIagent应用场景,比如持续的代码监控、自动化的测试执行、甚至是24/7的开发助手。
最让我印象深刻的是ClaudeCode团队对用户反馈的敏感度。子代理功能的诞生就来自一个Reddit帖子,那些随机显示的工作状态词汇也是在用户建议下不断丰富的。这种快速响应用户需求的能力,在产品早期发展阶段尤其重要。它不仅让用户感到被重视,也让产品能够快速找到真正有价值的功能方向。
重新思考软件开发的本质
ClaudeCode的成功让我开始重新思考软件开发的本质。传统上,我们认为编程是一种技能,需要学习特定的语法、理解复杂的概念、掌握各种工具。但ClaudeCode展示了另一种可能:编程可能更接近于一种交流艺术,关键是如何准确表达你的意图,然后指导AIagent实现这些意图。
这种转变的深层含义是巨大的。当编程从”如何做”转向”做什么”时,软件开发的门槛大大降低了。Boris提到的非技术用户跳过复杂界面直接使用终端的现象,就是这种转变的早期信号。当工具足够强大时,人们愿意学习新的交互方式来获得更大的能力。
我特别感兴趣的是ClaudeCode对团队协作方式的影响。传统的软件开发团队有明确的角色分工:前端开发、后端开发、QA工程师、DevOps工程师等等。但当AIagent能够胜任多种角色时,团队结构可能会变得更加扁平化。Boris提到的”团队会因此变得更加横向化”的观点,可能预示着软件开发组织结构的根本性变革。
从更宏观的角度看,ClaudeCode的成功可能标志着我们正在进入一个”intent-drivenprogramming”(意图驱动编程)的时代。在这个时代,程序员的核心技能不再是记忆语法和API,而是清晰地表达问题和需求、有效地与AIagent协作、以及对结果进行审查和优化。这种技能组合更接近于产品经理或系统架构师的技能,而不是传统的编码技能。
我也注意到ClaudeCode在代码库探索和学习方面的卓越表现。Boris说这方面的能力是”10分满分”,而代码编写只有”6分”。这个差异很有启发性:AI在理解和分析现有信息方面可能比创造新内容更擅长。这提示我们,AIagent的最大价值可能不是替代人类的创造性工作,而是大大提升人类获取和理解信息的能力。
当我思考ClaudeCode的claude.md记忆系统时,我意识到这可能代表了一种新的知识管理模式。传统的文档和知识库往往是静态的,需要人工维护和更新。但claude.md文件是活的,它随着团队的实际工作经验不断积累和进化。这种动态知识系统可能会成为未来团队协作的标准组件。
最后,我认为ClaudeCode的成功证明了一个重要观点:在AI时代,最成功的产品往往不是那些功能最复杂的,而是那些最能发挥AI核心能力的。ClaudeCode没有华丽的界面,没有复杂的功能堆叠,但它提供了一个直接、强大、灵活的AI交互方式。这种”少即是多”的设计哲学,可能会成为AI产品设计的重要原则。
展望未来,我相信ClaudeCode只是AIagent革命的开端。当更多领域的专业软件开始采用类似的agentic设计时,我们可能会看到整个软件行业的重新洗牌。那些能够最早理解并应用这种新范式的公司和个人,将在这场变革中获得巨大优势。而ClaudeCode的故事告诉我们,有时最大的突破来自最简单的开始,最重要的是保持对用户真实需求的敏感,以及对技术发展趋势的前瞻性思考。
- 上一篇:谢娜是乐华的第一个签约艺人
- 下一篇:沈月泰国红毯