← 返回列表

Claude Code სერიის გაკვეთილი 3: რატომ მხოლოდ ტერმინალი

1.3 რატომ ვწერთ კოდს ტერმინალში?

მაგალითი: წერთ ახალ ფუნქციას, უეცრად ხვდებით, რომ საჭიროა ქვედა დონის ინსტრუმენტული ფუნქციის შეცვლა, ის მიმოფანტულია სამ ფაილში, ზოგიერთი გამოძახება კვეთს მოდულებს. ხსნით რედაქტორს, გლობალური ძებნა, ფაილი-ფაილზე გადახვევა, სიფრთხილით ცვლით, შემდეგ ისევ ატარებთ ტესტს - იწვის. ხედავთ შეცდომას, ამოწმებთ Stack Trace-ს, ასწორებთ, ხელახლა იმეორებთ.

ამ პროცესში, ნამდვილი დრო, რომელიც იხარჯება "იმის გაგებაზე, თუ როგორ შეიცვალოს", ნაკლებია ნახევარზე. დანარჩენი ნახევარი არის მექანიკური შრომა: ფაილების ძებნა, მითითებების შეცვლა, კომპილაციის ლოდინი, მაუსის დაწკაპუნება.

AI-ს ტერმინალში მოთავსების მთავარი მიზანი ამ მექანიკური სამუშაოს შეკუმშვაა.

ტერმინალი არის კოდთან ყველაზე ახლოს

შესაძლოა იყენებთ VS Code, JetBrains ან Vim. რომელსაც არ უნდა იყენებდეთ, კოდის წერისას ტერმინალს ვერ გაექცევით. გაშვება npm test, git log, grep, make build - ეს ოპერაციები ბუნებრივად სრულდება ბრძანების ხაზში.

მაშ, თუ თქვენი AI პარტნიორი იმავე ტერმინალში "ზის", ყველაფერი მარტივდება. თქვენ არ გჭირდებათ ფაილების შიგთავსის კოპირება ჩატ ფანჯარაში, არ გჭირდებათ იმის აღწერა, "ჩემს პროექტში არის კლასი UserService, ის მდებარეობს src/services/user.ts-ის 42-ე ხაზზე...". Claude Code დგას პროექტის ფესვის დირექტორიაში, ის თავად ნახავს.

ეს არის კონტექსტური "სიმაღლიდან დარტყმა". როდესაც Claude Code-ს ეუბნებით "მიშველე, მოდული \"login\"-ის შეცდომების დამუშავების რეფაქტორინგი", ის რეალურად წაიკითხავს თქვენს auth/login.ts, წაიკითხავს errors.ts, იპოვის ყველა იმ ადგილს, სადაც ის გამოიყენება, და შემდეგ პირდაპირ გაასწორებს. თქვენ არ გჭირდებათ იყოთ გადამცემი.

გათავისუფლდით "ოპერატორის" როლისგან

ბრაუზერის AI ჩატის გამოყენებისას, ხშირად უგონოდ ვთამაშობთ "შუამავალი" როლს: AI გამოაქვს კოდი, ჩვენ ვკითხულობთ, ვამოწმებთ, ვაკოპირებთ, შემდეგ ვაბრუნებთ რედაქტორში. თუ კოდი მუშაობს, ყველაფერი მშვენიერია; თუ არა, ვაკოპირებთ შეცდომას, ისევ ვკითხულობთ, ისევ ვაკოპირებთ. ეს პროცესი ძალიან არღვევს ნაკადს.

Claude Code-ის დიზაინი მიზნად ისახავს, რომ დაბრუნდეთ "მოაზროვნის" პოზიციაზე. თქვენ თქვენ იდეებს, ის მოქმედებს. ცვლილების შემდეგ, თქვენ ხედავთ diff-ს ტერმინალში, წყვეტთ მიღებას. მას ასევე შეუძლია ტესტების გაშვება, lint-ის შემოწმება. თქვენ ზიხართ, უფრო ხშირად კითხულობთ კოდს და იღებთ გადაწყვეტილებებს, ვიდრე ფანჯრებს ცვლით.

რატომ არა რედაქტორის გაფართოება?

შეიძლება იკითხოთ: რატომ არ გავაკეთოთ AI-ს გაფართოება პირდაპირ რედაქტორში?

რედაქტორის გაფართოებები, რასაკვირველია, სასარგებლოა, და ბევრი გუნდი უკვე იყენებს მათ. მაგრამ Claude Code-ს ტერმინალში რამდენიმე უპირატესობა აქვს, რომელიც გაფართოებას გაუჭირდება:

  1. რედაქტორის შეზღუდვის გარეშე. დღეს იყენებთ VS Code-ს, ხვალ Neovim-ს, ან თუნდაც GUI-ის გარეშე დისტანციურ სერვერზე, Claude Code მაინც იმუშავებს. ის არ არის მიბმული თქვენს არჩეულ ინსტრუმენტზე.
  2. შეუძლია უფრო "თავხედური" რამ. ტერმინალში მას შეუძლია ნებისმიერი Shell ბრძანების შესრულება. ეს ნიშნავს, რომ მისი მოქმედების საზღვრები გაცილებით ფართოა - მას შეუძლია Docker კონტეინერის გაშვება მონაცემთა ბაზის მიგრაციის შესამოწმებლად, დისტანციური branch-ის გაყვანა და კონფლიქტების შემოწმება, კოდის ცვლილების შემდეგ e2e ტესტების ავტომატური გაშვება. ასეთ რაღაცეებს, რედაქტორის გაფართოებები, როგორც წესი, ვერ ბედავენ, ან ვერც კი აკეთებენ.
  3. პაკეტური დამუშავება და ავტომატიზაცია. Claude Code-ს შეგიძლიათ მოათავსოთ script-ებში, რათა მან დაამუშაოს ათობით რეპოზიტორია, მასობრივად გენერირება გაუკეთოს დოკუმენტაციას, ან ავტომატურად გაუმკლავდეს Issues-ებს. ამ დროს ის უკვე "დამხმარე" კი არა, არამედ ხაზის ნაწილია.

ჩემი მცირე მაგალითი

ადრე მქონდა JavaScript-ის პროექტის TypeScript-ზე გადაყვანის საჭიროება, დაახლოებით 20,000 სტრიქონი. ჩემი მიდგომა იყო იმის მაგივრად, რომ ხელით, ფაილი-ფაილზე, ტიპები მეწერა, ან იმედა მქონოდა, რომ რედაქტორის გაფართოება ყველაფერს გააკეთებდა.

მე უბრალოდ გავხსენი Claude Code პროექტის დირექტორიაში და ვუთხარი: "თანდათანობით, ამ პროექტის TypeScript-ის strict mode-ზე გადაყვანა. ყოველ ჯერზე შეცვალე რამდენიმე ფაილი, ყოველი ნაკრების შემდეგ გაუშვი tsc --noEmit. თუ იქნება შეცდომები, თავად გაასწორე. გააგრძელე, სანამ ყველაფერი გაივლის."

შემდეგი ნახევარი საათი, მე ძირითადად ერთ რაღაცას ვაკეთებდი: ვუყურებდი მის მიერ შეცვლილ diff-ს, ან ვეთანხმებოდი ან უარვყოფდი. ხანდახან ვეუბნებოდი "აქ ტიპს ნუ გამოიყენებ any, განსაზღვრე interface", ის კი აგრძელებდა მუშაობას. ბოლოს პროექტმა გაიარა კომპილაცია, ბევრად უფრო სწრაფად, ვიდრე მე მოველოდი.

ეს, რა თქმა უნდა, არ ნიშნავს, რომ Claude Code უფრო ჭკვიანია, ვიდრე გაფართოებები. მაგრამ მას შეუძლია თავად შეასრულოს "შეცვლა-ვერიფიკაცია-შესწორება" ციკლი - ეს არის მისი ფუნდამენტური განსხვავება ჩატის AI-სგან.

მოკლედ, ტერმინალმა AI-ს ხელ-ფეხი მისცა

AI-ს ტერმინალში მოთავსება, არსებითად, ნიშნავს, რომ მას მიეცა შესრულების უნარი, არა მხოლოდ რეკომენდაციების.

ამით, თქვენი კოდის რეპოზიტორია წყვეტს იყოს მხოლოდ ტექსტების ნაკრები, რომელთა წაკითხვა მხოლოდ შესაძლებელია, და ხდება რეალური გარემო, სადაც AI-ს შეუძლია "შეხება", ცვლილება, ვერიფიკაცია. ეს დიდი ნახტომია.

თქვენ მაინც ინარჩუნებთ კონტროლს პროექტის მიმართულებაზე და ყველა მნიშვნელოვან გადაწყვეტილებაზე. მაგრამ ის მოსაწყენი, დაბალი კრეატიულობის, განმეორებითი ნახტომების საჭიროების სამუშაო, იპოვა უკეთესი შემსრულებელი.

评论

暂无已展示的评论。

发表评论(匿名)