Заметки LLM-энтузиаста
390 subscribers
125 photos
14 videos
1 file
150 links
Дмитрий Жечков @djdim
архитектор в Yandex Cloud,
ex. VMware NSX specialist, ex. Cisco SE

Здесь пишу свои заметки по LLM (большим языковым моделям) и LLM-разработке.

Это личное мнение и не отражает официальную позицию компании, в которой я работаю.
Download Telegram
Важен ли дизайн ПО в эпоху ИИ-кодинга? 🤔

Недавно прослушал интересный видео-подкаст с Джоном Остерхаутом, профессором компьютерных наук Стэнфордского университета и автором книги "Философия дизайна программного обеспечения". Он поделился мыслями о значимости дизайна ПО в эру искусственного интеллекта.

Ключевые выводы:

1️⃣ Влияние ИИ на разработку: ИИ улучшит генерацию низкоуровневого кода, но не заменит высокоуровневый дизайн. По мере того как ИИ будет брать на себя больше задач кодирования, разработчики будут больше фокусироваться именно на дизайне.

2️⃣ Управление сложностью: Хороший дизайн ПО заключается в разбиении сложных систем на меньшие, управляемые блоки. Декомпозиция играет решающую роль.

3️⃣ Устранение и управление сложностью: Существуют два основных подхода — устранение сложности через хороший дизайн и сокрытие сложности через модуляризацию.

Часть про управление сложностью очень созвучна тому, что написано в 2х крутейших монографиях по сетевым технологиям: Navigating Network Complexity и Computer Networking Problems and Solutions

4️⃣ "Тактические торнадо": Разработчики, которые ставят скорость выше качества, часто оставляют после себя беспорядочный код и технический долг, который приходится разгребать другим.

5️⃣ Глубокие и поверхностные модули: Глубокие модули упрощают пользовательский опыт, скрывая внутреннюю сложность и предоставляя рычаг против сложности системы.

6️⃣ Проектируйте дважды: Не останавливайтесь на первом решении. Обдумывание альтернатив часто приводит к лучшим дизайнерским решениям при минимальных временных затратах. Все в духе русской пословицы "семь раз отмерь - один раз отрежь".

В эпоху ИИ-программирования роль дизайнеров ПО будет становиться всё важнее. Интервью напоминает, что отличным инженерам-программистам нужны не только сильные технические навыки, но и превосходное дизайн-мышление, способность к абстракции, эмпатия и постоянное стремление к обучению и рефлексии.

Детальный транскрипт видео-подкаста здесь
Саммари транскрипта выложил тут

#software_design #ai_coding #programming_philosophy #code_complexity #software_engineering