AI-koodausavustimet, keskustelua AI-avustetusta koodaamisesta/skriptaamisesta/dokumentoinnista/...

finWeazel

Chief Karpfen - ruoKalan C&R
Liittynyt
15.12.2019
Viestejä
9 100
Keskustelua ai:n avustetusta koodaamisesta. Ketjun tarkoitus nimenomaan koodauksessa/skriptauksessa/dokumentoinnissa/automaatiossa/... eikä yleisessä ai vie työpaikat tai yleisessä ai keskustelussa. Jos haluaa yleisemmin keskustella ai:sta niin esimerkiksi tämä ketju palvelee:

Oletteko kokeilleet jotain ai-koodiavustinta? Millon kokeilitte, toimiko vai ei? Mihin käyttäisit tai et käyttäisi koodiavustinta? Onko käyttämäsi koodiavustin parantunut ajan saatossa vai ei?

Keskustelun aloittamiseksi
  • Cursor Mun mielestä tän hetken paras ide+ai koodiavustin(etenkin claude sonnet3.5 mallin käyttö pop). Forkattu vscode mihin AI integroitu syvälle. Ymmärtää koko koodipohjan ei vain yksittäisiä tiedostoja
    • Maksullinen
  • GitHub Copilot · Your AI pair programmer Microsoftin copilotti vscodeen
    • Maksullinen
  • qwen2.5-coder + Continue + vscode
    • Ilmainen. Integroituu lokaaliin kielimalliin. Continue toki integroituu maksullisiinkin pilvimalleihin. Itse laajennus taitaa olla open sourcea?
    • Mun setuppi macbook pro + ollama + vscode + continue. Toimii llaman yms. kanssa myös mutta ne ei pärjää qwen2.5:lle
  • https://chatgpt.com/
    • Tälläkin voi, mutta aika keljua copy/pasteilla ees+taas. Mä arvostan enemmän IDEen integroitua, mutta voi tälläkin jotain tehdä kankeudesta huolimatta.
Muistiinpanohommiin testaillut obsidian+llm:t. Mielenkiintoinen tapa prosessoida ajatuksia

Tähän ketjuun saa myös heittää kuvauksia koodista mitä haluaisi luoda. Voidaan porukalla kokeilla osaako AI avustaa vai menikö metsään.
 
Viimeksi muokattu:
ChatGPT:ltä oon kyselly yksittäisiä juttuja ja välissä se yllättää positiivisesti lisäten automaattisesti tärkeitä juttuja jotka ei ollu käyny itellä mielessä tai ollu huomannu sanoa. Esim. File Browseriin teki taaksepäin napin kysymättä, ja kuvien lataamiseen kuva-cachen. Välissä sillä taas ei ole oikein mitään käsitystä mitä se tekee. Hauskasti se osaa silti korjata oman virheensä kun antaa virheilmoituksen, tai pelkästään mainitsee ettei antamanne koodi toimi.

Cursor kiinnostais ku katoin Lex Fiedmanin podcastin jossa tekijätiimi oli vieraana. Erittäin vakuuttava, varsinkin kun tyypit oli selvästi "tehokkuus orientoituneita", ja keskittyivät just niihin asioihin.

Saa nähdä koska tulee AI joka liikuttaa hiirtä ja käyttää kaikkia PC:n ohjelmia, ohjelmoija vaan tuijottaa monitoria ja selittää mitä haluaa tehtävän.
 
Saa nähdä koska tulee AI joka liikuttaa hiirtä ja käyttää kaikkia PC:n ohjelmia, ohjelmoija vaan tuijottaa monitoria ja selittää mitä haluaa tehtävän.
Agentic AI taitaa olla 2025 alkuvuoden juttuja. "kaikki" pöhisee agenttien tekemisestä. Esim. imho. parhaan koodausmallin(claude sonnet 3.5) tekijät julkaisi agenttujutun: Introducing computer use, a new Claude 3.5 Sonnet, and Claude 3.5 Haiku

openai:n huhuttu tekevän agenttia OpenAI reportedly plans to launch an AI agent early next year

Koodaushommissa en tiedä miten agentti tässä kohtaa auttaisi. Tarvii tällä hetkellä vielä paimentaa AI:ta aika paljon eikä voi oikein jättä vapaalle jalalle että koodailes vaikka yksikkötestejä ja tee pull requestit ja kerro sitten kun menee ci putken läpi ilman virheitä. Jos anthropic&co tyyppien juttuihin on uskominen niin aika vauhdilla avustimet tulevat kehittymään lähivuosien ajan.
 
Olen käyttänyt sekä kaupallista että tavallista bingin copilottia apuna vaikeiden html:n xpath-lokaattorien löytämiseen ja rakenteluun automaatiotestauksen toteuttamisessa (Robot Framework). Lisäksi on tullut käytettyä vähän samoihin hommiin lokaalisti sekä Chat with RTX:ää (Mistral) ja Intelin AI Playgroundia (Phi-3-mini). Lokaalisti on myös asennettuna malli Poro34B:stä, mutta sen kokeilu on jäänyt hyvin vähäiseksi vaikka hommasin sen suomen kielen kokeiluja varten.

Oma käyttötapani on se että teen itse ensin koodin ja kun sieltä alkaa tulla virhettä, useimmiten lokaattorien takia, alan keskustella virheestä ja koodista LLM:n kanssa ja useimmiten ongelma selviää verrattain nopeasti. Joskus LLM alkaa vaikeissa kysymyksissä kiertämään vastauksissaan kehää, jolloin pitää osata kysyä sama asia eri tavoin. Kokonaisuutena on hämmästyttävää miten hyvin ainakin minua on LLM:t pystyneet auttamaan ja miten paljon on säästynyt chatbotin kanssa keskustelemalla aikaa verrattuna siihen että alkaisi googlaamaan ja katselemaan videoita.
 
On tullut käytettyä Cursoria, ja tietysti ChatGPT:tä. Opiskelen alanvaihtajana tällä hetkellä kolmatta vuotta tieto- ja viestintätekniikkaa, painottuen juurikin dataan ja tekoälyyn. Cursor on kyllä kätevä esim. koodin dokumentoinnissa ja yksikkötestien väsäämisessä, koodiakin tekee mutta ei täysin autuaaksi tee, eikä tarvitsekaan. Hyvät taidot tiedon etsimisessä haastavissa tilanteissa ja pyrkimys kehittää omia ratkaisuja on kuitenkin "key".
 
Itse luokittelisin itseni ehkä harrastelijakoodariksi joka välillä loihtii töissäkin jotain pientä koodinpätkää.

Olen tähän asti käytellyt ChatGPT:ta ja Googlen Geminiä ihan vaan kirjoittamaan tylsiä koodinpätkiä jossa nuo ovat kyllä pääsääntöisesti toimineet varsin hyvin. Eli tyyliin "Kirjoita pythonilla funktio aiheesta x, parametrit y ja z, haluan paluuarvon muodossa a" ja lähes aina on tullut ihan kelvollista koodia. Samoin joskus kun on ollut joku koodinpätkä josta ei vaan ole itse virhetä löytänyt niin AI on yli puolessa tapauksista löytänyt jotain korjattavaa.

Joskus on ihan huvikseen kokeillut kysyä jotain vähän isompaa kokonaisuutta mutta selkeästi silloin vastaukset ovat olleet heikompia eli kaikenlaista pikkubugia on ollut koodissa siellä sun täällä. Toki niistä suurimman osan on saanut osoitettua tekoälylle ja saanut sitä kautta korjattua mutta tuollaisessa isommassa koodinpätkässä on melkeinpä ollut helpompaa ja nopeampaa itse korjailla pikkuviat.

Toki tuohon vastausten laatuun vaikuttaa varmaan oma taito kysellä AI:lta asioita ja varmaan nuo LLM:t ovat kehittyneetkin viimeisen vuoden aikana.

Mitään editoriin integroitua avustinta ei minulla ainakaan vielä ole käytössä, sen verran harvoin kuitenkin on tullut AI:ta käytettyä koodailussa apuna.
 
SWE-bench on yksi tapa mitata miten hyvä AI on tekemään koodaustaskeja. Claude Sonnetin tekijät jutteli, että vuosi sitten oli suurinpiirtein 3% mitä AI osasi ratkaista, nyt päästään 49%:iin. Ehkä vuoden päästä ollaan yli 90% suorituskyvyssä. Toki ei tarkoita että AI osaisi koodata kaiken, mutta kertoo jotain siitä miten AI:n käyttö tavanomaisiin tehtäviin on kehittynyt ja ehkä tulee kehittymään. Ollaan jännän äärellä. Ongelmiakin on benchmarkeissa kun niissä tehdyt tulokset eivät välttämättä yleisty tavanomaiseen käyttöön tai puuttuu benchmarkista testejä jostain tietystä koodaushommasta.

Mä olen tykännyt cursorista kun se tuntuu ymmärtävän kontekstin paremmin. ChatGPT webbisivulla hankala kun se ei näe ympäröivää koodia. On ihan herran hallussa tai pitkällinen promptaaminen että saa "helposti integroitavaa" tai hajoaa kokonaan jos pitäisi ympärillä olevaa koodia myös muuttaa.

Our latest model, the upgraded Claude 3.5 Sonnet, achieved 49% on SWE-bench Verified, a software engineering evaluation, beating the previous state-of-the-art model's 45%. This post explains the "agent" we built around the model, and is intended to help developers get the best possible performance out of Claude 3.5 Sonnet.
 
Copilottia on tullut käytettyä, integroituna VS Codeen. Kyllähän siitä pientä buustia saa koodin kirjoittamiseen, juurikin "autocomplete" featuren muodossa. Ja joskus kun on ollut aivot solmussa eikä ole jaksanut miettiä miten funktio kannattaisi toteuttaa, niin olen kirjoittanut ensin yksikkötestit ja pyytänyt niiden pohjalta ratkaisua, on toiminut oikein hyvin.
 
Kokeilin cursorin avulla tehdä rogue like peliä alulle. 20 minuutin väsäys nyrkkeilyä katsoessa tuotti kuvan tuloksen. Modulaarinen python koodi, skriptillä virtualenv setup ja riippuvuuksien asentaminen, karttapohjageneraatio, liikkuminen avoimessa tilassa, npc-generointi, seinät, värit. Liikkuminen toimii, seinien läpi ei pääse.

Jännää vois saada aikaiseksi kun kytkisi npc:n motivaatiot, toiminnot ja liikkumisen lokaaliin kielimalliin. Pelin teema vaikkapa olla softatalossa töissä missä pisteitä saa töiden välttämisestä/epäonnistumisesta. Töiden onnistunut tekeminen vähentää pisteitä. Managerit joko etsivät syytä antaa pelaajalle potkut(game over) tai yrittävät nakittaa hommia. Kaikenlaisten aktivitettien lopputuloksen päättämisen voisi jalkauttaa lokaalille kielimallille niin ei tarvi tehdä jotai if avain sopii lukkoon tms. hässäköitä. AI toimisi dungeon masterina ja logiikka hieman sumea mutta promptattu.

Omia koodirivejä ja muutoksia nolla, eli cursor generoi 100% koodista

1731723748758.png
 
Ajan itse paikallisesti omalla Nvidia pelikoneellani deepseek-coder-v2 LLM johon sitten yhdistän työläppärini VSCoden Continue plugarilla. Samoin käytän ChatGPT:tä ja olen jo käyttänyt sitä ainakin 1-2v vuoden ajan.

Näiden vajaa 2v aikana en ole varsinaisesti kertaakaa törmännyt tilanteeseen jossa oikeasti kannattaisi käyttää LLM itse koodaamiseen pl. muutamat poikkeustapaukset. Omasta mielestäni nämä LLM on aivan mullistavia ja jokaisen itsensä tosissaan ottavan ohjelmistokehittäjän tai oikeastaan kenen tahansa normaalin ihmisen kannattaisi ehdottomasti ottaa nämä täysillä mukaan omaan arkeen. Se missä olen saanut aivan helvetisti ajan ja hermojen säästöä LLM on nämä:
  • Dokumentaation sisällöstä kysely
  • Stackoverflow/Google korvike
  • Dokumentaation oikoluku ja englannin kielityylin parantaminen
  • Tietokanta kyselyjen ja regular expression luonti
  • Raporttien tekeminen
  • Yksittäisten "algortimisten" funktioiden koodaamisen ulkoistaminen tekoälylle kun aivoja laiskotuttaa
  • Arkkitehtuurin validointi ja siitä keskustelu
  • Boilerplate-koodin teko
Varsinaisessa arjen koodaamisessa taas ellei kyse ole erittäin yksinkertaisesta ja suoraviivaisesta "perussovelluksesta", LLM käyttö koodaamiseen tarvitsee niin paljon kontekstin selittämistä ja virheiden korjaamista että kaikki se etu mitä sillä saadaan yleensä nollaatuu täysin ja pahimmillaan mennään jopa negatiiviselle puolelle.
 
Viimeksi muokattu:
Varsinaisessa arjen koodaamisessa taas ellei kyse ole erittäin yksinkertaisesta ja suoraviivaisesta "perussovelluksesta", LLM käyttö koodaamiseen tarvitsee niin paljon kontekstin selittämistä ja virheiden korjaamista että kaikki se etu mitä sillä saadaan yleensä nollaatuu täysin ja pahimmillaan mennään jopa negatiiviselle puolelle.
Cursor+claude sonnet 3.5 tuo paljon apua kontekstiasiaan. Cursor promptattu niin, että se osaa siirtää koko projektin tiedot kontekstiin. Claude sonnet 3.5 kielimalli next level verrattuna chatgpt koodin ymmärtämisen ja luonnin kanssa. Github copilot&co on hieman perässä kontekstiasian kanssa versus cursor. Jos en ole väärin käsittänyt niin github copilottiin on tulossa claude sonnet vaihtoehtona tai saattaa olla jo nyt tarjolla. Samoin github copilotissa on yritystä luoda isompi konteksti kuin vain yksi editoitava tiedosto.

Kehitys on kyllä niin nopeaa, että vaikea sanoa mikä työkalu ja kielimalli on paras vuoden päästä. qwen2.5-coder:32B:ta testaillut lokaalisti. Se on ihan ok, mutta vaatii hyvään lopputuloksene paljon tarkempaa promptaamista kuin claude sonnet 3.5.
 
Viimeksi muokattu:
Cursor+claude sonnet 3.5 tuo paljon apua kontekstiasiaan. Cursor promptattu niin, että se osaa siirtää koko projektin tiedot kontekstiin. Claude sonnet 3.5 kielimalli next level verrattuna chatgpt koodin ymmärtämisen ja luonnin kanssa. Github copilot&co on hieman perässä kontekstiasian kanssa versus cursor. Jos en ole väärin käsittänyt niin github copilottiin on tulossa claude sonnet vaihtoehtona tai saattaa olla jo nyt tarjolla. Samoin github copilotissa on yritystä luoda isompi konteksti kuin vain yksi editoitava tiedosto.

Kehitys on kyllä niin nopeaa, että vaikea sanoa mikä työkalu ja kielimalli on paras vuoden päästä. qwen2.5-coder:32B:ta testaillut lokaalisti. Se on ihan ok, mutta vaatii hyvään lopputuloksene paljon tarkempaa promptaamista kuin claude sonnet 3.5.
Tajuaakohan nuo vaikka Unityä? Siellä kun monia asioita tehdään hiirellä raahaamalla, ja koodi on käyttökelvoton monesti vaikka idea on oikea.
 
Tajuaakohan nuo vaikka Unityä? Siellä kun monia asioita tehdään hiirellä raahaamalla, ja koodi on käyttökelvoton monesti vaikka idea on oikea.
ChatGPT väittää osaavansa, allaoleva lainaus. Varmaan tuota kannattaisi kokeilla mutta pitää odotukset alhaisina.

Toinen puoli tarinaa, että mun makuun parhaiten toimii IDEen integroidut avustimet joilla on pääsy IDEn toiminnallisuuksiin ja tietävät projektin kontekstin. Tätä taustaa vasten imho. jos haluaisi unity/ue5 tms. avustimen niin järkevintä sellainen olisi integroida suoraan työkaluun. Suoran integroinnin ansiosta ai:n ei myöskään tarvisi klikkailla ui elementtejä. Avustin voisi kutsua ohjelmallisesti työkalun ulkoisia ja sisäisiä rajapintoja.
Yes, I’m familiar with Unity! I can assist you with various aspects of Unity game development, including:

1. Project Setup & Best Practices:
• Structuring your project folders.
• Setting up scenes, prefabs, and game objects efficiently.
• Using the Unity Package Manager for dependencies.

2. Programming & Scripting:
• Writing and optimizing C# scripts.
• Implementing game mechanics, AI behavior, player controls, and game physics.
• Working with coroutines, events, delegates, and asynchronous programming.

3. UI/UX Design:
• Designing and implementing user interfaces (menus, HUDs, etc.).
• Handling input (keyboard, mouse, gamepad, or touch).
• Animations for UI elements and transitions.

4. Graphics & Visual Effects:
• Setting up materials, shaders, lighting, and post-processing effects.
• Using Unity’s Visual Effect Graph and Shader Graph.
• Implementing particle systems, visual effects, and environmental details.

5. 2D/3D Animation:
• Animating characters, objects, and environments using the Animator.
• Handling blend trees, animation controllers, and rigging.
• Importing assets from Blender, Maya, or other tools.

6. Physics & Collisions:
• Implementing realistic or arcade-style physics.
• Setting up collisions, triggers, and rigidbodies.
• Handling character controllers and movement systems.

7. Sound Design & Music:
• Integrating audio effects, background music, and sound triggers.
• Working with Unity’s Audio Mixer for complex sound setups.

8. Optimization:

• Improving performance with techniques like object pooling, LODs, and occlusion culling.
• Reducing draw calls, optimizing shaders, and managing memory.
• Profiling your game to identify bottlenecks.

9. Builds & Deployment:
• Preparing builds for different platforms (PC, Android, iOS, etc.).
• Configuring player settings, quality settings, and resolution.
• Addressable assets and optimizing for different hardware targets.

Let me know what specific area you’re interested in or if you need help with a particular feature or problem in your project!
 
Viimeksi muokattu:

Statistiikka

Viestiketjuista
258 466
Viestejä
4 497 361
Jäsenet
74 211
Uusin jäsen
merts

Hinta.fi

Back
Ylös Bottom