|
|
@@ -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);
|
|
|
+```
|