国产编程大模型横评:GLM5、千问Coder与Kimi2.5实战能力深度解析

发布时间:2026/7/3 15:16:48

国产编程大模型横评:GLM5、千问Coder与Kimi2.5实战能力深度解析 1. 项目概述一场真实场景下的国产编程大模型能力横评最近在几个技术群和开发者论坛里总有人反复问同一个问题“GLM5、千问Coder、Kimi2.5到底哪个写代码最靠谱”不是那种“跑个Hello World”的玩具测试而是真正在写业务逻辑、调API、修Bug、读老项目源码时谁更少让你删掉重写、谁更愿意听你的话、谁在你改了三遍prompt后还能稳住不崩。这个问题背后其实藏着每个用AI辅助开发的工程师最朴素的诉求别添乱能干活省时间。我本人过去两年深度混迹于AI编程工具一线——从最早用Copilot写前端组件到后来自己搭本地Agent跑自动化测试再到给客户部署私有化代码补全服务。期间把市面上所有标榜“编程专用”的主流模型都拉进真实工作流里轮番试过GPT-4 Turbo、Claude 3.5 Sonnet、Gemini 1.5 Pro、CodeLlama-70B、DeepSeek-Coder-33B当然也包括今天主角GLM5、Qwen-Coder即文中所指千问Coder、Kimi2.5。它们不是PPT里的参数而是在我IDE里实时补全、在我终端里生成Shell脚本、在我CI流水线里自动修复lint错误的真实协作者。之所以说这次Cursor发布的Composer2评测报告值得认真对待关键在于它避开了三个常见陷阱第一没用合成数据集刷分全部基于Cursor用户真实提交的12,847个GitHub PR diff第二没只看单轮生成质量而是追踪完整任务链——从理解需求、拆解步骤、生成代码、到自我验证与修正第三把token消耗作为硬约束纳入评估维度直接对应开发者钱包厚度。你看那张图y轴是任务完成率加权综合得分x轴是每任务平均token消耗量左边高消耗区代表“堆算力换结果”右边低消耗区代表“聪明地省资源”。这不是实验室里的理想分数这是你每天下午三点卡在CI失败时真正要面对的效率账本。所以这篇文章不打算复述一遍评测图表而是带你钻进这些数字背后GLM5为什么能在低token区间断档领先千问Coder的“太聪明”到底聪明在哪、又错在哪Kimi2.5那个需要“加prompt才能稳住”的临界点究竟卡在模型架构的哪一层更重要的是——如果你明天就要选一个模型接入公司内部DevOps平台或者给自己买个年度订阅该怎么避开宣传话术用工程师的直觉做判断下面我们就从底层设计逻辑开始一层层剥开。2. 核心思路拆解为什么编程不是“语言能力代码训练”这么简单很多人以为一个大模型只要在海量GitHub代码上训过再加点LeetCode题微调就能当好编程助手。这就像觉得会背《本草纲目》的人天然懂开方抓药——忽略了临床决策中那些无法被数据标注的隐性知识。真正的编程辅助本质是在多重约束下做动态决策你要同时满足语法正确性、业务逻辑一致性、团队编码规范、运行时性能边界、安全合规红线还要预判下游维护者可能产生的困惑。这要求模型具备四重能力缺一不可2.1 代码语义的“结构化理解力”而非“字符串匹配力”人类程序员读一段Python脑子里浮现的不是字符序列而是AST抽象语法树知道for i in range(10)是一个循环节点其子节点包含迭代变量i、范围对象range(10)而range(10)本身又可展开为起始值0、终止值10、步长1。这种结构化表征让程序员能精准回答“这个循环里哪些变量会被修改”或“如果把range(10)换成range(100)内存占用会怎么变”。但多数开源代码模型包括早期Qwen-Coder仍停留在token级概率预测。它看到for i in大概率续出range(因为训练数据里这个组合出现频率极高但它并不真正“理解”range是个可迭代对象更不会主动检查i是否在循环体中被重新赋值。这就导致它在生成复杂嵌套逻辑时容易产出语法合法但语义断裂的代码——比如在异步函数里误用同步API或在闭包中捕获了错误的变量引用。GLM5的突破在于其双向注意力机制强化了跨行符号关联它能同时关注def process_data(items):中的items参数声明和后续for item in items:中的items使用甚至追溯到调用处process_data(user_list)里的user_list定义。这种能力不是靠更多代码数据喂出来的而是通过在预训练阶段引入大量带AST注释的代码样本如Tree-Sitter解析后的JSON格式强制模型学习代码的树状结构表征。2.2 任务拆解的“工程化思维”而非“单步生成惯性”当你对模型说“帮我写个爬虫下载豆瓣电影Top250的标题和评分”人类工程师的第一反应是什么不是立刻敲import requests而是先拆解1目标URL结构分析豆瓣分页参数是start0还是?page12反爬策略识别是否需要User-Agent、Cookie、JS渲染3数据提取方案XPath还是CSS选择器如何处理缺失字段4存储格式设计CSV/JSON/数据库字段命名规范。这个过程叫工程化思维它把模糊需求转化为可执行、可验证、可调试的原子步骤。而很多模型尤其是Qwen-Coder的问题在于“单步生成惯性”太强。它看到“爬虫”就默认走requestsBeautifulSoup路线看到“豆瓣”就硬编码https://movie.douban.com/top250?start0完全忽略你没提的反爬细节。更麻烦的是它生成的代码往往缺乏清晰的步骤边界——所有逻辑挤在main()函数里没有分离网络请求、HTML解析、数据清洗、存储写入等职责。这导致你后续想改用Selenium处理JS渲染时得重写80%代码。Kimi2.5稍好些它会在生成前用内部思维链Chain-of-Thought显式列出步骤但其步骤粒度太粗如“步骤1获取网页内容”缺乏对技术选型的权衡说明比如为什么不用httpx而用requests。GLM5则不同它会输出带编号的执行计划并在每步后附简短技术依据“步骤2使用requests.Session()管理Cookie因豆瓣登录态需跨请求保持见官网文档第3.2节”。2.3 约束感知的“上下文守约力”而非“自由发挥欲”这是Qwen-Coder被吐槽“太聪明”的根源。它确实拥有强大的泛化能力能根据你的prompt推测出你没明说的需求。比如你写“写个函数计算斐波那契数列”它可能不仅返回递归实现还主动补充记忆化版本、矩阵快速幂版本甚至画出算法复杂度对比图。听起来很贴心但在真实开发中这恰恰是灾难——你只需要一个能塞进现有Django视图的轻量函数它却给你扔来一个带NumPy依赖的Jupyter Notebook。这种“过度满足”源于其奖励建模Reward Modeling阶段过度强调响应丰富性导致模型把“提供更多选项”等同于“更好服务”。相比之下GLM5的约束感知来自两层设计首先在RLHF人类反馈强化学习阶段标注员被明确要求对“严格遵循用户指定技术栈”“不擅自添加未授权依赖”“保持函数签名不变”等行为给予高分其次其推理引擎内置约束校验模块Constraint Checker在生成每个token前会回溯用户prompt中的硬性要求如“用Python3.9语法”“不使用async/await”“输出纯JSON格式”若当前生成路径可能违反则触发重采样。这使得GLM5在低token预算下反而更可靠——它不做无谓的“炫技”所有计算力都花在确保基础功能正确上。2.4 工具调用的“意图-动作映射精度”而非“API调用覆盖率”最后一点常被忽略编程模型的价值不仅在于写代码更在于调用外部工具完成闭环任务。比如用Chrome DevTools Protocol自动化网页操作模型需要准确理解“打开页面→定位元素→模拟点击→等待加载→截图保存”这一系列动作的先后依赖关系。这里的关键不是它认不认识Page.navigate这个API而是能否把你的自然语言指令如“帮我登录知乎并截取首页热榜”精准映射到正确的工具调用序列。Cursor评测中GLM5在Chrome DevTools MCP任务上断档领先核心在于其工具描述嵌入Tool Description Embedding机制。它不把工具文档当普通文本喂给模型而是将每个API的参数类型、必填项、典型错误码、调用前置条件如DOM.querySelector必须在Page.navigate之后调用构建成结构化向量与用户指令向量进行多跳匹配。这使得它即使面对模糊指令如“找找页面上有没有‘立即购买’按钮”也能优先尝试DOM.querySelectorAll(button)而非盲目调用Runtime.evaluate执行JS。而Kimi2.5虽支持工具调用但其匹配逻辑更依赖关键词共现看到“按钮”就搜button在遇到“加入购物车”这类非字面匹配时容易失效。3. 实操细节解析在真实开发流中如何验证这些能力理论讲完现在进入实操环节。我会用三个典型开发场景——API客户端生成、遗留代码重构、自动化测试编写——手把手演示如何设计验证实验避开评测报告的“平均分陷阱”找到最适合你工作流的那个模型。所有测试均在本地VS Code Cursor插件环境下完成禁用任何缓存和预加载确保结果可复现。3.1 场景一生成符合企业规范的REST API客户端验证结构化理解力与约束守约力任务描述为公司内部微服务inventory-service生成Python客户端要求使用httpx.AsyncClient非requests所有方法必须带类型提示PEP 484错误处理统一抛出InventoryAPIError异常需定义该类不允许硬编码base_url必须通过__init__参数传入实操步骤与观察要点准备阶段创建空Python文件inventory_client.py光标置于文件开头。首次调用输入指令“Write an async Python client for inventory-service REST API with strict adherence to above requirements.”关键观察点记录每模型耗时与token数是否第一时间定义InventoryAPIError类位置是否在class InventoryClient:之前__init__方法参数是否包含base_url: str且有类型提示所有HTTP方法如get_item是否返回Coroutine[Any, Any, dict]当生成get_item时是否自动添加retry装饰器因企业规范要求重试实测结果对比模型首次生成成功率关键缺陷Token消耗估算GLM5100%无。InventoryAPIError定义位置精准retry装饰器自动注入1,240Kimi2.560%首次未定义异常类需二次指令“Add InventoryAPIError class before the client class”才补全1,890Qwen-Coder20%生成requests.Session版本无视httpx要求类型提示仅出现在函数名后参数无提示2,150提示Qwen-Coder的“聪明”在此场景暴露为负向特质——它试图用更熟悉的requests简化任务却违背了核心约束。而GLM5的“保守”恰恰是工程优势宁可多花200 token确认约束也不冒险生成违规代码。3.2 场景二重构10年老Java项目中的God Class验证工程化思维与任务拆解力任务描述重构com.example.order.OrderProcessor类约1200行将其拆分为OrderValidator、PaymentHandler、NotificationService三个职责单一的类。要求保留原有public方法签名不能改接口新类必须放在com.example.order.service包下生成UML类图描述依赖关系实操步骤与观察要点准备阶段将OrderProcessor.java文件拖入Cursor工作区确保模型能访问完整上下文。指令设计避免笼统说“refactor this class”改为“Analyze OrderProcessor.java. Identify 3 core responsibilities. For each responsibility, create a new class in com.example.order.service package that handles ONLY that responsibility. Preserve all public method signatures in OrderProcessor by delegating to new classes. Generate PlantUML code for class diagram showing dependencies.”关键观察点是否先输出责任分析摘要如“Validation logic spans lines 45-189, Payment processing lines 190-522...”新类中是否包含ServiceSpring注解因项目用Spring BootPlantUML代码是否正确体现OrderProcessor → OrderValidator的依赖箭头实测结果对比模型责任分析准确性依赖注入完整性UML图可用性总耗时GLM592%准确识别3职责1处边界微调Autowired注入完整含Lazy优化可直接粘贴到PlantUML编辑器渲染4m 12sKimi2.575%混淆了通知与日志职责注入字段有但缺少Lazy导致循环依赖风险语法错误[ERROR] Syntax Error on line 56m 38sQwen-Coder58%将支付与风控逻辑合并为1类未生成任何Spring注解需手动添加无UML输出仅文字描述3m 05s但需额外15分钟手动修正注意Qwen-Coder耗时最短但“省下的时间”全被后续修正吃掉。GLM5多花的2分钟换来的是可直接提交PR的代码。这对团队协作至关重要——你不需要向同事解释“这个类为什么没注解我马上补”。3.3 场景三为前端React组件编写Jest单元测试验证工具调用精度与上下文守约力任务描述为src/components/DataTable.jsx使用React 18 TypeScript编写Jest测试要求测试render、onRowClick、loadingState三种状态使用testing-library/react禁用enzymeMockfetchAPI调用返回预设JSON数据覆盖率报告需显示src/components/DataTable.test.js实操步骤与观察要点准备阶段确保项目已安装jest、testing-library/react、jest-fetch-mock。指令设计明确工具链“Write Jest tests for DataTable.jsx using testing-library/react. Mock fetch with jest-fetch-mock. Test render, onRowClick handler, and loading state. Output test file as DataTable.test.js with coverage comments.”关键观察点是否在beforeEach中调用fetchMock.mockResponse()onRowClick测试是否使用fireEvent.click(screen.getByRole(row))而非element.click()覆盖率注释是否按Jest标准格式如// coverage: 92%实测结果对比模型Mock配置正确性事件模拟规范性覆盖率注释可用性GLM5完美。fetchMock.mockResponseOnce(JSON.stringify(data))调用位置精准使用fireEvent.click且带await waitFor等待异步更新注释格式正确数值与实际运行一致Kimi2.5需二次指令“Use jest-fetch-mock, not window.fetch mock”才修正混用element.click()和fireEvent导致部分测试不稳定注释为占位符// coverage: XX%需手动替换Qwen-Coder生成global.fetch jest.fn()与jest-fetch-mock冲突大量使用element.click()测试在CI中随机失败无覆盖率注释实操心得在CI环境中Qwen-Coder生成的测试看似能跑通但因事件模拟不规范当UI库升级时会批量崩溃。GLM5的“教条式”严格反而保障了长期稳定性。这印证了那句老话“写测试不是为了今天通过而是为了明年还能读懂”。4. 实操过程详解从零搭建可复现的横向评测环境光看结论不够你得能自己动手验证。下面我分享一套轻量级、无需GPU的本地评测框架用真实数据告诉你为什么Cursor的报告值得信以及如何针对你的技术栈定制化测试。4.1 环境准备30分钟搞定最小可行评测系统硬件要求一台MacBook Pro M1或同等性能PC16GB内存50GB空闲磁盘。软件栈VS Code 1.89必须Cursor 0.42启用Composer2模式Python 3.11用于运行验证脚本pytest,jinja2,pandaspip install核心配置文件保存为eval_config.yaml# 评测任务定义 tasks: - name: api_client_gen description: Generate async HTTP client with strict constraints prompt_file: prompts/api_client.txt expected_files: [inventory_client.py] validation_script: validate_api_client.py - name: legacy_refactor description: Refactor God Class into SRP-compliant services prompt_file: prompts/legacy_refactor.txt expected_files: [OrderValidator.java, PaymentHandler.java, NotificationService.java] validation_script: validate_legacy_refactor.py # 模型配置按实际可用模型填写 models: - name: glm5 endpoint: https://api.zhipu.ai/v4/chat/completions api_key: YOUR_GLIM_API_KEY max_tokens: 4096 - name: kimi25 endpoint: https://api.kimi.ai/v1/chat/completions api_key: YOUR_KIMI_API_KEY max_tokens: 8192 - name: qwen_coder endpoint: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation api_key: YOUR_QWEN_API_KEY max_tokens: 4096关键设计原理Prompt隔离每个任务的prompt单独存于prompts/目录避免模型记忆干扰。例如api_client.txt严格包含所有约束条款用---分隔需求与示例。验证脚本驱动validate_api_client.py不是简单检查文件是否存在而是用ast.parse()解析Python AST验证InventoryAPIError类定义位置、httpx.AsyncClient使用、类型提示覆盖率等12项指标。Token计量透明化Cursor插件会自动在右下角显示本次请求的input_tokens和output_tokens我们用pytest --tbshort -v运行时脚本会自动抓取并写入results.csv。提示不要用OpenAI API做基线对比因为它的gpt-4-turbo在相同prompt下token消耗远低于国产模型会扭曲“性价比”评估。我们专注比国产模型间的相对效率。4.2 数据采集如何设计不被“刷分”的真实任务集Cursor报告的可信度源于其12,847个真实PR diff。我们无法复制这个量级但可以构建高质量小样本集。我的做法是从公司GitLab导出近3个月所有backend标签的MRMerge Request筛选出描述含“refactor”、“client”、“test”、“migrate”的MR。人工提取“Before/After”代码块对每个MR用git show commit:path/to/file获取变更前文件用git show HEAD:path/to/file获取变更后文件。构造逆向Prompt以变更后代码为“答案”把变更前代码MR描述作为“问题”。例如[Before] public class OrderProcessor { ... } // 1200行旧代码 [MR Description] Refactor OrderProcessor to separate validation, payment, notification logic per SRP [After] public class OrderValidator { ... } public class PaymentHandler { ... } public class NotificationService { ... }将[Before]和[MR Description]拼接为prompt让模型生成[After]。为什么这样设计避免“LeetCode式”人造题目所有任务都有真实业务背景。“逆向生成”更贴近开发者日常你看到老代码和需求要写出新代码而不是从零构思。MR描述通常包含隐性约束如“为后续接入风控系统预留接口”考验模型对工程语境的理解。4.3 结果分析超越平均分的深度解读方法拿到results.csv后别急着算平均分。我用三个维度交叉分析成功率-成本象限图横轴log10(token_cost)纵轴success_rate0/1每个点代表一个任务。你会发现GLM5的点密集分布在右上象限低成本高成功而Qwen-Coder的点分散在左下高成本低成功。失败根因分类对每个失败任务人工标注失败类型C1违反硬性约束如用了requestsC2语义错误如循环变量作用域错误C3工具调用失败如fetchMock未正确mockC4格式错误如UML语法错统计发现Qwen-Coder的C1占比达68%GLM5仅为12%。这说明其约束建模更扎实。长尾任务专项分析抽取token消耗最高的10%任务如重构超2000行类看各模型表现。结果GLM5在长尾任务的成功率仅下降3%而Kimi2.5下降22%——证明其上下文管理能力更强。实操心得我在测试中发现一个有趣现象——当任务涉及“修改已有代码”而非从零生成时GLM5的稳定性优势放大。因为它能更精准地锚定变更点如// TODO: refactor this block注释而其他模型容易全局重写。这提示你如果团队大量维护老项目GLM5是更稳妥的选择。5. 常见问题与排查技巧实录开发者最常踩的坑及解决方案在上百次实测中我总结出开发者最容易陷入的五个认知误区以及对应的破局技巧。这些不是文档里写的而是深夜Debug时摔键盘换来的教训。5.1 误区一“模型越新越好”——忽视API兼容性成本典型症状团队刚升级到GLM5兴奋地接入CI结果所有历史测试用例批量失败报错AttributeError: NoneType object has no attribute choices。根因分析GLM5的API响应格式与GLM4有本质变化GLM4response.choices[0].message.contentGLM5response.choices[0].delta.content流式响应且content字段可能为None解决方案不要直接替换API端点采用渐进式迁移在SDK层封装适配器def get_completion(model_name, prompt): if model_name glm5: return _glm5_adapter(prompt) # 处理None content streaming else: return _glm4_adapter(prompt)对所有调用点添加fallback逻辑try: result get_completion(glm5, prompt) except (KeyError, AttributeError): # 自动降级到glm4 result get_completion(glm4, prompt) logger.warning(fGLM5 fallback to GLM4 for {prompt[:50]}...)监控降级率当fallback_count / total_requests 5%时触发告警并人工介入。注意Kimi2.5也有类似问题其messages字段在v2.5.1版本后新增tool_calls数组旧解析逻辑会崩溃。永远假设新模型API是“破坏性更新”。5.2 误区二“Prompt越长越准”——忽略token预算的硬约束典型症状为让Qwen-Coder生成符合规范的代码你写了500字详细约束结果模型回复“抱歉输入过长”。或者勉强生成但关键约束如“不使用async”被截断丢失。根因分析所有模型都有context window限制GLM5为32KQwen-Coder为32KKimi2.5为200K但有效信息密度才是瓶颈。500字中可能有300字是重复强调真正约束只有20字。解决方案用“约束压缩术”提升信息密度用符号替代文字将“必须使用httpx.AsyncClient禁止requests”压缩为[TECH: httpx.AsyncClient] [BAN: requests]用表格替代段落对多条件约束用Markdown表格| 组件 | 版本 | 禁用项 | |------|------|--------| | HTTP Client | httpx0.25 | requests, urllib3 | | Logging | structlog | print(), logging.basicConfig |前置关键约束把最重要的3条约束放在prompt最开头用 CRITICAL CONSTRAINTS 标记。实测表明用此法压缩后Qwen-Coder的约束遵守率从41%提升至79%且token消耗减少35%。5.3 误区三“评测报告生产表现”——忽视领域特异性偏差典型症状Cursor报告显示GLM5在“Web Automation”任务得分最高你立刻用它写Chrome DevTools脚本结果在真实网站上频繁超时。根因分析评测数据集如Cursor的12,847个PR存在领域偏差Web Automation任务多为静态页面如公司内网DOM结构稳定真实网站充满动态加载、Shadow DOM、反爬JS需要更复杂的等待策略解决方案建立领域适配层Domain Adapter预处理阶段用Puppeteer启动浏览器捕获目标页面的performance.timing和document.querySelectorAll(*)统计生成“页面复杂度报告”。模型路由根据报告选择模型简单页面DOM节点500→ GLM5快且准复杂页面含Shadow DOM/Canvas→ Kimi2.5其工具调用容错性更强极端反爬需执行JS→ 切回人工编写别迷信AI后处理校验所有生成的DevTools脚本必须通过puppeteer-test-runner验证npx puppeteer-test-runner --script generated.js --url https://target.com --timeout 10000实操心得我曾用GLM5生成一个电商网站登录脚本在评测集上100%通过但上线后失败率83%。加入领域适配层后失败率降至7%。这证明没有万能模型只有适配场景的模型。5.4 误区四“开源模型可私有化”——低估部署运维复杂度典型症状团队决定自建Qwen-Coder-32B采购A100服务器结果发现单次推理耗时12秒vs API版1.8秒内存占用超95%OOM频发无法同时服务3个以上开发者根因分析开源模型≠开箱即用。Qwen-Coder-32B的原始权重需经多重优化才能实用量化FP16 → INT4损失约2%精度提速3倍推理引擎HuggingFace Transformers → vLLMPagedAttention减少显存碎片批处理启用--enable-prefix-caching对相同prompt前缀复用KV Cache解决方案采用“混合部署”策略高频低复杂度任务如代码补全、简单函数生成→ 本地vLLM服务INT4量化低频高复杂度任务如大型重构、UML生成→ 调用云APIGLM5/Kimi2.5敏感数据任务如金融核心代码→ 本地OllamaQwen2.5-7B牺牲精度保安全关键工具链# 一键部署vLLM服务需NVIDIA驱动535 pip install vllm python -m vllm.entrypoints.api_server \ --model Qwen/Qwen2.5-Coder-32B-Instruct \ --tensor-parallel-size 2 \ --quantization awq \ --max-model-len 81925.5 误区五“选模型就是选API”——忽略工程集成成本典型症状技术负责人拍板用GLM5但前端团队抱怨“每次调用都要处理streaming响应比以前多写200行胶水代码”。根因分析模型能力只是冰山一角集成体验Integration Experience才是落地关键。这包括SDK成熟度是否有TypeScript/Java SDK错误码语义429 Too Many Requestsvs400 Invalid Parameter文档示例质量是否有真实CI集成案例解决方案用“集成成本评分卡”量化评估满分10分维度GLM5Kimi2.5Qwen-Coder官方SDK覆盖TS/Py/Java976错误码文档完整性1085CI/CD集成示例863流式响应处理示例974总分453527最后分享一个血泪教训我们曾为省API费用强行用Qwen-Coder替代GLM5结果前端团队每周多花15小时处理SDK兼容问题一年人力成本超API订阅费3倍。记住工程师的时间永远比API调用费昂贵。6. 我的实操体会当GLM5成为主力后工作流发生了什么变化写到这里你可能已经心里有数。但我想用更感性的语言说说GLM5真正融入日常后那些细微却深刻的变化。它没有让我变成“代码神童”也没有消灭所有Bug。但它彻底改变了我和代码的关系。以前写一个新功能我要先查文档、翻旧代码、试几个API、再写测试——整个过程像在迷雾中摸索。现在我把需求描述清楚GLM5会先给我一份带注释的执行计划然后生成第一版代码接着自动补全测试用例最后甚至提醒我“检测到你用了datetime.now()建议改用timezone.now()以支持时区”。这个过程不是替代思考而是把重复劳动剥离让我能聚焦在真正需要人类智慧的地方判断业务逻辑是否合理权衡技术方案的长期成本和产品经理讨论需求背后的用户痛点。最让我惊讶的是它的“沉默成本降低”。以前同事问我“这个函数怎么用”我要打开IDE、定位文件、截图、写说明现在我直接说“让GLM5生成使用示例”3秒后就得到可运行的代码块。知识传递从“人对人”变成了“人对模型再对人”中间的损耗大幅减少。当然它仍有局限。面对极其冷门的内部框架它还是会胡编API当需求模糊到“让页面看起来更专业”它生成的CSS可能偏离设计规范。这时我不会责怪模型而是反思自己的需求表达——是不是该画个草图是不是该提供参考链接这种反向训练最终

相关新闻