Символ объясняет одну точку, но вопросы чаще про связи: в каком порядке исполняется путь запроса, как течёт событие оплаты, где проходит граница server/client. Держать это в голове по мере чтения десятков файлов трудно, и здесь помогает Codemap - иерархическая карта потока выполнения и отношений между компонентами, где каждый узел ведёт к конкретному файлу и функции.
Наивный ход - попросить карту всего репозитория сразу, чтобы "увидеть систему целиком". Кажется, чем шире охват, тем полнее картина. На деле карта всего кода мгновенно превращается в шум: сотни узлов, в которых тонет именно та цепочка, ради которой карту строили. Широта здесь работает против понимания, а не на него.
Ломается наивный подход дважды. Во-первых, карта без вопроса не имеет фокуса и потому неинформативна. Во-вторых, карту, как и объяснение символа, легко принять за полную и точную модель системы, тогда как это сгенерированный вид под конкретный срез, а не доказанная схема исполнения. Узлы - приглашение перейти в код и убедиться, а не финальная истина.
Профессиональный приём - строить карту вокруг одного вопроса и формулировать его до генерации. "Путь запроса от route до записи в базу", "поток события оплаты от нажатия до подтверждения", "граница server и client в этом модуле" - каждая такая формулировка задаёт карте и корень, и границы, и критерий, что на ней лишнее. Узкая карта отвечает; широкая только перечисляет.
Механику стоит знать точно. Карту создают одним из трёх способов: выбрать подсказанную тему по недавней навигации, ввести собственный prompt или сгенерировать из разговора с агентом. Каждая карта открывается отдельной вкладкой редактора, узлы кликабельны и прыгают прямо к файлу и функции, а готовую карту можно превратить в ссылку и отправить коллеге. В отличие от объяснения символа, карта показывает не одну точку, а порядок и направление связей, поэтому и вопрос к ней задают о маршруте, а не об отдельном имени.
У ссылки есть цена, о которой лучше знать заранее. Общие карты хранятся на серверах Devin и по умолчанию требуют аутентификации, а для enterprise доступ к такому обмену включается отдельно, opt-in. То есть "поделиться картой" - это не локальное действие, а вынос части структуры кода за пределы машины; для чувствительного репозитория это решение, а не мелочь интерфейса.
Почему карта устроена как вид под вопрос, а не как автосхема всего. Модель строит иерархию по извлечённому контексту и вашей недавней навигации, а не исчерпывающим статическим анализом; она хорошо показывает вероятный порядок и связи, но не гарантирует, что учтён каждый путь. Это тот же обмен, что и у DeepWiki: скорость и обзор вместо полноты. Полезен он ровно до тех пор, пока карту используют как оглавление к коду, а не как замену коду.
Цена невнимания проявляется в двух видах. Карта всего репозитория тратит генерацию и внимание, а ответа не даёт. Карта, принятая за доказательство, ведёт к выводам о порядке исполнения, которые никто не сверил с реальным кодом - и ошибка в понимании потока потом всплывает уже в правке, построенной на ней. Особенно обидно, когда широкую карту строят в начале работы над незнакомым модулем: именно там нужен точный маршрут, а получают перечень всего, что модуль трогает.
Датированная оговорка про версии. На срезе изменения стоит помнить два: в stable 3.6.21 появились @-упоминания Codemaps в Devin Local, а в 3.7.16 карты и MCP-конфиг корректно открываются с remote-машины - через WSL, SSH и dev container. Доступность конкретной возможности зависит от версии, на которой вы работаете, поэтому её сверяют с changelog, а не с этой страницей.
Проверять карту нужно её же узлами: пройдите по ключевым, откройте файл и функцию, к которым они ведут, и сверьте заявленный порядок с тем, что видите в коде и тестах. Карта прошла проверку, если по ней можно дойти до каждого шага цепочки и он подтверждается. Не прошла - если хоть один узел ведёт не туда или цепочка обрывается. Такая сверка занимает минуты и заодно проявляет пробелы: если по узлу перейти некуда или функция за ним делает совсем другое, вы нашли не изъян карты, а место, где ваше понимание системы расходится с кодом.
Типичный провал - относиться к карте как к авторитету, а не как к навигации: строить широкую карту "чтобы понять всё", а затем цитировать её порядок исполнения, не открыв ни одного узла. Признак тот же, что и с объяснениями символов: вывод обосновывается картинкой, а не строкой кода. Сузьте карту до вопроса и пройдите по узлам - тогда она сделает то, для чего нужна: приведёт к нужным местам быстрее чтения подряд.