Спецификация вашей идеи
Вы узнаете
Как сказать идею как один вход, один выход и один тест, и почему идея без теста не готова к передаче агенту.
Агент может построить только то, что вы умеете сказать. Самое малое, что можно сказать об идее, состоит из трёх частей: один вход, один выход и один тест, который говорит, что работа закончена. Возьмём выдуманный дневник чтения: вход это одно название книги, выход это сколько книг записано, а тест в том, что после одного названия счёт равен 1. Спецификация этого урока держит эти три части числами и проверяет их 4 тестами. Готово значит по одному каждого: 1 x 1 x 1 = 1. Поставьте число тестов 0, и тесты, которые его называют, покраснеют, потому что идея без теста не готова к передаче. Ваша идея может быть такой же маленькой.
Попробуйте
В спецификации поставьте IDEA_TESTS равным 0 и прочитайте, какие 2 теста падают; затем верните как было. Потом запишите свою идею как один вход, один выход и один тест, по одному предложению на каждый.
The three parts an idea needs before you hand it to an agent, filled in for a made-up reading log. Lesson 25 of the Vibecoding course.
specs/vibecoding/own_spec.t27
// SPDX-License-Identifier: Apache-2.0
; Vibecoding, lesson 25: A spec for your own idea.
; An idea is ready to hand to an agent when you can name its one input, its one output and the
; one test that tells you it is done. This spec is that sentence as a program, for a made-up
; idea: a reading log that takes one book title and answers with how many books are logged.
; Change a number below and see which test goes red. Ready is one of each: 1 x 1 x 1 = 1.
; phi^2 + 1/phi^2 = 3 | TRINITY
module vibecoding_own_spec;
; The idea, in numbers a beginner can count.
pub const IDEA_INPUTS : u8 = 1;
pub const IDEA_OUTPUTS : u8 = 1;
pub const IDEA_TESTS : u8 = 1;
test the_reading_log_has_one_input {
assert IDEA_INPUTS == 1;
}
test the_reading_log_has_one_output {
assert IDEA_OUTPUTS == 1;
}
test the_reading_log_has_a_test_that_says_done {
assert IDEA_TESTS >= 1;
}
test the_idea_is_ready_to_hand_over {
assert IDEA_INPUTS * IDEA_OUTPUTS * IDEA_TESTS == 1;
}
Все уроки
Модуль 1 · Что такое вайбкодинг
Вы описываете, агент пишет, вы запускаете и проверяете. Что такое программа, и пять мифов, проверенных тестом.
Модуль 2 · Ваш рабочий стол
Редактор с агентом рядом, десять команд терминала и чтение сообщения об ошибке.
Модуль 3 · Точки сохранения в git
Коммит это точка сохранения, ветка это безопасная проба, а ключ это пара, одна половина которой остаётся приватной.
Модуль 4 · Промптинг
Части промпта, пример вместо прилагательного и один маленький шаг за раз.
Модуль 5 · Рабочий цикл
Четыре фазы от идеи до выпуска, цикл из четырёх шагов и что делать, когда вы застряли.
Модуль 6 · Тест как судья
Тест говорит да или нет, подложенная ошибка показывает, что тест работает, а дифф читают до того, как принять.
Модуль 7 · Из чего состоит агент
Чем агент отвечает, что он умеет делать с инструментами и что хранит между сообщениями.
Модуль 8 · Начальный бот
Бот это цикл сообщений, бот строится из спеки, а секрет остаётся вне репозитория и промпта.
Модуль 9 · Ваш собственный проект
Спека для вашей идеи, одна величина, измеренная после запуска, и честный план на следующий месяц.