Az elmúlt 18 évben írtam kódot, és szakmailag körülbelül 8 éve (beleértve a Google-t, az Uber-t is) - és azt kell mondanom, hogy nagyon szerettem.
A legtöbb időmet szórakoztató dolgok építésére töltöttem, a jutalmazási visszajelzési lánc szűk volt, és az eszközeim néhány évente jobbak lettek. A szintaxis kiemelés, az automatikus befejezés, az IntelliSense, a projekt szintű újrafogalmazások és még a korai Github Copilot is örömtelibbé tette a kódolási tapasztalatomat.
Ez a legújabb hullám nagyon, nagyon másnak érzi magát. Az ügynöki programozással (*köhögés* vibe-kódolás) nem úgy érzi, mint egy újabb fokozatos frissítés. Aktívan megzavarja a következő események felfogását és szerepét.
Megpróbáltam szűkíteni, hogy pontosan miért érzi annyira eltérőnek. Aztán, ahogy szemtanúja voltam egy kódügynöknek, egy újabb apró, de még mindig némileg kétértelmű feladatot a kódbázisomban, hirtelen rájött rám. Nem úgy érzi, hogy „kódolok” többé, inkább úgy érzi, mintha „delegálok”. Úgy érzi, mintha absztrakt utasításokat adnék egy másik embernek, vagy egy embercsoportnak - ahelyett, hogy pontos utasításokat adnék egy számítógépnek.„Érezd az időt”Egyfajta pillanat.
Még mindig úgy érzi, mintha „irányítanám” vagy „programoznám” a rendszert.De ami különbözik, az az, hogy most programozom az ügynök kódolók szervezetét, hogy elérjem a célt, ahelyett, hogy közvetlenül programoznám a számítógépet.
Sötét megvalósítás
Az a tény, hogy a világon mindenkinek van (vagy hamarosan lesz) hozzáférése egy egyre ragyogóbb kódolók hadseregéhez a zsebében.
Ez egy keserű felismerés. empátiázomÁdámA Twitteren azt írta, hogy „már nem gondolja, hogy meg kellene tanulnia kódolni”.
Coding for the sake of art v/s Kódolás a felhasználó érdekében
A szórakozásért való kódolás élvezetes. Visszatérve az undergrad napokba, én is nagyon élveztem a versenyképes programozást. Csapatom még kétszer is elment az ACM-ICPC Ázsia régiókba, és általában volt egy robbanásunk. Van egy bizonyos rohanás, amely egy probléma kiderítéséből származik, és kódot ír, hogy megoldja. Ez nem teljesen különbözik egy keresztrejtvénytől vagy egy sudoku-tól vagy egy matematikai problémától. Természetesen segítséget kaphatna ehhez (erm. cheat!), de ez nem az a lényeg. Ez egy kézműves gondolkodásmód. A művészet kedvéért történő kódolás. A játék puszta szórakozásáért.
Amikor egy terméken dolgozol, nagyrészt ki kell dobnod ezt a gondolkodásmódot az ablakból. Itt a kód elsősorban a termék és a felhasználó kiszolgálására létezik. Ez egy eszköz a célhoz. A végfelhasználónak nem mindegy, hogy írtam-e, vagy egy ügynöknek utasítottam-e írni. A felhasználónak csak az a dolga, hogy működjön. helyesen, megbízhatóan, biztonságosan, gyorsan. Hogy elfelejtsék, hogy létezik, és folytassák a napjukat. Így a kérdés válik „Mi a leggyorsabb módja annak, hogy elérjék (jó, karbantartható) kódot, amely ezt teszi?”
Sajnos úgy tűnik, hogy a válasz erre az, hogy meg kell tanulnom... kijutni az útról. hogy talán többnyire már nem kellene kódot írnom, mert ha így teszem, akkor a palackozás, vagy még rosszabb - az akadály.
az„Az átlag vége”, Tyler Cowen beszélt a „emberi + számítógépes” csapatok dinamikájáról a sakkban. Az ilyen csapatok (meglepő módon) még 2013-ban is előnyhöz jutottak, de a csapathoz való emberi hozzájárulás trendvonala világos volt.„Mire jó még az ember”A következő:
AzÉrdekes megfigyelni a fordulóponthoz vezető megközelítést, amelyben még a legtehetségesebb emberek is nagyon valódi hozzájárulók, hogy szigorúan nulla marginális termék legyenek.
Az
Érdekes megfigyelni a fordulóponthoz vezető megközelítést, amelyben még a legtehetségesebb emberek is nagyon valódi hozzájárulók, hogy szigorúan nulla marginális termék legyenek.
Mostanra úgy tűnik, még mindig hozzáadhatok értéket a gép kimeneteinek megtekintésével és hozzáadásával, de még egyszer - mennyi ideig? „Ami jelenleg jó a gyors prototípusokhoz, javulni fog, és holnap a robusztus rendszerek építője lesz.
Egyrészt az, hogy az alacsony szintű dolgokat elveszítik, nem új a területen. Számítógép-tudomány, sok moreso, mint más területeken, gazdag komposztálhatósági történelemmel rendelkezik. Esélye van arra, hogy egy ideig nem írtál gépkódban vagy összeszerelésben (köszönöm a kompilátorokat!). Szinte biztosan használt építőelemeket (könyvtárak / API-k / platformok) más emberek által létrehozott.
Most azonban a kódolás csak egy része a teljes szoftverfejlesztési folyamatnak. És kiderül, hogy a legtöbb értéket a rendszerhez hozhatom, nem a kódolási képességemmel, hanem a látásommal és a képességemmel, hogy kifejezzem, amit akarok, és irányítsam ezt az ügynökök szervezetét erre a célra.
Tehát hová megyünk innen?
Mivel ez olyan, mint a delegálás, az emberi szervezetmenedzsment axiómái úgy tűnik, hogy az ügynök szervezetmenedzsmentre vonatkoznak.
- Az
- Ismerje meg ügynökeinek korlátait, és ennek megfelelően delegáljon. Mindig szívesen megpróbálnak többet harapni, mint amennyit rághat. Az
- Állítsa be az ellenőrzések és a mérlegek rendszereit, hogy elkapja, amikor a változás megszakad, és irányítsa az ügynököt a jó kód írásához. Az
- Hozzon létre olyan környezetet, ahol az ügynökök megkaphatják a sikerhez szükséges információkat. A dokumentáció jó. Az aggodalmak szétválasztása jó. A jól szervezett kódbázis jó. Az
- A párhuzamosítás jó. Ne csak egyetlen ügynökre várjon egyetlen szálas módon, különösen hosszú futási feladatok esetén. Van egy szilárd esély arra, hogy a jövő elit programozói hasonlítanak a torrentiális magas APM Starcraft játékosokhoz - parancsolják és összegyűjtik az ügynöki egységek seregének kimeneteit. Az
- És ami a legfontosabb, tegye világossá látását, és közölje azt egyértelműen, hogy az ügynök felhatalmazást kapjon a megfelelő döntések meghozatalára, amelyek megfelelnek a tágabb keretrendszerének. Az
Végtére is azt mondják és megteszik, amikor végre valamit szállítanak - még mindig a minőségi pecsétjével pecsételik. A neve és a hírneve a márka. Mint ezeknek az ügynököknek a "vezetője", még mindig felelős az eredményekért.