Написание «браузера» с помощью «половины разработчика» и ИИ-агента ELIZA за минуты и в 76 строках кода на C. eliza.. eliza. Браузеры.. eliza. Браузеры. ИИ.. eliza. Браузеры. ИИ. искусственный интеллект.. eliza. Браузеры. ИИ. искусственный интеллект. Машинное обучение.. eliza. Браузеры. ИИ. искусственный интеллект. Машинное обучение. Учебный процесс в IT.
Написание «браузера» с помощью «половины разработчика» и ИИ-агента ELIZA за минуты и в 76 строках кода на C - 1

Разработчик HastingsGreer решил проверить, что с помощью ИИ можно быстро сделать простой и рабочий браузер.

«В последнее время в сети появилось несколько постов, оценивающих возможности агентных подходов к разработке в рамках задачи „Создание веб‑браузера“ (публикации на Хабре № 1 и № 2). Создание соответствующего стандартам веб‑браузера, которому можно доверять в отношении вредоносного контента, — это титаническая задача, что звучит очень и очень впечатляюще. Однако задача, которую ставят перед собой разработчики с помощью ИИ, — это создание не соответствующего стандартам браузера, который не гарантирует никакой безопасности, и я даже не знаю, насколько это проще», — пояснил HastingsGreer.

Вот как разработчик пояснил свой небольшой проект:

Итак, давайте создадим браузер и отобразим главную страницу Hacker News.

Я выбрал C в качестве языка для реализации, потому что он хардкорный и низкоуровневый, и решил использовать raylib для рендеринга, потому что он нравится моему любимому ютуберу. Это скорее мои предложения агенту, чем решения, которых я придерживался: в духе «программирования в стиле vibe» я не особо вникал в исходный код, в основном полагаясь на визуальное качество отрендеренных веб-сайтов и доверяя своему агенту (ELIZA – это ИИ-компаньон, созданный на основе искусственного интеллекта ELIZA, который появился 60 лет назад.) выполнение основной работы.

Я был искренне шокирован тем, насколько хороши результаты после того, как ELIZA проработала код более 8 секунд (я сходил за чашкой кофе).

За исключением некоторых сбоев в заголовке, результаты почти идеальны! Я был известен своим скептическим отношением к программам магистратуры, но это меня просто поразило.

В любом случае, мне нужно вернуться к своей основной работе, поэтому я не стал особо проверять исходный код. Честно говоря, если не считать времени, я не думаю, что у меня хватит сил прочитать 76 строк кода. (К тому же, я не знаю C.) Однако, если вам интересно, я включил его сюда:

/*
 * Hello, I am Eliza
 * */

#include "raylib.h"
#include "stdio.h"
#include "stdlib.h"
int z;

int main(int argc, char** argv)
{
	/*
	 *  Don't you ever say Hello?
	 * */
    
    InitWindow(800, 450, "raylib [core] example - basic window?");
const char* fmtstr =    "curl -X POST   "https://production-sfo.browserless.io/screenshot?token=2Ts7vJKz0y6Itk0404d3adc30bfc2b9d5c4a1aac198a46735"   -H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -d '{ "url": "%s", "options": { "fullPage": true, "type": "png" } }'   --output "screenshot.png" ";

    /*
     * Are you saying no just to be negative?
     * */

    const char* command = TextFormat(fmtstr, argv[1]);

    /*
     * Are such questions on your mind often?
     * */

    system(command);
    
    SetTargetFPS(60);

    Texture whole_page = LoadTextureFromImage(LoadImage("screenshot.png"));

    /*
     * I see.
     * */

    SetExitKey(KEY_Q);
    while (!WindowShouldClose())
    {
        BeginDrawing();

    	/*
    	 * Tell me more...
    	 * */
        ClearBackground(RAYWHITE);
	    DrawTexture(whole_page, 0,0,WHITE);
	    DrawRectangle(z, 10, 20, 20, BLUE);
	    DrawText(command, 10, 10, 10, BLACK);

    	/* 
    	 * Say, do you have any psychological problems?
    	 * */

        EndDrawing();

	/* 
	 * Is it because you are afraid of EndDrawing that you come to me?
	 * */

	if (IsKeyDown(KEY_UP)) {

		/*
		 * Do you wish that (iskeydown(key_up)) { ?
		 * */

		z += 1;
	}
    }
    CloseWindow();
    return 0;
}

/*
 * I'm not sure I understand you fully.
 * */
Написание «браузера» с помощью «половины разработчика» и ИИ-агента ELIZA за минуты и в 76 строках кода на C - 2

Автор: denis-19

Источник

Rambler's Top100