V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
taowen
V2EX  ›  分享创造

从 Claude Code 到 GrowBlank - 软件进化的新范式

  •  1
     
  •   taowen · 12 天前 · 1178 次点击

    [背景音:咖啡馆环境音,键盘敲击声]

    Alex: 嘿,Sam !好久不见,最近在搞什么?

    Sam: Alex !正好想找你聊聊。我最近在用 Claude Code ,就是 Anthropic 出的那个命令行工具,用着用着突然有了个疯狂的想法。你还记得咱们以前讨论过的 Smalltalk 吗?

    Alex: 当然记得!那个"代码即数据,数据即代码"的老古董?等等,你不会是想...

    Sam: 哈哈,你猜对了一半。来,我给你演示一下 Claude Code 。*[键盘声]* 看,我现在输入:"帮我分析一下当前目录下所有 Python 文件的代码复杂度"。

    $ claude "帮我分析一下当前目录下所有 Python 文件的代码复杂度"
    
    正在搜索 Python 文件...
    找到 15 个 .py 文件
    
    生成分析脚本...
    $ find . -name "*.py" | head -5
    ./main.py
    ./utils/helper.py
    ./utils/parser.py
    ./models/user.py
    ./models/product.py
    
    安装复杂度分析工具...
    $ pip install radon
    
    执行分析...
    $ radon cc . -s
    main.py
        F 15:0 process_data - B (7)
        F 45:0 validate_input - A (3)
    utils/helper.py
        F 8:0 format_output - A (2)
    ...
    

    Alex: 哇,它自己去找工具,安装 radon ,然后执行分析?这不就是个会编程的助手吗?

    Sam: 对,但重点不在这。你注意到了吗? Claude Code 实际上是在实时生成一个程序。每一行 bash 命令,都是这个程序的一部分。只不过这个程序不是预先写好的,而是根据我的需求和当前环境动态生成的。

    Alex: 等等,你是说... [咖啡杯放下的声音] 用户以为自己在对话,实际上是在无意识地编写程序?

    Sam: Exactly !而且更有意思的是,如果我再问一次同样的问题...

    $ claude "再分析一次代码复杂度"
    
    检测到您刚才执行过类似操作,直接使用已安装的工具...
    $ radon cc . -s --json > complexity_report.json
    $ python -c "
    import json
    with open('complexity_report.json') as f:
        data = json.load(f)
        # 生成可视化报告...
    "
    

    Alex: 它记住了!而且这次还加了 JSON 输出和可视化?

    Sam: 这就引出了我的想法。如果我们把这个模式推广,不只是命令行,而是整个应用呢?想象一下,用户从一个空白对话框开始...

    Alex: 就像 ChatGPT ?

    Sam: 对,但不止于此。我管这个概念叫 GrowBlank 。来,我画个图给你看。*[纸笔声]*

    Day 1: 对话
    用户: "帮我记录今天的开销"
    系统: "好的,记录了:今天开销 [输入框]"
    
    Day 7: 模式识别
    系统: "我注意到您每天都记录开销,要不要我生成一个快捷输入表单?"
    [生成表单: 金额 | 类别 | 备注 | 保存]
    
    Day 30: 应用成型
    [完整的记账应用界面]
    - 每日开销列表
    - 分类统计图表  
    - 月度预算提醒
    - (保留对话框处理特殊需求)
    

    Alex: 所以应用是"长"出来的,不是设计出来的?

    Sam: 没错!这解决了软件开发的核心悖论。你知道为什么那么多项目失败吗?

    Alex: 需求不清?

    Sam: 不只是不清,是根本不可能清楚!我给你讲个真事。上个月我们公司要做个内部工具,产品经理写了 30 页需求文档。你猜怎么着?

    Alex: 上线后全改了?

    Sam: 都没等到上线!开发到一半,业务部门说:"这不是我们要的。"你知道最讽刺的是什么吗?他们也说不清要什么,只能说:"等我用了才知道。"

    Alex: 啊,经典的"我不知道我要什么,但我知道这不是"综合征。

    Sam: 对!但 GrowBlank 模式下,这不是 bug ,是 feature !用户不需要知道自己要什么,他们只需要开始使用

    Alex: 等等,我想到个问题。*[椅子挪动声]* 如果每次都是 AI 生成,怎么保证一致性?今天生成个蓝色按钮,明天变成红色了?

    Sam: 好问题!这就是 Smalltalk 哲学的精髓了。还记得 Smalltalk 的 image 概念吗?

    Alex: 整个系统状态的快照?

    Sam: 对!在 GrowBlank 里,每次生成的组件、识别的模式、用户的偏好,都会被持久化。看这个例子:

    // 系统自动生成并保存的组件定义
    const ExpenseForm = {
      generatedAt: "2024-01-15",
      usageCount: 45,
      lastModified: "2024-02-01",
      schema: {
        amount: { type: "number", required: true },
        category: { 
          type: "select", 
          options: ["餐饮", "交通", "购物", "其他"],
          // 这个列表是从用户历史输入中提取的
          learnedFrom: "user_history"
        },
        note: { type: "text", required: false }
      },
      evolution: [
        { date: "2024-01-15", change: "初始生成" },
        { date: "2024-01-20", change: "用户要求添加类别" },
        { date: "2024-02-01", change: "自动添加常用类别" }
      ]
    }
    

    Alex: 所以组件会进化,但是是渐进的、可追踪的?

    Sam: Exactly !而且用户可以随时介入。比如:"把那个表单的按钮改成绿色",系统就会更新组件定义。

    Alex: 嗯... [思考] 但这不会导致过度定制吗?每个用户都有自己独特的应用,没法标准化,没法培训新员工...

    Sam: 这恰恰是传统思维的误区!为什么一定要标准化?我问你,你用的 VS Code 配置和我的一样吗?

    Alex: 当然不一样,我有自己的插件、快捷键、主题...

    Sam: 那影响你们团队协作了吗?

    Alex: ...没有。反而每个人都很高效,因为工具适合自己的习惯。

    Sam: Bingo ! GrowBlank 的哲学是:标准化数据,个性化界面。团队共享同一套数据模型,但每个人可以有自己的交互方式。

    Alex: 有意思... 让我想想实际场景。*[喝咖啡声]* 比如说,一个创业公司,从零开始用 GrowBlank ?

    Sam: 好例子!我来模拟一下这个过程。第一天,创始人 Alice 坐在电脑前:

    Alice: 记录一下,今天见了投资人 John ,他对我们的产品很感兴趣
    
    系统: 已记录会议笔记。需要设置后续提醒吗?
    
    Alice: 好的,一周后提醒我跟进
    
    [系统后台生成了一个简单的 CRM 种子]
    

    Alex: 等等,系统怎么知道要往 CRM 方向进化?

    Sam: 它不需要知道!它只是响应使用模式。继续看:

    Day 3:
    Alice: 显示所有投资人联系记录
    
    系统: 找到 1 条记录:
    - John (上次联系:2 天前)
    建议:是否要添加更多字段来追踪?比如投资阶段、金额范围?
    
    Alice: 好主意,添加这些
    
    [CRM 数据模型进化:添加了新字段]
    
    Day 10:
    Alice: 我需要跟踪每个投资人的状态
    
    系统: 基于您的使用模式,我生成了一个看板视图:
    [初次接触] → [跟进中] → [尽调] → [条款谈判] → [已完成]
    需要调整阶段名称吗?
    
    [CRM 获得了看板功能]
    

    Alex: 卧槽,这就是个渐进式的 no-code 平台啊!

    Sam: 不,比 no-code 更进一步。No-code 你还得"设计",拖拽组件,设置属性。GrowBlank 是 no-design,你只管用。

    Alex: 但是等一下,*[激动]* 如果 Alice 雇了一个销售 Bob ,Bob 的使用习惯和 Alice 不同怎么办?

    Sam: 绝妙的问题!这就是集体进化的魅力。看:

    Bob 加入后:
    Bob: 我需要批量导入潜在客户
    
    系统: 检测到新的使用模式。是否要为团队添加批量导入功能?
    Alice 和 Bob 都会看到这个建议。
    
    Alice 批准后:
    系统: 已添加 CSV 导入功能。基于 Bob 的操作习惯,
         我建议添加以下字段映射...
    

    Alex: 所以系统会综合多人的使用模式?

    Sam: 对,而且可以设置权重。比如 Alice 是创始人,她的使用模式权重更高。或者销售团队的模式只影响销售模块的进化。

    Alex: [兴奋地站起来] 等等等等,我想到一个更疯狂的场景!如果... 如果系统能跨公司学习呢?

    Sam: 你是说...

    Alex: 对!比如 100 家创业公司都在用 GrowBlank ,都是从零开始进化。系统能不能识别出通用模式?比如"90%的 B2B 公司最终都进化出了这样的销售流程"?

    Sam: [拍桌子] 天才!这就是集群进化!每个公司的应用是一个"物种",成功的模式会被自然选择...

    Alex: 新公司可以选择"继承"成功的基因!

    Sam: 对!但不是照搬,而是作为进化的起点。比如:

    新用户: 我要做个 B2B SaaS 的销售管理
    
    系统: 基于 847 家类似公司的进化路径,我建议从这个基础模型开始:
    - 线索管理( 95%公司都有)
    - 销售漏斗( 89%公司都有)  
    - 客户成功追踪( 73%公司在第 3 个月添加)
    要应用这个模板吗?您可以随时修改。
    
    新用户: 应用,但我们不需要客户成功模块
    
    系统: 已应用并移除客户成功模块。开始您的独特进化之旅...
    

    Alex: 这简直是... 应用开发的 GitHub !不对,比 GitHub 更进一步,因为它是活的,会进化的!

    Sam: 而且解决了开源的一个大问题:你 clone 了别人的代码,然后呢?改不动,因为你不理解设计决策。但 GrowBlank 里,你 clone 的是进化路径,然后继续你自己的进化。

    Alex: [坐下,深呼吸] OK ,让我冷静一下。这个愿景很美好,但技术挑战呢?

    Sam: 确实有挑战。最大的是意图理解的准确性。看这个例子:

    用户: 把昨天的数据删了
    
    系统需要理解:
    1. "昨天"是指哪个时区的昨天?
    2. "数据"是指哪些数据?全部还是特定类型?
    3. "删了"是真删除还是标记删除?
    4. 用户权限是否允许?
    

    Alex: 对,自然语言的歧义性。

    Sam: 我们的解决方案是渐进式确认。第一次遇到歧义,系统会询问。但它会记住你的偏好:

    第一次:
    用户: 删除旧数据
    系统: 请确认:"旧数据"是指:
         A) 30 天前的数据
         B) 上个版本的数据
         C) 其他?
    用户: A
    
    第二次:
    用户: 清理旧数据
    系统: 基于您的习惯,准备删除 30 天前的数据(共 1,234 条)。确认?
    
    第 N 次:
    用户: 常规清理
    系统: [直接执行 30 天数据清理]
    

    Alex: 所以系统不只是学习功能,还学习用户的语言习惯?

    Sam: 对!每个用户/团队会逐渐形成自己的"方言"。比如在某个团队里,"跑一下"就是指运行测试套件,在另一个团队可能是指部署到测试环境。

    Alex: 这让我想起了 Unix 的 alias... [笑] 等等,说到 CLI ,GrowBlank 怎么处理程序员用户?他们可能更喜欢代码而不是对话。

    Sam: 好问题! GrowBlank 是全光谱的,记得吗?看这个:

    # 程序员 Charlie 的使用方式
    
    # Day 1: 纯命令
    $ grow add task "Fix login bug"
    
    # Day 7: 开始写脚本
    $ cat my_workflow.grow
    add task $1 --priority high --assign charlie
    notify slack "#bugs"
    
    # Day 30: 完整的 DSL
    class BugTracker(GrowBlank.App):
        def on_critical_bug(self, title, description):
            task = self.add_task(title, priority="critical")
            self.assign(task, self.on_call_engineer)
            self.notify_all(task)
            return task.id
    

    Alex: 所以程序员可以用代码来"训练"自己的应用?

    Sam: 确切说是"编程式进化"。而且最棒的是,这些代码定义的行为,非技术用户依然可以通过对话触发:

    PM: 发现严重 bug ,登录完全坏了
    
    系统: 检测到关键词"严重 bug",触发 Charlie 定义的 critical_bug 流程:
    - 创建高优先级任务 ✓
    - 分配给值班工程师(当前: David) ✓  
    - 通知所有人 ✓
    任务 #1234 已创建
    

    Alex: 妙啊!这就是真正的低代码——不是让非程序员写代码,而是让程序员的代码能被非程序员用!

    Sam: 你总结得太精辟了!而且这带来一个有趣的商业模式:技能市场

    Alex: 技能市场?

    Sam: 想象一下,Charlie 定义的 bug 处理流程特别高效,他可以把这个"技能"发布到市场:

    GrowBlank Skills Market
    
    🐛 Smart Bug Tracker by Charlie
       ⭐ 4.8 (2,341 reviews)
       📈 提升 bug 修复效率 40%
       💰 $9.99/月
       
       功能:
       - 自动分类和优先级判断
       - 智能分配给最合适的人
       - 自动生成修复建议
       
       一键安装到您的 GrowBlank →
    

    Alex: 等等,这不就是... 应用商店?

    Sam: 不,比应用商店更细粒度。不是买整个应用,而是买能力。你的 GrowBlank 可以是多个技能的组合体。

    Alex: [画图] 让我理理... 所以整个生态系统是这样的:

    个人进化 → 团队进化 → 公司进化 → 行业模式 → 技能市场
        ↑                                              ↓
        └──────────────────────────────────────────────┘
                          (循环反馈)
    

    Sam: 完美!而且每一层都在让下一次进化更快。新用户不是从零开始,而是站在巨人的肩膀上。

    Alex: 但是... [皱眉] 这会不会造成同质化?最后大家的应用都长得一样?

    Sam: 恰恰相反!生物进化告诉我们,即使从同一个祖先开始,在不同环境下也会进化出完全不同的形态。达尔文雀,你知道吧?

    Alex: 同一种雀,在不同岛屿进化出不同的喙?

    Sam: 对! GrowBlank 也一样。即使从同一个模板开始,不同公司的独特需求会驱动应用向不同方向进化。

    电商公司 → 进化出强大的库存管理
    咨询公司 → 进化出复杂的时间追踪
    媒体公司 → 进化出内容工作流
    

    Alex: 而且这些特化的部分又可以回到技能市场...

    Sam: 形成良性循环!创新在边缘产生,然后传播到整体。

    Alex: [看表] 哇,不知不觉聊了两个小时了。但我还有最后一个担忧。

    Sam: 说。

    Alex: 隐私和安全。如果系统要学习使用模式,那意味着...

    Sam: 所有操作都要被记录和分析,我知道。这确实是个挑战。我们的方案是联邦学习

    Alex: 联邦学习?在 GrowBlank 场景下怎么用?

    Sam: 看这个架构:

    ┌─────────────────┐
    │   公司 A 本地    │
    │  ┌───────────┐  │
    │  │使用模式提取│  │────┐
    │  └───────────┘  │    │
    │   私有数据不出门  │    │
    └─────────────────┘    ↓
                        模式特征
    ┌─────────────────┐    ↓
    │   公司 B 本地    │    ↓
    │  ┌───────────┐  │    ↓
    │  │使用模式提取│  │────┤
    │  └───────────┘  │    │
    └─────────────────┘    ↓
                       ┌────────┐
                       │中央服务器│
                       │只有模式  │
                       │没有数据  │
                       └────────┘
    

    Alex: 所以中央服务器只知道"80%的用户会在创建任务后设置提醒",但不知道具体任务内容?

    Sam: Exactly !而且用户可以选择参与级别:

    • 完全本地:不分享任何信息,但也无法获得集体智慧
    • 匿名模式:分享模式但不关联身份
    • 社区模式:公开分享,获得最大收益

    Alex: 这个分级很合理。*[站起来]* Sam ,我觉得这个想法真的可能改变软件行业。

    Sam: 你知道最让我兴奋的是什么吗?这可能终结"软件项目失败"这个概念。

    Alex: 怎么说?

    Sam: 传统项目失败是因为:交付的不是用户想要的。但 GrowBlank 模式下,没有"交付"这个概念,只有持续进化。软件永远在变成用户想要的样子。

    Alex: 失败变成了不可能... [沉思] 不对,如果用户自己都不知道自己要什么呢?

    Sam: 那就慢慢探索呗! GrowBlank 的哲学是:目标可以模糊,但每一步都有价值

    用户: 我想提高效率
    系统: 让我们从记录你的时间开始?
    [一周后]
    系统: 基于数据,您在邮件上花费 40%时间,要不要试试自动化?
    [一月后]  
    系统: 您的效率提升了 30%,主要贡献是邮件自动分类
    

    Alex: 所以它不只是工具,还是顾问?

    Sam: 更像是共生体。用户和系统互相学习,共同进化。

    Alex: [收拾东西] 好了,我得走了。但在我走之前,一句话总结 GrowBlank ?

    Sam: 从使用中生长,而非从规划中构建。

    Alex: 精辟!我的版本是:每个人都值得拥有为自己量身定制的软件。

    Sam: 哈哈,都对!这就是 GrowBlank——让软件民主化,让每个人都成为自己软件的设计师,只是他们不需要知道自己在设计。

    Alex: 期待看到它改变世界。下次咱们用 GrowBlank 来组织聚会?

    Sam: 哈哈,到时候它可能已经进化出完美的聚会组织功能了!

    [结束音乐渐入]


    Podcast 后记

    主持人: 各位听众,刚才你们听到的是 Alex 和 Sam 关于 GrowBlank 的深度对话。这个产品的核心理念——软件从使用中进化——可能会彻底改变我们对软件开发的认知。

    关键要点回顾:

    1. Claude Code 的启发:将对话转化为程序执行,用户无意识地在编程

    2. 进化光谱:从纯对话到专业应用的渐进式演化

    3. Smalltalk 哲学:使用即开发,系统可自我修改

    4. 解决核心悖论:用户不需要预先知道自己要什么

    5. 集体智慧:跨用户、跨公司的模式学习

    6. 技能市场:能力的原子化和再组合

    7. 隐私保护:联邦学习确保数据安全

    讨论问题:

    • 你愿意让你的软件"进化"吗?
    • 标准化和个性化,哪个更重要?
    • 如果软件都是独特的,如何培训和交接?

    欢迎在评论区分享你的想法。如果你想亲自体验 GrowBlank ,访问 growblank.ai 开始你的进化之旅。

    记住:你的下一个应用,就从一片空白开始。

    下期预告:我们将邀请实际使用 GrowBlank 的创业公司,分享他们的应用是如何从零进化成核心业务系统的。


    本 Podcast 文字版由 GrowBlank 自动生成并优化。是的,这个工具在记录自己的故事时也在进化。

    7 条回复    2025-08-18 11:35:38 +08:00
    sunshower
        1
    sunshower  
       12 天前
    你这是推广吧?但是为什么 growblank.ai 根本无法访问?
    生成的内容不检查吗?
    houzipimum
        2
    houzipimum  
       12 天前
    完全不知所云,我甚至都没找到 GrowBlank 这家互联网公司
    tianyu1718
        3
    tianyu1718  
       11 天前 via iPhone
    AI 生成的文章?想法挺有趣,是个落地难度很大的工具,还想看看楼主咋实现的呢
    niliy
        4
    niliy  
       11 天前
    跟我听完 macaron 播客之后的想法一模一样,期待这个产品落地!!

    p.s. 像楼上所说,确实技术难度会很大
    taowen
        5
    taowen  
    OP
       11 天前
    macaron 的播客?指个路。
    niliy
        6
    niliy  
       11 天前
    @taowen https://www.xiaoyuzhoufm.com/episode/689e081af9040f9dc334689b 这个,上周在国内开始 pr 的 personal agent ,macaron ,里面聊了类似的思路。另外 op 你们这个产品现在是想法?开发?还是内测?我对这个非常感兴趣
    taowen
        7
    taowen  
    OP
       11 天前
    这想法没有一千人也有一百个人在做了,等着吧。下半年会有很多这样的产品出来打广告的。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1529 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:35 · PVG 00:35 · LAX 09:35 · JFK 12:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.