乐于分享
好东西不私藏

Granola联创:AI时代的笔记软件应该这样

Granola联创:AI时代的笔记软件应该这样

引言

在各大科技巨头纷纷将 AI 塞进每一款办公软件的今天,一款诞生于伦敦的 AI 笔记应用 Granola 却在硅谷创投圈杀出重围。它没有标榜自己能“完全替代人工记录”,而是选择安静地坐在屏幕一角,聆听你的会议,并在你需要时补全关键信息。近期,在 South Park Commons 的一场深度访谈中,Granola 联合创始人兼设计师 Sam Stephenson 详细拆解了这款产品的进化之路。从早期被痛批的“牙膏绿”视觉设计,到历经 6 个月试错才确定的“会后总结”产品形态,Sam 分享了作为一名设计师创业者,如何在被 AI 浪潮裹挟的时代中保持清醒,坚持为“真实的打工人”做设计。

💡 核心看点速览

  1. 1. 产品定位的边界:Granola 不要求用户将一切外包给 AI,而是基于用户在会中记录的要点进行内容丰满,致力于成为占据用户 80% 工作时间的屏幕伴侣。
  2. 2. 品牌重塑的底层逻辑:摒弃极简禅意,拥抱真实职场的“混乱感”,坚决拒绝面向企业采购的枯燥公文风,专注服务独立个体。
  3. 3. 试错与顿悟:团队曾花了 6 个月时间研发类似“GitHub Copilot”的实时 AI 会议笔记,最终发现这会严重干扰注意力,从而果断转向“会后生成”模式。
  4. 4.破解冷启动的奇招:为了让用户在下一次会议前体验到“Aha Moment”,创始人亲自录制互动视频,充当用户的第一个“开会对象”。
  5. 5.护城河构建:不盲目追逐模型底层的更新与硅谷的技术狂热,而是将产品打造成用户的“义肢”,依靠高粘性的行为习惯建立竞争壁垒。

拥抱混乱:为真实的职场生命力做设计

早期的 Granola 曾因为那一抹刺眼的“牙膏绿”而被科技圈疯狂吐槽,甚至被称为“像呕吐物一样”。但随着团队的壮大,重新思考品牌基因成为了必修课。令人意外的是,在品牌重塑的过程中,他们放弃了诸多讨喜的“极简”、“禅意”路线。

Sam 发现,如果工具的界面是极简和冷静的,那么它的外围品牌世界就必须呈现出现实工作的真实样貌——那往往是快节奏、杂乱无章且充满压力的。因此,新版 Granola 的品牌视觉显得更加狂热、繁杂,甚至有点像美剧的第一季:出场人物众多,有些可能随时会消失,但充满未知的趣味。更重要的是,他们极力避免将产品包装成冰冷的“企业级软件”。

我们极其渴望让 Granola 感觉像是一个为你这个个体量身定制的工具,而不是某种公司采购部门会去购买的标准化产品。(we kind of aggressively wanted to push for granola like feeling like a tool built for you the individual not for not something that a company would buy)

在 Sam 看来,一旦产品让企业采购人员感到过于安分守己,它就失去了灵魂。笔记是一件极度私密的事情,用户需要在其中安全地写下各种看似“愚蠢”的碎片想法。

做笔记的一部分意义在于,给你的大脑留出一个自由且安全的空间,随心所欲地写下任何想写的东西。(part of taking notes is is like having a space for your brain to feel free and safe to just write down the shit that that it wants to)

寻找顿悟时刻:跨越长达半年的错误验证

很多人看到如今大获成功的 Granola,会惊叹其丝滑的交互,但在找到这个解法之前,团队经历了一段极其痛苦的弯路。

在创业初期,Sam 和另一位联合创始人 Chris 花了大量时间去寻找真实的痛点。他们最早构建了一个非常简陋的原型:在开会时, 你输入一个关键词,AI 会立刻在旁边自动补全句子。这个灵感源于 GitHub Copilot,他们试图打造一个“实时 AI 笔记助手”。然而,这个充满科幻感的想法,让他们撞了整整六个月的南墙。团队最终意识到,开会时实时处理信息带来的认知负载太高了。真正的价值应该在会议结束后发生——一键将零散的关键词扩写成完整的会议纪要。

解决了产品形态,他们又迎来了增长的生死考验:如何让用户立刻体验到 AI 带来的震撼?如果用户在中午 12:47 下载了产品,但下一场会议在下午 3 点,在这两小时内,用户极有可能会流失。为了缩短这个触达“Aha Moment”的时间,以下是 Granola 团队采取的激进行动:

  1. 1. 创始人真人上阵录制互动引导视频
  2. 2. 将这个引导视频伪装成一场真实的会议,作为产品的新手村。
  3. 3. 让用户在下载后的第一分钟内,就与屏幕里的 Sam 开一场会,并亲眼见证笔记的瞬间生成。

创始人基因决定团队文化

尽管有无数声音劝说他们搬到旧金山,Granola 依然选择扎根在伦敦。在这个 AI 创业氛围相对不那么喧嚣的城市,他们反而成了一个强力磁场,吸引到了 50 位气味相投的伙伴。

作为一个没有任何大厂管理经验的设计师创始人,Sam 曾对如何建立团队文化感到焦虑,甚至试图违背直觉去追求所谓的“团队多样性”。但一位资深顾问的话点醒了他。

无论你喜不喜欢,这家公司最终都会成为你个人的真实倒影。(whether you like it or not the company's going to be a reflection of you)

放下包袱后,Sam 将团队招聘标准梳理成了以下几个核心原则:

  1. 1. 将同理心作为第一筛选标准,淘汰那些只对攻克技术难题兴奋,却忽略了用户真实感受的技术极客。
  2. 2. 优先录用 Granola 的重度用户,确保候选人已经亲身体验过产品带来的价值。
  3. 3. 寻找自带幽默感、不把世界看得过于严肃的同路人
  4. 4. 鼓励自下而上的产品创意,例如团队自发主导开发的年终回顾功能“Crunch”,用直击灵魂的数据总结俘获了大量用户。

面对巨头围剿,护城河是“义肢”般的习惯

在 Zoom 和 Notion 等巨头纷纷将 AI 总结功能作为标配的今天,Granola 的生存空间在哪里?Sam 给出的答案是:习惯。

当用户习惯了在每场会议中使用 Granola,它就不再是一个软件,而是长在打工人身上的一种“义肢”。为了保护这种极难被复制的护城河,Granola 选择了绝对的专注。他们会关注外部最前沿的模型能力,但前提是必须将这些能力收束到“会议语境”这一核心场景中。

面对硅谷一天一个新概念的 AI 炒作周期,Sam 保持着一种冷静的“反共识”。

现实世界中的大多数普通人,其实根本不知道该拿 Claude 这种产品来干嘛。(most real people out there like like I don't know what the fuck to do with Claude yet)

对大多数普通打工人来说,一个开放式的强大模型往往意味着不知所措。如果能在一个极度垂直的场景(如会议笔记)里做到极致,把一小步走得异常坚实,就已经能创造出改变几百万人工作流的伟大产品。

总结

Granola 的成功并非源于多么不可企及的底层技术突破,而是来自一种对人性的深刻洞察:职场人并不想被 AI 取代,他们只是想在兵荒马乱的工作日里,拥有一块属于自己的安全自留地。Sam Stephenson 用一个设计师的细腻,将这款工具做成了懂分寸、有人情味的伙伴。在这个狂飙突进的 AI 时代,有时走得最稳的,恰恰是那些愿意停下来倾听普通人诉求的人。

原始视频链接: https://www.youtube.com/watch?v=jkKfZMgJZ28 

翻译视频链接: https://www.bilibili.com/video/BV1X1XdBCEqH


💎 深度访谈:全章节精华记录

01 开场与 Granola 简介

👤 [主持人 SA]:我真的非常自豪也非常高兴能邀请到 Granola 的联合创始人 Sam Stephenson 来到这里。在座的各位,今天有多少人在使用 Granola?请举手。好的,看来你们中很多人都对它很熟悉了。这是一款由 AI 驱动的笔记应用,并且正在向更广阔的方向进化。其实,Granola 的总部在伦敦。大多数人都不知道这是一家在伦敦建立的公司。几年前我在伦敦生活时非常有幸认识了 Sam,并且几年来一直是他早期的支持者和粉丝。Sam,感谢你今天能来参加我们的活动。

👤 [嘉宾 Sam]:谢谢你,SA。感谢你邀请我,感谢你组织了这场活动,也感谢大家在这么短的通知时间内赶来。考虑到时间安排如此仓促,我对能有这么多人出席感到非常惊讶。所以, 谢谢大家。有一瞬间,我其实以为这是某种精心策划的恶作剧,因为之前进度有点落后,我当时心想,“哦天哪,他们肯定是在整我,因为我们昨天才刚刚敲定这事儿。”

👤 [主持人 SA]:所以感谢大家光临。Sam,我们先从宏观层面开始吧。今天的 Granola 到底是什么?它将走向何方?

👤 [嘉宾 Sam]:好的。今天,Granola 本质上是一种为会议——无论是 Zoom 视频会议还是线下会议——获取高质量笔记的工具。它的设计让人感觉非常熟悉。它看起来很像 Apple Notes 或者你熟悉的任何笔记应用。但在后台,它会倾听你们正在进行的对话。我们设定的模式基本上是,你在会议期间只记录你关心的重点。我们不要求你把一切都外包给 AI。但我们会捕捉你认为对话中重要的内容,并在会后将其丰满成一份(希望是)非常实用的笔记。

不过,笔记功能始终被我们视为一种“敲门砖”,借此进入你的生活,赢得成为你工作日一部分的权利。我认为更宏大的愿景是,我们希望成为一个占据你屏幕 80% 时间的工具,帮助你完成需要完成的工作。会议笔记是让 AI 在你开会时在场的一种方式,从而理解正在发生的事情。而且,我认为我们现在正处于一个有趣的节点,笔记功能已经运转得很好,是时候开启“第二章”了,我们要弄清楚在掌握了你会中发生的上下文之后,如何真正为你提供帮助。

02 AI 时代下设计师创业的体验

👤 [主持人 SA]:在你们开发 Granola 的这段时间里,不仅产品发生了有意义的进化,整个大环境也经历了巨大的变革:我们构建产品的方式、我们协作的方式、以及我们与智能体(Agents)和 AI 合作的方式都在改变。宏观概括一下,作为一名设计师身份的联合创始人,在试图建立产品市场契合度(PMF)的同时,还要适应一套似乎每个月都在自我更新的全新工具包,这是一种怎样的体验?

👤 [嘉宾 Sam]:这感觉既让人精疲力尽、焦虑万分,但同时又非常有趣。我不知道该怎么形容,但在这个时代做一名设计师,我感到非常幸运。因为我们现在比几年前要强大得多。我一直算是一个偏技术型的设计师。我懂一点编程,能做一些前端的东西,但现在我可以构建完整的功能了。而且尝试大多数想法最快的方法,就是直接在真实产品中把它做出来并体验它。放在一年前,这几乎是无法想象的。所以,这真的是一个非常激动人心的时代。

03 品牌重塑:告别“牙膏绿”,拥抱真实的职场

👤 [主持人 SA]:随着产品的进化,品牌也发生演变。很多使用 Granola 一段时间的老用户,之前都很熟悉那个“牙膏绿”版本的字母 G。而你们最近对其进行了彻底的翻新。但在科技圈里,它的反响似乎有些平淡。

👤 [嘉宾 Sam]:基本上大家觉得像呕吐物,对吧?

👤 [主持人 SA]:“保留那抹绿色”——这算是大家政治正确的说法了。

👤 [嘉宾 Sam]:是的。

👤 [主持人 SA]:但我真的很好奇,如果把时间拨回重塑品牌之前。是什么促发了这次品牌重塑?背后的思考是什么?作为名义上的联合创始人兼首席设计师,你的创作过程是怎样的?

👤 [嘉宾 Sam]:最早的 Granola 品牌,其实总是在我们需要别的东西时匆忙赶制出来的。我们从来没有真正坐下来想过,“好吧,我们要好好思考一下我们的品牌。” 当时的情况往往是,我们需要招聘第一位工程师,为了让我们看起来像个正规公司, 我们需要一个网页;这就意味着我们需要决定网页长什么样,需要一种颜色、一种字体等等。

所以早期的品牌就是由几个这样的时刻拼凑而成的。比如,我们加上了这个渐变效果,因为最初那种强烈的绿色有点太刺眼了。但从来没有一个深思熟虑的流程。这一直让我有点耿耿于怀,因为我们从来没有机会去真正构思一个好的、完整的视觉形象。

但作为一家初创公司,总有做不完的事情。拥有一个“过得去但不够好”的品牌形象并不会让我们死掉。而且,初创公司总是在改变方向,你很难知道自己长大后会变成什么样,你不想过度设计一个传达某种信息的身份,然后又大规模转型到另一个方向。

所以我们一直把这件事往后推,直到我们觉得:“不行,我想我们已经足够了解未来几年想做什么了,是时候立下界碑,宣告我们是谁了。” 我们大概是在去年秋天初迎来了那个时刻。

👤 [主持人 SA]:那个时刻发生了什么?因为在我脑海中,我想象的是你和 Chris 坐下来,你们中的一个人发起并推动了这件事。

👤 [嘉宾 Sam]:我想实际上并不是我们俩挑起的。我认为是我们负责产品营销的 Jack 最终促成了这件事。很久以来,Granola 看起来还行但不够出彩,这确实让我有些苦恼。但作为创始人,我也处于一种奢侈的位置:无论我说什么,大家多半会顺从。所以我可以凭一时兴起决定我们的每一项设计,大家也没意见。

但到了那个时候,我们有了第一位营销人员 Jack,还有了另外两名产品设计师。此时我们已经算是一个微型设计团队了,我们需要共同对 Granola 的外观达成共识,而这变得越来越困难。因为大家没有一个可以依循的准则,每个人都在不断尝试不同的东西,很多设计其实很棒,但背后并没有一个统一的核心理念。 所以,我觉得终于到了“够了”的时候。我们要启动一个流程,拿出一个好方案。

👤 [主持人 SA]:那么在这个过程中发生了什么?因为作为 Granola 的消费者,我们只看到了最终的结果,看到了你们引入的这个全新的概念宇宙和引发争议的新标志。感觉就像:“好吧,这不是我记忆中的那个 Granola 了。” 但从启动项目到呈现结果之间,肯定有很多被剪掉的废稿。你们探索和导航的概念空间是怎样的?你们问了自己什么问题?又是如何最初确定这个特定概念的?

👤 [嘉宾 Sam]:我认为有几个关键的动作或因素指引我们走向了最终的目的地。首先,我们非常清楚,如果从整体感知的角度来看,Granola 其实已经拥有了一个很棒的品牌。当人们想到 Granola 时,他们想到的多半是好的东西。我们绝对不想把这搞砸,因为拥有这样的认知太珍贵了。

我们觉得最容易搞砸的方式,就是将品牌重塑得让人觉得我们失去了灵魂。比如变得过度企业化,让人感觉我们现在是卖给 B 端公司的,成了采购团队会决定让你使用的那种冰冷工具。真正的风险在于,我们发布了新品牌,然后大家都觉得:“噢天哪,Granola 变味了。我不再觉得把它当作我工作日的伴侣是一件感觉很好的事了。”

所以,我们极其渴望让 Granola 感觉像是一个为你这个个体量身定制的工具,而不是某种公司会采购的标准化产品。 如果这会让企业采购人员感到有点紧张,让他们忍不住问“你确定我们真的要用这个吗?”,我认为这其实是件好事。

这是非常重要的一点。其次,Granola 现在还不具备、但最终的宏大轨迹是帮助你完成大量的工作。这并不是一开始就定好的,但通过尝试许多想法并淘汰了大量方案后,那些让我们觉得“这才是我们”的路线,实际上往往带有一种狂热、混乱的感觉,就像是现实工作生活的真实写照。

在 Granola 的设计中存在一种有趣的张力:产品本身被设计得极其简单,旨在让你感到平静和掌控感。我喜欢这个比喻——它是你面前的一方宁静空间,而周围的工作却在向你提出无数要求,且节奏飞快。

最开始,我们尝试了很多非常平静、充满禅意的品牌方向,但它们都让人觉得毫无生气,根本不能反映真实世界的样貌。所以我们最终定稿的版本,实际上充满能量,稍微有点凌乱,包含了许多元素和可以使用的小物件。但我认为,一方面,设计师使用这套视觉系统会觉得好玩得多;另一方面,它感觉离真实的工作生活更近。

👤 [主持人 SA]:是的。你是否觉得它在某种程度上捕捉到了团队的精神特质?因为我经常觉得,品牌往往比我们意识到的更能体现公司的文化。当你在内部向团队展示这个方案时,他们的反应如何?

👤 [嘉宾 Sam]:的确如此。我们经常会用一句话来毙掉很多想法:“这感觉不像是 Granola 的人会支持的东西。” 作为团队,我们不太喜欢把自己看得过于严肃。有很多设计方向让人感觉太端着了, 不像是我们能发自内心认同的。

我们在产品设计中践行这一点,团队也深信不疑。我们真的试图为真实生活而构建, 打造一款对你真正有用的产品,而不是一个漂亮的演示 demo,或者去迎合 Twitter 上那种炒作周期。

👤 [主持人 SA]:这真的引起了我的共鸣。在我合作过的所有初创公司里,Granola 是唯一一个我妻子在用的产品。她是个铁杆用户。但我认为正是因为它在这种疯狂的节奏中提供了一定程度的稳定性——“我必须记住所有这些细节,如果它们从指缝间溜走,我就得承担后果”,所以它提供了一种安全网。

不过让我好奇的是,你们希望品牌能够封装的不是解决方案,而是周围环境的狂野和漩涡。能多谈谈这个吗?因为对我来说,应用图标里有一个标志,但你们似乎试图在这个标志周围建立一个宇宙。

👤 [嘉宾 Sam]:对,我觉得在更广阔的品牌宇宙中,作为一家开发软件的公司,你大部分的品牌形象其实体现在产品 UI 截图或官网展示上。你不会去改变 UI,你只需展示它。所以很多品牌层面的表达,是在产品边缘发生的,是你围绕产品 UI 构建的那个“世界”。

就像我刚才说的,如果 Granola 是一个简洁干净的 UI,旨在让你感到平静和尽在掌握,那么它周围的东西就必须描绘真实生活。

另外我之前也提到过,我们团队有非常优秀的设计师。在这个过程中,我有一半的时间在思考:这是否解决了 Granola 品牌需要传达的信息?同时我也在想:这玩起来会不会很有趣?我们能不能用它创造出很酷的东西?

所以,事实上这里面有一点繁杂,有很多元素,有很多可以玩转的空间。它可能不像很多品牌那样高度一致和统一,但我认为优秀的设计师会非常享受使用它工作的过程。

👤 [主持人 SA]:是的,它有一种美剧第一季的特质。你看着它会觉得:“我不知道这些角色会不会一直留下来,但现在的角色足够多,感觉挺有趣的;有些人如果死了,那就死吧,反正没人会记得他们。”

04 创业源起:从独立开发到与 Chris 联手

👤 [主持人 SA]:天哪,我还有好多问题。我们现在在 South Park Commons,我觉得我必须得问问从 0 到 1 之前的这段旅程。我记得我遇到你的那一天,也是我看到我们今天所知的 Granola 第一版的日子。在那之前,我一直在和 Chris 交流。顺便说一句,他现在正躲在后面,甚至都不在后台。

我之前一直看 Chris 在做一款语音听写工具,我给他发了各种奇怪的语音备忘录。而那是第一次,我看到了同一项技术的不同用例。你当时在房间里演示它,它有一种像复印机一样的效果, 就像扫过视窗,然后就生成了笔记。

我喜欢把这些称为“侏罗纪公园时刻”。不知道你们是否记得《侏罗纪公园》里的那个场景,他们停下参观行程,去看小迅猛龙孵化。John Hammond 说,我建这个该死的公园,就是为了在它们出生时能在场。我觉得这就是我职业生涯的缩影:在新事物第一版诞生时在场。你会惊叹:“这就是那个功能!它现在还软乎乎的,有点丑,你需要喂养它一段时间,但它会长大,会吞噬一切,会成为一个了不起的新事物,世界将因此不同。”

但在那个蛋孵化之前,有很多看不见的工作。所以,跟我们说说你的创业历程吧。你是如何决定成为一名创始人的?又是什么引导你们走到了我们相遇的那个时刻?

👤 [嘉宾 Sam]:我一直很倾向于自己独立做点东西。我是一个独立到甚至有些固执的人,我从来不太擅长团队运动。

在做 Granola 之前,我做了一段时间的自由职业,为不同的初创公司服务。选择自由职业是因为我觉得找一份全职工作让我感到恐惧,我始终无法真正做出那种承诺。这样做了几年后,我攒够了钱,可以辞职休息一段时间。如果我独自呆在一个房间里,我会本能地想要捣鼓点什么。

我大概有半个月的时间是这样度过的:每天早上醒来,我都会对自己说:“好吧,今天应该去申请一些工作了。” 然后我会开始列要申请的职位清单。但不到半小时,我的注意力就被转移了,转而开始沉迷于编写某个小工具。

在 Granola 之前,我作为设计师正在参与另一个笔记应用的开发。后来我退出了,但我真的很喜欢开发那种产品,那种超级通用的生产力工具。我认为如果做得非常好,它们会成为人们生活中不可或缺的一部分,人们会将自己的很多心思倾注其中,能参与这样的产品是一件非常有成就感的事。

所以,我退出了那个笔记项目,但后来又试着在业余时间打造自己的笔记应用。几个月后,我遇到了 Chris。Chris 当时也在做类似的事情,他也辞职了,正试图创业。相比之下,Chris 对如何分配时间有更强的目的性,他在积极寻找创业的机会。

我们就这样找到了彼此。当时 Chris 花了大量时间研究 GPT-3。他成功地,也是正确地让自己确信,这项技术将改变世界。老实说,我当时并没有那么确信。我记得我当时的反应是:“这挺酷的,但也就那样吧。” 大家现在都在抱怨 AI 生成的废话(slop),但在 GPT-3 时代,那些废话才是真的糟糕。

所以在很长一段时间里,我们都在各自独立推进:Chris 在用 GPT-3 制作原型,我继续捣鼓我的笔记应用。最终我们决定,我们很喜欢一起工作,而且随着相处时间的增加,我们的想法也越来越相似。几个月后,我们觉得:“太棒了,这很有趣,我们试着一起搞点事情吧。”

我认为 Chris 是我合作过的最优秀的“产品思考者”。我们当时都非常迫切地觉得:如果要一起做点什么,我们必须得找到一个具体的用例去发力。从之前做笔记应用的经历中我学到, 构建通用工具的风险在于,你可能会做出了一个“挺好,但没人在乎”的东西。对付这个问题的解药,就是极其专注地盯住某人生活中极其痛苦的特定时刻,并努力解决它。我们对此都有点偏执。

因此,我们刻意停下了手头正在做的事情,决定花一段时间专门去寻找问题。我们开放式地开始与朋友和熟人聊他们的工作生活。这大概持续了一个月左右。

你和五个人聊完后,不可避免地会产生一些如何能帮到他们的想法。于是我们开始构建能够帮助他们的原型产品。到那个月结束时,我们做出了一个非常非常简陋的版本。你可以转录别人说的话,然后输入一个词,Granola 就会基于这个词自动补全一个句子。整个产品只有这一个交互:一个文本输入框,右边有个小区域,你输入一个关键词,点击按钮,笔记就在右边生成了。那根本算不上一个可用的产品,但这个单一的交互感觉足够有趣,值得我们顺着这条线索继续深挖。

我们展示给你的那个版本,基本上就是我们在想:如果把这种交互放进一个大家感觉熟悉的 UI(比如记事本)里,并允许你在会议过程中多次重复这个操作,会怎样?这就是我们得出第一个原型的方式。

👤 [主持人 SA]:我很欣赏它是在会议“之后”发生的。我觉得那是一个关键洞察,它没有打断会议。

👤 [嘉宾 Sam]:不,其实最开始它是在会中发生的。最开始它是实时的,我们试图做一个像笔记版 GitHub Copilot 一样的东西。就是你敲几个关键词,按下 Tab 键,它就会自动补全内容。

把它变成“会后生成”,其实花了我们很长时间。在长达六个月的时间里,我们都卡在“你应该能用 AI 实时做笔记”这个想法上,不停地碰壁。直到后来我们才弄明白,实际上这带来的认知负载太大了,开完会后再一次性处理才是正解。

05 联合创始人的“约会”与成长:应对不确定性

👤 [主持人 SA]:回首那段探索期,对于那些正处于“点子阶段”、觉得“这里面有东西,但我们还没完全破解它的产品形态”的团队来说,你觉得有什么经验教训?给他们什么建议?

👤 [嘉宾 Sam]:我并不觉得我们做得有多理想。我们花了六个月时间,撞得头破血流,就为了把“实时 AI 笔记”做出来。我想我们是被它那种科幻感给迷住了。所以如果能倒转时钟,我会尝试更广泛的方向探索。当时我们只是在一个方向上进行小步迭代,我本该刻意去尝试更宽泛的可能性,看看不同形态的体验如何。

👤 [主持人 SA]:还有一段未被充分讲述的故事,那就是你们在处理一种特殊的关系。这是你第一次作为联合创始人创业,这改变了你的自我认知。这同时也带来一个问题:我该和这个人组队吗?这是一个多长久的决定?对于正在摸索这种关系的设计师创始人,你有什么建议?另外也可以谈谈你们的关系是如何演变的。

👤 [嘉宾 Sam]:如果 Chris 不在这里,这个问题会容易回答得多。顺便说一句,他正在关门。我为自己辩护一下,我本来以为 Chris 现在应该在飞回伦敦的航班上。

我们关系的一开始,尴尬地讲,真的就像是在谈恋爱约会。我们进展得很慢,先是社交性质的闲逛,然后坐在一起联合办公,接着尝试一起跑些点子。老实说,当你说你有意向投资时,那一刻我们才突然意识到:“哦天哪,我们这是要结婚了吗?” 我们进行了一次认真而漫长的散步,Chris 问我:“Sam,你知道这是一件大事。你确定你要这么做吗?”

👤 [主持人 SA]:你是怎么向自己回答关于承诺的这个问题的?

👤 [嘉宾 Sam]:一开始我的反应是:“哦该死,是的,我得好好想想这事儿。” 但对我来说,这其实是一个完美的结合:我一直想从零开始做一个属于自己的东西; 我又遇到一个非常喜欢与之共事、能让我变得更好的人;而且我们在做的是一款我自己业余时间就每天在捣鼓的工具,而现在我要把它作为我的全职工作来做。

对我来说,真正让我感到害怕的是,我以前一直是个独立贡献者(IC)设计师,通常是团队里唯一的设计师,也从未在超过 10 个人的团队里工作过。所以我对第一年只去琢磨“V1 版本是什么”感到非常兴奋,但是对于“如果它真的成功了会发生什么”,我就不敢细想了。我解决这个恐惧的方法就是不去想它,走一步看一步吧。

👤 [主持人 SA]:一路上有什么最大的惊喜吗?众所周知,即使一切顺利,创业也极度艰难。回首过去,Granola 是如何改变你的?

👤 [嘉宾 Sam]:改变太多了。我认为在第一年,尤其是当我们融了资但还没发布产品、还在反复迭代试图弄清 V1 是什么样子的时候,我们必须学会一件事:情绪管理。

每一天的感觉都像过山车。今天我可能觉得:“哇,我们真的抓到要领了,我们要成功了!” 第二天就会变成:“哦天,某人刚刚发布了一个超酷的东西,这会不会让我们变得毫无意义?” 或者周末的时候没人用产品,我会焦虑“没人用,怎么回事”。这些情绪的起伏很大程度上没有事实依据,仅仅取决于你每天早上醒来时的心情。

我以前从未在大团队工作过。但即使是大团队,有势能的团队也会被势能带着往前走。但当你团队那么小的时候,你每天都必须自己产生蒸汽动力(steam),推着自己继续前进。这非常艰难。

06 扎根伦敦:独特环境造就的独特团队

👤 [主持人 SA]:我忍不住要提一点,你们是在伦敦建立这家公司的。伦敦的生态系统有什么特别之处?Granola 如何成为一家具有独特英国或伦敦气质的初创公司?我经常遇到有人以为你们在纽约或湾区,完全不知道这是在另一个国家建立的。我觉得这家公司最浪漫的一点,就是它原生于伦敦。

👤 [嘉宾 Sam]:老实说,我觉得在伦敦创业也有很多劣势。第一年的时候,每个人都以非常充分的理由试图说服我们搬去旧金山。但我非常自豪我们留在了伦敦,现在我觉得我不想在其他任何地方,那是个很棒的地方。

它带来的好处是,即使我们当时规模很小,当我们举起手说:“嘿,我们希望有人来和我们一起工作,一起做点东西”时,我们处在一个更小的池子里。在我们在做的这类事情上,伦敦的池子绝对要小得多。那里并没有多少团队在试图帮助人们利用 AI 更好地工作。伦敦有很多金融科技项目,有很多 B2B 项目,所以我们成了少数发出这种声音的团队之一,因此也有幸成为了吸引合适人才的磁石。

我们刻意把第一份招聘宣言写得充满浪漫色彩和梦想感,试图在伦敦的各个角落找到同频的人。现在的美妙之处在于,我们在伦敦有一支 50 人的团队。从最初吸引那几个受愿景感召的人开始,这像滚雪球一样漂亮地发展起来,现在我们有 50 个有着相同思考方式、在乎同样事情的人。如果在一个竞争更激烈的地方,比如旧金山,那里有很多团队都是这样思考和构建产品的,我想我们很难拥有如此独特的文化。

07 塑造公司文化:创始人即文化

👤 [主持人 SA]:我想谈谈文化,因为我觉得这是创始团队的一项关键责任。你是如何将你的设计师工具箱运用到发展和培养 Granola 文化的?

👤 [嘉宾 Sam]:这是个好问题。我们从一位投资人的内部招聘主管那里得到过一条极好的建议。当我们试图招募第一批工程师时,我们花了一个下午的时间向他们请教。

我记得我和 Chris 当时非常焦虑。我们当时只有两三个人,我们觉得:“我们需要招募背景广泛、截然不同的人,我们不能太封闭。如果有人来应聘,即使他们和我们完全不同,我们也应该考虑,因为我们需要多元的视角。”

那位顾问基本上是在说:“不不不,你们现在就两个人,作为现阶段的创始人,你们在决定自己的命运。无论你喜不喜欢,这家公司最终都会成为你们个人的真实倒影。 这注定会发生,如果你们抗拒它,只会带来糟糕的结果,所以你们必须顺应它。”

我个人觉得这极有帮助。它让我在许多早期的招聘决定上放松了下来。除了考察候选人是否能胜任工作等基本素质外,我主要会问自己:“我会喜欢和这个人共度每天的时光吗?这个人能给我带来能量吗?” 最初我觉得倾听内心的这种声音有点不太好意思,但现在这已经成了我决定是否录用某人的主要方式,而且到目前为止效果很好。

👤 [主持人 SA]:除了“我和这个人气场相合”之外,你还会看重其他什么特质吗?

👤 [嘉宾 Sam]:在 Granola,我们希望每个人都有高度的同理心。如果是工程师,我们希望相信他们是真的关心他们正在为其解决问题的那个人。我们拒绝过很多非常优秀的工程师,仅仅因为他们对眼前的技术难题过度兴奋,却忘了他们试图解决技术难题的最终服务对象是一个活生生的人。

我认为这也适用于所有职能。我们招聘到的最成功的人员中,有一些就是 Granola 的狂热用户,他们亲身感受过产品在他们生活中带来的帮助。

👤 [主持人 SA]:当你作为一名设计师联合创始人建立一家公司时,我经常听到的一种说法是,公司会成为你个人设计哲学的直接表达。你在 Granola 这家公司和产品中看到了哪些让你觉得“哦,这真的很像我”的特质?

👤 [嘉宾 Sam]:我也把 Chris 算进去吧。我认为我们都喜欢找乐子,而且我们都不喜欢把自己看得太严肃。我觉得这一点体现出来了。其实我觉得最终敲定 Granola 这个名字,就是这种精神的很好体现。这种气质渗透到了整个团队中。

比如我们在假期推出的那个名为 Crunched 的功能,它类似 Spotify 的年度总结(Wrapped)。

👤 [主持人 SA]:在座的还有人觉得那个功能看穿了你的灵魂吗?对于不熟悉的人来说,Crunched 是一个年终功能,它汇总了你数月来的会议笔记,提供了关于你人际关系、性格特征的宏观概述。我感到它深深地验证了我,因为它总结了:“这就是我在过去一年里如何协作、我进行过什么样的对话、我给出过什么样的建议,并且我有所有的记录来证明。” 结果发现 Granola 比我想象的还要了解我。

👤 [嘉宾 Sam]:那是一件非常美妙的事情。因为我和 Chris 最初都觉得这是个糟糕的主意,而且很长一段时间里都对其置之不理。我们觉得:“这将耗费大量精力,只上线一天,然后就会烟消云散。拜托,我们不能把时间花在更持久的事情上吗?”

但团队(理直气壮地)争取了这个项目。基本上,我和 Chris 没有参与它的实现过程,全靠团队里的人。但我觉得它涵盖了这家公司如此多的灵魂。Crunched 与你在其他软件中看到的年度总结截然不同,它体现了 Granola 作为一个团队,与其他团队的不同之处。

08 巧解冷启动:Sam 亲自上阵的新手引导

👤 [主持人 SA]:接下来,我认为 Sam 因为做了一件我觉得非常勇敢的事情而应该得到更多的赞誉,那就是把自己放进了产品的用户引导(Onboarding)流程中。对于许多安装了 Granola 的人来说,打开它的第一环就是进行你的第一场会议,而与你开会的人就是屏幕里的 Sam。他会在实践中解释这个应用程序是如何运作的。我认为你们早期获得的很多牵引力,正是得益于这种极其流畅的引导体验,而你本来不必非得把自己放进去。没有其他人会这么做。

跟我们多讲讲这个,因为我很欣赏你挺身而出,亲自上阵,并在这个过程中成为了产品的一部分。

👤 [嘉宾 Sam]:我们也尝试过很多其他方法。我们非常清楚,一开始产品最容易失败的地方在于,我们面临一个棘手的问题:这个产品的“Aha Moment(顿悟时刻/爽点)”是发生在会议结束时笔记生成的那一刻。

为了让你体验到这个时刻,如果你在周二中午 12:47 注册了产品,但你的下一场会议在下午 3 点,那我们就已经失去你了。你不可能在下载、点击按钮、安装、走完引导流程,然后面对一个空荡荡的主页说,“好吧,现在无事可做”,接着关掉它并在之后还记得它。

所以,感觉如果我们不能让你立刻体验到那个 Aha Moment,我们就失去你了。视频其实算是一个最后的手段,因为要把它做得自然流畅需要很大的工程量。

也不是完全的最后手段,我们还有另一个想法:全职雇人永远待在一个 Zoom 会议室里,这样只要你一落地,点进去,就有人跟你打招呼并带你参观。

最终,这个视频方案成为了我们的折衷之举。我们只需要给你最基本的舒适感,然后尽快让你体验到那个顿悟时刻。

👤 [主持人 SA]:我依然很喜欢在 Granola 新手引导里加入“职场版的聊天轮盘(Chat Roulette)”这个点子,也许以后可以把它带回来。

09 应对挑战:单机工具与团队协作的平衡

👤 [主持人 SA]:早些时候你提到,你认为这些生产力工具是极其私密的东西,就像是我们倾注生命的容器,这让我深有共鸣。但 Granola 也有着天然的协作属性,它涉及团队范围的上下文、专业背景,甚至会溢出个人生活的范畴。你们是如何在这种单人工具(属于我的)与团队协作的张力之间进行平衡的?

很多初创公司都在回答这个问题时失败了,因为他们被困在了单人模式里。作为一个有 Facebook 经验的人,我的大脑立刻会拉响警报:必须做协作!但这里确实存在真正的张力,因为今天使用 Granola 的人确实把它当作私人资源来对待。那么从设计角度,你目前是如何驾驭这种局面的?

👤 [嘉宾 Sam]:这很难,老实说我不认为我们已经完美解决了这个问题。我认为很多最初的成功——当用户下载并不知道这玩意儿是什么时——是因为它让人感觉私密、亲近、安全。它感觉就像你用惯了的笔记应用,而你用惯的笔记应用是属于你个人的。你可以在里面写任何你想写的东西,没人会看到。我认为这非常重要,我们必须保留它。

而且从另一个角度来看,我觉得我们几乎成了人们开会行为的“心理治疗师”。到现在为止,我们已经和成百上千的人聊过他们是如何开会、如何做笔记的。其中一个普遍的真相是,做笔记的一部分意义在于,给你的大脑留出一个自由且安全的空间,随心所欲地写下任何想写的东西。

很多时候我们在记笔记时写在纸上的东西都有点愚蠢,或者绝对是你不想让别人看到的。我认为如果 Granola 不支持并鼓励这种行为,那我们就是死路一条。我们必须迎合用户的真实需求,那就是他们想要一个完全属于自己的记录空间。

由于这些原因,我觉得 Granola 走在一条必须在很多场景下默认对你保密的道路上。接下来的挑战是:团队一起使用 Granola 也有着令人难以置信的巨大价值,你如何弥合这个鸿沟?

老实说我们仍在摸索。目前我们有一个“团队空间(team spaces)”的概念,你可以把那些你不介意分享的会议笔记放进共享空间里。我们有一些建议机制来试图让分享变得容易。我们目前有整个团队在研究如何让这个过程尽可能无摩擦,同时又要保持你的个人自主权,让你感觉自己掌控着局面,确保你所说的话符合适当的隐私级别。

在接下来的几个月里,这部分会有很大的演变。我们目前正在测试记事本中的实时协作功能。出乎意料的是,很多时候我觉得把这个功能作为内部团队的默认开启选项是可以接受的。如果你只是和经常见面、让你感到比较安全的人开会,分享记事本感觉是没问题的。

但反面情况也是成立的。比如在进行销售电话时,你绝对不想把记事本分享给你试图推销的客户看,那绝对是个糟糕的主意。所以,这里有大量的社交微妙之处需要去妥善处理,才能让它感觉对味。

10 展望未来:抵御巨头竞争与 2026 的愿景

👤 [主持人 SA]:天哪,我还有好多问题。我真的很想谈谈前面的路。就像你我都知道的,所有人都看到了 Granola 的领先优势,他们会想:“哦哇,这太聪明了,我应该把它放进我的 Zoom 里。” Notion 也会说:“我应该把它整合到我的 Notion 平台里。”

你们将面临来自老牌巨头和街对面其他初创公司的竞争压力。你是如何应对这些已经浮现的竞争的?你认为 Granola 必须做到什么才能胜出?另外,你希望看到产品发展成什么样?在 2026 年,大家可以期待在这个新品牌下的 Granola 会有哪些表现?

👤 [嘉宾 Sam]:关于竞争那部分,我觉得外面有很多公司都在尝试非常酷的东西。我们显然在不断观察,并从别人好的想法中汲取灵感,融入到 Granola 中。但我们也必须发挥自己的优势。

我认为我们拥有的巨大优势是:使用 Granola 的人会习惯性地在他们所有的会议中使用它。随着时间的推移,它开始感觉像是一种“义肢”。我们必须真正保护和鼓励这种习惯,因为这是我们在未来想做的一切的基础。这意味着要保持产品极其简单,在大家都习惯的核心工作流上极其精简。这是一个很难被复制的东西,我也很难确切地指出究竟是 Granola 的什么特性让人们产生那种不可割舍的感觉,它可能是一系列因素的总和。所以,我们必须保护好它。

至于未来,我觉得对我们来说游戏规则在于:世界进化得太快了,AI 让我们能做的事情越来越多。比如 Claude 提供的工作助手功能(Claude co-workers)就非常非常令人惊叹。我们的哲学始终是,我们要尽可能地驾驭这些浪潮。当人们想出像这样好的东西,并且融入我们的产品是有意义的时候,我们就应该去吸纳它。

因此,我认为这些通用 AI 产品所提供的能力中,有很大一部分我们将能够做得更好,因为我们掌握了你会议中发生的上下文。我们是一个已经驻留在你屏幕上的工具,因为你在上一场会议中刚刚使用过我们。而且我认为品牌对此也有帮助。一个你信任的、感觉很个人化的品牌, 是让你愿意与之密切合作的重要因素。所以,我们必须尝试以适合我们的方式,吸纳科技界最顶尖的技术。

我也觉得,外界(尤其是在旧金山与人交谈时)有一种非常诱人的错觉,因为这里是一个由炒作驱动的地方,大家永远在追逐下一个、再下一个新概念。而能帮助我保持理智的,就是时刻记住:这并不是真实世界的全貌。现实世界中的大多数普通人,其实根本不知道到底该拿 Claude 这种产品来干嘛。

如果我们能把哪怕一件非常具体的事情(比如在会议笔记的基础上)做到极致实用, 这对大多数人来说就已经是一个巨大的改变了。是的,我们应该为旧金山的人提供极其强大的开放式工具,但同时也要为世界上的其他人服务。把一小步走得极其扎实, 我认为就能成就一款被成千上万人使用的伟大产品。

👤 [主持人 SA]:我太喜欢这个观点了。用这段话作为结尾简直太完美了。Sam Stephenson,非常感谢你花时间与我们交流。我知道你不用为了这场对话专门飞过来,但我仍然非常感激你的出席。谢谢大家。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-15 02:51:45 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/529117.html
  2. 运行时间 : 0.101839s [ 吞吐率:9.82req/s ] 内存消耗:4,759.26kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2d5948af0445d0443bf2a0673f76203d
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000555s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000820s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000300s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000333s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000513s ]
  6. SELECT * FROM `set` [ RunTime:0.000210s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000642s ]
  8. SELECT * FROM `article` WHERE `id` = 529117 LIMIT 1 [ RunTime:0.000639s ]
  9. UPDATE `article` SET `lasttime` = 1776192706 WHERE `id` = 529117 [ RunTime:0.011846s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.002379s ]
  11. SELECT * FROM `article` WHERE `id` < 529117 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000486s ]
  12. SELECT * FROM `article` WHERE `id` > 529117 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000686s ]
  13. SELECT * FROM `article` WHERE `id` < 529117 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000744s ]
  14. SELECT * FROM `article` WHERE `id` < 529117 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001958s ]
  15. SELECT * FROM `article` WHERE `id` < 529117 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000802s ]
0.103618s