Bahagian Menggunakan Claude, Claude-Dev dan Aider untuk Membina Sistem Tiket

王林
Lepaskan: 2024-08-28 18:30:15
asal
732 orang telah melayarinya

PAUT KEPADA BAHAGIAN 1

Projek ini adalah sumber terbuka jika anda ingin bermain bersama di rumah: https://github.com/joegiglio/helpdesk-claude-dev-ai

BAHAGIAN 3 -

Saya kini ingin menambah beberapa ciri asas pada Pangkalan Pengetahuan. Pada masa ini, kami hanya mempunyai UI rangka. Mari lihat sama ada kita boleh meminta Claude melakukan sesuatu yang berguna dengannya.

[PROMPT]
Saya kini ingin menambah beberapa ciri asas pada Pangkalan Pengetahuan. Pada masa ini, URL asas pengetahuan menunjukkan UI pemegang tempat tetapi mari kita mula menjadikannya melakukan sesuatu yang berguna. Mari mulakan dengan yang berikut:
Tambahkan pautan dalam bar navigasi sebelah kiri untuk "Tetapan Pangkalan Pengetahuan". Ini harus dipautkan ke templat baharu yang mengandungi tetapan ini.
Di dalam halaman Tetapan Pangkalan Pengetahuan, tambahkan imej pemegang tempat dan teks pemegang tempat.
Di dalam halaman Tetapan Pangkalan Pengetahuan, tambahkan pautan untuk "Topik", yang akan dibuat oleh pengguna akhir. Topik ini akan mengandungi artikel dalam langkah akan datang. Buat kemas kini pangkalan data yang diperlukan untuk menyokong perubahan ini.
[/PROMPT]

Claude membuat perubahan yang diperlukan tetapi menghadapi masalah dengan perpustakaan yang hilang. Ia sekali lagi kehilangan jejak persekitaran maya, .venv, yang perlu saya ingatkan.

[PROMPT]
Sila pastikan anda menggunakan persekitaran maya, direktori bernama .venv
[/PROMPT]

Kami berakhir dengan UI ini yang tiada imej, mempunyai beberapa fon berbeza dan butang Urus Topik tidak berfungsi. Saya meminta Claude membersihkannya.

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Kami perlu membuat beberapa perubahan pada UI halaman tetapan pangkalan pengetahuan.

  1. Imej pemegang tempat tiada.
  2. Terdapat beberapa fon berbeza. Sila pilih satu dan kekal dengannya.
  3. Butang Urus Topik tidak melakukan apa-apa. Nampaknya tiada rangka kerja untuknya jadi mari kita jadikan ia berfungsi.
  4. Kemas kini pangkalan data dengan mencipta jadual untuk menyimpan Topik. Ia hanya memerlukan satu medan buat masa ini, bernama Topik.
  5. Buat halaman supaya pengguna boleh membuat dan memadamkan topik baharu. Sahkan pemadaman. [/PROMPT]

Claude cuba menggunakan imej pemegang tempat setempat sekali lagi tetapi saya mengingatkannya untuk menggunakan perkhidmatan via.placeholder.com seperti yang dibincangkan dalam bahagian 2.

Menonton output, saya melihat ralat pemindahan DB yang dapat dibetulkan oleh Claude:

Pengecualian semasa penghijrahan DB:
raise ValueError("Kekangan mesti ada nama")
ValueError: Kekangan mesti mempunyai nama

Selepas beberapa pembersihan, ini adalah UI, yang saya tidak pedulikan:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Sila kemas kini UI untuk halaman asas pengetahuan/tetapan menggunakan halaman integrasi/slack sebagai panduan. Perbaik fon dan gantikan imej pemegang tempat dengan imej setempat yang mewakili Pangkalan Pengetahuan - mungkin sebuah buku?
[/PROMPT]

Had API semakin ketat!

429 {"type":"error","error":{"type":"rate_limit_error","message":"Bilangan token permintaan telah melebihi had kadar seminit anda (https://docs. anthropic.com/en/api/rate-limits); lihat pengepala respons untuk penggunaan semasa Sila kurangkan panjang segera atau token maksimum yang diminta, atau cuba lagi kemudian .com/contact-sales untuk membincangkan pilihan anda untuk kenaikan had kadar."}}

Melihat permintaan berlalu, saya melihat Claude menggunakan perintah cURL untuk memuat turun ikon bagi mewakili Pangkalan Pengetahuan. Walau bagaimanapun, ia tidak dimuatkan. Apabila ditanya, Claude berkata fail SVG telah dimuat turun tetapi disimpan sebagai PNG. Itu yang baru. Satu lelaran lagi dan ia telah ditetapkan, meninggalkan saya dengan:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

Saya tidak pasti sama ada saya suka reka letak dengan butang Urus Topik yang besar tetapi ia akan sesuai buat masa ini. Beralih kepada mengurus topik:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

Tidak buruk, tetapi jika saya cuba menambah nama topik yang sudah wujud, saya menekan pengecualian:

sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) Kekangan UNIK gagal: knowledge_base_topic.name
[SQL: INSERT INTO knowledge_base_topic (nama) NILAI (?)]
[parameter: ('topik 1',)]

Ini adalah kekangan yang sama dengan masalah yang dibuat sebelum ini. Mari lihat jika Claude boleh membetulkannya.

[PROMPT]
Jika saya cuba mencipta nama topik yang sudah wujud, saya mendapat pengecualian. Tolong betulkan? sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) Kekangan UNIK gagal: knowledge_base_topic.name
[SQL: INSERT INTO knowledge_base_topic (nama) NILAI (?)]
[parameter: ('topik 1',)]
[/PROMPT]

…dan ralat 429 lagi:

429 {"type":"error","error":{"type":"rate_limit_error","message":"Bilangan token permintaan telah melebihi had kadar seminit anda (https://docs. anthropic.com/en/api/rate-limits); lihat pengepala respons untuk penggunaan semasa Sila kurangkan panjang segera atau token maksimum yang diminta, atau cuba lagi kemudian .com/contact-sales untuk membincangkan pilihan anda untuk kenaikan had kadar."}}

Claude mesti dipukul dengan kuat! Hampir tidak boleh digunakan malam ini…

[PROMPT]
Saya kini disekat daripada mencipta berbilang topik dengan nama yang sama tetapi terdapat beberapa masalah: 1. Tiada penggayaan untuk mesej kilat "ralat". Warna latar belakang mungkin merah. 2. Nama topik hendaklah tidak peka huruf besar-besaran. Jika "topik" sudah wujud, "Saya juga tidak sepatutnya dibenarkan membuat "TOPIK".
[/PROMPT]

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

Ralat 429 lagi. Ini meletihkan…

Saya dapat menyelinap dalam satu lagi permintaan sehingga saya sepatutnya mencapai had HARIAN saya:

429 {"type":"error","error":{"type":"rate_limit_error","message":"Bilangan token permintaan telah melebihi had kadar harian anda (https://docs.anthropic. com/en/api/rate-limits); lihat pengepala respons untuk penggunaan semasa Sila kurangkan panjang gesaan atau token maksimum yang diminta, atau cuba lagi nanti /contact-sales untuk membincangkan pilihan anda untuk kenaikan had kadar."}}

Saya tidak berbuat banyak dengan Claude malam ini tetapi dengan cepat mencapai had token saya. Saya tidak pasti bagaimana ia dikira tetapi API nampaknya sangat terhad malam ini. Apa yang boleh saya lakukan ialah tersenyum dan menunggu sehingga esok.

Hari berikutnya:

[PROMPT]
Mari teruskan menambah baik UI topik Pangkalan Pengetahuan dengan membuat perubahan berikut: 1. Nama topik hendaklah tidak peka huruf besar-besaran. Jika "topik" sudah wujud, "Saya juga tidak sepatutnya dibenarkan membuat "TOPIK". 2. Letakkan had 10 pada bilangan topik yang boleh dibuat dan paparkan kiraan ini dalam UI. Lumpuhkan butang Cipta Topik jika terdapat 10 topik dan paparkan mesej yang sesuai.
[/PROMPT]

Claude menghasilkan beberapa kod fungsi kelas mewah untuk menyemak bilangan topik dan ketakpekaan huruf besar-besaran. Cukup elegan:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

Saya perasan bahawa panjang maksimum tidak dikuatkuasakan untuk nama topik, walaupun saya memberitahu Claude untuk berbuat demikian dalam gesaan sistem saya yang sepatutnya digunakan pada setiap gesaan yang saya hantar. Mengecewakan…

Walaupun medan dalam pangkalan data dikonfigurasikan untuk menerima 100 aksara, saya dapat menyerahkan nama topik dengan beribu-ribu dan tiada apa-apa yang meledak. Saya tidak pasti bagaimana semua itu berfungsi tetapi dari mana saya berasal, kekurangan had yang dikuatkuasakan membawa kepada masalah.

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Nampaknya anda tidak menguatkuasakan sebarang had panjang pada nama topik. Betul ke?
[/PROMPT]

Anda betul, dan saya memohon maaf kerana mengabaikan butiran penting ini. Mari tambahkan had panjang pada nama topik. Kami akan menetapkan panjang maksimum 50 aksara untuk nama topik. Saya akan membuat perubahan yang diperlukan untuk menguatkuasakan had ini di bahagian belakang dan bahagian hadapan.

Claude menambah beberapa kod tetapi ia adalah Javascript biasa dan saya mahukan jQuery yang sudah menjadi sebahagian daripada projek itu. Saya juga mempunyai jQuery dalam prompt sistem saya tetapi nampaknya mengabaikannya juga. Claude menukarnya kepada jQuery dan juga menambah pembilang aksara (sentuhan yang bagus!). Tetapi… ia tidak berkesan!

[PROMPT]
Saya nampak anda menambah kaunter aksara tetapi ia tidak berfungsi. Saya tidak nampak sebarang ralat dalam konsol web. Tolong betulkan.
[/PROMPT]

Claude membuat beberapa perubahan pada susunan teg skrip dan kini ia berfungsi. Sekali lagi, isu yang serupa dengan yang kami hadapi sebelum ini.

[PROMPT]
Mari buat beberapa lagi tweak UI pada halaman mengurus topik. 1. Isih topik dalam susunan abjad, tidak peka huruf besar-besaran. 2. Alihkan kiraan Topik di sebelah pengepala "Topik Sedia Ada", alih keluarnya dari bawah butang Buat Topik.
[/PROMPT]

Pada pertengahan lelaran ini, saya mencapai had API harian saya LAGI. Apa sahaja yang diubah oleh Anthropic baru-baru ini dengan "caching segera" tidak melakukan apa-apa untuk membantu saya. Nampaknya semakin teruk.

Dan, sudah tentu:

400 {"type":"error","error":{"type":"invalid_request_error","message":"Baki kredit anda terlalu rendah untuk mengakses Claude API. Sila pergi ke Plans & Billing to naik taraf atau beli kredit."}}

Ini ialah UI semasa. Tidak teruk!

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

Ke hari berikutnya... Seterusnya, saya ingin mencipta kod untuk menambah artikel pada pangkalan pengetahuan.

[PROMPT]
Sekarang saya ingin mencipta satu lagi ciri di mana kita boleh menambah artikel ke pangkalan pengetahuan. Beberapa keperluan:
Setiap artikel mestilah dalam topik.
Jika topik mempunyai artikel, artikel itu juga harus dipadamkan apabila topik induknya dipadamkan. Pengesahan pemadaman harus memberi amaran kepada pengguna tentang jumlah artikel yang akan dipadamkan. Pengguna perlu menaip perkataan "padam" (tidak peka huruf besar-besaran) untuk mengesahkan pemadaman topik, jika ia mempunyai artikel di dalamnya.
Klik nama topik untuk melihat artikel di dalamnya.

Dalam gesaan seterusnya, kami akan membina UI untuk halaman penciptaan artikel. Buat masa ini, susun halaman pemegang tempat dengan imej dan teks pemegang tempat.

Sila buat perubahan yang diperlukan pada fail dan struktur pangkalan data untuk menyokong ciri ini.
[/PROMPT]

Ini adalah gesaan yang cukup berisi. Mari lihat bagaimana Claude lakukan…

Terdapat beberapa isu dengan pemindahan pangkalan data yang nampaknya disebabkan oleh Claude sekali lagi tidak mengesan .venv
persekitaran. Saya akan menambahnya pada tetapan System Prompt dalam Claude-Dev. Semoga ia membantu.

Selepas isu tersebut diselesaikan, saya dapati hasilnya cukup bagus. Sudah tentu ia memerlukan beberapa tweak selepas beberapa ujian pantas. Saya akan memilihnya dalam gesaan seterusnya:

[PROMPT]
Kami memerlukan sedikit tweak untuk pelaksanaan penciptaan artikel. Sila buat perubahan ini:
Apabila memadamkan topik, kami harus sentiasa menunjukkan pengesahan. Walau bagaimanapun, hanya jika topik mengandungi artikel, kami harus meminta pengesahan yang memerlukan pengguna menaip perkataan "padam", tidak sensitif huruf besar dan kecil.
Tambahkan mekanisme untuk memadamkan artikel dan sahkan pemadaman ini.
Pada halaman asas pengetahuan utama, sembunyikan bar carian dan mesej pemegang tempat jika tiada topik. Tambahkan teks pemegang tempat yang mengatakan tiada topik lagi.

Tambahkan editor artikel yang lebih maju supaya pengguna boleh memformat artikel mereka semasa membuat dan mengedit. Lindungi daripada aksara yang berpotensi berbahaya dengan mengekod dan menyahkod teks artikel selepas disimpan dan diperoleh semula.
[/PROMPT]

Saya ingin tahu untuk melihat editor artikel mana yang akan dipilih oleh Claude. Ia pergi dengan TinyMCE. Bagaimanapun ia tidak muncul.

[PROMPT]
Beberapa tweak lagi diperlukan:
Halaman mengurus topik harus menunjukkan jumlah artikel dalam setiap topik.
Butang "Lihat Semua Artikel" tidak sepatutnya muncul jika tiada artikel dalam topik. Sebaliknya, tunjukkan teks seperti "Tiada artikel dalam topik ini".
Anda cuba menambah editor TinyMCE untuk menambah dan mengedit artikel tetapi ia tidak muncul. Saya tidak nampak ralat dalam konsol.
[/PROMPT]

TinyMCE masih tidak berfungsi. Ini terasa seperti satu lagi websocket dan isu tiket JIRA di mana Claude tidak dapat menyelesaikan isu itu dan saya kehabisan permintaan. Saya harap tidak. Lebih banyak tweak diperlukan!

[PROMPT]
Beberapa tweak lagi diperlukan:
Jika tiada artikel dalam topik, topik pengurusan menunjukkan pembilang artikel dan teks "Tiada artikel dalam topik ini". Tidak perlu menunjukkan kedua-duanya jadi alih keluar teks "Tiada artikel dalam topik ini".

Pada halaman "asas pengetahuan", kami masih memaparkan butang "Lihat Semua Artikel" jika tiada artikel dalam topik tersebut. Sebaliknya, tunjukkan teks seperti "Tiada artikel dalam topik ini".
Editor TinyMCE masih tidak muncul untuk menambah atau menyunting artikel. Saya tidak nampak ralat dalam konsol.
[/PROMPT]

UI TinyMCE sedang dimuatkan sekarang tetapi ia meminta kunci API. Saya akan bertanya kepada Claude jika terdapat editor percuma yang lebih mudah.

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Editor TinyMCE muncul sekarang tetapi ia meminta kunci API. Adakah terdapat editor lain yang boleh kita gunakan yang tidak memerlukan kunci? Pilihan pemformatan asas sepatutnya baik buat masa ini. Jika anda boleh menemuinya, sila gantikan TinyMCE dengannya.
[/PROMPT]

Claude menggantikan TinyMCE dengan CKEditor dan kini ia dimuatkan! Walau bagaimanapun, ia bukan tanpa masalahnya. Saya tidak dapat memuat naik imej atau menyimpan artikel. Ralat dalam konsol dev:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Saya dapat melihat CKEditor tetapi saya menghadapi beberapa isu:
Saya tidak boleh menyimpan artikel. Konsol pembangun menunjukkan ralat ini: new:1 Kawalan borang yang tidak sah dengan name='content' tidak boleh difokuskan.
Saya tidak boleh memuat naik imej. Konsol pembangun menunjukkan ralat ini: ckeditorerror.ts:140 filerepository-no-upload-adapter
Tolong betulkan?
[/PROMPT]

Claude berkata:

Saya memohon maaf atas masalah yang anda alami. Jom atasi kedua-dua masalah:
Ralat "Kawalan borang tidak sah dengan nama='kandungan' tidak boleh difokuskan" berkemungkinan disebabkan oleh CKEditor menggantikan kawasan teks dengan elemennya sendiri, menyebabkan isu dengan pengesahan borang. Kami perlu mengemas kini proses penyerahan borang kami untuk mengendalikan perkara ini.
Ralat "filerepository-no-upload-adapter" berlaku kerana kami belum mengkonfigurasi penyesuai muat naik untuk CKEditor. Kami perlu melaksanakan penyesuai muat naik mudah untuk mengendalikan muat naik imej.

Pembetulan pertama kelihatan mudah tetapi Claude menambah beberapa kod Javascript yang sangat kompleks untuk menampung muat naik fail. Saya tolak ke belakang:

[PROMPT]
Itu kelihatan seperti beberapa kod yang sangat rumit untuk penyesuai muat naik. Adakah anda pasti tiada penyelesaian yang lebih mudah, mungkin sesuatu yang terbina dalam CKEditor?
[/PROMPT]

Claude:

Saya memohon maaf atas kerumitan. Anda betul, terdapat penyelesaian yang lebih mudah menggunakan ciri terbina dalam CKEditor. Mari permudahkan pendekatan kami dengan menggunakan pakej Asas CKEditor, yang tidak termasuk muat naik imej tetapi menyediakan pilihan pemformatan asas. Ini sepatutnya menyelesaikan kedua-dua isu tanpa memerlukan penyesuai muat naik yang kompleks.

Saya mahukan keupayaan memuat naik fail tetapi boleh hidup tanpanya semasa latihan ini. Malangnya, saya mencapai had API harian saya jadi itu sahaja untuk aktiviti hari ini. Pembunuh momentum sedemikian…

429 {"type":"error","error":{"type":"rate_limit_error","message":"Bilangan token permintaan telah melebihi had kadar harian anda (https://docs.anthropic. com/en/api/rate-limits); lihat pengepala respons untuk penggunaan semasa Sila kurangkan panjang gesaan atau token maksimum yang diminta, atau cuba lagi nanti /contact-sales untuk membincangkan pilihan anda untuk kenaikan had kadar."}}

Walau bagaimanapun, saya telah mempratonton beberapa pembetulan Claude. Saya boleh menyimpan artikel sekarang tetapi pratonton menunjukkan kod HTML. Juga tiada cara untuk benar-benar melihat keseluruhan artikel. Satu kesilapan di pihak saya. Perlu diperbaiki!

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

Disebabkan oleh beberapa kekurangan dalam gesaan saya sebelum ini semasa membina UI, halaman dan fungsi yang dimaksudkan untuk Pentadbir semakin bercampur dengan pengguna akhir. Saya perlu membersihkannya satu hari ini. Buat masa ini, mari kita teruskan dengan beberapa pembetulan dan tweak... Ini adalah satu lagi yang berdaging. Saya hampir kehabisan kredit tetapi mari kita pergi!

[PROMPT]
Masih terdapat beberapa pepijat dan kekurangan yang perlu diperbaiki:
Saya masih mempunyai pilihan untuk memuat naik imej semasa membuat dan mengedit artikel. Cuba memuat naik imej menunjukkan ralat: ckeditorerror.ts:140. Saya ingin dapat memuat naik imej menggunakan editor jadi sila betulkan. Kami boleh menggunakan direktori /static/uploads/ untuk menyimpan imej yang dimuat naik jika perlu.

Apabila saya pergi ke halaman topik/[nombor topik], saya melihat pratonton artikel tetapi ia muncul dengan kod HTML yang boleh dilihat. Halaman ini harus bertindak sebagai pratonton artikel dan kita mungkin akan melihat versi teks biasa pada permulaan artikel ini. Kita mungkin perlu mengubahnya nanti.
Kami memerlukan laluan baharu untuk melihat artikel, dan artikel itu sepatutnya muncul dalam format yang betul. Sekarang, apabila anda mengklik artikel, ia membawa anda ke mod edit. Kita perlu mengasingkan tontonan daripada menyunting.

Perlu ada cara untuk mencipta artikel baharu dalam setiap topik daripada halaman mengurus topik.
Apabila membuat artikel baharu, terdapat dropdown topik di bahagian bawah halaman. Menu lungsur ini tidak mengetahui secara kontekstual topik yang diduduki pengguna. Menu lungsur harus menggambarkan topik yang betul.
[/PROMPT]

Semasa menonton Claude membina kod untuk ciri muat naik fail, saya perasan ia mencipta blok Javascript yang sama dalam beberapa fail berbeza.

[PROMPT]
Nampaknya terdapat beberapa kod Javascript yang serupa dalam fail new_article.html dan edit_article.html. Bolehkah kita mencipta ini dalam fail biasa dan sebaliknya berkongsi kod?
[/PROMPT]

Claude:

Anda betul, dan itu cadangan yang bagus. Mari buat fail JavaScript biasa untuk konfigurasi CKEditor dan gunakannya dalam new_article.html dan edit_article.html.
Mula-mula, mari buat fail baharu yang dipanggil ckeditor_config.js dalam direktori statik/js.

Itu banyak perubahan. Semasa menyemak perubahan kod, saya perhatikan perbezaan menunjukkan sekumpulan kod dialih keluar daripada fail app.py dan digantikan dengan teks “# … (selebihnya kod sedia ada)”. Saya tidak pernah melihat ini sebelum ini dan walaupun mungkin cara Claude menangani fail besar dan ia tidak benar-benar akan memadamkan kod sedia ada. Nah, saya silap!

Apabila Claude menyelesaikan tweak ini, saya cuba menekan halaman utama dan ia adalah 404. Banyak kod dan laluan telah dialih keluar dan baris 80 secara literal ialah "# … (selebihnya kod sedia ada)”. Wah, teruk! Semoga kita boleh membetulkan perkara ini tetapi saya terhidu had API yang mengintai!

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Oh tidak! Saya nampaknya telah kehilangan banyak kod daripada fail app.py selepas perubahan terakhir anda. Banyak laluan telah hilang dan telah digantikan dengan "# ... (selebihnya kod sedia ada)" pada baris 29 dan 80 app.py. Tolong betulkan!
[/PROMPT]

Claude:

Saya memohon maaf atas kesilapan tersebut. Anda betul-betul betul dan saya akan membetulkan isu ini dengan segera. Mari kita pulihkan kod yang hilang dalam fail app.py.

Claude dapat membetulkan kod itu tetapi Wow - itu salah. Apa kejadahnya?

[PROMPT]
Jika saya cuba mencipta butang “Artikel Baharu”, saya mendapat ralat ini: jinja2.exceptions.UndefinedError: 'csrf_token' is undefined
[/PROMPT]

Claude berkata kita kini memerlukan pakej Flask-WTF dan ia akan memasangnya menggunakan pip. Mari lihat sama ada gesaan sistem untuk menggunakan direktori .venv akan berfungsi…

Tidak boleh! Claude melakukannya sekali lagi, memadamkan semua kod semasa gabungan kod! Anda benar-benar perlu memberi perhatian dan bukan hanya menerima kod yang dihasilkan.

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Saya tidak boleh menerima kod ini! Baris 31 "mempunyai # ... (selebihnya kod sedia ada)" dan anda mengalih keluar selebihnya kod itu sekali lagi!
[/PROMPT]

Apabila Claude selesai, pelayan cuba dimulakan semula tetapi gagal dengan "ModuleNotFoundError: Tiada modul bernama 'flask_wtf'" yang menunjukkan bahawa ia tidak menggunakan direktori .venv jadi saya tidak percaya System Prompt berfungsi. Ini mungkin masalah dengan sambungan Claude-Dev.

[PROMPT]
Saya mendapat ralat "ModuleNotFoundError: Tiada modul bernama 'flask_wtf'" jadi sila pastikan anda menggunakan direktori maya .venv semasa menambah perpustakaan baharu!
[/PROMPT]

Claude:

Saya memohon maaf atas kesilapan tersebut. Anda betul, kami perlu memasang Flask-WTF dalam persekitaran maya. Jom buat sekarang.

Dan... seperti jam:

429 {"type":"error","error":{"type":"rate_limit_error","message":"Bilangan token permintaan telah melebihi had kadar harian anda (https://docs.anthropic. com/en/api/rate-limits); lihat pengepala respons untuk penggunaan semasa Sila kurangkan panjang gesaan atau token maksimum yang diminta, atau cuba lagi nanti /contact-sales untuk membincangkan pilihan anda untuk kenaikan had kadar."}}

Berita baiknya ialah Claude dapat menggunakan persekitaran maya yang betul dan pelayan bermula.

Berita buruknya ialah jika saya cuba menghantar artikel baharu, saya terkena ralat CSRF yang lain. Bangun, Claude. Anda ada kerja nak buat!

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Sila betulkan pepijat berikut:
Jika saya cuba menghantar artikel baharu, saya mendapat ralat: “Permintaan Buruk. Token CSRF tiada.”
Jika saya cuba melihat artikel, teg HTML kelihatan. Artikel hendaklah dipaparkan dalam format tanpa teg.

[/PROMPT]

Seseorang bangun dalam keadaan mood yang tidak baik... Saya hampir tidak menggunakannya dan saya sudah terkena had kadar.

429 {"type":"error","error":{"type":"rate_limit_error","message":"Bilangan token permintaan telah melebihi had kadar seminit anda (https://docs. anthropic.com/en/api/rate-limits); lihat pengepala respons untuk penggunaan semasa Sila kurangkan panjang segera atau token maksimum yang diminta, atau cuba lagi kemudian .com/contact-sales untuk membincangkan pilihan anda untuk kenaikan had kadar."}}

[PROMPT]
Saya masih mencari beberapa pepijat. Ini semua sangat asas dan tidak sepatutnya dimasukkan ke dalam kod. Sila semak kod anda dengan lebih teliti kerana ini membebankan wang saya setiap kali anda perlu membetulkannya! Mungkin aplikasi semakin rumit sehingga tiba masanya untuk menambah beberapa ujian automatik yang akan dijalankan pada setiap perubahan kod? Isu yang saya temui:
Apabila saya cuba melihat artikel seperti yang terdapat di artikel/2, ia masih menunjukkan penanda HTML dan tidak memaparkan artikel yang diformatkan. Mungkin ini rosak apabila artikel itu disimpan? Saya melihat lt; dan gt; dalam pangkalan data dan perhatikan anda mempunyai "kandungan = html.escape(kandungan)" pada app.py baris 416.
Jika saya cuba mencipta topik baharu, saya kini mendapat “Permintaan Buruk. Token CSRF tiada.”
Jika saya cuba mencipta artikel baharu, saya mendapat “UndefinedError jinja2.exceptions.UndefinedError: 'form' is undefined”
[/PROMPT]

Menonton Claude membuat perubahan kod, saya rasa ia semakin hilang. Mengapa ia memadamkan semua kod ini sekali lagi??

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[PROMPT]
Mengapa anda memadam semua kod itu sekali lagi? Baris 35 mempunyai # ... (simpan semua definisi model dan fungsi pembantu yang sedia ada) dan semua kod lain dipadamkan? Berhati-hati!
[/PROMPT]

Claude:

Saya memohon maaf atas kekeliruan. Anda betul sekali, dan saya menghargai perhatian anda terhadap perincian. Mari buat perubahan yang diperlukan sambil mengekalkan semua kod sedia ada. Kami hanya akan mengemas kini bahagian tertentu yang perlu diubah suai.
Mari kemas kini fail app.py, memfokuskan hanya pada bahagian yang perlu ditukar

429 {"type":"error","error":{"type":"rate_limit_error","message":"Bilangan token permintaan telah melebihi had kadar seminit anda (https://docs. anthropic.com/en/api/rate-limits); lihat pengepala respons untuk penggunaan semasa Sila kurangkan panjang segera atau token maksimum yang diminta, atau cuba lagi kemudian .com/contact-sales untuk membincangkan pilihan anda untuk kenaikan had kadar."}}

Keluh…

[PROMPT]
Baris 35, 37 dan 46 masih mempunyai ulasan tersebut dan anda sedang memadamkan blok kod yang besar. Kenapa?
[/PROMPT]

Dan sudah tentu -

429 {"type":"error","error":{"type":"rate_limit_error","message":"Bilangan token permintaan telah melebihi had kadar harian anda (https://docs.anthropic. com/en/api/rate-limits); lihat pengepala respons untuk penggunaan semasa Sila kurangkan panjang gesaan atau token maksimum yang diminta, atau cuba lagi nanti /contact-sales untuk membincangkan pilihan anda untuk kenaikan had kadar."}}

Saya bukan satu-satunya yang mengalami masalah ini. Orang lain berkata mereka memperoleh berjuta-juta dengan Claude dan saya nampaknya menemui semua pepijat! Saya membuka isu dalam projek Claude-Dev Github kerana saya tidak boleh hidup seperti ini: pautan Github

Selepas melakukan beberapa penyelidikan lagi, nampaknya projek saya mencapai beberapa jenis had token yang didokumenkan di sini: Isu Github. Ini benar-benar mengehadkan kerumitan projek yang boleh anda kerjakan dan kemungkinan menjadi punca kepada banyak ralat had API apabila projek menjadi lebih kompleks.

Jika saya memahami masalah dengan betul, untuk meningkatkan kualiti kod, Claude-dev menghantar keseluruhan kandungan fail aktif berulang-alik dalam permintaan. Ini memakan token dan pada satu ketika, fail app.py saya menjadi terlalu besar untuk diurus. Satu cadangan ialah memecahkan kod kepada fail yang lebih kecil. Kembali ke Bahagian 1, ini adalah arah yang kami tuju tetapi mempunyai beberapa masalah dengan import pekeliling dan Uvicorn jadi inilah kami…

Saya rasa saya akan meletakkan projek ini di tempat tidur buat masa ini dan mengikuti urutan Github untuk mendapatkan kemas kini. Ini memberi sedikit harapan bahawa kemas kini Claude yang akan datang akan mengurangkan kesakitan: komen Github

Seterusnya: Kursor? Kali terakhir saya mencuba, saya tidak begitu menyukai UX tetapi ramai orang nampaknya telah beralih. Kursor nampaknya merupakan anak baharu di bandar untuk Pembangun yang menggunakan UI untuk meningkatkan produktiviti mereka. Kerana apa yang kita perlukan sekarang ialah IDE lain.

Berpusing-pusing kita pergi…

Jadi, beberapa kesimpulan?

Adakah Claude bersedia untuk menggantikan Jurutera perisian? Eh, belum lagi tapi boleh jadikan Jurutera sedia ada lebih produktif. Had API adalah terhad untuk sesuatu yang lebih daripada projek kecil, pemfaktoran semula, pembetulan pepijat dan penggunaan sebagai pengaturcara pasangan maya.

Saya telah membaca bahawa Claude boleh membaca pangkalan kod yang kompleks dan membetulkan pepijat di dalamnya. Dalam pengalaman saya, ia menghadapi beberapa pepijat yang tidak dapat diperbaiki dalam projek yang agak mudah pada kod yang ia cipta sendiri supaya tidak memberi saya rasa hangat dan kabur. Bagaimanakah ia akan berlaku pada pangkalan kod lama yang ditulis oleh berpuluh-puluh orang dengan struktur fail yang rumit? Claude tidak akan mempunyai sebarang konteks perniagaan dan jika diminta untuk membetulkan pepijat UI, ia tidak melakukan kerja yang baik untuk memadankan aliran UI dan UX yang sedia ada dalam projek mudah ini. Ia memerlukan beberapa lelaran untuk membersihkannya sendiri.

Saya mendapati kod bahagian belakang "lebih mudah" daripada kod hujung hadapan jadi saya akan menggunakannya secara peribadi untuk membantu saya membina struktur projek dan UI rangka. Salah satu kekuatan Claude ialah "penglihatan komputer" yang membolehkan anda memuat naik fail dan meminta Claude menciptanya semula dalam kod. Jika anda menyukai UI tapak web, ini sepatutnya memberi anda titik permulaan yang bagus. Mungkin ini adalah "Lihat Sumber" baharu. Peluk dan tingkatkan, seperti yang mereka katakan.

Walaupun salah satu gesaan terawal saya meminta Claude menggunakan Bootstrap untuk membuat UI Responsif, saya baru sahaja menyemak paparan mudah alih buat kali pertama dan mendapati ia tidak benar-benar berfungsi dalam apa-apa yang lebih kecil daripada resolusi IPad Mini dan itu tidak kelihatan hebat sama ada. Jadi jangan buat andaian. Kod Claude memerlukan jumlah ujian yang sama seperti mana-mana kod lain.

Malah, adalah masuk akal jika ia membina abah-abah ujian automatik yang boleh dijalankan sebelum daftar masuk kod. Tiada siapa yang suka melakukan kerja ITU. Jadikan Claude bertanggungjawab untuk menulis, menyelenggara dan menjalankan ujian. Pastinya jalan yang patut diterokai.

Saya meminta Claude membuat beberapa automatik dalam salah satu gesaan terakhir saya tetapi had token dan API menamatkan percubaan ini sebelum kami tiba di sana.

TENTANG PENULIS

Mengenai Pengarang

Joe Giglio ialah veteran 25+ tahun dalam industri perisian. Dalam kerjayanya, beliau telah bekerja untuk ISP dial-up tempatan, syarikat pemula dari semua saiz dan perusahaan yang mapan dan bergerak perlahan. Terdapat pelajaran penting yang dipelajari sepanjang setiap perhentian.

Projek terbaru beliau termasuk:

Latihan dan perundingan kerja jauh: chiefremoteofficer.com

Buku Kindle "Making Remote Work, Work For You"

Kedudukan syarikat jauh. Fikirkan "Glassdoor untuk syarikat terpencil": remotescorecard.com

Prinsip panduan Joe ialah: Jauh diutamakan, dipacu kualiti, juara pelanggan dan pembelajaran sepanjang hayat. Dia seorang yang introvert dan mengamalkan penjarakan sosial lama sebelum ianya keren!

Beliau kini menetap di North Carolina dan sentiasa berminat dengan peluang baharu, bertemu orang yang berkualiti dan belajar tentang projek yang menarik.

Hubungi Joe Giglio: joe -AT- joegiglio.org | Twitter | LinkedIn

Atas ialah kandungan terperinci Bahagian Menggunakan Claude, Claude-Dev dan Aider untuk Membina Sistem Tiket. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan