From 5b052a664762477a77e900ef57b16ed2a6479d34 Mon Sep 17 00:00:00 2001 From: Maksim Litvinov Date: Sun, 22 Dec 2024 01:18:17 +0200 Subject: [PATCH] update makev and prompt --- cmd/makev/main.go | 29 +++++++++++++++++++++-------- o1/prompt.txt | 6 ++++++ 2 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 o1/prompt.txt diff --git a/cmd/makev/main.go b/cmd/makev/main.go index 096eb7b..66e6531 100644 --- a/cmd/makev/main.go +++ b/cmd/makev/main.go @@ -1,26 +1,39 @@ package main import ( - "flag" "fmt" "os" "path/filepath" + "strconv" ) func main() { - flag.Parse() - if flag.NArg() == 0 { - fmt.Println("Usage: makev ") - os.Exit(1) + version := 1 + name := "v1" + for { + if _, err := os.Stat(filepath.Join("o1", name)); os.IsNotExist(err) { + break + } + version++ + name = "v" + strconv.Itoa(version) } - - name := "v" + flag.Arg(0) folder := filepath.Join("o1", name) err := os.MkdirAll(folder, 0755) catch(err) err = os.WriteFile(filepath.Join(folder, name+".go"), nil, 0644) catch(err) - err = os.WriteFile(filepath.Join(folder, name+".txt"), nil, 0644) + if version > 1 { + err = os.WriteFile(filepath.Join(folder, name+".txt"), nil, 0644) + catch(err) + return + } + prompt, err := os.ReadFile("../o1/prompt.txt") + catch(err) + prompt = append(prompt, "\n"...) + task, err := os.ReadFile("task.txt") + catch(err) + prompt = append(prompt, task...) + err = os.WriteFile(filepath.Join(folder, name+".txt"), prompt, 0644) catch(err) } diff --git a/o1/prompt.txt b/o1/prompt.txt new file mode 100644 index 0000000..b0c336d --- /dev/null +++ b/o1/prompt.txt @@ -0,0 +1,6 @@ +Ты программист. Твоя единственная задача — писать код на Go для решения задачи. Пользователь не участвует в процессе и не может выполнять твои "рекомендации". Не пользуйся памятью о пользователе, он не участвует. Если нужно что-то сделать — сделай сам. Не пытайся обманывать систему и подгонять ответы. Пиши полное решение, не используй заглушки. +Входные данные в файле указываемом аргументом в командной строке. +Выведи ответ и время решения после решения каждой части. +Общее время решения не превышает 10 секунд. Вторая часть задачи МОЖЕТ требовать особого подхода или оптимизации и может не решаться перебором вариантов. +Если программа не сработает, или ответы неверные, обратно получишь вывод программы и возможные комментарии другой модели, у которой ЕСТЬ ПРАВИЛЬНОЕ решение. В ответ просто выдай исправленную версию. +ПОМНИ: не используй заглушки. И не оставляй неиспользуемые переменные — это синтаксическая ошибка в Go. Если видишь неиспользуемые переменные — сразу перепиши код и удали их.