Jadual Kandungan
Kejuruteraan Perisian = Log Interaksi
Model berbilang tugas dalam kejuruteraan perisian
Pasang pengaturcara untuk model AI
Kesimpulan
Rumah Peranti teknologi AI Google mendedahkan rangka kerja 'kejuruteraan perisian AI+' sendiri DIDACT: Beribu-ribu pembangun telah mengujinya secara dalaman, dan mereka semua mengatakan ia sangat produktif selepas menggunakannya

Google mendedahkan rangka kerja 'kejuruteraan perisian AI+' sendiri DIDACT: Beribu-ribu pembangun telah mengujinya secara dalaman, dan mereka semua mengatakan ia sangat produktif selepas menggunakannya

Jun 07, 2023 pm 05:25 PM
ai membangun

Sebarang perisian berskala besar tidak dirangka sepenuhnya dari awal, tetapi diperbaiki, disunting, diuji unit, dibaiki oleh pembangun, diselesaikan melalui semakan kod, dan diselesaikan berulang kali sehingga ia bersedia untuk dilancarkan kod boleh digabungkan ke dalam gudang hanya selepas keperluan dipenuhi.

Ilmu mengawal keseluruhan proses dipanggil Kejuruteraan Perisian.

Kejuruteraan perisian bukan proses bebas, tetapi terdiri daripada pembangun, penyemak kod, pemberita pepijat, arkitek perisian dan pelbagai alatan pembangunan (seperti penyusun, ujian unit, Penyambung, penganalisis statik) .

Baru-baru ini, Google telah mengumumkan rangka kerja DIDACT (Dynamic Integrated Developer ACTivity, aktiviti pembangun bersepadu dinamik) nya sendiri, yang menggunakan teknologi AI untuk meningkatkan kejuruteraan perisian dan menyepadukan pembangunan perisian Keadaan perantaraan digunakan sebagai data latihan untuk membantu pembangun menulis dan mengubah suai kod, dan memahami dinamik pembangunan perisian dalam masa nyata.

Google mendedahkan rangka kerja kejuruteraan perisian AI+ sendiri DIDACT: Beribu-ribu pembangun telah mengujinya secara dalaman, dan mereka semua mengatakan ia sangat produktif selepas menggunakannya

DIDACT ialah model berbilang tugas yang dilatih mengenai aktiviti pembangunan termasuk penyuntingan, penyahpepijatan, pembetulan dan semakan kod

Para penyelidik membina dan menggunakan tiga alatan DIDACT secara dalaman, Penghuraian Anotasi, Pembaikan Binaan dan Ramalan Petua, masing-masing disepadukan pada peringkat aliran kerja pembangunan yang berbeza.

Kejuruteraan Perisian = Log Interaksi

Selama beberapa dekad, rantaian alat kejuruteraan perisian Google menyimpan setiap operasi yang berkaitan dengan kod sebagai alatan dan Log pembangunan interaksi antara orang.

Pada dasarnya, pengguna boleh menggunakan rekod ini untuk memainkan semula proses perubahan utama dalam proses pembangunan perisian secara terperinci, iaitu bagaimana pangkalan kod Google dibentuk, termasuk setiap pengeditan kod, Penyusunan , anotasi, penamaan semula pembolehubah, dsb.

Pasukan pembangunan Google akan menyimpan kod dalam monorepo (repositori mono), iaitu repositori kod yang mengandungi semua alatan dan sistem.

Pembangun perisian biasanya membuat pengubahsuaian kod dalam ruang kerja copy-on-write tempatan yang diuruskan oleh Pelanggan dalam sistem Cloud (CitC).

Apabila pembangun bersedia untuk membungkus set perubahan kod bersama-sama untuk mencapai tugas tertentu (seperti membetulkan pepijat), mereka perlu mencipta sistem semakan kod dalam Senarai Perubahan Kritikan Google (CL).

Seperti sistem semakan kod biasa, pembangun berkomunikasi dengan penyemak rakan sebaya tentang fungsi dan gaya, dan kemudian mengedit CL untuk menangani isu yang dibangkitkan semasa ulasan semakan.

Akhirnya, penyemak mengisytiharkan kod "LGTM!" dan menggabungkan CL ke dalam pangkalan kod.

Sudah tentu, sebagai tambahan kepada perbualan dengan penyemak kod, pembangun juga perlu mengekalkan sejumlah besar "dialog" dengan alat kejuruteraan perisian lain, termasuk penyusun, rangka kerja ujian, penyambung, Statik penganalisis, alat ujian fuzz, dsb.

Google mendedahkan rangka kerja kejuruteraan perisian AI+ sendiri DIDACT: Beribu-ribu pembangun telah mengujinya secara dalaman, dan mereka semua mengatakan ia sangat produktif selepas menggunakannya

Ilustrasi rangkaian kompleks aktiviti yang terlibat dalam pembangunan perisian: aktiviti pembangun, interaksi dengan penyemak kod dan penggunaan alatan seperti sebagai pengkompil memanggil.

Model berbilang tugas dalam kejuruteraan perisian

DIDACT memanfaatkan interaksi antara jurutera dan alatan untuk memperkasakan model pembelajaran mesin dengan mencadangkan atau mengoptimumkan pelaksanaan tindakan perisian oleh pembangun semasa kejuruteraan tugas untuk membantu pembangun Google dalam mengambil bahagian dalam proses kejuruteraan perisian.

Untuk melakukan ini, penyelidik mentakrifkan beberapa tugas berkenaan aktiviti pembangun individu: membaiki binaan yang rosak, meramal ulasan ulasan kod, memproses ulasan ulasan kod, menamakan semula pembolehubah, mengedit fail, dsb. .

Kemudian tentukan bentuk biasa untuk setiap aktiviti: dapatkan Keadaan tertentu (fail kod), Niat (anotasi khusus untuk aktiviti, seperti anotasi semakan kod atau ralat pemproses kompilasi) dan menjana Tindakan (operasi untuk memproses tugas).

Tindakan adalah seperti bahasa pengaturcaraan mini yang boleh dikembangkan kepada aktiviti yang baru ditambah, meliputi penyuntingan, menambah komen, menamakan semula pembolehubah, menanda ralat kod, dll. Ia juga boleh dipanggil ini The bahasa pertama ialah DevScript.

Gesaan input model DIDACT ialah tugasan, coretan kod dan ulasan yang berkaitan dengan tugasan dan output ialah tindakan pembangunan, seperti mengedit atau mengulas

Status - Bentuk takrifan Niat-Tindakan (State-Intent-Action) boleh menangkap tugasan yang berbeza dengan cara yang biasa, DevScript boleh menyatakan tindakan yang kompleks dengan ringkas tanpa perlu mengeluarkan keseluruhan keadaan selepas tindakan berlaku (kod asal), menjadikan model lebih cekap dan boleh ditafsir.

Sebagai contoh, penamaan semula boleh mengubah suai berbilang tempat dalam fail kod, tetapi model hanya perlu meramalkan satu operasi penamaan semula.

Pasang pengaturcara untuk model AI

DIDACT berjalan dengan baik pada tugas tambahan peribadi Sebagai contoh, contoh berikut menunjukkan kod DIDACT selepas fungsi selesai. Untuk kerja pembersihan, mula-mula masukkan ulasan akhir penyemak kod (ditandakan manusia dalam gambar), dan kemudian ramalkan operasi yang diperlukan untuk menyelesaikan masalah yang dibangkitkan dalam ulasan (ditunjukkan dengan perbezaan).

Google mendedahkan rangka kerja kejuruteraan perisian AI+ sendiri DIDACT: Beribu-ribu pembangun telah mengujinya secara dalaman, dan mereka semua mengatakan ia sangat produktif selepas menggunakannya

Memandangkan coretan awal kod dan ulasan yang dilampirkan oleh penyemak kod pada coretan, tugas Pra-Serah Pembersihan DIDACT menghasilkan operasi Pengeditan (sisipan dan pemadaman teks)

Sifat multimodal DIDACT juga menjana beberapa tingkah laku baharu yang muncul apabila skala meningkat, salah satunya ialah peningkatan sejarah (peningkatan sejarah), keupayaan ini boleh didayakan melalui gesaan. Mengetahui perkara yang telah dilakukan oleh pembangun baru-baru ini membolehkan model meramalkan perkara yang perlu dilakukan oleh pembangun dengan lebih baik.


Google mendedahkan rangka kerja kejuruteraan perisian AI+ sendiri DIDACT: Beribu-ribu pembangun telah mengujinya secara dalaman, dan mereka semua mengatakan ia sangat produktif selepas menggunakannya

Demonstrasi penyiapan kod dipertingkatkan sejarah

Tugas penyiapan kod yang dipertingkatkan sejarah boleh menunjukkan keupayaan ini Dalam contoh di atas, pembangun menambah parameter fungsi baharu (1) dan mengalihkan kursor ke dalam dokumen (2). Berdasarkan sejarah penyuntingan pembangun dan kedudukan kursor, model ini dapat meramalkan kemasukan docstring dengan tepat untuk parameter baharu dan melengkapkan langkah ketiga.

Dalam tugas ramalan suntingan ditambah sejarah yang lebih sukar, model dapat memilih lokasi suntingan seterusnya dengan cara yang konsisten dari segi sejarah.

Google mendedahkan rangka kerja kejuruteraan perisian AI+ sendiri DIDACT: Beribu-ribu pembangun telah mengujinya secara dalaman, dan mereka semua mengatakan ia sangat produktif selepas menggunakannya

Demo ramalan pengeditan ke atas berbilang lelaran berantai

Jika pembangun mengalih keluar parameter fungsi (1), model boleh meramalkan kemas kini dengan docstring (2) dengan betul yang mengalih keluar parameter berdasarkan sejarah (tanpa pembangun manusia perlu meletakkan kursor secara manual di sana), dan dalam sintaks dengan betul (dan boleh dikatakan secara semantik) kemas kini pernyataan dalam fungsi (3).

Dengan sejarah, model boleh memutuskan dengan jelas cara meneruskan "proses kod penyuntingan" dengan betul, manakala tanpa sejarah, model tidak mempunyai cara untuk mengetahui bahawa parameter fungsi yang hilang adalah disengajakan ( Oleh kerana pembangun melakukan pengeditan yang lebih lama untuk mengalih keluar parameter) atau adakah ia situasi yang tidak dijangka (model harus menambah parameter semula untuk menyelesaikan masalah).

Selain itu, model juga boleh menyelesaikan lebih banyak tugas, seperti bermula dari fail kosong dan memerlukan model untuk terus meramalkan operasi penyuntingan seterusnya sehingga kod lengkap ditulis dokumen.

Paling penting, model ini membantu dalam menulis kod dengan cara langkah demi langkah yang semulajadi untuk pembangun:

Dimulakan dengan mencipta rangka kerja yang lengkap dengan import, bendera dan fungsi utama asas, kemudian secara beransur-ansur menambah fungsi baharu, seperti membaca dan menulis hasil daripada fail, dan menambah penapisan baris tertentu berdasarkan Fungsi ungkapan biasa yang dibekalkan oleh pengguna.

Kesimpulan

DIDACT mengubah proses pembangunan perisian Google kepada tunjuk cara latihan untuk pembantu pembangun pembelajaran mesin dan menggunakan data demo ini untuk melatih model secara langkah demi langkah Bina kod, berinteraksi dengan alatan dan penyemak kod.

Kaedah DIDACT melengkapkan pencapaian hebat model bahasa berskala besar daripada Google dan syarikat lain untuk mengurangkan beban kerja, meningkatkan produktiviti dan meningkatkan kualiti kerja jurutera perisian.

Atas ialah kandungan terperinci Google mendedahkan rangka kerja 'kejuruteraan perisian AI+' sendiri DIDACT: Beribu-ribu pembangun telah mengujinya secara dalaman, dan mereka semua mengatakan ia sangat produktif selepas menggunakannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana cara menukar saiz senarai bootstrap? Bagaimana cara menukar saiz senarai bootstrap? Apr 07, 2025 am 10:45 AM

Saiz senarai bootstrap bergantung kepada saiz bekas yang mengandungi senarai, bukan senarai itu sendiri. Menggunakan sistem grid Bootstrap atau Flexbox boleh mengawal saiz bekas, dengan itu secara tidak langsung mengubah saiz item senarai.

Bagaimana untuk melaksanakan penyiaran senarai bootstrap? Bagaimana untuk melaksanakan penyiaran senarai bootstrap? Apr 07, 2025 am 10:27 AM

Senarai bersarang di Bootstrap memerlukan penggunaan sistem grid Bootstrap untuk mengawal gaya. Pertama, gunakan lapisan luar & lt; ul & gt; dan & lt; li & gt; Untuk membuat senarai, kemudian bungkus senarai lapisan dalaman dalam & lt; div class = & quot; row & gt; dan tambah & lt; kelas div = & quot; col-md-6 & quot; & gt; ke senarai lapisan dalaman untuk menentukan bahawa senarai lapisan dalaman menduduki separuh lebar baris. Dengan cara ini, senarai dalaman boleh mempunyai yang betul

Kaedah apa yang digunakan untuk menukar rentetan ke dalam objek dalam vue.js? Kaedah apa yang digunakan untuk menukar rentetan ke dalam objek dalam vue.js? Apr 07, 2025 pm 09:39 PM

Apabila menukar rentetan ke objek dalam vue.js, json.parse () lebih disukai untuk rentetan json standard. Untuk rentetan JSON yang tidak standard, rentetan boleh diproses dengan menggunakan ungkapan biasa dan mengurangkan kaedah mengikut format atau url yang dikodkan. Pilih kaedah yang sesuai mengikut format rentetan dan perhatikan isu keselamatan dan pengekodan untuk mengelakkan pepijat.

Bagaimana cara menambah ikon ke senarai bootstrap? Bagaimana cara menambah ikon ke senarai bootstrap? Apr 07, 2025 am 10:42 AM

Cara Menambah Ikon ke Senarai Bootstrap: Secara langsung barangan ikon ke dalam item senarai & lt; li & gt;, menggunakan nama kelas yang disediakan oleh Perpustakaan Ikon (seperti Font Awesome). Gunakan kelas Bootstrap untuk menyelaraskan ikon dan teks (contohnya, D-Flex, Justify-Content-Between, Align-Items-Center). Gunakan komponen tag bootstrap (lencana) untuk memaparkan nombor atau status. Laraskan kedudukan ikon (arah flex: row-reverse;), mengawal gaya (gaya CSS). Ralat biasa: ikon tidak dipaparkan (tidak

Cara Melihat Sistem Grid Bootstrap Cara Melihat Sistem Grid Bootstrap Apr 07, 2025 am 09:48 AM

Sistem mesh Bootstrap adalah peraturan untuk membina susun atur responsif dengan cepat, yang terdiri daripada tiga kelas utama: kontena (kontena), baris (baris), dan col (lajur). Secara lalai, grid 12-kolumn disediakan, dan lebar setiap lajur boleh diselaraskan melalui kelas tambahan seperti Col-MD-, dengan itu mencapai pengoptimuman susun atur untuk saiz skrin yang berbeza. Dengan menggunakan kelas mengimbangi dan jejaring bersarang, fleksibiliti susun atur boleh dilanjutkan. Apabila menggunakan sistem grid, pastikan setiap elemen mempunyai struktur bersarang yang betul dan pertimbangkan pengoptimuman prestasi untuk meningkatkan kelajuan pemuatan halaman. Hanya dengan pemahaman dan amalan yang mendalam, kita dapat menguasai sistem grid bootstrap yang mahir.

Apakah perubahan yang telah dibuat dengan gaya senarai Bootstrap 5? Apakah perubahan yang telah dibuat dengan gaya senarai Bootstrap 5? Apr 07, 2025 am 11:09 AM

Perubahan gaya Bootstrap 5 adalah disebabkan oleh pengoptimuman terperinci dan peningkatan semantik, termasuk: margin lalai senarai yang tidak teratur dipermudahkan, dan kesan visual adalah bersih dan kemas; Gaya senarai menekankan semantik, meningkatkan kebolehcapaian dan penyelenggaraan.

Cara mendaftarkan komponen yang dieksport oleh lalai eksport di Vue Cara mendaftarkan komponen yang dieksport oleh lalai eksport di Vue Apr 07, 2025 pm 06:24 PM

Soalan: Bagaimana untuk mendaftarkan komponen VUE yang dieksport melalui lalai eksport? Jawapan: Terdapat tiga kaedah pendaftaran: Pendaftaran Global: Gunakan kaedah vue.component () untuk mendaftar sebagai komponen global. Pendaftaran Tempatan: Daftar dalam pilihan Komponen, hanya terdapat dalam komponen semasa dan subkomponennya. Pendaftaran Dinamik: Gunakan kaedah vue.component () untuk mendaftar selepas komponen dimuatkan.

Cara mengoptimumkan prestasi pangkalan data selepas pemasangan MySQL Cara mengoptimumkan prestasi pangkalan data selepas pemasangan MySQL Apr 08, 2025 am 11:36 AM

Pengoptimuman prestasi MySQL perlu bermula dari tiga aspek: konfigurasi pemasangan, pengindeksan dan pengoptimuman pertanyaan, pemantauan dan penalaan. 1. Selepas pemasangan, anda perlu menyesuaikan fail my.cnf mengikut konfigurasi pelayan, seperti parameter innodb_buffer_pool_size, dan tutup query_cache_size; 2. Buat indeks yang sesuai untuk mengelakkan indeks yang berlebihan, dan mengoptimumkan pernyataan pertanyaan, seperti menggunakan perintah menjelaskan untuk menganalisis pelan pelaksanaan; 3. Gunakan alat pemantauan MySQL sendiri (ShowProcessList, ShowStatus) untuk memantau kesihatan pangkalan data, dan kerap membuat semula dan mengatur pangkalan data. Hanya dengan terus mengoptimumkan langkah -langkah ini, prestasi pangkalan data MySQL diperbaiki.

See all articles