发布时间:2026-01-25
浏览次数:0
倘若你曾运用过 、、 以及 等编程代理,你便会知悉其中的规律,你给予它一个提示,它就会生成不少代码,而后你就会思索:“极为出色,已然搞定。”。
然后您运行它。
砰!错误。
或者更糟的是,它虽然能用,但不是您想的那样。
这并不是因为人工智能不擅长编程。
并非如此。
真正的问题在于我们如何提问。
我们大多数人都会提出模棱两可的问题,并希望得到最好的答案。
但人工智能不会读心术。
它更像是一个非常普通的初级开发人员。
它会遵循模式,但不会猜测你的想法。
所以,与其听天由命,不如选择另一种方法:规范驱动开发。
1、什么是规范驱动开发?
存在这样一个想法,这个想法是比较简单的,然而却不要直接着手去进行编码,而是要起始于规范,清晰明了地讲出自己想要的究竟是什么,并且还要阐述清楚为什么会有那样的需求。
这份规范将成为唯一的事实来源。
人工智能使用它来生成、测试和验证代码。
不再需要猜测。不再需要“感觉差不多”。
现今,存在一款名为Spec Kit的新开源工具包,其目的在于,能够让生活变得更轻松 。
它能够助力您,以一种结构化的形式,运用 AI 展开构建,而用不着一头扎入那些会半途而废的代码文档里头。
2、Spec Kit 的工作原理
它分为四个阶段:
诀窍是什么?在当前步骤完成之前,您不会继续执行。
3、示例
假设您想要一个相册应用。
与其说:
“为我开发一个相册应用。”
不如这样开始:
指定:
搭建一个把照片规整到相册里的应用,该相册依据日期进行分组,能够借助拖放操作来重新开展排序,不存在嵌套相册的情况,于每个相册当中,将照片以网格的形式予以呈现。
计划:
拟定一个计划,要使用 Vite ,并且要尽可能地减少库的使用,持续坚持运用原生 HTML、CSS 以 及 JS ,把相册数据存储于特定之处,不要将图片上传至任何地方。
任务:
/任务
AI 将其分解为以下几个块:
实现:
/实现
当下,AI会针对每一个块开展编码工作,经由这一过程,您能够对那些精细且具针对性的变动予以审查,。
// drag-drop.js - Move albums around
const albumList = document.getElementById('album-list');
albumList.addEventListener('dragstart', (e) => {
e.target.classList.add('dragging');
e.dataTransfer.setData('text/plain', e.target.dataset.albumId);
});
albumList.addEventListener('dragover', (e) => {
e.preventDefault(); // Let it drop
});
albumList.addEventListener('drop', (e) => {
e.preventDefault();
const draggedId = e.dataTransfer.getData('text/plain');
const targetId = e.target.closest('.album').dataset.albumId;
// Update the database
const db = require('./db');
db.run(`UPDATE albums SET order_index = ? WHERE id = ?`, [targetOrder, draggedId]);
db.run(`UPDATE albums SET order_index = ? WHERE id = ?`, [draggedOrder, targetId]);
// Redraw the list
renderAlbums();
});
function renderAlbums() {
// Pull albums from DB, show them
// ...
}
4、为什么要这样繁琐呢?
让你难以确切领会的提示只是无端耗费时间,人工智能能够补充你未曾讲述的空缺部分,多数情形下,它做出的弥补会存在一些差错。
规范可以解决这个问题。
AI 不再猜测,你也无需重写。
5、最有帮助的地方
其优点体现于灵活性方面codejock xtreme toolkit,倘若你转变想法,仅仅需要去更新规范,进而使得AI能够单独进行调整 。
6、入门指南
Spec Kit具备开源特性,能够与几种分别不同的事物,也就是某种CLI以及另外一些事物互相展开配合进行使用codejock xtreme toolkit,其设置呈现出如下所列的具体情形 。
uvx --from git+https://github.com/github/spec-kit.git specify init my-project
接着,执行 /、/plan、/tasks,促使 AI 达成构建 。
创建规范:
/specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
制定技术实现计划:
/plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
使用 /tasks,去把那需要完成的任务给列举出来,接下来呢,让你的代理把该功能添加进去。
开发并非要因规范驱动而取代AI,也不是要让事情变得过于复杂,规范驱动开发是关乎指导的,你负责“做什么”以及“为什么做”,而AI负责“怎么做”。
特意准备的链接:特定规格的工具包,用于规范驱动的人工智能编程使用的配套资源包,是由汇智网所提供的 。
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码