Saya telah memikul tugas yang agak mencabar. Itu adalah mengambil beberapa kod C# perusahaan hodoh dan menterjemahkannya kepada Python. Sebelum saya melakukan penyelaman yang mendalam, saya rasa saya perlu melakukan sedikit penjelasan.
Projek C# ini berfungsi sebagai lapisan paip data untuk beberapa model pembelajaran mesin. Melihat anda mendengar data perkara pertama yang perlu terlintas dalam fikiran anda ialah Python. Malangnya ini tidak berlaku, dan untuk menjadikannya lebih baik ia menggunakan sambungan .NET untuk Apache Spark. Menghijrahkannya kepada Python adalah masuk akal, kerana ia menggunakan teknologi yang agak tidak standard untuk masalah ini, yang menjadikan pengambilan bakat masa depan agak sukar. Dan terdapat masalah lain yang jelas, biasa dalam bahasa OOP perusahaan lain juga, seperti pelbagai peringkat abstraksi, warisan di mana-mana, penyongsangan kawalan, sekali lagi perkara yang anda tidak lakukan dalam paip data. Dan untuk memberi makan lagi kepada syaitan, pasukan kontraktor/perunding asal (kerana siapa lagi yang akan menggunakan C#, daripada beberapa perunding enterprice) akan pergi bulan depan.
BTW, saya menggunakan Neovim, dan saya telah menggunakan Github Copilot selama hampir dua tahun, juga Copilot Chat (secara teknikal ChatGPT) sejak saya mendapat versi pratonton, jadi saya bukanlah seorang pemula, apabila ia datang ke LLM dan kod.
Bagaimana rasanya mengekod dengan Claude 3.5, terdapat beberapa bahagian yang baik, buruk dan hodoh. Tetapi kebanyakannya anda tidak tahu apa yang sedang berlaku, walaupun anda boleh menulis fungsi yang sama dari awal.
Claude 3.5 cenderung menghasilkan keputusan yang sangat betul, namun, kadangkala ia cuba menjadi pintar, dan ia gagal, tetapi anda boleh membimbingnya untuk menyelesaikan masalahnya. Secara keseluruhannya ia adalah rakan yang baik untuk bertanya soalan, dan bagi saya, kerana saya mempunyai aliran kerja yang ketat dan saya telah meletakkan banyak usaha untuk mencipta gesaan yang canggih dengan banyak contoh dan kotak tepi, saya lebih berpuas hati. Saya boleh mengambil kelas C# dan menterjemah bahagian penting ke dalam Python yang memerlukan sedikit arahan tambahan.
Saya biasanya boleh pergi dan menulis kod selama 12 jam, dengan rehat bilik mandi sekali-sekala dan untuk mengisi semula kantin air saya. Dan ya, saya tidak berasa lapar apabila saya benar-benar memasukinya. Dengan Claude, saya benar-benar masuk ke dalam aliran, tetapi selepas kira-kira 3 jam saya berasa mati. Sepanjang 3 jam ini, saya telah menghasilkan banyak kod dan saya berasa produktif, tetapi ia seperti melakukan semakan kod tanpa henti, meminta perubahan, dan selalunya atau tidak mencari dokumentasi jika apa yang dijana itu sah.
Jika anda seorang pengekod, anda mungkin agak biasa dengan kod yang anda tulis. Kebiasaan ini cenderung pudar dengan masa, tetapi jika anda bekerja cukup lama dengan pangkalan kod, anda tahu cara anda mengelilingi. Dengan kod yang dijana LLM ini tidak berlaku. Saya kurang memahami apa yang berlaku. Selama beberapa hari saya menghasilkan banyak kod, menyemak setiap baris, dari semasa ke semasa saya meminta beberapa perubahan, tetapi akhirnya saya tidak tahu apa yang sebenarnya berlaku. Pada akhirnya pangkalan kod itu terasa seperti orang asing, sesuatu yang tidak saya tulis. Dan untuk memburukkan lagi keadaan, gaya kod sebenarnya adalah tidak konsisten, anda boleh membezakan fail yang ditulis pada hari yang sama, Rasanya seperti orang lain yang menulisnya.
Saya menghabiskan banyak masa untuk menyemak, menyusun semula, mengubahsuai pendekatan pengekodan LLM yang hebat ini, namun hasilnya kebanyakan masa hanyalah kod, yang agak berkesan, tetapi anda tidak tahu mengapa atau bagaimana. Soalan besarnya ialah:
Adakah berbaloi untuk mempunyai pangkalan kod yang anda tidak mempunyai banyak keterikatan, yang seolah-olah anda menulisnya setahun lalu dengan rakan sekerja khayalan.
Ringkasnya, saya merasakan saya menghasilkan lebih banyak kod, namun kualitinya lebih rendah daripada biasa. Dalam sesetengah kes, kualiti yang lebih rendah ini wajar, terutamanya jika anda tidak mengambil berat. Tetapi apa yang saya takut, masanya akan tiba, di mana setiap pangkalan kod akan menjadi "warisan" dalam masa yang singkat.
Atas ialah kandungan terperinci Memindahkan C# ke Python dengan Claude Sonnet.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!