Просмотр исходного кода

Обновить 'Лекции/AI/Chosing_an_AI_Barsukova.md'

u23barsukova 1 месяц назад
Родитель
Сommit
8c7b48a665
1 измененных файлов с 55 добавлено и 0 удалено
  1. 55 0
      Лекции/AI/Chosing_an_AI_Barsukova.md

+ 55 - 0
Лекции/AI/Chosing_an_AI_Barsukova.md

@@ -21,3 +21,58 @@
 ## Гибкость в подходе к разработке
 
 В итоге работа программиста сегодня — это умение правильно выбирать инструмент. GPT-4 остается хорошим помощником для быстрых и простых вопросов. Claude 3.5 Sonnet становится главным инструментом при написании больших программ с нуля. А модель o1 выступает в роли эксперта, которого зовут для решения самых запутанных и тяжелых задач. Понимание этих различий помогает разработчику экономить время и создавать надежные программы.
+
+## Практическое сравнение реализации (C# / Java)
+
+Ниже представлен алгоритм расчета вклада с ежемесячным пополнением.
+
+### Вариант Claude 3.5 Sonnet
+Claude использует понятные имена переменных и соблюдает принятый стиль кодирования.
+```
+public static decimal CalculateSavings(decimal initialSum, decimal monthlyAdd, double annualRate, int years)
+{
+    // Claude выбирает decimal для точности в деньгах и использует цикл для наглядности
+    decimal monthlyRate = (decimal)annualRate / 12 / 100;
+    int months = years * 12;
+    decimal total = initialSum;
+
+    for (int i = 0; i < months; i++)
+    {
+        total = (total + monthlyAdd) * (1 + monthlyRate);
+    }
+
+    return Math.Round(total, 2);
+}
+```
+
+### Вариант OpenAI o1
+Вместо цикла o1 предлагает использовать формулу сложных процентов (аннуитета), что работает мгновенно даже при расчетах на 50–100 лет.
+```
+public static double CalculateInvestmentO1(double p, double pmt, double r, int t)
+{
+    // o1 использует формулу вместо цикла, что эффективнее для больших периодов
+    double n = 12; // количество пополнений в году
+    double ratePerPeriod = r / n / 100;
+    double periods = n * t;
+
+    // Математическая формула накопления (Compound Interest + Annuity)
+    double futureValueP = p * Math.Pow(1 + ratePerPeriod, periods);
+    double futureValuePmt = pmt * (Math.Pow(1 + ratePerPeriod, periods) - 1) / ratePerPeriod;
+
+    return futureValueP + futureValuePmt;
+}
+```
+
+
+### Вариант GPT-4o
+Самый простой вариант, который легко переписать под любую задачу, но требующий проверки на «граничные случаи».
+```
+double money = 10000;
+double add = 1000;
+double rate = 0.1; // 10%
+for (int i = 0; i < 60; i++) // 5 лет
+{
+    money = (money + add) * (1 + rate / 12);
+}
+Console.WriteLine(money);
+```