欢迎光临
我们一直在努力

当前流行AI 编程,比如 sole spec,就是给一段话, AI agent就自动去实现项目了,整个过程几乎不需要人的参与.jikuai是否可以生成很多现成的库,这些库可以像搭积木那么组合成一个项目

jikuai项目在你的帮助下,有了很大提升:https://gitcode.com/skywalk163/jikuai

现在我有个思路,你帮我展开分析下. 我发现当前流行ai 编程,比如 sole spec,就是给一句话或者一段话, AI agent就自动去实现项目了,整个过程几乎不需要人的参与. 那么我们的jikuai,是否可以生成很多现成的库,这些库可以像搭积木那么组合成一个项目呢? 而且这些积木搭的组合可以分层次,比如3-7块积木搭成一级模块, 3-7块一级模块搭成二级模块.那么可以想象,3-7级之后,搭成的模块就可以完成一个小任务. 7级模块再向上搭7层,就几乎可以完成任何任务了.

模块的搭配组合,使用jikuai语法粘合起来,这样不需要ai token,直接用jikuai,就能实现原来AI Agent的功能了!

文心建议

极快JiKuai 分层积木化平台开发项目规划

本规划基于极快JiKuai编程语言现有v0.6.0版本能力,落地「像搭积木一样组合开发,零额外Token消耗替代传统AI Agent编程」的核心目标,所有开发任务完全对齐现有极快语法特性、测试体系与生态路径,可直接提交给Comate自动执行。

一、项目核心目标

基于极快原生管道式数据流、免括号自然语序语法优势,搭建从原子积木到全量应用的7级分层积木生态体系,最终实现开发者无需大量手写代码,仅通过组合预测试过的稳定积木、用极快原生语法做低量粘合,就能快速搭建完整可运行项目,彻底规避纯AI生成代码的幻觉问题、大幅降低Token消耗。

二、交付周期与里程碑拆分

整个项目分4个批次迭代交付,每批次交付后自动全量运行测试集校验零回归:

批次1:底层基础框架搭建(1~2个工作日)

  • 在现有stdlib/目录下新建blocks/分层积木根目录,建立7级积木的标准目录结构:
    • 0_原子层:最小不可拆分的原子能力积木
    • 1_一级模块:3~7个原子积木组合的高频功能单元
    • 2_二级领域模块:3~7个一级模块组合的垂直场景解决方案
    • 预留3~7级高阶模块目录空间
  • 定义积木元数据标准规范:每个积木附带独立的元数据配置文件,标注积木输入输出参数说明、依赖版本、单元测试用例、兼容极快版本范围,自动和现有项目测试体系打通。
  • 新增积木加载调度器:在极快解释器中扩展原生支持积木导入语法,和现有导入关键字完全兼容,支持直接写导入 积木库.数据处理.读取文件即可一键加载对应积木。
  • 交付验收标准:新增50条积木调度相关单元测试,所有用例全部通过,原1209条现有测试用例零回归。
  • 批次2:原子层&一级模块积木库首批落地(3~4个工作日)

  • 优先落地30个高频原子积木,完全对齐极快现有内建能力:
    • 数据处理类:读取文件、写入文件、列表转换、求和、过滤、排序、格式转换、哈希运算、随机生成
    • 中文特色类:农历日期转换、人民币精度运算、中文分词、拼音转换、简繁互转、中文数字转阿拉伯数字
    • 网络交互类:HTTP GET请求、HTTP POST请求、JSON解析、参数自动拼装
    • 工具通用类:日志打印、文件校验、延时等待、路径校验、目录遍历
  • 组合生成15个一级业务模块,每个模块由3~7个原子积木组装,自动适配极快逗号管道数据流,输出完全对齐管道透传规则:
    • 基础场景:单文件批量统计、文本去重清洗、中文列表排序导出
    • 中文特色场景:农历日程生成、人民币自动求和报表、中文排版格式化输出
    • 网络场景:结构化网页采集、接口自动健康检测、JSON数据批量转换
  • 交付验收标准:所有积木附带独立单元测试,单积木运行成功率100%,示例积木组合流程通过极快管道语法直接串联,输出结果和预期完全一致,自动同步更新examples目录下新增10个积木组合示例。
  • 批次3:二级领域模块&积木辅助工具链落地(3~4个工作日)

  • 落地8个垂直领域二级模块,每个模块由3~7个一级模块组合,覆盖高频通用场景:
    • 中文内容自动化模块:组合「网页采集→分词清洗→摘要生成→PDF排版导出」全流程积木
    • 中小商家财务对账模块:组合「多平台账单导入→多币种人民币换算→收支分类统计→对账报告生成」积木
    • 个性化日历生成模块:组合「日程清单导入→农历转换→传统节日标记→可打印日历导出」积木
  • 新增积木检索命令行工具,扩展极快原有jk命令入口:
    • jk blocks list:展示所有已安装积木的层级、功能、使用示例
    • jk blocks search "财务报表":根据关键词模糊检索匹配可用积木
    • jk blocks install 财务对账:一键安装指定积木及其所有依赖
  • 和现有极快AI辅助管线打通:扩展AI Copilot能力,用户输入自然语言需求时,优先自动匹配对应积木组合方案,直接输出可运行的极快粘合代码,无需从零生成完整代码,大幅降低Token消耗与幻觉概率。
  • 交付验收标准:二级模块附带端到端场景测试,运行直接输出预期结果,新增的积木命令全部可用,AI辅助管线生成积木组合代码的准确率达到95%以上。
  • 批次4:可视化搭建能力与体系规范补全(2~3个工作日)

  • 搭建轻量网页版可视化积木搭建设计器:支持用户拖拽各级积木、连线配置数据流传递关系,自动生成对应的可运行极快代码,零代码就能组合出完整应用。
  • 编写完整的积木库使用手册,补充到现有docs目录下,明确每一层积木的使用方法、参数说明、组合最佳实践。
  • 新增积木自动兼容性校验流水线:后续社区用户提交的自定义积木,自动触发全量单元测试、语义一致性校验,通过后自动入库进入公共积木索引。
  • 交付验收标准:可视化编辑器生成的极快代码直接运行无语法错误,所有手册内容规范完整,自动校验流水线可正常自动完成积木入库审核。
  • 三、非功能约束要求

  • 所有新增代码严格沿用极快原有BSD 3-Clause协议,全程使用中文注释,代码风格完全对齐项目现有规范,UTF-8编码无乱码。
  • 全流程新增测试用例不少于300条,所有交付批次运行测试集零回归,不得破坏任何原有语法、运行逻辑的兼容性。
  • 所有积木100%适配极快现有管道式数据流特性,积木之间无需额外手动写数据转换代码,仅通过逗号管道即可自动透传参数,粘合代码行数控制在5行以内。
  • 完整保留极快原有全半角标点等价、百家姓变量名、中国特色内置能力的所有特性,积木库完全复用现有内建函数,不引入不必要的第三方依赖。
  • 四、项目验收标准

  • 全量1209+新增的总测试用例100%通过,无跳过的有效用例。
  • 完成的7级积木分层结构可正常扩展,按照3~7块积木聚合的规则向上堆叠,可直接组合出小型完整应用。
  • 无需消耗额外大模型Token,仅用极快原生语法即可快速通过积木组合搭建项目,完全达成最初设计目标。
  • deepseek建议

    我来为jikuai设计一套完整的模块语法草案。这套语法要既符合jikuai的"中文编程"风格,又能支撑你的"模块搭积木"愿景。

    一、模块声明与定义

    jikuai

    # 模块定义基础语法
    模块 模块名 [版本号] [继承] {
    导入 依赖模块
    公开/私有 成员定义
    }

    # 示例:基础模块
    模块 排序算法 v1.0.0 {
    公开 方法 冒泡排序(列表 数据) -> 列表 {
    长度 = 数据.长度
    重复 (长度 – 1) 次 {
    变量 交换 = 假
    重复 (长度 – 当前轮次 – 1) 次 {
    如果 (数据[索引] > 数据[索引 + 1]) {
    交换(数据, 索引, 索引 + 1)
    交换 = 真
    }
    }
    如果 (非 交换) { 跳出 }
    }
    返回 数据
    }

    私有 方法 交换(列表 数据, 数 索引1, 数 索引2) {
    临时 = 数据[索引1]
    数据[索引1] = 数据[索引2]
    数据[索引2] = 临时
    }
    }

    二、模块导入与使用

    jikuai

    # 方式1:直接导入模块
    导入 排序算法 v1.0.0
    使用 排序算法::冒泡排序

    # 方式2:别名导入
    导入 排序算法 为 排序
    使用 排序::快速排序

    # 方式3:选择性导入
    从 排序算法 导入 冒泡排序, 快速排序

    # 方式4:模块组合(核心特性)
    模块 数据处理组合 {
    导入 排序算法 v1.0.0
    导入 过滤库 v2.1.0
    导入 转换库 v1.5.0

    公开 方法 处理流水线(列表 输入, 条件 过滤条件, 函数 转换函数) -> 列表 {
    过滤后 = 过滤库::条件过滤(输入, 过滤条件)
    排序后 = 排序算法::快速排序(过滤后)
    转换后 = 转换库::映射转换(排序后, 转换函数)
    返回 转换后
    }

    # 模块可以导出子模块
    公开 导出 过滤库 为 数据过滤
    公开 导出 排序算法 为 数据排序
    }

    三、模块版本管理

    jikuai

    模块 网络请求 v2.1.3 {
    元数据 {
    作者: "jikuai社区"
    描述: "HTTP/HTTPS请求库,支持重试和超时"
    许可证: "MIT"
    依赖: {
    "SSL库": ">=1.2.0",
    "JSON解析": "~>1.3.0",
    "日志系统": "最新"
    }
    标签: ["网络", "HTTP", "API调用"]
    }

    兼容性 {
    向下兼容: "v2.0.x"
    向上兼容: "v3.0.0-alpha"
    破坏性变更: "v3.0.0"
    测试套件: "test_network.jk"
    }

    公开 方法 获取(文本 url, 字典 参数 = 空) -> 响应 {
    # 实现细节
    }

    公开 方法 发布(文本 url, 数据 负载) -> 响应 {
    # 实现细节
    }
    }

    四、模块组合语法(核心创新)

    4.1 管道式组合

    jikuai

    # 数据流管道
    模块 数据分析流水线 {
    使用 读取::CSV阅读器
    使用 清洗::数据清洗
    使用 分析::统计计算
    使用 展示::图表生成

    公开 方法 分析报表(文本 文件路径) -> 图表 {
    结果 = 文件路径
    |> CSV阅读器::读取
    |> 数据清洗::去除空值
    |> 数据清洗::标准化
    |> 统计计算::描述性统计
    |> 图表生成::柱状图
    返回 结果
    }
    }

    4.2 声明式组合

    jikuai

    # 组件组合
    模块 Web应用 {
    组合 {
    路由: 使用 路由库::RESTful路由
    数据库: 使用 ORM::PostgreSQL
    缓存: 使用 缓存::Redis客户端
    模板: 使用 模板引擎::Jinja风格
    认证: 使用 安全库::JWT认证
    }

    公开 服务 启动(数 端口 = 8080) {
    认证.配置(密钥)
    数据库.连接("postgresql://localhost/app")
    缓存.连接("redis://localhost:6379")
    路由.注册("/api/users", 用户处理)
    路由.注册("/api/posts", 帖子处理)
    路由.监听(端口)
    }
    }

    4.3 工厂模式组合

    jikuai

    # 根据配置动态组合
    模块 动态组合器 {
    导入 缓存库
    导入 数据库库
    导入 消息队列

    公开 方法 创建数据处理管道(配置 设置) -> 管道 {
    根据 设置.模式 {
    情况 "高速模式":
    返回 此.构建高速管道(设置)
    情况 "可靠模式":
    返回 此.构建可靠管道(设置)
    默认:
    返回 此.构建平衡管道(设置)
    }
    }

    私有 方法 构建高速管道(配置 设置) -> 管道 {
    缓存 = 缓存库::内存缓存(设置.缓存大小)
    数据库 = 数据库库::连接池(设置.连接数)
    队列 = 消息队列::内存队列(设置.队列大小)

    返回 管道 {
    缓存: 缓存,
    数据库: 数据库,
    队列: 队列
    }
    }
    }

    五、模块接口与契约

    jikuai

    # 接口定义
    接口 可排序 {
    方法 排序(列表 数据) -> 列表
    方法 比较(任意 元素1, 任意 元素2) -> 数
    }

    接口 可序列化 {
    方法 序列化(任意 对象) -> 文本
    方法 反序列化(文本 字符串) -> 任意
    }

    # 模块实现接口
    模块 快速排序库 v2.0.0 实现 可排序, 可序列化 {
    # 必须实现接口的所有方法
    公开 方法 排序(列表 数据) -> 列表 {
    # 快速排序实现
    }

    公开 方法 比较(任意 元素1, 任意 元素2) -> 数 {
    # 比较逻辑
    }

    公开 方法 序列化(任意 对象) -> 文本 {
    # 序列化实现
    }

    公开 方法 反序列化(文本 字符串) -> 任意 {
    # 反序列化实现
    }
    }

    六、模块仓库与发现

    jikuai

    # 模块仓库配置
    模块仓库 官方仓库 {
    地址: "https://modules.jikuai.dev"
    本地缓存: "./.jikuai/modules"
    更新策略: "智能" # 按需|定时|智能
    }

    模块仓库 企业仓库 {
    地址: "https://internal.jikuai.company"
    认证: "企业SSO"
    优先级: 1 # 数字越小优先级越高
    }

    # 模块搜索
    搜索 模块 关键词 = "数据库 ORM"
    版本 = ">=2.0.0"
    标签 = ["生产可用", "性能"]
    排序 = "下载量"
    限制 = 10

    七、模块模板与生成

    jikuai

    # 模块模板
    模板 RESTfulAPI {
    参数 {
    资源名: 文本
    数据模型: 类型
    数据库: 文本 = "SQLite"
    }

    生成 {
    导入 数据库.${数据库}
    导入 Web框架.快速API

    类 ${资源名}控制器 {
    方法 列表() { /* 实现 */ }
    方法 详情(数 id) { /* 实现 */ }
    方法 创建(数据 ${资源名}) { /* 实现 */ }
    方法 更新(数 id, 数据 ${资源名}) { /* 实现 */ }
    方法 删除(数 id) { /* 实现 */ }
    }
    }
    }

    # 使用模板生成模块
    模块 博客API = 实例化模板 RESTfulAPI {
    资源名: "博客文章"
    数据模型: 文章实体
    数据库: "PostgreSQL"
    }

    八、模块测试

    jikuai

    # 模块测试套件
    测试套件 排序算法测试 {
    导入 排序算法 v1.0.0

    测试 冒泡排序_空列表() {
    结果 = 冒泡排序([])
    断言 结果 == [], "空列表排序失败"
    }

    测试 冒泡排序_已排序() {
    数据 = [1, 2, 3, 4, 5]
    结果 = 冒泡排序(数据)
    断言 结果 == [1, 2, 3, 4, 5], "已排序列表被改变"
    }

    测试 冒泡排序_逆序() {
    数据 = [5, 4, 3, 2, 1]
    结果 = 冒泡排序(数据)
    断言 结果 == [1, 2, 3, 4, 5], "逆序排序失败"
    }

    性能测试 冒泡排序_大规模数据() {
    数据 = 生成随机列表(10000)
    开始时间 = 现在()
    排序(数据)
    结束时间 = 现在()
    断言 (结束时间 – 开始时间) < 1000, "排序耗时过长"
    }
    }

    九、实际应用示例

    示例1:微服务构建

    jikuai

    模块 用户微服务 {
    导入 Web框架::FastAPI
    导入 ORM::SQLAlchemy风格
    导入 认证::JWT
    导入 日志::结构化日志

    组合 {
    Web: 使用 FastAPI(标题="用户服务", 版本="1.0.0")
    数据: 使用 SQLAlchemy(数据库="postgresql://user-service")
    安全: 使用 JWT(密钥=环境变量("JWT_SECRET"))
    日志: 使用 结构化日志(级别="INFO")
    }

    公开 启动() {
    # 定义模型
    数据.定义模型("用户") {
    字段 id: 数, 主键
    字段 用户名: 文本, 唯一
    字段 邮箱: 文本, 索引
    字段 密码哈希: 文本
    字段 创建时间: 时间
    }

    # 定义路由
    Web.路由("/users", 方法="GET") 函数 列表用户() {
    用户列表 = 数据.查询所有("用户")
    返回 Web.响应(用户列表)
    }

    Web.路由("/users/{id}", 方法="GET") 函数 获取用户(数 id) {
    用户 = 数据.查询("用户", id)
    如果 (用户 == 空) {
    返回 Web.错误(404, "用户不存在")
    }
    返回 Web.响应(用户)
    }

    # 启动服务
    Web.运行(端口=8000)
    }
    }

    示例2:AI推理模块

    jikuai

    模块 AI推理引擎 {
    导入 机器学习::PyTorch风格
    导入 图像处理::OpenCV风格
    导入 数据管道::批量处理

    组合 {
    模型加载: 使用 机器学习::模型加载器
    预处理: 使用 图像处理::标准化
    批处理: 使用 数据管道::批量处理(批大小=32)
    后处理: 使用 图像处理::结果解析
    }

    公开 方法 推理(图像 输入) -> 预测结果 {
    标准化图像 = 预处理::标准缩放(输入, 224, 224)
    批量输入 = 批处理::打包([标准化图像])
    原始输出 = 模型加载::预测(批量输入)
    结果 = 后处理::Softmax(原始输出)
    返回 结果
    }

    公开 方法 批量推理(列表 图像列表) -> 列表 {
    预处理后 = 预处理::批量处理(图像列表)
    批量输出 = 模型加载::预测(预处理后)
    返回 后处理::批量解析(批量输出)
    }
    }

    示例3:智能家居控制

    jikuai

    模块 智能家居中心 {
    导入 物联网::MQTT客户端
    导入 语音识别::本地识别
    导入 自动化::规则引擎
    导入 监控::设备状态

    组合 {
    通信: 使用 MQTT(代理="192.168.1.100")
    语音: 使用 本地识别(模型="zh-CN")
    规则: 使用 规则引擎()
    监控: 使用 设备状态(刷新间隔=5秒)
    }

    公开 初始化() {
    # 注册设备
    通信.订阅("home/+/status", 此.设备状态更新)
    通信.订阅("home/+/command", 此.设备命令响应)

    # 设置自动化规则
    规则.添加规则("温度高开空调") {
    条件: 监控.温度 > 26度
    动作: 通信.发布("home/ac/control", "开")
    }

    规则.添加规则("开门开灯") {
    条件: 监控.门状态 == "开" 且 监控.光照 < 50勒克斯
    动作: 通信.发布("home/light/control", "开")
    }
    }

    私有 方法 设备状态更新(消息 状态消息) {
    设备 = 状态消息.主题.解析设备()
    状态 = 状态消息.载荷.解析状态()
    监控.更新设备(设备, 状态)
    }
    }

    十、模块组合的最佳实践指南

    jikuai

    # 模块设计指南(作为文档模块)
    模块 模块设计指南 v1.0.0 {
    文档 {
    标题: "jikuai模块设计最佳实践"
    描述: "指导开发者设计高质量、可组合的模块"
    章节: ["模块粒度", "接口设计", "版本管理", "性能考虑", "测试策略"]
    }

    指南 模块粒度 {
    规则: "一个模块实现一个明确的功能"
    示例: "排序算法库、HTTP客户端、JSON解析器"
    反模式: "一个模块包含数据库、网络、UI"
    }

    指南 接口设计 {
    规则: "接口应保持稳定,实现可以变化"
    示例: "可排序接口、可序列化接口"
    建议: "接口方法不超过7个"
    }

    指南 组合模式 {
    推荐: [
    "管道组合:数据流经多个处理阶段",
    "工厂组合:根据配置动态选择实现",
    "装饰组合:在不修改模块的情况下增强功能"
    ]
    }
    }


    核心设计理念总结

  • 中文优先:所有关键字使用中文,保持jikuai特色

  • 分层组合:支持从3层到7层+的模块组合

  • 版本管理:内置版本控制,支持兼容性声明

  • 接口契约:通过接口定义模块间的合同

  • 声明式配置:支持声明式模块组合

  • 模板系统:支持模块模板,快速生成常用模式

  • 管道操作符:|> 支持数据流式组合

  • 仓库生态:内置模块发现和搜索机制

  • 这套语法设计既保持了jikuai的"中文编程"特色,又为"模块搭积木"的愿景提供了完整的语法支撑。

    Comate实现

    积木分层开发计划 · 目标回顾

    先摆事实,再给判断。

    计划设定的 6 项成功度量,实际达成

    • 可用性:AI 桥接 3 个 demo 端到端跑通 ✓
    • 覆盖度:52 个块(40 原子 + 12 一级),四领域各 13 个,超额完成保底 24+8 ✓
    • 质量:1479 passed / 34 skipped / 0 failed,新增测试远超计划的 300 条底线 ✓
    • 压缩比:中文金额 demo 达 0.103(少输出 90% 字符),超过 ≥10 倍目标 ✓
    • 文档:docs/块生态.md + ADR-15 + 路线图 + CHANGELOG + 教程 ✓
    • 社区可参与:jk 块 校验 让外部贡献者本地自查,双层原子性门禁兜底 ✓

    6/6 达成,属计划定义的"超预期"。 工作树 13 个源文件改动 + 52 块 × 3 文件新增,全绿。

    但你最初的愿景,只兑现了一部分

    你原话的三个核心设想,诚实地逐条对账:

    1. "生成很多现成的库,像搭积木组合" —— 兑现了 52 个块能用 从 blocks.X.Y 导入 Z 组合,管道 , 串联,dogfooding 和 demo 都验证了。这部分是真的。

    2. "3-7 块搭一级,7 级之后完成任何任务" —— 没兑现,而且这个推论本身站不住 我们做到了 L0→L1(原子→一级),验证了聚合可行。但再往上叠不是块数量问题,是参数流动问题。选块协议现在还靠人工填参、人工写链式传参。"7 级搭出任何任务"这个数学直觉(7^7≈82万组合)在工程上不成立——真实任务不按固定层级分解,横切关注点(错误、状态、异步)压不进积木树。

    3. "不需要 ai token,直接用 jikuai 实现 AI Agent 功能" —— 没兑现 这是最需要说清楚的。实测结论:AI 的输出量能从几百行压到几行,但 AI 不能被移除。v0 的关键词选块对口语化需求就失灵("查今天农历"里的"今/日"误命中工具块)。准确的定位是"AI 从代码生成器降级为块选择器",不是"取代 AI"。

    一句话总结

    计划(我制定的 3 个月路线图)100% 达成;愿景(你最初的构想)兑现了地基,但"零 token 替代 Agent"和"7 级搭万物"被实测证伪。

    这不是坏消息——真正有价值的发现是:领域规则越密集,块生态收益越大(数值 0.262 → 文本 0.224 → 中文金额 0.103)。这指向明确的下一步:v0.13.0 应优先扩中国特色规则块(发票、社保、公积金、农历节气、金融文本),并把选块从关键词升级到语义匹配、把粘合从模板升级到类型对齐。那才是"降级 AI"从口号变成事实的关键。

    要不要我把这份回顾沉淀成 docs/块生态-v0.12.0复盘.md,并起草 v0.13.0 路线图?

    赞(0)
    未经允许不得转载:171主机测评 » 当前流行AI 编程,比如 sole spec,就是给一段话, AI agent就自动去实现项目了,整个过程几乎不需要人的参与.jikuai是否可以生成很多现成的库,这些库可以像搭积木那么组合成一个项目
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址