Пример работы с ИИ
Dec. 18th, 2025 10:56 amЕсли совсем кратко, моя стратегия (как и многие другие, если не все) выбирает акции для покупки, и в итоге их продает. К моменту написания предыдущего поста на эту тему, закончился очередной цикл и работ и на меня смотрела с экрана вполне работающая версия, которую - как все легко догадались - мне немедленно захотелось улучшить. В связи с этим я написал следующий промпт:
Currently, we immediately replace sold stocks in the portfolio by the best stock per [existing selection criterion] that is still not in our current portfolio by investing in it all the cash received from the sale. Now I want to change it by requiring that the eligible replacements satisfy [an additional criterion].
If there are no eligible candidates, I want the sales proceeds to stay in cash. We will need a list of cash_flows, initialized to the empty list. If there are no eligible candidates to replace the sold stock then the dollar amount that we wanted to replace but couldn't is appended to the list "cash_flows".
The main loops in the function compute_daily_history()
Мне кажется, не надо быть специалистом ни в чем, чтобы понять смысл происходящего, это довольно просто. Более того, не надо быть крутым программистом или даже что-то знать о питоне, чтобы оценить уровень продукта, предложенного мне в ответ ИИ. (Замечу в скобках, что код в данном случае получился едва ли не короче, чем промпт, что не характерно.) Ниже все 13 строк, не ленитесь, почитайте прежде чем продолжать.
Дуся, грю, ты что ж это малюешь? Ты мне предлагаешь каждый день вызывать нашу самую дорогую функцию, возможно десятки раз, с одними теми же аргументами? Так не пойдет! Надо отдать должное, чатгпт не стал спорить и код враз переписал.
Мораль, кмк, тут очень простая. Конечно, ИИ может во многом помочь уже сегодня. Но доверить ему пока что нельзя ничего. Все, кто думает иначе, будут сами себе злобные буратины.
Currently, we immediately replace sold stocks in the portfolio by the best stock per [existing selection criterion] that is still not in our current portfolio by investing in it all the cash received from the sale. Now I want to change it by requiring that the eligible replacements satisfy [an additional criterion].
If there are no eligible candidates, I want the sales proceeds to stay in cash. We will need a list of cash_flows, initialized to the empty list. If there are no eligible candidates to replace the sold stock then the dollar amount that we wanted to replace but couldn't is appended to the list "cash_flows".
The main loops in the function compute_daily_history()
for day in days:will begin with with checking the state of the variable "cash_flows". If not empty, we attempt to find new eligible candidates. If they exist we buy them one by one, releasing the cash flows one by one. If they don't exist then nothing doing and we proceed to the next statement.
Мне кажется, не надо быть специалистом ни в чем, чтобы понять смысл происходящего, это довольно просто. Более того, не надо быть крутым программистом или даже что-то знать о питоне, чтобы оценить уровень продукта, предложенного мне в ответ ИИ. (Замечу в скобках, что код в данном случае получился едва ли не короче, чем промпт, что не характерно.) Ниже все 13 строк, не ленитесь, почитайте прежде чем продолжать.
# --------------------------------------------------
# Attempt reinvestment from cash_flows
# --------------------------------------------------
if cash_flows:
new_cash_flows = []
for cash_amt in cash_flows:
new_t, new_st, sorted_rets = find_replacement(day, holdings, strategy_parameters)
if new_t is not None:
price = price_df.at[day, new_t]
sh = cash_amt / price
shares[new_t] = shares.get(new_t, 0.0) + sh
holdings[new_t] = 1.0
else:
new_cash_flows.append(cash_amt)
cash_flows = new_cash_flows
Дуся, грю, ты что ж это малюешь? Ты мне предлагаешь каждый день вызывать нашу самую дорогую функцию, возможно десятки раз, с одними теми же аргументами? Так не пойдет! Надо отдать должное, чатгпт не стал спорить и код враз переписал.
Мораль, кмк, тут очень простая. Конечно, ИИ может во многом помочь уже сегодня. Но доверить ему пока что нельзя ничего. Все, кто думает иначе, будут сами себе злобные буратины.
no subject
Date: 2025-12-20 03:16 am (UTC)no subject
Date: 2025-12-20 03:37 am (UTC)В каком смысле более медленной разработкой? С точки зрения человека, что сделать copy-paste питоновского кода, что сишного кода из ответа ИИ — нет разницы.
no subject
Date: 2025-12-20 04:35 am (UTC)no subject
Date: 2025-12-20 04:41 am (UTC)Отлаживать программу на языке с более строгой типизацией обычно проще.
no subject
Date: 2025-12-20 04:50 am (UTC)no subject
Date: 2025-12-20 04:57 am (UTC)Интересно было бы увидеть первые 24 причины.
no subject
Date: 2025-12-21 04:49 am (UTC)Причины, которые могут усложнить отладку больше динамической типизации? Там же огромный список начиная с того, что реально сложно отлаживать код про который неизвестно, что он должен делать(полное отсутствие документации) на машине к которой нельзя подключить дебаггер, логов нет и изменений в код внести нельзя. На фоне подобных проблем тип типизации в языке важен примерно так же как цвет обивки кресел в офисе. Если же рассказывать о проблемах, которые зависят от языка, то ручное управление ресурсами и опасные паттерны многопоточности гораздо более стремная вещь чем динамическая типизация. Но и они меньшая проблема чем возможность писать код огромным количеством разных способов(поэтому С легче отлаживать чем С++ хотя казалось бы).