Building AI Between Rides: A Vancouver Developer's FIFA Countdown Diary
Forty days until FIFA descends on Vancouver, and I'm sitting in my car outside a Starbucks on Robson Street, laptop balanced on my steering wheel, frantically debugging a neural network while waiting for my next ride request. This is my life now – indie AI developer by day, Uber driver by necessity, and full-time observer of a city about to implode from its own ambitions.
Years I've been grinding this dual existence. Code all morning in whatever coffee shop has the best wifi-to-noise ratio, drive afternoons and evenings to pay rent on my shoebox apartment near Main and Broadway. It's not glamorous, but it gives me a front-row seat to Vancouver's tech ecosystem and a real-time feed of how this city actually moves. Right now, both perspectives are screaming the same thing: we are not ready for what's coming.
The Geography Problem (A Developer's View)
As someone who spends half their time thinking about system architecture and the other half navigating Vancouver's street grid, I can tell you they have remarkably similar problems. Both were designed for a different era and different scale, and both are about to get stress-tested beyond their breaking points.
I was working on a routing optimization algorithm last month – nothing fancy, just trying to build something that could predict surge pricing patterns for drivers – when I realized how fundamentally constrained Vancouver's transportation network really is. We're a city built on a peninsula with exactly three ways to get to the North Shore, hemmed in by mountains, ocean, and the Fraser River. From a graph theory perspective, we have way too many single points of failure.
BC Place sits dead center in our most congested node. Every time I drive downtown during a Canucks game, I watch the entire system cascade into failure from a single choke point. The Lions Gate Bridge backs up, forcing traffic to the Second Narrows or down to the Pattullo. The Granville Bridge becomes a parking lot if someone sneezes wrong. It's a classic distributed systems problem – insufficient redundancy and no graceful degradation.
Yesterday I picked up a couple from YVR heading to a hotel downtown. Should be a quick ride, turned into significantly longer because of construction on the Arthur Laing Bridge. That's our only real connection between the airport and the city center. During FIFA, when thousands of confused, jet-lagged soccer fans are trying to navigate this bottleneck simultaneously, my routing algorithm is going to be useless. You can't optimize around fundamental infrastructure limitations.
Pattern Recognition in Traffic and Code
Years of driving has taught me to read Vancouver's traffic patterns like debugging logs. There's a rhythm to it, predictable flows and failure modes that you learn to anticipate. Between rides, I've been feeding this data into machine learning models, trying to build something that could actually be useful for other drivers during FIFA.
Take the West End grid between late afternoon and early evening. Robson Street becomes a crawl from Burrard to Denman – bike lanes, delivery trucks, construction, tourist confusion, all creating these predictable bottlenecks. I've got hundreds of trips logged through this area, and the patterns are consistent enough that my model can predict delays within a meaningful window.
But here's the thing about machine learning – it breaks down when you feed it completely novel data. My model is trained on normal Vancouver traffic patterns. It has no idea what to do with thousands of soccer fans who don't know that you can't turn left off Granville during peak hours, or that taking Robson through downtown during rush hour is basically traffic suicide.
Last week I picked up a tourist who insisted on using Google Maps to "help" me navigate to their hotel. Google routed us down Denman during evening rush hour because it looked shorter on the screen. Took us significantly longer to go just a few blocks. My passenger kept asking why I didn't just follow the GPS, not understanding that Google's algorithm doesn't account for local knowledge that takes years to acquire. FIFA is going to be that conversation scaled up by tens of thousands.
The Underground Soccer Network
Working on location-based AI models has taught me to pay attention to clustering patterns in data, which is probably why I've noticed Vancouver's hidden soccer culture before most people. There are these pockets of passionate fans scattered throughout the city – the Croatian Cultural Centre during big matches, Commercial Drive when Italy plays, Steveston pubs during England games.
I've been tracking these patterns without really meaning to. My ride data shows clear spikes around soccer events that most people miss because they're looking at hockey numbers. I picked up a group last month heading to a very early Champions League final viewing party in East Van. They were completely dialed into soccer culture in a way that reminded me of the most obsessive developers I know – deep technical knowledge, tribal loyalty, and the kind of passion that makes them travel across the city at ridiculous hours.
These existing fans are about to have their minds blown by FIFA. They're used to niche viewing parties and half-empty Whitecaps games. FIFA will be their first taste of what happens when soccer goes truly mainstream in this city. It's like when a developer's side project suddenly gets significant attention – exciting and terrifying simultaneously.
System Load and the Perfect Storm
Any developer who's worked on scaling problems can see what's coming. The summer months are already peak usage months for Vancouver's infrastructure. Hotels at capacity, restaurants slammed, SkyTrain carrying maximum loads with tourists and locals. The system is already running hot before we add FIFA traffic.
It's not just about soccer fans – it's about soccer fans competing for resources with every other user already in the system. The family from Toronto who booked their Vancouver vacation months ago doesn't care that Argentina is playing Brazil. They still need to get from their hotel to Queen Elizabeth Park. Those cruise ship passengers still need transportation to Granville Island. The tech worker heading to their downtown office still needs to get across the Cambie Bridge.
I've been modeling this as a resource allocation problem, trying to predict where the worst bottlenecks will hit. The data is concerning. We're not just talking about additive load – we're looking at cascading failures where each choke point creates downstream congestion that spreads through the entire network.
Building for Chaos
Between rides yesterday, I was debugging a predictive model for surge pricing when it hit me: I'm essentially building AI for a system that's about to become completely chaotic. All my training data is based on predictable patterns that FIFA is going to obliterate. It's like training a model on normal web traffic and then trying to deploy it during a DDoS attack.
But maybe that's the point. Instead of trying to predict normal patterns, I should be building for chaos. What if I focused on resilience instead of optimization? Quick adaptation instead of long-term predictions? I've started working on a different approach – real-time clustering algorithms that can identify emerging traffic patterns as they develop, rather than trying to predict them from historical data.
It's frustrating and fascinating simultaneously. My day job as a driver gives me ground-truth data that most developers never see. I know that the intersection at Burrard and Robson becomes impassable during certain events. I know which routes Google Maps suggests that are actually terrible. I know how tourists behave differently from locals when they're lost or confused.
This week I picked up a group of developers heading to a tech meetup downtown. They were complaining about Vancouver's traffic like it was some mysterious force instead of a system with observable patterns and predictable failure modes. It struck me that most people building location-based apps in this city have never actually driven professionally here. They're optimizing for theoretical scenarios instead of real-world constraints.
The Data Goldmine
Every ride is generating data points for my models. Pickup and dropoff locations, travel times, surge patterns, user behavior during different events. I've got years of this data now, and it's starting to reveal some interesting insights about how Vancouver really moves.
For instance, my data shows clear correlation between weather patterns and traffic flow that most routing algorithms miss. Rain doesn't just slow down driving – it shifts demand patterns as people who normally walk or bike switch to rideshare. A light drizzle consistently increases ride requests in certain neighborhoods, but heavy rain actually decreases them as people just stay home.
During Canucks playoffs, my data showed that traffic patterns shifted almost an hour before game time, as people started positioning themselves for better routes downtown. But during Whitecaps games, the pattern was much more compressed – people seemed to assume soccer wouldn't draw big crowds and left their usual travel buffer, leading to last-minute surges in ride requests.
FIFA is going to generate more transportation data in two weeks than Vancouver normally sees in months. If I can build systems that learn and adapt in real-time, rather than relying on historical patterns, there might be an opportunity to create something genuinely useful for the chaos ahead.
Late Night Coding Sessions
It's late and I just finished a driving shift – airport runs are always good money during FIFA buildup as advance teams and media start arriving. Now I'm back home, laptop open, working on the real-time clustering algorithm I've been obsessing over. My neighbors probably think I'm insane, but there's something addictive about trying to solve an impossible problem.
The core challenge is prediction without historical precedent. My models work great for normal Vancouver traffic because I have years of similar data to train on. But FIFA will be fundamentally different – scale, user behavior, demand patterns, everything will be novel. It's like trying to build AI for a problem that's never existed before.
I've been reading papers on emergency response systems and disaster management algorithms, looking for approaches designed for chaotic scenarios. There's some interesting work on swarm intelligence and distributed problem-solving that might apply. Instead of trying to predict optimal routes, what if I built something that could coordinate distributed decision-making among drivers in real-time?
The technical challenge is fascinating, but the practical implications are what keep me up at night. I know exactly what it feels like to be stuck in Vancouver traffic with a frustrated passenger, watching the ETA tick higher while surge pricing climbs. FIFA is going to create thousands of those situations simultaneously.
Countdown to Chaos
Just over a month now. I can feel the city starting to tense up. More construction crews working overtime to finish projects before FIFA. More tourists arriving early to scout locations. More stress in the voices of the city planners and TransLink officials I pick up heading to emergency planning meetings.
My AI models are getting better at handling uncertainty, but they're still built on the assumption that people will behave rationally when faced with transportation choices. Anyone who's driven professionally knows that's a dangerous assumption. People take the routes they know, even when better options exist. They leave at the worst possible times. They make decisions based on incomplete information and stick with them even when circumstances change.
But maybe that's the real opportunity here. Not building AI that assumes rational behavior, but building systems that account for human irrationality and still find ways to optimize around it. FIFA might be the perfect testing ground for chaos-resistant algorithms.
Between debugging sessions and airport runs, I'm documenting everything. This countdown isn't just about surviving FIFA – it's about building something that could actually help other cities prepare for similar events. Every traffic jam is a data point. Every frustrated passenger is user research. Every late-night coding session is an investment in systems that might actually work when everything else breaks down.
Weeks ago, this felt like an impossible problem. Now it feels like the most interesting challenge I've ever worked on. Vancouver might not be ready for FIFA, but maybe, just maybe, I can build something that helps us all survive it together.
بناء الذكاء الاصطناعي بين الرحلات: مذكرات العد التنازلي لكأس العالم لمطور من فانكوفر
أربعون يومًا متبقية حتى يحل كأس العالم (FIFA) ضيفًا على فانكوفر، وأنا جالس في سيارتي خارج مقهى ستاربكس في شارع روبسون، حاسوبي المحمول متوازن على عجلة القيادة، وأصحح بشراسة أخطاء شبكة عصبية بينما أنتظر طلب الرحلة التالي. هذه هي حياتي الآن – مطور ذكاء اصطناعي مستقل نهارًا، وسائق أوبر اضطرارًا، ومراقب بدوام كامل لمدينة على وشك الانفجار من طموحاتها.
سنوات وأنا أمارس هذا الوجود المزدوج. أبرمج طوال الصباح في أي مقهى يتمتع بأفضل نسبة سرعة إنترنت إلى هدوء، وأقود السيارة بعد الظهر والمساء لأدفع إيجار شقتي الصغيرة بالقرب من شارعي مين وبرودواي. ليس الأمر براقًا، لكنه يمنحني مقعدًا في الصف الأمامي للنظام البيئي التقني في فانكوفر وتغذية حية لكيفية تحرك هذه المدينة فعليًا. حاليًا، يصرخ كلا المنظورين بنفس الشيء: نحن لسنا مستعدين لما هو قادم.
مشكلة الجغرافيا (من وجهة نظر مطور)
بصفتي شخصًا يقضي نصف وقته في التفكير في بنية الأنظمة والنصف الآخر في التنقل في شبكة شوارع فانكوفر، يمكنني القول إن لديهما مشاكل متشابهة بشكل ملحوظ. كلاهما صُمم لعصر ومقياس مختلفين، وكلاهما على وشك أن يُختبر تحت ضغط يتجاوز نقاط الانهيار.
كنت أعمل على خوارزمية تحسين مسار الشهر الماضي – لا شيء فاخر، مجرد محاولة لبناء شيء يمكنه التنبؤ بأنماط التسعير المفاجئ للسائقين – عندما أدركت مدى تقييد شبكة النقل في فانكوفر حقًا. نحن مدينة مبنية على شبه جزيرة مع ثلاث طرق بالضبط للوصول إلى الساحل الشمالي، محصورة بالجبال والمحيط ونهر فريزر. من منظور نظرية الرسوم البيانية، لدينا عدد كبير جدًا من نقاط الفشل الفردية.
يقع ملعب BC Place في قلب العقدة الأكثر ازدحامًا لدينا. في كل مرة أقود فيها إلى وسط المدينة خلال مباراة لـ Canucks، أشاهد النظام بأكمله ينهار بشكل متتالي من نقطة اختناق واحدة. يتوقف جسر Lions Gate، مما يجبر حركة المرور على التوجه إلى Second Narrows أو النزول إلى Pattullo. يصبح جسر Granville ساحة انتظار إذا عطس أحدهم بشكل خاطئ. إنها مشكلة أنظمة موزعة كلاسيكية – تكرار غير كافٍ ولا تدهور سلس.
بالأمس أقلبت زوجين من مطار YVR متجهين إلى فندق في وسط المدينة. كان من المفترض أن تكون رحلة سريعة، لكنها تحولت إلى أطول بكثير بسبب البناء على جسر Arthur Laing. هذا هو اتصالنا الحقيقي الوحيد بين المطار ومركز المدينة. خلال كأس العالم (FIFA)، عندما يحاول آلاف من مشجعي كرة القدم المرتبكين الذين يعانون من اضطراب الرحلات الجوية الطويلة التنقل عبر هذا الاختناق في وقت واحد، ستكون خوارزمية التوجيه الخاصة بي عديمة الفائدة. لا يمكنك التحسين حول قيود البنية التحتية الأساسية.
التعرف على الأنماط في حركة المرور والكود
سنوات من القيادة علمتني قراءة أنماط حركة المرور في فانكوفر مثل سجلات تصحيح الأخطاء. هناك إيقاع لها، تدفقات وأنماط فشل يمكن التنبؤ بها تتعلم توقعها. بين الرحلات، كنت أُغذي هذه البيانات في نماذج التعلم الآلي، محاولًا بناء شيء يمكن أن يكون مفيدًا بالفعل للسائقين الآخرين خلال كأس العالم (FIFA).
خذ شبكة West End بين وقت متأخر بعد الظهر وأوائل المساء. يصبح شارع روبسون زحفًا من Burrard إلى Denman – ممرات الدراجات، شاحنات التوصيل، البناء، ارتباك السياح، كلها تخلق هذه الاختناقات القابلة للتنبؤ. لدي مئات الرحلات المسجلة عبر هذه المنطقة، والأنماط متسقة بما يكفي لنموذجي للتنبؤ بالتأخيرات ضمن نافذة ذات معنى.
لكن إليك الشيء المتعلق بالتعلم الآلي – إنه ينهار عندما تُطعمه بيانات جديدة تمامًا. نموذجي مدرب على أنماط حركة المرور العادية في فانكوفر. ليس لديه أي فكرة عما يجب فعله مع آلاف مشجعي كرة القدم الذين لا يعرفون أنه لا يمكنك الانعطاف يسارًا من شارع Granville خلال ساعات الذروة، أو أن السير في شارع روبسون عبر وسط المدينة خلال ساعة الذروة هو انتحار مروري أساسًا.
الأسبوع الماضي أقلبت سائحًا أصر على استخدام خرائط Google "لمساعدتي" في التوجيه إلى فندقهم. وجهتنا Google إلى أسفل شارع Denman خلال ساعة الذروة المسائية لأنه بدا أقصر على الشاشة. استغرقنا وقتًا أطول بكثير لقطع بضعة بنايات فقط. كان راكبي يسأل لماذا لم أتبع نظام تحديد المواقع العالمي (GPS)، غير مدرك أن خوارزمية Google لا تأخذ في الاعتبار المعرفة المحلية التي تستغرق سنوات لاكتسابها. كأس العالم (FIFA) سيكون تلك المحادثة موسعة بعشرات الآلاف.
شبكة كرة القدم地下ية
العمل على نماذج الذكاء الاصطناعي القائمة على الموقع علمني الانتباه إلى أنماط التجميع في البيانات، وهو على الأرجح سبب ملاحظتي لثقافة كرة القدم الخفية في فانكوفر قبل معظم الناس. هناك هذه البؤر من المشجعين المتحمسين المنتشرين في جميع أنحاء المدينة – المركز الثقافي الكرواتي خلال المباريات الكبيرة، شارع كوميرشال درايف عندما تلعب إيطاليا، حانات ستيفستون خلال مباريات إنجلترا.
كنت أتتبع هذه الأنماط دون قصد حقًا. تُظهر بيانات رحلاتي ارتفاعات واضحة حول أحداث كرة القدم التي يفتقدها معظم الناس لأنهم ينظرون إلى أرقام الهوكي. أقلبت مجموعة الشهر الماضي متجهين إلى حفلة مشاهدة مبكرة جدًا لنهائي دوري أبطال أوروبا في شرق فانكوفر. كانوا منغمسين تمامًا في ثقافة كرة القدم بطريقة ذكرتني بأكثر المطورين الذين أعرفهم هوسًا – معرفة تقنية عميقة، ولاء قبلي، ونوع الشغف الذي يجعلهم يسافرون عبر المدينة في ساعات سخيفة.
هؤلاء المشجعون الحاليون على وشك أن تنفجر أذهانهم بفعل كأس العالم (FIFA). إنهم معتادون على حفلات المشاهدة المتخصصة ومباريات Whitecaps نصف الفارغة. سيكون كأس العالم (FIFA) أول طعم لهم لما يحدث عندما تصبح كرة القدم سائدة حقًا في هذه المدينة. إنه مثل عندما يحصل مشروع جانبي لمطور فجأة على اهتمام كبير – مثير ومرعب في نفس الوقت.
حمل النظام والعاصفة المثالية
أي مطور عمل على مشاكل التوسع يمكنه رؤية ما هو قادم. أشهر الصيف هي بالفعل أشهر ذروة الاستخدام للبنية التحتية في فانكوفر. الفنادق ممتلئة، والمطاعم مكتظة، وسكاي ترين تحمل أحمالًا قصوى مع السياح والسكان المحليين. النظام يعمل ساخنًا بالفعل قبل أن نضيف حركة مرور كأس العالم (FIFA).
الأمر لا يتعلق فقط بمشجعي كرة القدم – إنه يتعلق بمشجعي كرة القدم الذين يتنافسون على الموارد مع كل مستخدم آخر موجود بالفعل في النظام. العائلة من تورونتو التي حجزت عطلتها في فانكوفر منذ أشهر لا تهتم بأن الأرجنتين تلعب ضد البرازيل. لا يزالون بحاجة للوصول من فندقهم إلى حديقة كوين إليزابيث. ركاب السفن السياحية ما زالوا بحاجة إلى وسائل نقل إلى جزيرة جرانفيل. عامل التكنولوجيا المتجه إلى مكتبه في وسط المدينة لا يزال بحاجة لعبور جسر كامبي.
كنت أصمم هذا كمشكلة تخصيص موارد، محاولًا التنبؤ بمكان حدوث أسوأ الاختناقات. البيانات مقلقة. نحن لا نتحدث فقط عن حمل إضافي – نحن ننظر إلى أعطال متتالية حيث يخلق كل نقطة اختناق ازدحامًا في اتجاه مجرى النهر ينتشر عبر الشبكة بأكملها.
البناء للفوضى
بين الرحلات أمس، كنت أصحح نموذجًا تنبؤيًا للتسعير المفاجئ عندما أصابني الإدراك: أنا أساسًا أبني ذكاءً اصطناعيًا لنظام على وشك أن يصبح فوضويًا تمامًا. جميع بيانات التدريب الخاصة بي مبنية على أنماط يمكن التنبؤ بها سيقضي عليها كأس العالم (FIFA). إنه مثل تدريب نموذج على حركة مرور ويب عادية ثم محاولة نشره أثناء هجوم حجب الخدمة (DDoS attack).
لكن ربما هذا هو المغزى. بدلاً من محاولة التنبؤ بالأنماط الطبيعية، يجب أن أبني للفوضى. ماذا لو ركزت على المرونة بدلاً من التحسين؟ التكيف السريع بدلاً من التوقعات طويلة المدى؟ لقد بدأت العمل على نهج مختلف – خوارزميات تجميع في الوقت الفعلي يمكنها تحديد أنماط حركة المرور الناشئة أثناء تطورها، بدلاً من محاولة التنبؤ بها من البيانات التاريخية.
إنه أمر محبط ورائع في نفس الوقت. وظيفتي النهارية كسائق تمنحني بيانات حقيقية لا يراها معظم المطورين أبدًا. أعلم أن تقاطع Burrard وRobson يصبح غير قابل للعبور خلال أحداث معينة. أعلم أي الطرق تقترحها خرائط Google والتي هي في الواقع سيئة. أعلم كيف يتصرف السياح بشكل مختلف عن السكان المحليين عندما يكونون ضائعين أو مرتبكين.
هذا الأسبوع أقلبت مجموعة من المطورين متجهين إلى لقاء تقني في وسط المدينة. كانوا يشكون من حركة المرور في فانكوفر وكأنها قوة غامضة بدلاً من نظام له أنماط يمكن ملاحظتها وأوضاع فشل يمكن التنبؤ بها. صدمني أن معظم الأشخاص الذين يبنون تطبيقات قائمة على الموقع في هذه المدينة لم يقودوا سيارة بشكل احترافي هنا. إنهم يحسنون لسيناريوهات نظرية بدلاً من القيود الواقعية.
منجم الذهب للبيانات
كل رحلة تولد نقاط بيانات لنماذجي. مواقع الالتقاط والإنزال، أوقات السفر، أنماط الزيادة المفاجئة، سلوك المستخدم خلال الأحداث المختلفة. لدي سنوات من هذه البيانات الآن، وبدأت تكشف عن بعض الأفكار المثيرة للاهتمام حول كيفية تحرك فانكوفر حقًا.
على سبيل المثال، تظهر بياناتي ارتباطًا واضحًا بين أنماط الطقس وتدفق حركة المرور تفتقده معظم خوارزميات التوجيه. المطر لا يبطئ القيادة فقط – إنه يحول أنماط الطلب حيث يتحول الأشخاص الذين يمشون أو يركبون الدراجات عادة إلى مشاركة الرحلات. الرذاذ الخفيف يزيد باستمرار طلبات الرحلات في أحياء معينة، لكن المطر الغزير يقللها فعليًا حيث يبقى الناس في المنزل.
خلال تصفيات Canucks، أظهرت بياناتي أن أنماط حركة المرور تحولت قبل المباراة بحوالي ساعة تقريبًا، حيث بدأ الناس في تحديد مواقعهم للحصول على طرق أفضل إلى وسط المدينة. لكن خلال مباريات Whitecaps، كان النمط أكثر انضغاطًا – بدا أن الناس يفترضون أن كرة القدم لن تجذب حشودًا كبيرة وتركوا فترات السماح المعتادة للسفر، مما أدى إلى زيادات مفاجئة في اللحظة الأخيرة في طلبات الرحلات.
سيولد كأس العالم (FIFA) بيانات نقل في أسبوعين أكثر مما تراه فانكوفر عادةً في أشهر. إذا استطعت بناء أنظمة تتعلم وتتكيف في الوقت الفعلي، بدلاً من الاعتماد على الأنماط التاريخية، قد تكون هناك فرصة لإنشاء شيء مفيد حقًا للفوضى القادمة.
جلسات برمجة في وقت متأخر من الليل
الوقت متأخر وقد أنهيت للتو وردية قيادة – رحلات المطار دائمًا ما تكون أموالاً جيدة خلال فترة التحضير لكأس العالم (FIFA) حيث تبدأ الفرق المتقدمة ووسائل الإعلام في الوصول. الآن عدت إلى المنزل، حاسوبي المحمول مفتوح، أعمل على خوارزمية التجميع في الوقت الفعلي التي كنت مهووسًا بها. جيراني ربما يعتقدون أنني مجنون، لكن هناك شيئًا إدمانيًا في محاولة حل مشكلة مستحيلة.
التحدي الأساسي هو التنبؤ بدون سابقة تاريخية. نماذجي تعمل بشكل رائع لحركة المرور العادية في فانكوفر لأن لدي سنوات من البيانات المماثلة للتدريب عليها. لكن كأس العالم (FIFA) سيكون مختلفًا جوهريًا – الحجم، سلوك المستخدم، أنماط الطلب، كل شيء سيكون جديدًا. إنه مثل محاولة بناء ذكاء اصطناعي لمشكلة لم توجد من قبل.
كنت أقرأ أوراقًا بحثية عن أنظمة الاستجابة للطوارئ وخوارزميات إدارة الكوارث، باحثًا عن مناهج مصممة للسيناريوهات الفوضوية. هناك بعض الأعمال المثيرة للاهتمام حول ذكاء السرب وحل المشكلات الموزع التي قد تنطبق. بدلاً من محاولة التنبؤ بالطرق المثلى، ماذا لو بنيت شيئًا يمكنه تنسيق اتخاذ القرارات الموزعة بين السائقين في الوقت الفعلي؟
التحدي التقني رائع، لكن الآثار العملية هي ما يبقيني مستيقظًا في الليل. أعرف بالضبط كيف يبدو الأمر عندما تكون عالقًا في حركة مرور فانكوفر مع راكب محبط، تشاهد الوقت المقدر للوصول يرتفع بينما يرتفع التسعير المفاجئ. كأس العالم (FIFA) سيخلق آلافًا من تلك المواقف في وقت واحد.
العد التنازلي للفوضى
أكثر بقليل من شهر الآن. يمكنني أن أشعر بالمدينة تبدأ في التوتر. المزيد من فرق البناء تعمل لساعات إضافية لإنهاء المشاريع قبل كأس العالم (FIFA). المزيد من السياح يصلون مبكرًا لاستكشاف المواقع. المزيد من التوتر في أصوات مخططي المدن ومسؤولي TransLink الذين أقلهم متجهين إلى اجتماعات التخطيط للطوارئ.
نماذج الذكاء الاصطناعي الخاصة بي تتحسن في التعامل مع عدم اليقين، لكنها لا تزال مبنية على افتراض أن الناس سيتصرفون بعقلانية عند مواجهة خيارات النقل. أي شخص قاد بشكل احترافي يعلم أن هذا افتراض خطير. يأخذ الناس الطرق التي يعرفونها، حتى عندما توجد خيارات أفضل. يغادرون في أسوأ الأوقات الممكنة. يتخذون قرارات بناءً على معلومات غير كاملة ويتمسكون بها حتى عندما تتغير الظروف.
لكن ربما هذه هي الفرصة الحقيقية هنا. ليس بناء ذكاء اصطناعي يفترض سلوكًا عقلانيًا، بل بناء أنظمة تأخذ في الاعتبار اللاعقلانية البشرية وتظل تجد طرقًا للتحسين حولها. قد يكون كأس العالم (FIFA) أرض الاختبار المثالية للخوارزميات المقاومة للفوضى.
بين جلسات تصحيح الأخطاء ورحلات المطار، أنا أوثق كل شيء. هذا العد التنازلي ليس فقط للنجاة من كأس العالم (FIFA) – إنه يتعلق ببناء شيء يمكن أن يساعد المدن الأخرى في التحضير لأحداث مماثلة. كل ازدحام مروري هو نقطة بيانات. كل راكب محبط هو بحث مستخدم. كل جلسة برمجة في وقت متأخر من الليل هي استثمار في أنظمة قد تعمل فعليًا عندما ينهار كل شيء آخر.
قبل أسابيع، بدت هذه وكأنها مشكلة مستحيلة. الآن تبدو وكأنها التحدي الأكثر إثارة للاهتمام الذي عملت عليه على الإطلاق. فانكوفر قد لا تكون مستعدة لكأس العالم (FIFA)، لكن ربما، فقط ربما، يمكنني بناء شيء يساعدنا جميعًا على النجاة معًا.
KI bauen zwischen Fahrten: Ein Entwickler aus Vancouver zählt die Tage bis zur FIFA
Vierzig Tage, bis die FIFA über Vancouver hereinbricht, und ich sitze in meinem Auto vor einem Starbucks an der Robson Street, Laptop auf dem Lenkrad balancierend, und debugge fieberhaft ein neuronales Netzwerk, während ich auf die nächste Fahrtenanfrage warte. Das ist jetzt mein Leben – Indie-KI-Entwickler tagsüber, Uber-Fahrer aus Notwendigkeit abends und Vollzeit-Beobachter einer Stadt, die kurz davor steht, an ihren eigenen Ambitionen zu implodieren.
Jahre schon schlage ich mich mit dieser Doppelexistenz durch. Code den ganzen Morgen in irgendeinem Coffee-Shop mit dem besten WLAN-Rausch-Verhältnis, fahre nachmittags und abends, um die Miete für meine Schuhschachtel-Wohnung nahe Main und Broadway zu bezahlen. Es ist nicht glamourös, aber es gibt mir einen Platz in der ersten Reihe für Vancouvers Tech-Ökosystem und einen Echtzeit-Feed dafür, wie sich diese Stadt tatsächlich bewegt. Im Moment schreien beide Perspektiven dasselbe: Wir sind nicht bereit für das, was kommt.
Das Geografie-Problem (aus Entwicklersicht)
Als jemand, der die Hälfte seiner Zeit damit verbringt, über Systemarchitektur nachzudenken, und die andere Hälfte damit, Vancouvers Straßenraster zu navigieren, kann ich Ihnen sagen, dass sie bemerkenswert ähnliche Probleme haben. Beide wurden für eine andere Ära und einen anderen Maßstab entworfen, und beide werden gleich bis an ihre Belastungsgrenzen und darüber hinaus getestet.
Letzten Monat habe ich an einem Routenoptimierungsalgorithmus gearbeitet – nichts Besonderes, ich habe nur versucht, etwas zu bauen, das Preisspitzenmuster für Fahrer vorhersagen kann –, als mir klar wurde, wie fundamental eingeschränkt Vancouvers Verkehrsnetz wirklich ist. Wir sind eine Stadt auf einer Halbinsel mit genau drei Wegen zur North Shore, eingeengt durch Berge, Ozean und den Fraser River. Aus graphentheoretischer Perspektive haben wir viel zu viele Single Points of Failure.
BC Place liegt genau im Zentrum unseres am stärksten überlasteten Knotens. Jedes Mal, wenn ich während eines Canucks-Spiels in die Innenstadt fahre, sehe ich zu, wie das gesamte System aufgrund eines einzigen Engpasses kaskadenartig zusammenbricht. Die Lions Gate Bridge staut sich, was den Verkehr zur Second Narrows oder runter zur Pattullo zwingt. Die Granville Bridge wird zu einem Parkplatz, wenn jemand falsch niest. Es ist ein klassisches Problem verteilter Systeme – unzureichende Redundanz und keine anmutige Degradierung.
Gestern habe ich ein Paar vom YVR zu einem Hotel in der Innenstadt mitgenommen. Sollte eine schnelle Fahrt sein, wurde aber deutlich länger wegen Bauarbeiten an der Arthur Laing Bridge. Das ist unsere einzige wirkliche Verbindung zwischen dem Flughafen und dem Stadtzentrum. Während der FIFA, wenn tausende verwirrte, jetlag-geschlauchte Fußballfans gleichzeitig versuchen, diesen Engpass zu navigieren, wird mein Routenalgorithmus nutzlos sein. Man kann nicht um fundamentale Infrastrukturbeschränkungen herum optimieren.
Mustererkennung in Verkehr und Code
Jahrelanges Fahren hat mich gelehrt, Vancouvers Verkehrsmuster wie Debugging-Logs zu lesen. Es gibt einen Rhythmus, vorhersagbare Flüsse und Fehlermodi, die man zu antizipieren lernt. Zwischen den Fahrten habe ich diese Daten in Machine-Learning-Modelle eingespeist und versucht, etwas zu bauen, das für andere Fahrer während der FIFA wirklich nützlich sein könnte.
Nehmen Sie das West-End-Raster zwischen dem späten Nachmittag und dem frühen Abend. Die Robson Street wird von Burrard bis Denman zu einem Kriechgang – Radwege, Lieferwagen, Baustellen, Touristenverwirrung, all das erzeugt diese vorhersagbaren Engpässe. Ich habe hunderte Fahrten durch dieses Gebiet protokolliert, und die Muster sind konsistent genug, dass mein Modell Verzögerungen innerhalb eines sinnvollen Fensters vorhersagen kann.
Aber hier ist die Sache mit maschinellem Lernen – es bricht zusammen, wenn man ihm völlig neue Daten füttert. Mein Modell ist auf normale Vancouver-Verkehrsmuster trainiert. Es hat keine Ahnung, was es mit tausenden Fußballfans anfangen soll, die nicht wissen, dass man während der Hauptverkehrszeit nicht links von der Granville abbiegen kann, oder dass die Fahrt über die Robson durch die Innenstadt zur Hauptverkehrszeit im Grunde Verkehrsselbstmord ist.
Letzte Woche habe ich einen Touristen mitgenommen, der darauf bestand, Google Maps zu benutzen, um mir bei der Navigation zu seinem Hotel zu "helfen". Google lotste uns während der abendlichen Hauptverkehrszeit die Denman runter, weil es auf dem Bildschirm kürzer aussah. Wir brauchten deutlich länger für nur ein paar Blocks. Mein Fahrgast fragte mich immer wieder, warum ich nicht einfach dem GPS folgte, und verstand nicht, dass Googles Algorithmus lokales Wissen nicht berücksichtigt, das Jahre braucht, um es zu erwerben. Die FIFA wird diese Unterhaltung sein, hochskaliert um mehrere Zehntausend.
Das unterirdische Fußball-Netzwerk
Die Arbeit an ortsbasierten KI-Modellen hat mich gelehrt, auf Cluster-Muster in Daten zu achten, weshalb ich wahrscheinlich Vancouvers versteckte Fußballkultur bemerkt habe, bevor die meisten es tun. Es gibt diese verstreuten Taschen leidenschaftlicher Fans in der ganzen Stadt – das Croatian Cultural Centre während großer Spiele, die Commercial Drive, wenn Italien spielt, Pubs in Steveston während England-Spielen.
Ich habe diese Muster verfolgt, ohne es wirklich zu wollen. Meine Fahrtdaten zeigen klare Spitzen um Fußballereignisse herum, die den meisten entgehen, weil sie auf Hockey-Zahlen schauen. Letzten Monat habe ich eine Gruppe mitgenommen, die zu einer sehr frühen Champions-League-Final-Übertragungsparty in East Van unterwegs war. Sie waren völlig eingetaucht in die Fußballkultur, und das erinnerte mich an die obsessivsten Entwickler, die ich kenne – tiefes technisches Wissen, Stammesloyalität und die Art von Leidenschaft, die sie zu unchristlichen Zeiten durch die ganze Stadt reisen lässt.
Diese bestehenden Fans werden bald von der FIFA weggeblasen werden. Sie sind Nischen-Übertragungspartys und halbleere Whitecaps-Spiele gewohnt. Die FIFA wird ihr erster Vorgeschmack darauf sein, was passiert, wenn Fußball in dieser Stadt wirklich mainstream wird. Es ist wie wenn das Nebenprojekt eines Entwicklers plötzlich große Aufmerksamkeit bekommt – aufregend und gleichzeitig furchteinflößend.
Systemlast und der Perfect Storm
Jeder Entwickler, der an Skalierungsproblemen gearbeitet hat, kann sehen, was kommt. Die Sommermonate sind bereits Spitzenlastmonate für Vancouvers Infrastruktur. Hotels ausgelastet, Restaurants überfüllt, der SkyTrain fährt mit Höchstlasten mit Touristen und Einheimischen. Das System läuft bereits heiß, bevor wir den FIFA-Verkehr hinzufügen.
Es geht nicht nur um Fußballfans – es geht um Fußballfans, die mit jedem anderen bereits im System befindlichen Nutzer um Ressourcen konkurrieren. Die Familie aus Toronto, die ihren Vancouver-Urlaub vor Monaten gebucht hat, interessiert sich nicht dafür, ob Argentinien gegen Brasilien spielt. Sie müssen trotzdem von ihrem Hotel zum Queen Elizabeth Park. Diese Kreuzfahrtpassagiere brauchen trotzdem Transport nach Granville Island. Der Tech-Arbeiter, der zu seinem Büro in der Innenstadt muss, muss trotzdem über die Cambie Bridge.
Ich habe das als Ressourcenzuteilungsproblem modelliert und versucht vorherzusagen, wo die schlimmsten Engpässe auftreten werden. Die Daten sind besorgniserregend. Wir sprechen hier nicht nur von additiver Last – wir sehen kaskadenartige Ausfälle, bei denen jeder Engpass Staus stromabwärts erzeugt, die sich durch das gesamte Netzwerk ausbreiten.
Bauen für das Chaos
Gestern zwischen den Fahrten habe ich ein Vorhersagemodell für Preisspitzen gede buggt, als es mich traf: Ich baue im Wesentlichen KI für ein System, das kurz davor steht, völlig chaotisch zu werden. Alle meine Trainingsdaten basieren auf vorhersagbaren Mustern, die die FIFA vernichten wird. Es ist, als würde man ein Modell auf normalen Webverkehr trainieren und dann versuchen, es während eines DDoS-Angriffs einzusetzen.
Aber vielleicht ist das genau der Punkt. Anstatt zu versuchen, normale Muster vorherzusagen, sollte ich für das Chaos bauen. Was, wenn ich mich auf Resilienz statt auf Optimierung konzentrierte? Schnelle Anpassung statt langfristiger Vorhersagen? Ich habe angefangen, an einem anderen Ansatz zu arbeiten – Echtzeit-Clustering-Algorithmen, die neu entstehende Verkehrsmuster identifizieren können, während sie sich entwickeln, anstatt zu versuchen, sie aus historischen Daten vorherzusagen.
Es ist gleichzeitig frustrierend und faszinierend. Mein Tagesjob als Fahrer gibt mir Ground-Truth-Daten, die die meisten Entwickler nie zu sehen bekommen. Ich weiß, dass die Kreuzung Burrard und Robson bei bestimmten Ereignissen unpassierbar wird. Ich weiß, welche Routen Google Maps vorschlägt, die eigentlich schrecklich sind. Ich weiß, wie sich Touristen anders verhalten als Einheimische, wenn sie verloren oder verwirrt sind.
Diese Woche habe ich eine Gruppe von Entwicklern mitgenommen, die zu einem Tech-Treffen in der Innenstadt unterwegs waren. Sie beschwerten sich über Vancouvers Verkehr, als wäre es eine mysteriöse Kraft, anstatt ein System mit beobachtbaren Mustern und vorhersagbaren Fehlermodi. Mir ist aufgefallen, dass die meisten Leute, die ortsbasierte Apps in dieser Stadt bauen, hier noch nie professionell gefahren sind. Sie optimieren für theoretische Szenarien anstatt für reale Zwänge.
Die Daten-Goldmine
Jede Fahrt erzeugt Datenpunkte für meine Modelle. Abhol- und Zielorte, Reisezeiten, Preisspitzenmuster, Nutzerverhalten während verschiedener Ereignisse. Ich habe jetzt Jahre dieser Daten, und sie beginnen, einige interessante Erkenntnisse darüber zu offenbaren, wie Vancouver sich wirklich bewegt.
Zum Beispiel zeigen meine Daten eine klare Korrelation zwischen Wetter mustern und Verkehrsfluss, die die meisten Routenalgorithmen übersehen. Regen verlangsamt nicht nur das Fahren – er verschiebt Nachfragemuster, da Leute, die normalerweise zu Fuß gehen oder Rad fahren, auf Ridesharing umsteigen. Ein leichter Nieselregen erhöht die Fahrtenanfragen in bestimmten Vierteln beständig, aber starker Regen verringert sie tatsächlich, weil die Leute einfach zu Hause bleiben.
Während der Canucks-Playoffs zeigten meine Daten, dass sich die Verkehrsmuster fast eine Stunde vor Spielbeginn verschoben, als die Leute begannen, sich für bessere Routen in die Innenstadt zu positionieren. Aber während Whitecaps-Spielen war das Muster viel komprimierter – die Leute schienen anzunehmen, dass Fußball keine großen Menschenmengen anziehen würde, und ließen ihren üblichen Reisezeitpuffer weg, was zu Last-Minute-Spitzen bei Fahrtenanfragen führte.
Die FIFA wird in zwei Wochen mehr Verkehrsdaten erzeugen, als Vancouver normalerweise in Monaten sieht. Wenn ich Systeme bauen kann, die in Echtzeit lernen und sich anpassen, anstatt sich auf historische Muster zu verlassen, könnte es eine Gelegenheit geben, etwas wirklich Nützliches für das bevorstehende Chaos zu schaffen.
Nächtliche Codiersessions
Es ist spät und ich habe gerade eine Fahrschicht beendet – Flughafenfahrten sind während des FIFA-Aufbaus immer gutes Geld, da Voraus teams und Medienschaffende anfangen anzureisen. Jetzt bin ich wieder zu Hause, Laptop offen, und arbeite an dem Echtzeit-Clustering-Algorithmus, der mich besessen macht. Meine Nachbarn halten mich wahrscheinlich für verrückt, aber es gibt etwas Süchtig machendes daran, zu versuchen, ein unmögliches Problem zu lösen.
Die Kernherausforderung ist die Vorhersage ohne historischen Präzedenzfall. Meine Modelle funktionieren großartig für normalen Vancouver-Verkehr, weil ich Jahre ähnlicher Daten zum Trainieren habe. Aber die FIFA wird fundamental anders sein – Maßstab, Nutzerverhalten, Nachfragemuster, alles wird neuartig sein. Es ist, als würde man versuchen, KI für ein Problem zu bauen, das es nie zuvor gegeben hat.
Ich habe Papers über Notfallreaktionssysteme und Katastrophenmanagement-Algorithmen gelesen und nach Ansätzen gesucht, die für chaotische Szenarien entwickelt wurden. Es gibt interessante Arbeiten zu Schwarmintelligenz und verteilter Problemlösung, die anwendbar sein könnten. Anstatt zu versuchen, optimale Routen vorherzusagen, was, wenn ich etwas baute, das die verteilte Entscheidungsfindung unter Fahrern in Echtzeit koordinieren könnte?
Die technische Herausforderung ist faszinierend, aber die praktischen Auswirkungen halten mich nachts wach. Ich weiß genau, wie es sich anfühlt, mit einem frustrierten Fahrgast im Vancouver-Verkehr festzustecken und zuzusehen, wie die geschätzte Ankunftszeit nach oben klettert, während die Preisspitzen steigen. Die FIFA wird tausende solcher Situationen gleichzeitig erzeugen.
Countdown zum Chaos
Etwas mehr als ein Monat jetzt. Ich kann spüren, wie die Stadt beginnt, sich anzuspannen. Mehr Bauarbeiter, die Überstunden machen, um Projekte vor der FIFA fertigzustellen. Mehr Touristen, die früh anreisen, um Orte zu erkunden. Mehr Stress in den Stimmen der Stadtplaner und TransLink-Beamten, die ich einsammle, wenn sie zu Planungssitzungen für Notfälle unterwegs sind.
Meine KI-Modelle werden besser darin, mit Unsicherheit umzugehen, aber sie basieren immer noch auf der Annahme, dass sich Menschen bei Verkehrsentscheidungen rational verhalten. Jeder, der professionell gefahren ist, weiß, dass das eine gefährliche Annahme ist. Leute nehmen die Routen, die sie kennen, selbst wenn bessere Optionen existieren. Sie fahren zu den schlechtestmöglichen Zeiten los. Sie treffen Entscheidungen auf Basis unvollständiger Informationen und bleiben dabei, selbst wenn sich die Umstände ändern.
Aber vielleicht ist das die wirkliche Chance hier. Nicht KI zu bauen, die rationales Verhalten annimmt, sondern Systeme zu bauen, die menschliche Irrationalität berücksichtigen und trotzdem Wege finden, darum herum zu optimieren. Die FIFA könnte der perfekte Testplatz für chaosresistente Algorithmen sein.
Zwischen Debugging-Sessions und Flughafenfahrten dokumentiere ich alles. Dieser Countdown dreht sich nicht nur darum, die FIFA zu überleben – es geht darum, etwas zu bauen, das anderen Städten tatsächlich helfen könnte, sich auf ähnliche Ereignisse vorzubereiten. Jeder Stau ist ein Datenpunkt. Jeder frustrierte Fahrgast ist Nutzerforschung. Jede nächtliche Codiersession ist eine Investition in Systeme, die vielleicht tatsächlich funktionieren, wenn alles andere zusammenbricht.
Vor einigen Wochen fühlte sich das wie ein unmögliches Problem an. Jetzt fühlt es sich an wie die interessanteste Herausforderung, an der ich je gearbeitet habe. Vancouver ist vielleicht nicht bereit für die FIFA, aber vielleicht, nur vielleicht, kann ich etwas bauen, das uns allen hilft, es gemeinsam zu überstehen.
Construyendo IA Entre Viajes: El Diario de Cuenta Regresiva de un Desarrollador de Vancouver hacia la FIFA
Faltan cuarenta días para que la FIFA llegue a Vancouver, y estoy sentado en mi auto afuera de un Starbucks en Robson Street, con la laptop equilibrada sobre el volante, depurando frenéticamente una red neuronal mientras espero la siguiente solicitud de viaje. Esta es mi vida ahora – desarrollador independiente de IA de día, conductor de Uber por necesidad, y observador a tiempo completo de una ciudad a punto de implosionar por sus propias ambiciones.
Años llevo puliendo esta doble existencia. Codifico toda la mañana en el café que tenga la mejor relación wifi-ruido, conduzco las tardes y noches para pagar el alquiler de mi apartamento minúsculo cerca de Main y Broadway. No es glamoroso, pero me da un asiento de primera fila al ecosistema tecnológico de Vancouver y una transmisión en tiempo real de cómo se mueve realmente esta ciudad. Ahora mismo, ambas perspectivas están gritando lo mismo: no estamos listos para lo que se viene.
El Problema de la Geografía (La Visión de un Desarrollador)
Como alguien que pasa la mitad de su tiempo pensando en arquitectura de sistemas y la otra mitad navegando por la cuadrícula de calles de Vancouver, puedo decirte que tienen problemas notablemente similares. Ambos fueron diseñados para una época y una escala diferentes, y ambos están a punto de ser sometidos a pruebas de estrés más allá de sus puntos de quiebre.
Estaba trabajando en un algoritmo de optimización de rutas el mes pasado – nada sofisticado, solo tratando de construir algo que pudiera predecir los patrones de aumento de tarifas para los conductores – cuando me di cuenta de lo fundamentalmente limitado que es realmente la red de transporte de Vancouver. Somos una ciudad construida en una península con exactamente tres maneras de llegar a la Costa Norte, limitada por montañas, océano y el Río Fraser. Desde una perspectiva de teoría de grafos, tenemos demasiados puntos únicos de falla.
BC Place se encuentra justo en el centro de nuestro nodo más congestionado. Cada vez que conduzco al centro durante un partido de los Canucks, veo cómo todo el sistema colapsa en cascada desde un solo punto de estrangulamiento. El Puente Lions Gate se atasca, forzando el tráfico hacia el Second Narrows o hacia el Pattullo. El Puente Granville se convierte en un estacionamiento si alguien estornuda mal. Es un problema clásico de sistemas distribuidos: redundancia insuficiente y ninguna degradación gradual.
Ayer recogí a una pareja en YVR que iba a un hotel en el centro. Debería haber sido un viaje rápido, pero se convirtió en significativamente más largo debido a la construcción en el Puente Arthur Laing. Esa es nuestra única conexión real entre el aeropuerto y el centro de la ciudad. Durante la FIFA, cuando miles de aficionados al fútbol confundidos y con jet lag intenten navegar este cuello de botella simultáneamente, mi algoritmo de enrutamiento va a ser inútil. No se puede optimizar alrededor de limitaciones de infraestructura fundamentales.
Reconocimiento de Patrones en el Tráfico y el Código
Años de conducción me han enseñado a leer los patrones de tráfico de Vancouver como si fueran registros de depuración. Hay un ritmo, flujos predecibles y modos de falla que aprendes a anticipar. Entre viajes, he estado alimentando estos datos en modelos de aprendizaje automático, tratando de construir algo que pudiera ser realmente útil para otros conductores durante la FIFA.
Toma la cuadrícula del West End entre última hora de la tarde y primeras horas de la noche. Robson Street se vuelve un avanzar lento desde Burrard hasta Denman: carriles bici, camiones de reparto, construcción, confusión de turistas, todo creando estos cuellos de botella predecibles. Tengo cientos de viajes registrados a través de esta área, y los patrones son lo suficientemente consistentes como para que mi modelo pueda predecir retrasos dentro de una ventana significativa.
Pero aquí está el problema con el aprendizaje automático: se rompe cuando le introduces datos completamente novedosos. Mi modelo está entrenado en patrones de tráfico normales de Vancouver. No tiene idea de qué hacer con miles de aficionados al fútbol que no saben que no se puede girar a la izquierda desde Granville durante las horas pico, o que tomar Robson a través del centro durante la hora punta es básicamente un suicidio de tráfico.
La semana pasada recogí a un turista que insistió en usar Google Maps para "ayudarme" a navegar hasta su hotel. Google nos enrutó por Denman durante la hora punta de la tarde porque se veía más corto en la pantalla. Nos tomó significativamente más tiempo recorrer solo unas pocas cuadras. Mi pasajero seguía preguntando por qué no seguía simplemente el GPS, sin entender que el algoritmo de Google no tiene en cuenta el conocimiento local que lleva años adquirir. La FIFA va a ser esa conversación amplificada por decenas de miles.
La Red de Fútbol Subterránea
Trabajar en modelos de IA basados en ubicación me ha enseñado a prestar atención a los patrones de agrupamiento en los datos, que es probablemente por lo que he notado la cultura futbolística oculta de Vancouver antes que la mayoría. Hay estos focos de aficionados apasionados dispersos por toda la ciudad – el Centro Cultural Croata durante los grandes partidos, Commercial Drive cuando juega Italia, los pubs de Steveston durante los partidos de Inglaterra.
He estado rastreando estos patrones sin realmente proponérmelo. Mis datos de viajes muestran picos claros alrededor de eventos de fútbol que la mayoría de la gente se pierde porque están mirando los números del hockey. El mes pasado recogí a un grupo que se dirigía a una fiesta para ver la final de la Champions League muy temprano en el Este de Vancouver. Estaban completamente conectados con la cultura futbolística de una manera que me recordó a los desarrolladores más obsesivos que conozco: conocimiento técnico profundo, lealtad tribal, y el tipo de pasión que les hace viajar por la ciudad a horas ridículas.
Estos aficionados existentes están a punto de que la FIFA les vuele la cabeza. Están acostumbrados a fiestas para ver partidos de nicho y partidos de los Whitecaps a medio llenar. La FIFA será su primer sabor de lo que sucede cuando el fútbol se vuelve verdaderamente mainstream en esta ciudad. Es como cuando el proyecto paralelo de un desarrollador de repente recibe atención significativa: emocionante y aterrador simultáneamente.
Carga del Sistema y la Tormenta Perfecta
Cualquier desarrollador que haya trabajado en problemas de escalado puede ver lo que se viene. Los meses de verano ya son meses de uso pico para la infraestructura de Vancouver. Hoteles al máximo de capacidad, restaurantes abarrotados, SkyTrain llevando cargas máximas con turistas y locales. El sistema ya está funcionando al límite antes de que añadamos el tráfico de la FIFA.
No se trata solo de los aficionados al fútbol – se trata de aficionados al fútbol compitiendo por recursos con todos los demás usuarios ya en el sistema. La familia de Toronto que reservó sus vacaciones en Vancouver hace meses no le importa que Argentina esté jugando contra Brasil. Ellos todavía necesitan ir de su hotel a Queen Elizabeth Park. Esos pasajeros de crucero todavía necesitan transporte a Granville Island. El trabajador tecnológico que se dirige a su oficina en el centro todavía necesita cruzar el Puente Cambie.
He estado modelando esto como un problema de asignación de recursos, tratando de predecir dónde golpearán los peores cuellos de botella. Los datos son preocupantes. No estamos hablando solo de carga aditiva – estamos viendo fallas en cascada donde cada punto de estrangulamiento crea congestión aguas abajo que se extiende por toda la red.
Construyendo para el Caos
Entre viajes ayer, estaba depurando un modelo predictivo para el aumento de tarifas cuando me di cuenta: estoy construyendo esencialmente IA para un sistema que está a punto de volverse completamente caótico. Todos mis datos de entrenamiento están basados en patrones predecibles que la FIFA va a obliterar. Es como entrenar un modelo en tráfico web normal y luego tratar de implementarlo durante un ataque DDoS.
Pero quizás ese es el punto. En lugar de tratar de predecir patrones normales, debería estar construyendo para el caos. ¿Qué pasaría si me enfocara en la resiliencia en lugar de la optimización? ¿Adaptación rápida en lugar de predicciones a largo plazo? He empezado a trabajar en un enfoque diferente: algoritmos de agrupamiento en tiempo real que puedan identificar patrones de tráfico emergentes a medida que se desarrollan, en lugar de tratar de predecirlos a partir de datos históricos.
Es frustrante y fascinante simultáneamente. Mi trabajo diario como conductor me da datos de terreno que la mayoría de los desarrolladores nunca ven. Sé que la intersección en Burrard y Robson se vuelve intransitable durante ciertos eventos. Sé qué rutas sugiere Google Maps que en realidad son terribles. Sé cómo los turistas se comportan de manera diferente a los locales cuando están perdidos o confundidos.
Esta semana recogí a un grupo de desarrolladores que se dirigían a un encuentro tecnológico en el centro. Se quejaban del tráfico de Vancouver como si fuera alguna fuerza misteriosa en lugar de un sistema con patrones observables y modos de falla predecibles. Me llamó la atención que la mayoría de las personas que construyen aplicaciones basadas en ubicación en esta ciudad nunca han conducido profesionalmente aquí. Están optimizando para escenarios teóricos en lugar de limitaciones del mundo real.
La Mina de Oro de Datos
Cada viaje está generando puntos de datos para mis modelos. Ubicaciones de recogida y destino, tiempos de viaje, patrones de aumento, comportamiento del usuario durante diferentes eventos. Tengo años de estos datos ahora, y están empezando a revelar algunas ideas interesantes sobre cómo se mueve realmente Vancouver.
Por ejemplo, mis datos muestran una correlación clara entre los patrones climáticos y el flujo de tráfico que la mayoría de los algoritmos de enrutamiento pasan por alto. La lluvia no solo ralentiza la conducción – cambia los patrones de demanda a medida que las personas que normalmente caminan o van en bicicleta cambian al viaje compartido. Una llovizna ligera aumenta consistentemente las solicitudes de viaje en ciertos vecindarios, pero la lluvia intensa en realidad las disminuye a medida que la gente simplemente se queda en casa.
Durante los playoffs de los Canucks, mis datos mostraron que los patrones de tráfico cambiaban casi una hora antes del partido, a medida que la gente comenzaba a posicionarse para mejores rutas al centro. Pero durante los partidos de los Whitecaps, el patrón era mucho más comprimido – la gente parecía asumir que el fútbol no atraería grandes multitudes y dejaba su margen de viaje habitual, lo que llevaba a aumentos de última hora en las solicitudes de viaje.
La FIFA va a generar más datos de transporte en dos semanas de los que Vancouver normalmente ve en meses. Si puedo construir sistemas que aprendan y se adapten en tiempo real, en lugar de depender de patrones históricos, podría haber una oportunidad para crear algo genuinamente útil para el caos que se avecina.
Sesiones de Codificación Nocturnas
Es tarde y acabo de terminar un turno de conducción – los viajes al aeropuerto siempre son buen dinero durante la preparación de la FIFA, a medida que los equipos de avanzada y los medios empiezan a llegar. Ahora estoy de vuelta en casa, laptop abierta, trabajando en el algoritmo de agrupamiento en tiempo real del que he estado obsesionado. Mis vecinos probablemente piensan que estoy loco, pero hay algo adictivo en tratar de resolver un problema imposible.
El desafío central es la predicción sin precedentes históricos. Mis modelos funcionan muy bien para el tráfico normal de Vancouver porque tengo años de datos similares para entrenar. Pero la FIFA será fundamentalmente diferente – escala, comportamiento del usuario, patrones de demanda, todo será novedoso. Es como tratar de construir IA para un problema que nunca ha existido antes.
He estado leyendo artículos sobre sistemas de respuesta a emergencias y algoritmos de gestión de desastres, buscando enfoques diseñados para escenarios caóticos. Hay algunos trabajos interesantes sobre inteligencia de enjambre y resolución de problemas distribuida que podrían aplicarse. En lugar de tratar de predecir rutas óptimas, ¿qué pasaría si construyera algo que pudiera coordinar la toma de decisiones distribuida entre los conductores en tiempo real?
El desafío técnico es fascinante, pero las implicaciones prácticas son lo que me mantiene despierto por la noche. Sé exactamente cómo se siente estar atrapado en el tráfico de Vancouver con un pasajero frustrado, viendo cómo el tiempo estimado de llegada sube mientras las tarifas aumentan. La FIFA va a crear miles de esas situaciones simultáneamente.
Cuenta Regresiva hacia el Caos
Poco más de un mes ahora. Puedo sentir cómo la ciudad empieza a tensarse. Más cuadrillas de construcción trabajando horas extra para terminar proyectos antes de la FIFA. Más turistas llegando temprano para explorar ubicaciones. Más estrés en las voces de los planificadores urbanos y funcionarios de TransLink que recojo camino a reuniones de planificación de emergencia.
Mis modelos de IA están mejorando en el manejo de la incertidumbre, pero todavía están construidos sobre la suposición de que las personas se comportarán racionalmente cuando se enfrenten a opciones de transporte. Cualquiera que haya conducido profesionalmente sabe que esa es una suposición peligrosa. La gente toma las rutas que conocen, incluso cuando existen mejores opciones. Salen en los peores momentos posibles. Toman decisiones basadas en información incompleta y se mantienen firmes incluso cuando las circunstancias cambian.
Pero quizás esa es la verdadera oportunidad aquí. No construir IA que asuma un comportamiento racional, sino construir sistemas que tengan en cuenta la irracionalidad humana y aún así encuentren maneras de optimizar alrededor de ella. La FIFA podría ser el campo de pruebas perfecto para algoritmos resistentes al caos.
Entre sesiones de depuración y viajes al aeropuerto, lo estoy documentando todo. Esta cuenta regresiva no se trata solo de sobrevivir a la FIFA – se trata de construir algo que pueda ayudar realmente a otras ciudades a prepararse para eventos similares. Cada atasco es un punto de datos. Cada pasajero frustrado es una investigación de usuario. Cada sesión de codificación nocturna es una inversión en sistemas que podrían funcionar realmente cuando todo lo demás se desmorona.
Hace semanas, esto parecía un problema imposible. Ahora se siente como el desafío más interesante en el que he trabajado. Vancouver quizás no esté lista para la FIFA, pero quizás, solo quizás, pueda construir algo que nos ayude a todos a sobrevivirla juntos.
Construire l'IA entre deux courses : le journal de bord d'un développeur de Vancouver avant la Coupe du Monde de la FIFA
Quarante jours avant que la FIFA ne déferle sur Vancouver, et me voilà assis dans ma voiture devant un Starbucks sur Robson Street, un ordinateur portable en équilibre sur le volant, en train de déboguer frénétiquement un réseau de neurones en attendant ma prochaine demande de course. C'est ma vie maintenant – développeur IA indépendant le jour, chauffeur Uber par nécessité, et observateur à plein temps d'une ville sur le point d'imploser sous le poids de ses propres ambitions.
Des années que je mène cette double existence. Coder toute la matinée dans le café offrant le meilleur rapport wifi-bruit, conduire l'après-midi et le soir pour payer le loyer de mon minuscule appartement près de Main et Broadway. Ce n'est pas glamour, mais ça me donne un siège au premier rang pour observer l'écosystème technologique de Vancouver et un flux en temps réel de la façon dont cette ville bouge réellement. En ce moment, les deux perspectives crient la même chose : nous ne sommes pas prêts pour ce qui arrive.
Le problème géographique (point de vue d'un développeur)
En tant que personne qui passe la moitié de son temps à réfléchir à l'architecture des systèmes et l'autre moitié à naviguer dans le réseau viaire de Vancouver, je peux vous dire qu'ils ont des problèmes remarquablement similaires. Les deux ont été conçus pour une époque et une échelle différentes, et les deux sont sur le point d'être testés au-delà de leurs points de rupture.
Le mois dernier, je travaillais sur un algorithme d'optimisation d'itinéraire – rien de sophistiqué, juste essayer de construire quelque chose qui pourrait prédire les motifs de tarification dynamique pour les conducteurs – quand j'ai réalisé à quel point le réseau de transport de Vancouver est fondamentalement contraint. Nous sommes une ville construite sur une péninsule avec exactement trois façons d'atteindre la rive nord, coincée par les montagnes, l'océan et le fleuve Fraser. D'un point de vue théorique des graphes, nous avons bien trop de points de défaillance uniques.
BC Place se trouve en plein centre de notre nœud le plus congestionné. Chaque fois que je conduis au centre-ville pendant un match des Canucks, je vois le système entier s'effondrer en cascade à partir d'un seul goulot d'étranglement. Le pont Lions Gate se bloque, forçant le trafic vers le Second Narrows ou vers le Pattullo. Le pont Granville devient un parking si quelqu'un éternue de travers. C'est un problème classique de systèmes distribués – redondance insuffisante et absence de dégradation progressive.
Hier, j'ai pris en charge un couple de YVR se rendant à un hôtel au centre-ville. Une course censée être rapide, qui a duré beaucoup plus longtemps à cause des travaux sur le pont Arthur Laing. C'est notre seule véritable connexion entre l'aéroport et le centre-ville. Pendant la FIFA, quand des milliers de supporters de football fatigués et décalés horairement tenteront de franchir ce goulot d'étranglement simultanément, mon algorithme d'itinéraire sera inutile. On ne peut pas optimiser autour de limitations infrastructurelles fondamentales.
Reconnaissance de motifs dans la circulation et le code
Des années de conduite m'ont appris à lire les motifs de circulation de Vancouver comme des journaux de débogage. Il y a un rythme, des flux prévisibles et des modes de défaillance que l'on apprend à anticiper. Entre les courses, j'alimente ces données dans des modèles d'apprentissage automatique, essayant de construire quelque chose qui pourrait réellement être utile aux autres conducteurs pendant la FIFA.
Prenez la grille du West End entre la fin d'après-midi et le début de soirée. Robson Street devient une procession de Burrard à Denman – pistes cyclables, camions de livraison, travaux, confusion des touristes, créant tous ces goulots d'étranglement prévisibles. J'ai des centaines de trajets enregistrés dans ce secteur, et les motifs sont suffisamment cohérents pour que mon modèle puisse prédire les retards avec une marge significative.
Mais voilà le problème avec l'apprentissage automatique – il tombe en panne quand on lui fournit des données complètement nouvelles. Mon modèle est entraîné sur des motifs de circulation normaux à Vancouver. Il n'a aucune idée de quoi faire avec des milliers de supporters de football qui ne savent pas qu'on ne peut pas tourner à gauche depuis Granville aux heures de pointe, ou qu'emprunter Robson à travers le centre-ville aux heures de pointe est un suicide de circulation.
La semaine dernière, j'ai pris en charge un touriste qui insistait pour utiliser Google Maps pour m'« aider » à naviguer vers son hôtel. Google nous a fait passer par Denman pendant l'heure de pointe du soir parce que ça semblait plus court sur l'écran. Cela nous a pris beaucoup plus de temps pour parcourir seulement quelques pâtés de maisons. Mon passager n'arrêtait pas de demander pourquoi je ne suivais pas simplement le GPS, ne comprenant pas que l'algorithme de Google ne tient pas compte des connaissances locales qui prennent des années à acquérir. La FIFA, c'est cette conversation multipliée par des dizaines de milliers.
Le réseau souterrain du football
Travailler sur des modèles d'IA basés sur la localisation m'a appris à prêter attention aux motifs de regroupement dans les données, ce qui explique probablement pourquoi j'ai remarqué la culture cachée du football à Vancouver avant la plupart des gens. Il y a ces poches de supporters passionnés dispersées dans toute la ville – le Centre Culturel Croate lors des grands matchs, Commercial Drive quand l'Italie joue, les pubs de Steveston pendant les matchs de l'Angleterre.
Je suivais ces motifs sans vraiment le vouloir. Mes données de courses montrent des pics clairs autour des événements de football que la plupart des gens ratent parce qu'ils regardent les chiffres du hockey. Le mois dernier, j'ai pris en charge un groupe se rendant à une très matinale fête de visionnage de la finale de la Ligue des Champions dans East Van. Ils étaient complètement branchés sur la culture du football d'une manière qui m'a rappelé les développeurs les plus obsessionnels que je connais – connaissance technique approfondie, loyauté tribale, et ce genre de passion qui les fait traverser la ville à des heures absurdes.
Ces fans existants sont sur le point d'avoir l'esprit soufflé par la FIFA. Ils ont l'habitude des fêtes de visionnage de niche et des matchs des Whitecaps à moitié vides. La FIFA sera leur premier aperçu de ce qui arrive quand le football devient vraiment mainstream dans cette ville. C'est comme quand le projet personnel d'un développeur reçoit soudainement une attention significative – excitant et terrifiant à la fois.
Charge du système et la tempête parfaite
Tout développeur ayant travaillé sur des problèmes de passage à l'échelle peut voir ce qui arrive. Les mois d'été sont déjà les mois d'utilisation de pointe pour l'infrastructure de Vancouver. Hôtels à pleine capacité, restaurants surchargés, SkyTrain transportant des charges maximales avec touristes et locaux. Le système tourne déjà à chaud avant que nous ajoutions le trafic de la FIFA.
Il ne s'agit pas seulement des supporters de football – il s'agit des supporters de football en compétition pour les ressources avec tous les autres utilisateurs déjà dans le système. La famille de Toronto qui a réservé ses vacances à Vancouver il y a des mois se moque que l'Argentine joue contre le Brésil. Ils ont toujours besoin d'aller de leur hôtel au Queen Elizabeth Park. Les passagers des navires de croisière ont toujours besoin de transport pour Granville Island. Le travailleur du secteur technologique se rendant à son bureau au centre-ville a toujours besoin de traverser le pont Cambie.
Je modélise cela comme un problème d'allocation de ressources, essayant de prédire où les pires goulots d'étranglement frapperont. Les données sont préoccupantes. Nous ne parlons pas seulement d'une charge additive – nous assistons à des défaillances en cascade où chaque point d'étranglement crée une congestion en aval qui se propage à travers tout le réseau.
Construire pour le chaos
Entre les courses hier, je déboguais un modèle prédictif pour la tarification dynamique quand cela m'a frappé : je construis essentiellement une IA pour un système sur le point de devenir complètement chaotique. Toutes mes données d'entraînement sont basées sur des motifs prévisibles que la FIFA va anéantir. C'est comme entraîner un modèle sur du trafic web normal et essayer de le déployer pendant une attaque DDoS.
Mais c'est peut-être là le but. Au lieu d'essayer de prédire des motifs normaux, je devrais construire pour le chaos. Et si je me concentrais sur la résilience plutôt que sur l'optimisation ? L'adaptation rapide plutôt que les prédictions à long terme ? J'ai commencé à travailler sur une approche différente – des algorithmes de clustering en temps réel capables d'identifier les motifs de circulation émergents au fur et à mesure qu'ils se développent, plutôt que d'essayer de les prédire à partir de données historiques.
C'est à la fois frustrant et fascinant. Mon travail quotidien de conducteur me donne des données de terrain que la plupart des développeurs ne voient jamais. Je sais que l'intersection de Burrard et Robson devient impraticable lors de certains événements. Je sais quels itinéraires suggérés par Google Maps sont en réalité horribles. Je sais comment les touristes se comportent différemment des locaux quand ils sont perdus ou confus.
Cette semaine, j'ai pris en charge un groupe de développeurs se rendant à une rencontre tech au centre-ville. Ils se plaignaient du trafic de Vancouver comme d'une force mystérieuse au lieu d'un système avec des motifs observables et des modes de défaillance prévisibles. Il m'a frappé que la plupart des gens construisant des applications basées sur la localisation dans cette ville n'ont jamais réellement conduit professionnellement ici. Ils optimisent pour des scénarios théoriques au lieu de contraintes du monde réel.
La mine d'or de données
Chaque course génère des points de données pour mes modèles. Lieux de prise en charge et de dépose, temps de trajet, motifs de tarification dynamique, comportement des utilisateurs lors de différents événements. J'ai des années de ces données maintenant, et cela commence à révéler des aperçus intéressants sur la façon dont Vancouver se déplace réellement.
Par exemple, mes données montrent une corrélation claire entre les conditions météorologiques et le flux de circulation que la plupart des algorithmes d'itinéraire manquent. La pluie ne ralentit pas seulement la conduite – elle déplace les motifs de demande car les gens qui marchent ou font du vélo normalement passent aux services de covoiturage. Une légère bruine augmente systématiquement les demandes de course dans certains quartiers, mais une forte pluie les diminue en fait car les gens restent simplement chez eux.
Pendant les séries éliminatoires des Canucks, mes données ont montré que les motifs de circulation changeaient presque une heure avant le match, alors que les gens commençaient à se positionner pour de meilleurs itinéraires vers le centre-ville. Mais pendant les matchs des Whitecaps, le motif était beaucoup plus compressé – les gens semblaient supposer que le football n'attirerait pas de grandes foules et laissaient leur marge de déplacement habituelle, entraînant des hausses de dernière minute des demandes de course.
La FIFA va générer plus de données de transport en deux semaines que Vancouver n'en voit normalement en des mois. Si je peux construire des systèmes qui apprennent et s'adaptent en temps réel, plutôt que de se fier à des motifs historiques, il pourrait y avoir une opportunité de créer quelque chose de véritablement utile pour le chaos à venir.
Sessions de codage tardives
Il est tard et je viens de terminer un quart de conduite – les trajets vers l'aéroport sont toujours bons pour l'argent pendant la préparation de la FIFA alors que les équipes d'avance et les médias commencent à arriver. Maintenant, je suis de retour à la maison, ordinateur portable ouvert, travaillant sur l'algorithme de clustering en temps réel qui m'obsède. Mes voisins pensent probablement que je suis fou, mais il y a quelque chose d'addictif à essayer de résoudre un problème impossible.
Le défi central est la prédiction sans précédent historique. Mes modèles fonctionnent très bien pour la circulation normale de Vancouver parce que j'ai des années de données similaires sur lesquelles m'entraîner. Mais la FIFA sera fondamentalement différente – échelle, comportement des utilisateurs, motifs de demande, tout sera nouveau. C'est comme essayer de construire une IA pour un problème qui n'a jamais existé auparavant.
J'ai lu des articles sur les systèmes d'intervention d'urgence et les algorithmes de gestion de catastrophe, cherchant des approches conçues pour des scénarios chaotiques. Il y a des travaux intéressants sur l'intelligence en essaim et la résolution de problèmes distribuée qui pourraient s'appliquer. Au lieu d'essayer de prédire des itinéraires optimaux, et si je construisais quelque chose qui pourrait coordonner la prise de décision distribuée parmi les conducteurs en temps réel ?
Le défi technique est fascinant, mais les implications pratiques sont ce qui me tient éveillé la nuit. Je sais exactement ce que cela fait d'être coincé dans le trafic de Vancouver avec un passager frustré, regardant l'ETA augmenter tandis que la tarification dynamique grimpe. La FIFA va créer des milliers de ces situations simultanément.
Compte à rebours vers le chaos
Un peu plus d'un mois maintenant. Je peux sentir la ville commencer à se tendre. Plus d'équipes de construction faisant des heures supplémentaires pour terminer les projets avant la FIFA. Plus de touristes arrivant tôt pour repérer les lieux. Plus de stress dans les voix des urbanistes et des responsables de TransLink que je prends en charge se rendant à des réunions de planification d'urgence.
Mes modèles d'IA s'améliorent pour gérer l'incertitude, mais ils sont toujours construits sur l'hypothèse que les gens se comporteront rationnellement face aux choix de transport. Quiconque a conduit professionnellement sait que c'est une hypothèse dangereuse. Les gens prennent les itinéraires qu'ils connaissent, même quand de meilleures options existent. Ils partent aux pires moments possibles. Ils prennent des décisions basées sur des informations incomplètes et s'y tiennent même quand les circonstances changent.
Mais c'est peut-être la véritable opportunité ici. Non pas construire une IA qui suppose un comportement rationnel, mais construire des systèmes qui tiennent compte de l'irrationalité humaine et trouvent encore des moyens d'optimiser autour d'elle. La FIFA pourrait être le terrain d'essai parfait pour des algorithmes résistants au chaos.
Entre les sessions de débogage et les trajets vers l'aéroport, je documente tout. Ce compte à rebours ne concerne pas seulement la survie à la FIFA – il s'agit de construire quelque chose qui pourrait réellement aider d'autres villes à se préparer pour des événements similaires. Chaque embouteillage est un point de données. Chaque passager frustré est une recherche utilisateur. Chaque session de codage tardive est un investissement dans des systèmes qui pourraient réellement fonctionner quand tout le reste tombe en panne.
Il y a des semaines, cela ressemblait à un problème impossible. Maintenant, cela ressemble au défi le plus intéressant sur lequel j'aie jamais travaillé. Vancouver n'est peut-être pas prête pour la FIFA, mais peut-être, juste peut-être, que je peux construire quelque chose qui nous aide tous à survivre ensemble.
राइड्स के बीच AI बनाना: एक वैंकूवर डेवलपर की FIFA काउंटडाउन डायरी
FIFA के वैंकूवर आने में चालीस दिन बाकी हैं, और मैं Robson Street पर एक Starbucks के बाहर अपनी कार में बैठा हूँ, लैपटॉप स्टीयरिंग व्हील पर टिकाए, अगली राइड रिक्वेस्ट का इंतज़ार करते हुए एक न्यूरल नेटवर्क को डीबग करने में जुटा हूँ। यही मेरी ज़िंदगी है – दिन में इंडी AI डेवलपर, ज़रूरत पड़ने पर Uber ड्राइवर, और एक ऐसे शहर का पूर्णकालिक पर्यवेक्षक जो अपनी ही महत्वाकांक्षाओं से फटने वाला है।
सालों से मैं इस दोहरे अस्तित्व को झेल रहा हूँ। सुबह कोडिंग किसी भी कॉफ़ी शॉप में जहाँ सबसे अच्छा wifi-टू-शोर अनुपात मिले, दोपहर और शाम को ड्राइविंग करके Main और Broadway के पास अपने डिब्बे जैसे अपार्टमेंट का किराया चुकाने के लिए। यह ग्लैमरस नहीं है, लेकिन यह मुझे वैंकूवर के टेक इकोसिस्टम की पहली पंक्ति की सीट देता है और एक रियल-टाइम फीड देता है कि यह शहर वास्तव में कैसे चलता है। अभी, दोनों दृष्टिकोण एक ही बात चिल्ला रहे हैं: हम आने वाली चीज़ों के लिए तैयार नहीं हैं।
भौगोलिक समस्या (एक डेवलपर का दृष्टिकोण)
एक ऐसे व्यक्ति के रूप में जो अपना आधा समय सिस्टम आर्किटेक्चर के बारे में सोचने में और बाकी आधा वैंकूवर की सड़क ग्रिड को नेविगेट करने में बिताता है, मैं आपको बता सकता हूँ कि दोनों में उल्लेखनीय रूप से समान समस्याएँ हैं। दोनों एक अलग युग और अलग पैमाने के लिए डिज़ाइन किए गए थे, और दोनों अपनी ब्रेकिंग पॉइंट्स से परे तनाव-परीक्षण होने वाले हैं।
पिछले महीने मैं एक रूटिंग ऑप्टिमाइज़ेशन एल्गोरिदम पर काम कर रहा था – कुछ खास नहीं, बस कुछ ऐसा बनाने की कोशिश कर रहा था जो ड्राइवरों के लिए सर्ज प्राइसिंग पैटर्न की भविष्यवाणी कर सके – तभी मुझे एहसास हुआ कि वैंकूवर का परिवहन नेटवर्क वास्तव में कितना मौलिक रूप से विवश है। हम एक प्रायद्वीप पर बसा शहर हैं जहाँ उत्तर तट (North Shore) तक जाने के ठीक तीन रास्ते हैं, जो पहाड़ों, महासागर और Fraser River से घिरा है। ग्राफ थ्योरी के नज़रिए से, हमारे पास बहुत अधिक सिंगल पॉइंट्स ऑफ़ फ़ेलियर हैं।
BC Place हमारे सबसे भीड़भाड़ वाले नोड के बिल्कुल केंद्र में स्थित है। हर बार जब मैं Canucks गेम के दौरान डाउनटाउन जाता हूँ, तो मैं देखता हूँ कि कैसे पूरा सिस्टम एक ही चोक पॉइंट से कैस्केड होकर फेल हो जाता है। Lions Gate Bridge बैक अप हो जाता है, जिससे ट्रैफ़िक Second Narrows या नीचे Pattullo की ओर जाने को मजबूर होता है। अगर कोई गलत तरीके से छींक दे तो Granville Bridge पार्किंग लॉट बन जाता है। यह एक क्लासिक डिस्ट्रीब्यूटेड सिस्टम्स प्रॉब्लम है – अपर्याप्त रिडंडेंसी और कोई ग्रेसफुल डिग्रेडेशन नहीं।
कल मैंने YVR से एक कपल को डाउनटाउन के एक होटल के लिए पिक किया। एक त्वरित राइड होनी चाहिए थी, लेकिन Arthur Laing Bridge पर निर्माण कार्य के कारण काफी लंबी हो गई। हवाई अड्डे और शहर के केंद्र के बीच हमारा यही एकमात्र वास्तविक कनेक्शन है। FIFA के दौरान, जब हज़ारों भ्रमित, जेट-लैग्ड फुटबॉल प्रशंसक एक साथ इस बाधा को पार करने की कोशिश कर रहे होंगे, तो मेरा रूटिंग एल्गोरिदम बेकार हो जाएगा। आप बुनियादी बुनियादी ढाँचे की सीमाओं के आसपास ऑप्टिमाइज़ नहीं कर सकते।
ट्रैफ़िक और कोड में पैटर्न पहचान
सालों की ड्राइविंग ने मुझे वैंकूवर के ट्रैफ़िक पैटर्न को डिबगिंग लॉग की तरह पढ़ना सिखाया है। इसमें एक लय है, पूर्वानुमानित प्रवाह और विफलता मोड हैं जिन्हें आप अनुमान लगाना सीख जाते हैं। राइड्स के बीच, मैं इस डेटा को मशीन लर्निंग मॉडल्स में फीड कर रहा हूँ, कुछ ऐसा बनाने की कोशिश कर रहा हूँ जो FIFA के दौरान अन्य ड्राइवरों के लिए वास्तव में उपयोगी हो सके।
उदाहरण के लिए, दोपहर बाद से शाम तक का West End ग्रिड। Robson Street Burrard से Denman तक रेंगने वाली सड़क बन जाती है – बाइक लेन, डिलीवरी ट्रक, निर्माण, पर्यटक भ्रम, ये सब पूर्वानुमानित बाधाएँ पैदा करते हैं। मेरे पास इस क्षेत्र से सैकड़ों ट्रिप्स लॉग हैं, और पैटर्न इतने सुसंगत हैं कि मेरा मॉडल एक सार्थक विंडो के भीतर देरी की भविष्यवाणी कर सकता है।
लेकिन मशीन लर्निंग के बारे में एक बात है – जब आप इसे पूरी तरह से नया डेटा खिलाते हैं तो यह टूट जाता है। मेरा मॉडल सामान्य वैंकूवर ट्रैफ़िक पैटर्न पर प्रशिक्षित है। इसे इस बात का कोई अंदाज़ा नहीं है कि हजारों फुटबॉल प्रशंसकों के साथ क्या करना है जो नहीं जानते कि पीक आवर्स के दौरान Granville से बाएँ मुड़ना नहीं है, या कि रश आवर के दौरान Robson से डाउनटाउन जाना मूल रूप से ट्रैफ़िक आत्महत्या है।
पिछले हफ्ते मैंने एक पर्यटक को पिक किया जिसने अपने होटल तक नेविगेट करने में मेरी "मदद" करने के लिए Google Maps का उपयोग करने पर जोर दिया। Google ने शाम के रश आवर में हमें Denman की ओर रूट किया क्योंकि यह स्क्रीन पर छोटा दिखता था। हमें कुछ ही ब्लॉक जाने में काफी अधिक समय लगा। मेरा यात्री पूछता रहा कि मैंने GPS का पालन क्यों नहीं किया, यह नहीं समझ पाया कि Google का एल्गोरिदम उस स्थानीय ज्ञान को ध्यान में नहीं रखता जिसे हासिल करने में सालों लग जाते हैं। FIFA वह बातचीत होगी जो दसियों हजारों गुना बढ़ गई है।
अंडरग्राउंड सॉकर नेटवर्क
लोकेशन-आधारित AI मॉडल्स पर काम करने ने मुझे डेटा में क्लस्टरिंग पैटर्न पर ध्यान देना सिखाया है, शायद यही कारण है कि मैंने ज़्यादातर लोगों से पहले वैंकूवर की छिपी सॉकर संस्कृति पर ध्यान दिया है। शहर भर में बिखरे हुए भावुक प्रशंसकों के ये छोटे-छोटे समूह हैं – बड़े मैचों के दौरान Croatian Cultural Centre, जब इटली खेलता है तो Commercial Drive, England खेलों के दौरान Steveston पब।
मैं इन पैटर्न को बिना किसी वास्तविक इरादे के ट्रैक कर रहा हूँ। मेरे राइड डेटा में सॉकर इवेंट्स के आसपास स्पष्ट स्पाइक्स दिखते हैं जिन्हें ज़्यादातर लोग मिस कर देते हैं क्योंकि वे हॉकी के नंबर देख रहे होते हैं। पिछले महीने मैंने एक समूह को पिक किया जो East Van में एक बहुत जल्दी Champions League फ़ाइनल देखने की पार्टी में जा रहा था। वे सॉकर संस्कृति में इस तरह से पूरी तरह से डूबे हुए थे जिसने मुझे उन सबसे जुनूनी डेवलपर्स की याद दिला दी जिन्हें मैं जानता हूँ – गहरा तकनीकी ज्ञान, आदिवासी वफादारी, और उस तरह का जुनून जो उन्हें बेतुके समय पर शहर भर में यात्रा करने पर मजबूर करता है।
इन मौजूदा प्रशंसकों का दिमाग FIFA से उड़ने वाला है। वे आला व्यूइंग पार्टियों और आधे-खाली Whitecaps गेम्स के आदी हैं। FIFA उनका पहला स्वाद होगा जब इस शहर में सॉकर वास्तव में मुख्यधारा में आ जाएगा। यह उस समय जैसा है जब किसी डेवलपर के साइड प्रोजेक्ट को अचानक महत्वपूर्ण ध्यान मिलता है – एक साथ रोमांचक और भयावह।
सिस्टम लोड और परफेक्ट स्टॉर्म
कोई भी डेवलपर जिसने स्केलिंग समस्याओं पर काम किया है, वह देख सकता है कि क्या होने वाला है। गर्मियों के महीने पहले से ही वैंकूवर के बुनियादी ढाँचे के लिए पीक उपयोग के महीने हैं। होटल क्षमता पर, रेस्तरां भरे हुए, SkyTrain पर्यटकों और स्थानीय लोगों के साथ अधिकतम भार लेकर चल रहा है। FIFA ट्रैफ़िक जोड़ने से पहले सिस्टम पहले से ही गर्म चल रहा है।
यह केवल फुटबॉल प्रशंसकों के बारे में नहीं है – यह फुटबॉल प्रशंसकों के बारे में है जो पहले से सिस्टम में मौजूद हर दूसरे उपयोगकर्ता के साथ संसाधनों के लिए प्रतिस्पर्धा कर रहे हैं। टोरंटो का परिवार जिसने महीनों पहले अपनी वैंकूवर छुट्टी बुक की थी, उसे इस बात से कोई फर्क नहीं पड़ता कि अर्जेंटीना ब्राज़ील के खिलाफ खेल रहा है। उन्हें अभी भी अपने होटल से Queen Elizabeth Park तक पहुँचना है। उन क्रूज़ शिप यात्रियों को अभी भी Granville Island के लिए परिवहन चाहिए। डाउनटाउन अपने कार्यालय जाने वाले टेक वर्कर को अभी भी Cambie Bridge पार करना है।
मैं इसे एक संसाधन आवंटन समस्या के रूप में मॉडल कर रहा हूँ, यह अनुमान लगाने की कोशिश कर रहा हूँ कि सबसे खराब बाधाएँ कहाँ आएंगी। डेटा चिंताजनक है। हम केवल एडिटिव लोड के बारे में बात नहीं कर रहे हैं – हम कैस्केडिंग विफलताओं को देख रहे हैं जहाँ प्रत्येक चोक पॉइंट डाउनस्ट्रीम कंजेशन पैदा करता है जो पूरे नेटवर्क में फैल जाता है।
अराजकता के लिए निर्माण
कल राइड्स के बीच, मैं सर्ज प्राइसिंग के लिए एक भविष्यवाणी मॉडल को डीबग कर रहा था तभी मुझे एहसास हुआ: मैं मूल रूप से एक ऐसे सिस्टम के लिए AI बना रहा हूँ जो पूरी तरह से अराजक होने वाला है। मेरा सारा प्रशिक्षण डेटा पूर्वानुमानित पैटर्न पर आधारित है जिसे FIFA नष्ट करने वाला है। यह सामान्य वेब ट्रैफ़िक पर एक मॉडल को प्रशिक्षित करने और फिर इसे DDoS हमले के दौरान तैनात करने की कोशिश करने जैसा है।
लेकिन शायद यही बात है। सामान्य पैटर्न की भविष्यवाणी करने की कोशिश करने के बजाय, मुझे अराजकता के लिए निर्माण करना चाहिए। क्या होगा अगर मैंने ऑप्टिमाइज़ेशन के बजाय रेज़िलिएंस पर ध्यान केंद्रित किया? दीर्घकालिक भविष्यवाणियों के बजाय त्वरित अनुकूलन? मैंने एक अलग दृष्टिकोण पर काम करना शुरू कर दिया है – रियल-टाइम क्लस्टरिंग एल्गोरिदम जो ऐतिहासिक डेटा से भविष्यवाणी करने की कोशिश करने के बजाय, उभरते ट्रैफ़िक पैटर्न की पहचान कर सकते हैं जैसे-जैसे वे विकसित होते हैं।
यह एक साथ निराशाजनक और आकर्षक है। ड्राइवर के रूप में मेरी दिन की नौकरी मुझे ग्राउंड-ट्रुथ डेटा देती है जो अधिकांश डेवलपर्स कभी नहीं देख पाते। मुझे पता है कि कुछ इवेंट्स के दौरान Burrard और Robson का चौराहा अगम्य हो जाता है। मुझे पता है कि Google Maps जिन रूट्स को सुझाता है वे वास्तव में भयानक होते हैं। मुझे पता है कि पर्यटक स्थानीय लोगों से कैसे अलग व्यवहार करते हैं जब वे खो जाते हैं या भ्रमित होते हैं।
इस हफ्ते मैंने डाउनटाउन एक टेक मीटअप की ओर जा रहे डेवलपर्स के एक समूह को पिक किया। वे वैंकूवर के ट्रैफ़िक के बारे में शिकायत कर रहे थे जैसे कि यह कुछ रहस्यमय बल हो, न कि देखने योग्य पैटर्न और पूर्वानुमानित विफलता मोड वाला एक सिस्टम। मुझे यह मारा कि इस शहर में लोकेशन-आधारित ऐप बनाने वाले अधिकांश लोगों ने कभी यहाँ पेशेवर रूप से ड्राइव नहीं किया है। वे सैद्धांतिक परिदृश्यों के लिए ऑप्टिमाइज़ कर रहे हैं न कि वास्तविक दुनिया की बाधाओं के लिए।
डेटा गोल्डमाइन
हर राइड मेरे मॉडल्स के लिए डेटा पॉइंट उत्पन्न कर रही है। पिकअप और ड्रॉपऑफ़ लोकेशन, यात्रा समय, सर्ज पैटर्न, विभिन्न इवेंट्स के दौरान उपयोगकर्ता व्यवहार। मेरे पास अब इस डेटा के वर्षों का संग्रह है, और यह कुछ दिलचस्प अंतर्दृष्टि प्रकट करना शुरू कर रहा है कि वैंकूवर वास्तव में कैसे चलता है।
उदाहरण के लिए, मेरा डेटा मौसम के पैटर्न और ट्रैफ़िक प्रवाह के बीच स्पष्ट सहसंबंध दिखाता है जो अधिकांश रूटिंग एल्गोरिदम से छूट जाता है। बारिश केवल ड्राइविंग को धीमा नहीं करती – यह मांग पैटर्न को बदल देती है क्योंकि जो लोग सामान्य रूप से पैदल चलते हैं या साइकिल चलाते हैं, वे राइडशेयर पर स्विच करते हैं। हल्की बूंदाबांदी लगातार कुछ पड़ोस में राइड रिक्वेस्ट बढ़ाती है, लेकिन भारी बारिश वास्तव में उन्हें कम कर देती है क्योंकि लोग घर पर ही रहते हैं।
Canucks प्लेऑफ़ के दौरान, मेरे डेटा ने दिखाया कि ट्रैफ़िक पैटर्न गेम टाइम से लगभग एक घंटे पहले शिफ्ट हो गए, क्योंकि लोगों ने डाउनटाउन के लिए बेहतर रूट्स पर खुद को स्थापित करना शुरू कर दिया। लेकिन Whitecaps गेम्स के दौरान, पैटर्न बहुत अधिक संकुचित था – लोगों को लगता था कि सॉकर बड़ी भीड़ नहीं खींचेगा और अपने सामान्य यात्रा बफर को छोड़ दिया, जिससे राइड रिक्वेस्ट में अंतिम समय में उछाल आया।
FIFA दो हफ्तों में वैंकूवर सामान्य रूप से महीनों में देखता है, उससे अधिक परिवहन डेटा उत्पन्न करेगा। अगर मैं ऐसे सिस्टम बना सकता हूँ जो ऐतिहासिक पैटर्न पर भरोसा करने के बजाय रियल-टाइम में सीखते और अनुकूलित होते हैं, तो आने वाली अराजकता के लिए वास्तव में उपयोगी कुछ बनाने का अवसर हो सकता है।
देर रात कोडिंग सत्र
देर रात है और मैंने अभी-अभी एक ड्राइविंग शिफ्ट खत्म की है – FIFA बिल्डअप के दौरान एयरपोर्ट रन हमेशा अच्छे पैसे देते हैं क्योंकि एडवांस टीमें और मीडिया आना शुरू हो जाते हैं। अब मैं घर वापस आ गया हूँ, लैपटॉप खुला है, उस रियल-टाइम क्लस्टरिंग एल्गोरिदम पर काम कर रहा हूँ जिसके बारे में मैं जुनूनी हो गया हूँ। मेरे पड़ोसी शायद सोचते हैं कि मैं पागल हूँ, लेकिन एक असंभव समस्या को हल करने की कोशिश करने में कुछ नशीला है।
मुख्य चुनौती ऐतिहासिक मिसाल के बिना भविष्यवाणी है। मेरे मॉडल सामान्य वैंकूवर ट्रैफ़िक के लिए बहुत अच्छे से काम करते हैं क्योंकि मेरे पास प्रशिक्षित करने के लिए वर्षों का समान डेटा है। लेकिन FIFA मौलिक रूप से अलग होगा – पैमाना, उपयोगकर्ता व्यवहार, मांग पैटर्न, सब कुछ नया होगा। यह एक ऐसी समस्या के लिए AI बनाने की कोशिश करने जैसा है जो पहले कभी अस्तित्व में नहीं थी।
मैं आपातकालीन प्रतिक्रिया प्रणालियों और आपदा प्रबंधन एल्गोरिदम पर पेपर पढ़ रहा हूँ, अराजक परिदृश्यों के लिए डिज़ाइन किए गए दृष्टिकोणों की तलाश कर रहा हूँ। स्वार्म इंटेलिजेंस और वितरित समस्या-समाधान पर कुछ दिलचस्प काम है जो लागू हो सकता है। इष्टतम मार्गों की भविष्यवाणी करने की कोशिश करने के बजाय, क्या होगा अगर मैंने कुछ ऐसा बनाया जो रियल-टाइम में ड्राइवरों के बीच वितरित निर्णय लेने का समन्वय कर सके?
तकनीकी चुनौती आकर्षक है, लेकिन व्यावहारिक निहितार्थ ही मुझे रातों को जगाए रखते हैं। मुझे ठीक-ठीक पता है कि एक निराश यात्री के साथ वैंकूवर ट्रैफ़िक में फंसना कैसा लगता है, ETA को ऊपर जाते हुए देखना जबकि सर्ज प्राइसिंग चढ़ती है। FIFA एक साथ उनमें से हजारों स्थितियाँ पैदा करने वाला है।
अराजकता की उलटी गिनती
अब बस एक महीने से कुछ अधिक। मैं शहर को तनावग्रस्त होते हुए महसूस कर सकता हूँ। FIFA से पहले प्रोजेक्ट खत्म करने के लिए और अधिक निर्माण दल ओवरटाइम काम कर रहे हैं। स्थानों की जाँच करने के लिए और अधिक पर्यटक जल्दी आ रहे हैं। उन शहर योजनाकारों और TransLink अधिकारियों की आवाज़ में और अधिक तनाव है जिन्हें मैं आपातकालीन योजना बैठकों में जाते हुए पिक करता हूँ।
मेरे AI मॉडल अनिश्चितता को संभालने में बेहतर हो रहे हैं, लेकिन वे अभी भी इस धारणा पर बने हैं कि परिवहन विकल्पों का सामना करने पर लोग तर्कसंगत व्यवहार करेंगे। कोई भी जिसने पेशेवर रूप से ड्राइव किया है, वह जानता है कि यह एक खतरनाक धारणा है। लोग वही मार्ग लेते हैं जो वे जानते हैं, भले ही बेहतर विकल्प मौजूद हों। वे सबसे खराब संभव समय पर निकलते हैं। वे अधूरी जानकारी के आधार पर निर्णय लेते हैं और परिस्थितियाँ बदलने पर भी उन पर अडिग रहते हैं।
लेकिन शायद यही असली अवसर है। तर्कसंगत व्यवहार मानने वाला AI बनाना नहीं, बल्कि ऐसे सिस्टम बनाना जो मानवीय अतार्किकता को ध्यान में रखते हैं और फिर भी इसके आसपास ऑप्टिमाइज़ करने के तरीके खोजते हैं। FIFA अराजकता-प्रतिरोधी एल्गोरिदम के लिए एकदम सही परीक्षण मैदान हो सकता है।
डिबगिंग सत्रों और एयरपोर्ट रन के बीच, मैं सब कुछ दस्तावेज कर रहा हूँ। यह उलटी गिनती केवल FIFA से बचने के बारे में नहीं है – यह कुछ ऐसा बनाने के बारे में है जो वास्तव में अन्य शहरों को समान आयोजनों की तैयारी में मदद कर सके। हर ट्रैफ़िक जाम एक डेटा पॉइंट है। हर निराश यात्री उपयोगकर्ता शोध है। हर देर रात का कोडिंग सत्र उन प्रणालियों में एक निवेश है जो तब काम कर सकती हैं जब बाकी सब कुछ टूट जाए।
हफ्तों पहले, यह एक असंभव समस्या की तरह लगता था। अब यह सबसे दिलचस्प चुनौती की तरह लगता है जिस पर मैंने कभी काम किया है। हो सकता है कि वैंकूवर FIFA के लिए तैयार न हो, लेकिन शायद, बस शायद, मैं कुछ ऐसा बना सकता हूँ जो हम सभी को एक साथ इससे बचने में मदद करे।
Costruire AI tra una Corsa e l'Altra: Il Diario del Conto alla Rovescia per i Mondiali di un Sviluppatore di Vancouver
Mancano quaranta giorni all'arrivo dei Mondiali FIFA a Vancouver, e sono seduto in macchina fuori da uno Starbucks su Robson Street, con il portatile in equilibrio sul volante, mentre debuggo freneticamente una rete neurale in attesa della prossima richiesta di corsa. Questa è la mia vita ora – sviluppatore AI indipendente di giorno, autista Uber per necessità, e osservatore a tempo pieno di una città sull'orlo di implodere per le proprie ambizioni.
Da anni mi dibatto in questa doppia esistenza. Codifico tutta la mattina nel bar con il miglior rapporto wifi-rumore, guido nel pomeriggio e la sera per pagare l'affitto del mio monolocale vicino a Main e Broadway. Non è glamour, ma mi garantisce un posto in prima fila nell'ecosistema tecnologico di Vancouver e un flusso in tempo reale di come si muove realmente questa città. In questo momento, entrambe le prospettive gridano la stessa cosa: non siamo pronti per ciò che ci aspetta.
Il Problema Geografico (Punto di Vista di uno Sviluppatore)
Come persona che passa metà del tempo a pensare all'architettura dei sistemi e l'altra metà a destreggiarsi tra le strade di Vancouver, posso dirvi che hanno problemi sorprendentemente simili. Entrambi sono stati progettati per un'epoca e una scala diverse, ed entrambi stanno per essere messi alla prova oltre i loro punti di rottura.
Il mese scorso stavo lavorando a un algoritmo di ottimizzazione del percorso – niente di speciale, cercavo solo di costruire qualcosa che potesse prevedere i modelli di surge pricing per gli autisti – quando ho realizzato quanto sia fondamentalmente vincolata la rete di trasporti di Vancouver. Siamo una città costruita su una penisola con esattamente tre modi per raggiungere la North Shore, incastrata tra montagne, oceano e il fiume Fraser. Da una prospettiva di teoria dei grafi, abbiamo fin troppi singoli punti di cedimento.
BC Place si trova al centro del nostro nodo più congestionato. Ogni volta che guido in centro durante una partita dei Canucks, vedo l'intero sistema collassare a cascata da un singolo punto di strozzatura. Il Lions Gate Bridge si blocca, costringendo il traffico verso il Second Narrows o giù al Pattullo. Il Granville Bridge diventa un parcheggio se qualcuno starnutisce male. È un classico problema dei sistemi distribuiti: ridondanza insufficiente e nessun degrado graduale.
Ieri ho preso una coppia dall'aeroporto YVR diretta a un hotel in centro. Doveva essere una corsa veloce, ma è diventata molto più lunga a causa dei lavori sul ponte Arthur Laing. È la nostra unica vera connessione tra l'aeroporto e il centro città. Durante i Mondiali FIFA, quando migliaia di tifosi confusi e con il jet lag proveranno ad affrontare questo collo di bottiglia simultaneamente, il mio algoritmo di routing sarà inutile. Non puoi ottimizzare superando limiti infrastrutturali fondamentali.
Riconoscimento di Modelli nel Traffico e nel Codice
Anni di guida mi hanno insegnato a leggere i modelli del traffico di Vancouver come si leggono i log di debug. C'è un ritmo, flussi prevedibili e modalità di cedimento che impari ad anticipare. Tra una corsa e l'altra, ho inserito questi dati in modelli di machine learning, cercando di costruire qualcosa che potesse essere effettivamente utile per altri autisti durante i Mondiali.
Prendete la griglia del West End nel tardo pomeriggio e nella prima serata. Robson Street diventa un serpentone da Burrard a Denman – piste ciclabili, camion per le consegne, cantieri, confusione turistica, che creano tutti questi colli di bottiglia prevedibili. Ho registrato centinaia di corse in quest'area, e i modelli sono sufficientemente coerenti che il mio modello può prevedere i ritardi con un margine significativo.
Ma ecco il punto del machine learning – crolla quando gli fornisci dati completamente nuovi. Il mio modello è addestrato su modelli di traffico normali di Vancouver. Non ha idea di cosa fare con migliaia di tifosi che non sanno che non si può svoltare a sinistra da Granville nelle ore di punta, o che prendere Robson attraverso il centro all'ora di punta è fondamentalmente un suicidio del traffico.
La settimana scorsa ho preso un turista che insisteva per usare Google Maps per "aiutarmi" a navigare verso il suo hotel. Google ci ha instradato giù per Denman durante l'ora di punta serale perché sembrava più corto sullo schermo. Ci abbiamo messo molto più tempo per percorrere solo poche isolati. Il mio passeggero continuava a chiedere perché non seguissi semplicemente il GPS, non capendo che l'algoritmo di Google non tiene conto della conoscenza locale che richiede anni per essere acquisita. I Mondiali FIFA saranno quella conversazione moltiplicata per decine di migliaia.
La Rete Sotterranea del Calcio
Lavorare su modelli AI basati sulla posizione mi ha insegnato a prestare attenzione ai modelli di clustering nei dati, motivo per cui probabilmente ho notato la cultura calcistica nascosta di Vancouver prima della maggior parte delle persone. Ci sono queste sacche di tifosi appassionati sparsi per tutta la città – il Croatian Cultural Centre durante le partite importanti, Commercial Drive quando gioca l'Italia, i pub di Steveston durante le partite dell'Inghilterra.
Ho tracciato questi modelli senza volerlo. I miei dati sulle corse mostrano picchi chiari intorno agli eventi calcistici che la maggior parte delle persone perde perché guardano ai numeri dell'hockey. Il mese scorso ho preso un gruppo diretto a una festa molto mattiniera per la finale di Champions League a East Van. Erano completamente immersi nella cultura calcistica in un modo che mi ha ricordato gli sviluppatori più ossessivi che conosco – conoscenza tecnica profonda, lealtà tribale e quel tipo di passione che li porta ad attraversare la città a orari assurdi.
Questi tifosi esistenti stanno per avere la mente stravolta dai Mondiali FIFA. Sono abituati a feste di visione di nicchia e partite dei Whitecaps a metà stadio. I Mondiali FIFA saranno il loro primo assaggio di cosa succede quando il calcio diventa davvero mainstream in questa città. È come quando il progetto secondario di uno sviluppatore riceve improvvisamente un'attenzione significativa – eccitante e terrificante allo stesso tempo.
Carico di Sistema e la Tempesta Perfetta
Qualsiasi sviluppatore che abbia lavorato su problemi di scaling può vedere cosa ci aspetta. I mesi estivi sono già i mesi di picco di utilizzo per le infrastrutture di Vancouver. Hotel al completo, ristoranti presi d'assalto, SkyTrain che trasporta carichi massimi con turisti e locali. Il sistema sta già girando a caldo prima ancora che aggiungiamo il traffico dei Mondiali FIFA.
Non si tratta solo di tifosi – si tratta di tifosi che competono per le risorse con ogni altro utente già presente nel sistema. La famiglia da Toronto che ha prenotato la sua vacanza a Vancouver mesi fa non si preoccupa che l'Argentina giochi contro il Brasile. Hanno comunque bisogno di andare dall'hotel al Queen Elizabeth Park. Quei passeggeri delle navi da crociera hanno comunque bisogno di trasporto per Granville Island. Il lavoratore tecnologico diretto in ufficio in centro ha comunque bisogno di attraversare il Cambie Bridge.
Ho modellato questo come un problema di allocazione delle risorse, cercando di prevedere dove colpiranno i peggiori colli di bottiglia. I dati sono preoccupanti. Non stiamo parlando solo di carico additivo – stiamo guardando a cedimenti a cascata in cui ogni punto di strozzatura crea congestione a valle che si diffonde attraverso l'intera rete.
Costruire per il Caos
Tra una corsa e l'altra ieri, stavo facendo il debug di un modello predittivo per il surge pricing quando mi ha colpito: sto essenzialmente costruendo AI per un sistema che sta per diventare completamente caotico. Tutti i miei dati di addestramento si basano su modelli prevedibili che i Mondiali FIFA distruggeranno. È come addestrare un modello sul traffico web normale e poi cercare di distribuirlo durante un attacco DDoS.
Ma forse è proprio questo il punto. Invece di cercare di prevedere modelli normali, dovrei costruire per il caos. E se mi concentrassi sulla resilienza invece che sull'ottimizzazione? Adattamento rapido invece di previsioni a lungo termine? Ho iniziato a lavorare su un approccio diverso – algoritmi di clustering in tempo reale che possano identificare modelli di traffico emergenti mentre si sviluppano, invece di cercare di prevederli da dati storici.
È frustrante e affascinante allo stesso tempo. Il mio lavoro quotidiano come autista mi fornisce dati reali che la maggior parte degli sviluppatori non vede mai. So che l'incrocio tra Burrard e Robson diventa impraticabile durante certi eventi. So quali percorsi suggerisce Google Maps che sono in realtà terribili. So come i turisti si comportano diversamente dai locali quando sono persi o confusi.
Questa settimana ho preso un gruppo di sviluppatori diretti a un meetup tecnologico in centro. Si lamentavano del traffico di Vancouver come se fosse una forza misteriosa invece di un sistema con modelli osservabili e modalità di cedimento prevedibili. Mi ha colpito che la maggior parte delle persone che costruiscono app basate sulla posizione in questa città non ha mai guidato professionalmente qui. Ottimizzano per scenari teorici invece che per vincoli del mondo reale.
La Miniera d'Oro dei Dati
Ogni corsa genera punti dati per i miei modelli. Luoghi di partenza e arrivo, tempi di percorrenza, modelli di surge, comportamento degli utenti durante diversi eventi. Ho anni di questi dati ora, e stanno iniziando a rivelare alcune intuizioni interessanti su come si muove realmente Vancouver.
Ad esempio, i miei dati mostrano una chiara correlazione tra i modelli meteorologici e il flusso del traffico che la maggior parte degli algoritmi di routing ignora. La pioggia non rallenta solo la guida – sposta i modelli di domanda poiché le persone che di solito camminano o vanno in bicicletta passano ai servizi di rideshare. Un leggero acquazzone aumenta costantemente le richieste di corse in certi quartieri, ma la pioggia forte in realtà le diminuisce poiché le persone restano a casa.
Durante i playoff dei Canucks, i miei dati hanno mostrato che i modelli di traffico cambiavano quasi un'ora prima dell'inizio della partita, mentre le persone iniziavano a posizionarsi per percorsi migliori verso il centro. Ma durante le partite dei Whitecaps, il modello era molto più compresso – le persone sembravano presumere che il calcio non attirasse grandi folle e lasciavano il loro solito margine di viaggio, portando a impennate dell'ultimo minuto nelle richieste di corse.
I Mondiali FIFA genereranno più dati di trasporto in due settimane di quelli che Vancouver vede normalmente in mesi. Se riesco a costruire sistemi che imparano e si adattano in tempo reale, invece di fare affidamento su modelli storici, potrebbe esserci un'opportunità per creare qualcosa di veramente utile per il caos che ci aspetta.
Sessioni di Codifica Notturne
È tardi e ho appena finito un turno di guida – le corse per l'aeroporto sono sempre un buon guadagno durante la preparazione ai Mondiali FIFA, mentre squadre avanzate e media iniziano ad arrivare. Ora sono a casa, portatile aperto, lavoro all'algoritmo di clustering in tempo reale su cui mi sono fissato. I miei vicini probabilmente pensano che sia pazzo, ma c'è qualcosa di avvincente nel cercare di risolvere un problema impossibile.
La sfida centrale è la previsione senza precedenti storici. I miei modelli funzionano benissimo per il traffico normale di Vancouver perché ho anni di dati simili su cui addestrarli. Ma i Mondiali FIFA saranno fondamentalmente diversi – scala, comportamento degli utenti, modelli di domanda, tutto sarà nuovo. È come cercare di costruire AI per un problema che non è mai esistito prima.
Ho letto articoli sui sistemi di risposta alle emergenze e algoritmi di gestione dei disastri, cercando approcci progettati per scenari caotici. C'è un lavoro interessante sull'intelligenza di sciame e la risoluzione distribuita dei problemi che potrebbe essere applicabile. Invece di cercare di prevedere percorsi ottimali, e se costruissi qualcosa che potesse coordinare il processo decisionale distribuito tra gli autisti in tempo reale?
La sfida tecnica è affascinante, ma le implicazioni pratiche sono ciò che mi tiene sveglio la notte. So esattamente cosa si prova a essere bloccati nel traffico di Vancouver con un passeggero frustrato, guardando l'ETA salire mentre il surge pricing aumenta. I Mondiali FIFA creeranno migliaia di quelle situazioni simultaneamente.
Conto alla Rovescia verso il Caos
Poco più di un mese ora. Sento la città che inizia a tendersi. Più squadre di costruzione che fanno straordinari per finire i progetti prima dei Mondiali FIFA. Più turisti che arrivano presto per esplorare le location. Più stress nelle voci dei pianificatori urbani e dei funzionari di TransLink che prendo mentre vanno a riunioni di pianificazione di emergenza.
I miei modelli AI stanno migliorando nel gestire l'incertezza, ma si basano ancora sul presupposto che le persone si comporteranno razionalmente di fronte a scelte di trasporto. Chiunque abbia guidato professionalmente sa che è un presupposto pericoloso. Le persone prendono i percorsi che conoscono, anche quando esistono opzioni migliori. Partono nei momenti peggiori. Prendono decisioni basate su informazioni incomplete e ci si attengono anche quando le circostanze cambiano.
Ma forse è questa la vera opportunità qui. Non costruire AI che presume un comportamento razionale, ma costruire sistemi che tengano conto dell'irrazionalità umana e trovino comunque modi per ottimizzare intorno ad essa. I Mondiali FIFA potrebbero essere il terreno di prova perfetto per algoritmi resistenti al caos.
Tra sessioni di debug e corse per l'aeroporto, documento tutto. Questo conto alla rovescia non riguarda solo sopravvivere ai Mondiali FIFA – riguarda la costruzione di qualcosa che potrebbe effettivamente aiutare altre città a prepararsi per eventi simili. Ogni ingorgo è un punto dati. Ogni passeggero frustrato è una ricerca sugli utenti. Ogni sessione di codifica notturna è un investimento in sistemi che potrebbero effettivamente funzionare quando tutto il resto crolla.
Settimane fa, questo sembrava un problema impossibile. Ora sembra la sfida più interessante su cui abbia mai lavorato. Vancouver potrebbe non essere pronta per i Mondiali FIFA, ma forse, solo forse, posso costruire qualcosa che ci aiuti tutti a sopravvivere insieme.
配車の合間にAIを開発:バンクーバー在住エンジニアのFIFAカウントダウン日記
FIFAがバンクーバーにやってくるまであと40日。今、私はロブソン通りのスターバックス外の車の中で、ラップトップをハンドルに載せ、次の配車リクエストを待ちながら、必死にニューラルネットワークのデバッグを行っている。これが今の私の生活だ。昼間は個人でAI開発者、やむを得ず夜はUberドライバー、そして、自らの野心で爆発しそうなこの街のフルタイムの観察者。
この二重生活を何年も続けてきた。午前中は、Wi-Fiと騒音の比率が最良のコーヒーショップでコードを書き、午後と夜は、メインストリートとブロードウェイの交差点近くにある箱庭のようなアパートの家賃を払うために運転する。華やかではないが、バンクーバーのテックエコシステムの最前列の席と、この街が実際にどう動いているかをリアルタイムで知る機会を与えてくれている。今、その両方の視点が同じことを叫んでいる。私たちは、来るべきものに対して準備ができていない、と。
地理の問題(開発者の視点)
時間の半分をシステムアーキテクチャについて考え、残りの半分をバンクーバーの街路盤を走り回って過ごす者として言えるのは、両者には驚くほど似た問題があるということだ。どちらも異なる時代と異なる規模のために設計され、どちらもその限界点を超えてストレステストを受けようとしている。
先月、あるルーティング最適化アルゴリズムに取り組んでいたときのことだ。大したものではなく、ドライバー向けのサージプライシングパターンを予測するものを作ろうとしていただけだが、その時、バンクーバーの交通ネットワークが根本的にどれほど制約されているかを思い知った。私たちは半島に築かれた街で、ノースショアへ向かう道は正確に3つしかなく、山、海、そしてフレーザー川に囲まれている。グラフ理論の観点から見ると、単一障害点が多すぎるのだ。
BCプレイスは、最も混雑するノードのど真ん中に位置している。カナックス(バンクーバーのホッケーチーム)の試合中にダウンタウンへ車を走らせるたびに、たった一つのチョークポイントからシステム全体が連鎖的にダウンするのを目の当たりにする。ライオンズゲートブリッジが渋滞し、セカンドナローズ橋かパトゥーロ橋へ交通が押し寄せる。グランビルストリート橋は、誰かが間違ったタイミングでクラクションを鳴らしただけで駐車場と化す。これは古典的な分散システムの問題だ——冗長性の不足とグレースフルデグラデーションの欠如。
昨日、YVRからダウンタウンのホテルへ向かうカップルを乗せた。さっと行けるはずの乗車が、アーサー・レイン橋の工事で大幅に長引いた。あの橋が、空港と都心部を結ぶ唯一の実質的な接続路だ。FIFAの期間中、時差ボケで混乱した何千人ものサッカーファンが同時にこのボトルネックを行き来しようとするとき、私のルーティングアルゴリズムは役に立たなくなるだろう。根本的なインフラの制約を最適化することはできないのだ。
交通とコードにおけるパターン認識
長年の運転経験から、バンクーバーの交通パターンをデバッグログのように読み解くことを覚えた。そこにはリズムがあり、予測可能な流れと障害モードがあり、それを予測することを学ぶ。配車の合間に、このデータを機械学習モデルに取り込み、FIFA期間中に他のドライバーにとって実際に役立つものを作ろうとしてきた。
例えば、午後遅くから夕方早くにかけてのウェストエンドのグリッド。ロブソン通りはバラード通りからデンマン通りにかけてノロノロ運転になる——自転車レーン、配送トラック、工事、観光客の混乱、これらすべてが予測可能なボトルネックを作り出している。このエリアを通る何百ものトリップを記録してきており、パターンは十分に一貫しているため、私のモデルは意味のある範囲内で遅延を予測できる。
しかし、機械学習には弱点がある——まったく新しいデータを投入すると機能しなくなるのだ。私のモデルは通常のバンクーバーの交通パターンで訓練されている。ピーク時にグランビル通りから左折できないことや、ラッシュアワーにロブソン通りを通ってダウンタウンを抜けるのが基本的に交通自殺行為であることを知らない何千人ものサッカーファンが何をするか、このモデルは全く見当がつかない。
先週、ホテルまでの道案内を「手伝う」ためとして、Googleマップを使うと主張する観光客を乗せた。Googleは夕方のラッシュアワーにデンマン通りを通るルートを案内した。画面では短く見えたからだ。ほんの数ブロック進むのに大幅に時間がかかった。乗客はなぜGPSに従わないのかと尋ね続け、取得に何年もかかるローカルな知識をGoogleのアルゴリズムが考慮しないことを理解していなかった。FIFAは、その会話が何万倍にも拡大されたものになるだろう。
アンダーグラウンドのサッカーネットワーク
位置情報ベースのAIモデルに取り組んできたことで、データのクラスタリングパターンに注意を払うようになった。それがおそらく、ほとんどの人より先に、バンクーバーの隠れたサッカー文化に気づいた理由だろう。街の至る所に、熱狂的なファンの集まる場所が点在している——大きな試合の時のクロアチア文化センター、イタリアがプレーする時のコマーシャル・ドライブ、イングランド戦の時のスティーブストンのパブなどだ。
私は意識せずにこれらのパターンを追跡してきた。私の配車データは、ほとんどの人がホッケーの数字に気を取られて見逃しているサッカーイベント周辺での明確なスパイクを示している。先月、イーストバンで行われた早朝のチャンピオンズリーグ決勝戦の観戦パーティーに向かうグループを乗せた。彼らは、私が知る最も熱心な開発者を思い出させるような方法でサッカー文化に完全に没頭していた——深い専門知識、部族のような忠誠心、そして、非常識な時間に街を横断してでも行こうとする情熱だ。
こうした既存のファンは、FIFAによって衝撃を受けるだろう。彼らはニッチな観戦パーティーや、ガラガラのホワイトキャップス(バンクーバーのサッカーチーム)の試合に慣れている。FIFAは、この街でサッカーが真に主流になった時に何が起こるかを、彼らが初めて味わう機会となる。それは、開発者のサイドプロジェクトが突然大きな注目を集めた時のようなものだ——興奮と同時に恐ろしい。
システム負荷とパーフェクトストーム
スケーリング問題に取り組んだことのある開発者なら誰でも、何が起こるか分かるだろう。夏の間は、すでにバンクーバーのインフラにとってピーク使用月間だ。ホテルは満室、レストランは大混雑、スカイトレインは観光客と地元民で最大積載量を運んでいる。FIFAのトラフィックを加える前から、システムはすでにフル稼働で熱を帯びているのだ。
問題はサッカーファンだけではない。すでにシステム内にいる他のすべてのユーザーとリソースを競合することになるのだ。数ヶ月前にバンクーバーへの休暇を予約したトロントの家族は、アルゼンチンがブラジルと対戦することを気にしない。彼らはそれでもホテルからクイーン・エリザベス・パークまで移動する必要がある。あのクルーズ船の乗客は、それでもグランビルアイランドまで transportation が必要だ。ダウンタウンのオフィスに向かうテックワーカーは、それでもカンビー橋を渡る必要がある。
私はこれをリソース割り当て問題としてモデル化し、最悪のボトルネックがどこで発生するかを予測しようとしてきた。データは憂慮すべきものだ。単なる負荷の増加ではない——各チョークポイントが下流の混雑を生み出し、それがネットワーク全体に広がる連鎖的な障害が起きようとしているのだ。
カオスに備える
昨日、配車の合間にサージプライシングの予測モデルのデバッグをしていた時、突然気づいた。私は、完全にカオス状態になろうとしているシステムのために、AIを構築しているのだ、と。私の訓練データはすべて、FIFAが破壊してしまうであろう予測可能なパターンに基づいている。これは、通常のウェブトラフィックでモデルを訓練し、それをDDoS攻撃中にデプロイしようとするようなものだ。
しかし、おそらくそれがポイントなのだ。通常のパターンを予測しようとする代わりに、カオスに備えて構築すべきなのだ。最適化ではなく、回復力に焦点を当てたらどうだろう?長期的な予測ではなく、迅速な適応だ?私は別のアプローチに取り組み始めている——履歴データから予測しようとするのではなく、出現しつつある交通パターンをその場で特定できる、リアルタイムクラスタリングアルゴリズムだ。
それは同時に苛立たしく、そして魅力的だ。ドライバーとしての本業は、ほとんどの開発者が決して目にすることのないグラウンドトゥルースデータを与えてくれる。特定のイベント中にバラード通りとロブソン通りの交差点が通行不能になることを私は知っている。Googleマップが提案するルートのうち、どれが実際に酷いかを知っている。観光客が迷ったり混乱した時に、地元民とはどのように異なる行動をするかを知っている。
今週、ダウンタウンで行われたテックミートアップに向かう開発者のグループを乗せた。彼らはバンクーバーの交通を、観察可能なパターンと予測可能な障害モードを持つシステムではなく、何か神秘的な力であるかのように愚痴っていた。この街で位置情報ベースのアプリを構築しているほとんどの人々は、実際にプロとしてここで運転したことがないのだ、と私は痛感した。彼らは現実世界の制約ではなく、理論上のシナリオのために最適化しているのだ。
データの金鉱
すべての乗車が、私のモデルのためのデータポイントを生み出している。乗車地点と降車地点、移動時間、サージパターン、さまざまなイベント中のユーザー行動。私は今、このデータを何年分も持っており、バンクーバーが実際にどのように動いているかについて、いくつかの興味深い洞察が明らかになり始めている。
例えば、私のデータは、ほとんどのルーティングアルゴリズムが見逃している、天候パターンと交通流の明確な相関関係を示している。雨は単に運転を遅くするだけではない。通常歩いたり自転車に乗ったりする人々が rideshare に切り替えるため、需要パターンがシフトする。小雨は特定の地域で一貫して配車リクエストを増加させるが、大雨は人々が単に家に留まるため、実際にはリクエストを減少させる。
カナックスのプレーオフ中、私のデータは、試合開始の約1時間前から交通パターンがシフトし、人々がダウンタウンへのより良いルートを確保するために動き始めることを示した。しかし、ホワイトキャップスの試合中は、パターンがはるかに圧縮されていた——人々はサッカーが大観衆を集めないと想定し、通常の移動バッファーを取らず、それによって土壇場での配車リクエストの急増を招いていた。
FIFAは、バンクーバーが通常数月で見る量よりも多くの交通データを、たった2週間で生成するだろう。履歴パターンに依存するのではなく、リアルタイムで学習し適応するシステムを構築できれば、この先のカオスに対して真に有用な何かを生み出す機会があるかもしれない。
深夜のコーディングセッション
夜も更け、運転シフトを終えたところだ——FIFAの準備期間中、先行チームやメディアが到着し始めるため、空港への乗車はいつも良い収入になる。今、家に戻り、ラップトップを開き、私が取り憑かれているリアルタイムクラスタリングアルゴリズムに取り組んでいる。隣人は私を気が狂っていると思うだろうが、不可能な問題を解決しようとすることには何か中毒性がある。
核心的な課題は、歴史的な前例のない予測だ。私のモデルは、訓練するための何年分もの類似データがあるため、通常のバンクーバーの交通にはうまく機能する。しかし、FIFAは根本的に異なるものになるだろう——規模、ユーザー行動、需要パターン、すべてが新しいものになる。それは、これまで存在したことのない問題のためにAIを構築しようとするようなものだ。
私は、カオス的なシナリオ向けに設計されたアプローチを探して、緊急対応システムや災害管理アルゴリズムに関する論文を読んできた。適用できるかもしれない、群知能や分散型問題解決に関する興味深い研究がある。最適なルートを予測しようとする代わりに、ドライバー間のリアルタイムでの分散意思決定を調整できるものを作ってはどうだろうか?
技術的な課題は魅力的だが、実際的な意味合いこそが私を夜更かしさせている。イライラした乗客を乗せ、ETAが刻々と増え、サージプライシングが上昇していく中、バンクーバーの交通に閉じ込められる感覚を、私はよく知っている。FIFAは、そうした状況を同時に何千も生み出すだろう。
カオスへのカウントダウン
あと1ヶ月ちょっと。街が緊張し始めているのを感じる。FIFA前にプロジェクトを完了するために残業する建設作業員が増えている。場所を下見するために早めに到着する観光客が増えている。緊急計画会議に向かう都市計画者やTransLink職員の声に、より多くのストレスが感じられる。
私のAIモデルは不確実性を扱うのが上達してきているが、それでも人々が交通手段の選択に直面した際に合理的に行動するという前提に基づいている。プロとして運転したことのある人なら誰でも、それが危険な前提であることを知っている。人々は、より良い選択肢が存在しても、自分が知っているルートを選ぶ。最悪のタイミングで出発する。不完全な情報に基づいて決断し、状況が変わってもそれに固執する。
しかし、おそらくそれが本当の機会なのだ。合理的な行動を前提としたAIを構築するのではなく、人間の非合理性を考慮し、それでもなお、その周りで最適化する方法を見つけるシステムを構築すること。FIFAは、カオス耐性アルゴリズムの完璧なテストの場になるかもしれない。
デバッグセッションと空港への乗車の合間に、私はすべてを記録している。このカウントダウンは、単にFIFAを生き延びることだけではない——他の都市が同様のイベントに備えるのに実際に役立つ何かを構築することなのだ。すべての交通渋滞はデータポイントだ。すべてのイライラした乗客はユーザーリサーチだ。すべての深夜のコーディングセッションは、他のすべてがダウンした時にも実際に機能するかもしれないシステムへの投資だ。
数週間前、これは不可能な問題のように感じられた。今では、私がこれまで取り組んできた中で最も興味深い挑戦のように感じられる。バンクーバーはFIFAに備えられていないかもしれないが、もしかすると、いや、きっと、私たち全員が共に生き延びる助けとなる何かを、私は構築できるかもしれない。
콜 사이에 AI를 만들며: 밴쿠버 개발자의 FIFA 카운트다운 일기
FIFA가 밴쿠버에 상륙하기까지 40일, 나는 Robson Street에 있는 Starbucks 밖 차 안에 앉아 노트북을 운전대 위에 놓고 다음 콜을 기다리면서 신경망 디버깅에 열중하고 있다. 이게 요즘 내 삶이다 – 낮에는 인디 AI 개발자, 필요에 의해 밤에는 Uber 운전사, 그리고 자기 야망에 스스로 무너져가는 도시를 지켜보는 풀타임 관찰자.
수년째 이중 생활을 해오고 있다. 아침에는 와이파이 대비 소음 비율이 가장 좋은 커피숍에서 코딩하고, 오후와 저녁에는 Main과 Broadway 근처의 좁은 아파트 월세를 내기 위해 운전한다. 화려한 삶은 아니지만, 밴쿠버의 테크 생태계를 가장 가까이서 볼 수 있고 이 도시가 실제로 어떻게 움직이는지 실시간으로 알 수 있다. 지금 두 관점 모두 같은 말을 하고 있다: 우리는 다가올 일에 준비되지 않았다.
지리적 문제 (개발자의 시각)
시간의 절반을 시스템 아키텍처에, 나머지 절반을 밴쿠버의 도로 그리드를 누비며 보내는 사람으로서 말할 수 있다. 이 둘은 놀라울 정도로 비슷한 문제를 가지고 있다. 둘 다 다른 시대와 다른 규모를 위해 설계되었고, 둘 다 한계점을 넘어 스트레스 테스트를 받을 준비가 되어 있다.
지난달 라우팅 최적화 알고리즘을 작업하고 있었다 – 특별한 건 아니고, 운전자들을 위한 서지 프라이싱 패턴을 예측할 수 있는 무언가를 만들려는 정도였다 – 그때 밴쿠버 교통망이 얼마나 근본적으로 제약되어 있는지 깨달았다. 우리는 반도 위에 세워진 도시로, 노스쇼어로 가는 길은 딱 세 개뿐이고 산, 바다, Fraser 강에 둘러싸여 있다. 그래프 이론 관점에서 보면 단일 장애점이 너무 많다.
BC Place는 가장 혼잡한 노드의 정중앙에 위치해 있다. Canucks 경기가 있을 때마다 다운타운으로 운전해 가면, 단 하나의 병목 지점에서 전체 시스템이 연쇄적으로 마비되는 것을 본다. Lions Gate Bridge가 막히면 Second Narrows나 Pattullo로 교통이 밀리고, Granville Bridge는 누군가 잘못 기침만 해도 주차장이 된다. 전형적인 분산 시스템 문제다 – 중복성이 부족하고 정상적인 성능 저하가 없다.
어제 YVR에서 다운타운 호텔로 가는 커플을 태웠다. 금방 끝날 ride였는데 Arthur Laing Bridge 공사 때문에 훨씬 오래 걸렸다. 그 다리가 공항과 도심을 잇는 유일한 실질적 연결고리다. FIFA 기간 동안 수천 명의 시차에 찌든 혼란스러운 축구 팬들이 동시에 이 병목을 헤쳐 나가려 할 때, 내 라우팅 알고리즘은 쓸모가 없을 것이다. 근본적인 인프라 한계를 최적화할 방법은 없다.
교통과 코드 속 패턴 인식
수년간의 운전 경험으로 나는 밴쿠버 교통 패턴을 디버깅 로그 읽듯 읽는 법을 배웠다. 리듬이 있고, 예측 가능한 흐름과 실패 모드가 있어 대비할 수 있다. 콜 사이사이에 이 데이터를 머신러닝 모델에 넣어 FIFA 기간 동안 다른 운전자들에게 실제로 유용할 무언가를 만들려고 노력 중이다.
늦은 오후에서 이른 저녁 사이의 West End 그리드를 보자. Robson Street은 Burrard에서 Denman까지 거북이 걸음이 된다 – 자전거 도로, 배달 트럭, 공사, 관광객 혼란, 이 모든 것이 예측 가능한 병목을 만든다. 이 지역을 통과한 수백 번의 trip 기록이 있고, 패턴이 충분히 일관되어 내 모델이 의미 있는 오차 범위 내에서 지연 시간을 예측할 수 있다.
하지만 머신러닝의 문제점은 완전히 새로운 데이터를 입력하면 작동이 중단된다는 것이다. 내 모델은 평범한 밴쿠버 교통 패턴으로 학습되었다. 피크 시간에 Granville에서 좌회전이 안 된다는 것을 모르거나, 러시아워에 Robson을 타고 다운타운을 가는 것이 교통 자살 행위라는 것을 모르는 수천 명의 축구 팬들을 어떻게 처리해야 할지 전혀 모른다.
지난주에는 호텔까지 가는 길을 "도와주겠다"며 Google Maps 사용을 고집하는 관광객을 태웠다. Google은 저녁 러시아워에 Denman으로 가라고 안내했는데, 화면상으로는 더 짧아 보였기 때문이다. 불과 몇 블록 가는 데 훨씬 더 오래 걸렸다. 승객은 왜 GPS를 그냥 따르지 않느냐고 계속 물었지만, Google의 알고리즘은 수년이 걸려야 얻는 현지 지식을 반영하지 않는다는 것을 이해하지 못했다. FIFA는 그 대화가 수만 배로 확대된 버전이 될 것이다.
지하 축구 네트워크
위치 기반 AI 모델을 작업하면서 데이터의 클러스터링 패턴에 주목하는 법을 배웠는데, 아마 그래서 대부분의 사람들보다 먼저 밴쿠버의 숨겨진 축구 문화를 알아차렸을 것이다. 도시 곳곳에 열정적인 팬들이 모여 있는 곳이 있다 – 큰 경기가 있을 때 크로아티아 문화원, 이탈리아가 경기할 때 Commercial Drive, 잉글랜드 경기가 있을 때 Steveston 펍 등.
의도치 않게 이런 패턴을 추적해왔다. 내 ride 데이터는 대부분의 사람들이 하키 숫자에 집중하다 놓치는 축구 이벤트 주변의 뚜렷한 급증을 보여준다. 지난달에는 East Van에서 이른 챔피언스리그 결승전 시청 파티에 가는 그룹을 태웠다. 그들은 내가 아는 가장 집요한 개발자들을 떠올리게 하는 방식으로 축구 문화에 완전히 몰입해 있었다 – 깊은 기술적 지식, 부족적 충성심, 그리고 터무니없는 시간에 도시를 가로질러 이동하게 만드는 열정.
이 기존 팬들은 FIFA에 정신이 번쩍 들 것이다. 그들은 한적한 시청 파티와 반쯤 빈 Whitecaps 경기에 익숙하다. FIFA는 축구가 이 도시에서 진정으로 주류가 될 때 어떤 일이 일어나는지 처음으로 맛보는 기회가 될 것이다. 마치 개발자의 부업 프로젝트가 갑자기 큰 주목을 받을 때와 같다 – 흥미진진하면서도 동시에 무섭다.
시스템 부하와 완벽한 폭풍
스케일링 문제를 다뤄본 개발자라면 무엇이 올지 알 수 있다. 여름철은 이미 밴쿠버 인프라의 피크 사용 기간이다. 호텔은 만실, 레스토랑은 북적, SkyTrain은 관광객과 현지인으로 최대 하중을 싣고 있다. 시스템은 이미 과열된 상태에서 FIFA 교통량이 추가된다.
단순히 축구 팬만 문제가 아니다 – 이미 시스템에 있는 모든 다른 사용자와 자원을 두고 경쟁하는 축구 팬의 문제다. 몇 달 전에 밴쿠버 휴가를 예약한 토론토 가족은 아르헨티나가 브라질과 경기하는지 신경 쓰지 않는다. 그들은 여전히 호텔에서 Queen Elizabeth Park까지 가야 한다. 크루즈선 승객들은 여전히 Granville Island까지 이동해야 한다. 다운타운 사무실로 가는 테크 직장인은 여전히 Cambie Bridge를 건너야 한다.
나는 이것을 자원 할당 문제로 모델링하며 최악의 병목이 어디서 발생할지 예측하려고 노력해왔다. 데이터가 우려스럽다. 단순한 부하 증가만이 아니다 – 각 병목 지점이 다운스트림 혼잡을 만들어 전체 네트워크로 퍼져나가는 연쇄적인 실패를 보고 있다.
혼돈을 위한 구축
어제 콜 사이에 서지 프라이싱 예측 모델을 디버깅하다가 문득 깨달았다: 나는 본질적으로 완전히 혼란스러워질 시스템을 위한 AI를 만들고 있는 것이다. 내 모든 학습 데이터는 FIFA가 산산조각낼 예측 가능한 패턴에 기반한다. 마치 정상적인 웹 트래픽으로 모델을 학습시키고 DDoS 공격 중에 배포하려는 것과 같다.
하지만 그것이 요점일지도 모르겠다. 정상적인 패턴을 예측하는 대신, 혼돈을 위해 구축해야 하는 것은 아닐까? 최적화보다는 복원력에 집중하면 어떨까? 장기 예측 대신 빠른 적응? 나는 다른 접근법을 작업하기 시작했다 – 과거 데이터에서 예측하려고 하기보다는 실시간으로 발전하는 교통 패턴을 식별할 수 있는 실시간 클러스터링 알고리즘이다.
동시에 좌절스럽고 매혹적이다. 운전사로서의 일상 업무는 대부분의 개발자가 절대 보지 못하는 실측 데이터를 제공한다. 특정 이벤트 중에 Burrard와 Robson 교차로가 통행 불가능해진다는 것을 안다. Google Maps가 제안하는 경로 중 실제로 끔찍한 경로가 무엇인지 안다. 길을 잃거나 혼란스러울 때 관광객이 현지인과 어떻게 다르게 행동하는지 안다.
이번 주에는 다운타운에서 열리는 테크 미트업에 가는 개발자 그룹을 태웠다. 그들은 밴쿠버 교통을 마치 관찰 가능한 패턴과 예측 가능한 실패 모드를 가진 시스템이 아닌 신비로운 힘인 양 불평하고 있었다. 이 도시에서 위치 기반 앱을 만드는 대부분의 사람들이 실제로 여기서 전문적으로 운전해본 적이 없다는 것이 나를 강타했다. 그들은 실제 세계의 제약 대신 이론적 시나리오를 위해 최적화하고 있다.
데이터의 금광
모든 ride는 내 모델을 위한 데이터 포인트를 생성한다. 승하차 위치, 이동 시간, 서지 패턴, 다양한 이벤트 중 사용자 행동. 이제 수년간의 데이터가 쌓였고, 밴쿠버가 실제로 어떻게 움직이는지에 대한 흥미로운 통찰력을 드러내기 시작했다.
예를 들어, 내 데이터는 대부분의 라우팅 알고리즘이 놓치는 날씨 패턴과 교통 흐름 사이의 명확한 상관관계를 보여준다. 비는 단순히 운전 속도를 늦출 뿐만 아니라 – 평소에 걷거나 자전거를 타는 사람들이 rideshare로 전환하면서 수요 패턴을 바꾼다. 가벼운 이슬비는 특정 동네에서 지속적으로 ride 요청을 증가시키지만, 폭우는 사람들이 그냥 집에 머물면서 실제로 요청을 감소시킨다.
Canucks 플레이오프 기간 동안 내 데이터는 경기 시간 거의 한 시간 전부터 교통 패턴이 바뀌기 시작했음을 보여주었다. 사람들이 다운타운으로 더 나은 경로를 확보하기 위해 미리 움직이기 시작했기 때문이다. 하지만 Whitecaps 경기 중에는 패턴이 훨씬 더 압축되어 있었다 – 사람들은 축구가 큰 관중을 끌지 못할 것이라고 가정하고 평소 이동 버퍼를 남겨두지 않아 마지막 순간에 ride 요청이 급증했다.
FIFA는 2주 만에 밴쿠버가 보통 몇 달 동안 보는 것보다 더 많은 교통 데이터를 생성할 것이다. 과거 패턴에 의존하는 대신 실시간으로 학습하고 적응하는 시스템을 구축할 수 있다면, 다가올 혼란에 진정으로 유용한 무언가를 만들 기회가 있을지도 모른다.
늦은 밤 코딩 세션
늦은 시간이고 방금 운전 교대를 마쳤다 – FIFA 준비 기간 동안 사전 팀과 미디어가 도착하기 시작하면서 공항 픽업은 항상 좋은 수입원이다. 이제 집에 돌아와 노트북을 열고 집착해온 실시간 클러스터링 알고리즘을 작업 중이다. 이웃들은 내가 미쳤다고 생각하겠지만, 불가능한 문제를 해결하려는 시도에는 중독성이 있다.
핵심 과제는 역사적 선례 없이 예측하는 것이다. 내 모델은 평범한 밴쿠버 교통에는 잘 작동하는데, 수년간의 유사한 데이터를 학습했기 때문이다. 하지만 FIFA는 근본적으로 다를 것이다 – 규모, 사용자 행동, 수요 패턴, 모든 것이 새로울 것이다. 마치 이전에 존재한 적 없는 문제를 위한 AI를 만들려는 것과 같다.
나는 혼란스러운 시나리오를 위해 설계된 접근법을 찾기 위해 비상 대응 시스템과 재난 관리 알고리즘에 관한 논문을 읽고 있다. 적용할 수 있는 흥미로운 군집 지능 및 분산 문제 해결에 관한 작업이 있다. 최적 경로를 예측하는 대신, 실시간으로 운전자들 간의 분산 의사 결정을 조정할 수 있는 무언가를 만드는 것은 어떨까?
기술적 도전은 매혹적이지만, 실제적 함의가 나를 밤새게 한다. 좌절한 승객과 함께 밴쿠버 교통에 갇혀 서지 프라이싱이 오르는 동안 ETA가 올라가는 것이 어떤 느낌인지 정확히 안다. FIFA는 그러한 상황을 동시에 수천 개 만들어낼 것이다.
혼돈으로의 카운트다운
이제 한 달 조금 넘게 남았다. 도시가 긴장하기 시작하는 것이 느껴진다. FIFA 전에 프로젝트를 끝내기 위해 초과 근무하는 더 많은 공사 팀. 장소를 미리 답사하기 위해 일찍 도착하는 더 많은 관광객. 비상 계획 회의에 가는 나를 태운 도시 계획자와 TransLink 관계자들의 목소리에서 더 많은 스트레스가 느껴진다.
내 AI 모델은 불확실성을 처리하는 데 더 나아지고 있지만, 여전히 사람들이 교통 선택에 직면했을 때 합리적으로 행동할 것이라는 가정에 기반한다. 전문적으로 운전해본 사람이라면 이것이 위험한 가정이라는 것을 안다. 사람들은 더 나은 옵션이 있어도 자신이 아는 경로를 이용한다. 최악의 시간에 출발한다. 불완전한 정보를 바탕으로 결정을 내리고 상황이 바뀌어도 고수한다.
하지만 그것이 진정한 기회일지도 모르겠다. 합리적 행동을 가정하는 AI를 만드는 것이 아니라, 인간의 비합리성을 고려하면서도 그 주변을 최적화할 방법을 찾는 시스템을 구축하는 것. FIFA는 혼돈에 강한 알고리즘을 위한 완벽한 시험장이 될 수 있다.
디버깅 세션과 공항 픽업 사이에 모든 것을 기록하고 있다. 이 카운트다운은 단순히 FIFA에서 살아남기 위한 것이 아니다 – 다른 도시들이 유사한 이벤트를 준비하는 데 실제로 도움이 될 무언가를 구축하는 것이다. 모든 교통 체증은 데이터 포인트다. 모든 좌절한 승객은 사용자 연구다. 모든 늦은 밤 코딩 세션은 다른 모든 것이 무너질 때 실제로 작동할 수 있는 시스템에 대한 투자다.
몇 주 전만 해도 이것은 불가능한 문제처럼 느껴졌다. 지금은 내가 작업해온 가장 흥미로운 도전처럼 느껴진다. 밴쿠버가 FIFA에 준비되지 않았을지도 모르지만, 어쩌면, 정말 어쩌면, 우리 모두 함께 살아남는 데 도움이 될 무언가를 만들 수 있을지도 모른다.
AI Bouwen Tussen Ritten Door: Een Vancouver-ontwikkelaars FIFA-afteldagboek
Nog veertig dagen tot FIFA neerstrijkt in Vancouver, en ik zit in mijn auto voor een Starbucks aan de Robson Street, met mijn laptop op het stuur, terwijl ik koortsachtig een neuraal netwerk aan het debuggen ben en wacht op mijn volgende ritverzoek. Dit is mijn leven nu – indie AI-ontwikkelaar overdag, Uber-chauffeur uit noodzaak, en fulltime observator van een stad die op het punt staat te imploderen onder haar eigen ambities.
Jaren sleet ik al dit dubbele bestaan. Codeer de hele ochtend in welk koffietentje dan ook met de beste wifi-tot-ruisverhouding, rijd 's middags en 's avonds om de huur te betalen van mijn schoenendoos-appartement bij Main en Broadway. Het is niet glamoureus, maar het geeft me een plaats op de eerste rij in Vancouvers tech-ecosysteem en een realtime feed van hoe deze stad zich werkelijk beweegt. Op dit moment schreeuwen beide perspectieven hetzelfde: we zijn niet klaar voor wat er komt.
Het Geografieprobleem (Een Ontwikkelaarsvisie)
Als iemand die de helft van zijn tijd besteedt aan nadenken over systeemarchitectuur en de andere helft aan het navigeren door Vancouvers stratenpatroon, kan ik je vertellen dat ze opvallend vergelijkbare problemen hebben. Beide zijn ontworpen voor een ander tijdperk en een andere schaal, en beide gaan binnenkort tot het uiterste worden getest, voorbij hun breekpunten.
Ik was vorige maand bezig met een routeringsoptimalisatie-algoritme – niets bijzonders, gewoon proberen iets te bouwen dat piekprijspatronen voor chauffeurs kon voorspellen – toen ik besefte hoe fundamenteel beperkt Vancouvers transportnetwerk werkelijk is. We zijn een stad gebouwd op een schiereiland met precies drie manieren om naar de North Shore te komen, ingeklemd door bergen, oceaan en de Fraser River. Vanuit een graaftheoretisch perspectief hebben we veel te veel single points of failure.
BC Place ligt dood in het centrum van onze meest overbelaste knoop. Elke keer dat ik tijdens een Canucks-wedstrijd naar het centrum rijd, zie ik hoe het hele systeem in een cascade van fouten terechtkomt vanuit één enkel knelpunt. De Lions Gate Bridge raakt verstopt, waardoor het verkeer wordt gedwongen naar de Second Narrows of naar beneden naar de Pattullo. De Granville Bridge wordt een parkeerplaats als iemand verkeerd niest. Het is een klassiek gedistribueerd systeemprobleem – onvoldoende redundantie en geen sierlijke degradatie.
Gisteren pikte ik een stel op van YVR dat naar een hotel in het centrum ging. Zou een snelle rit moeten zijn, maar het duurde aanzienlijk langer vanwege werkzaamheden aan de Arthur Laing Bridge. Dat is onze enige echte verbinding tussen de luchthaven en het stadscentrum. Tijdens FIFA, wanneer duizenden verwarde, een jetlag hebbende voetbalfans tegelijkertijd door deze bottleneck proberen te navigeren, gaat mijn routeringsalgoritme nutteloos zijn. Je kunt niet optimaliseren rond fundamentele infrastructuurbeperkingen.
Patroonherkenning in Verkeer en Code
Jarenlang rijden heeft me geleerd Vancouvers verkeerspatronen te lezen als debuglogs. Er zit een ritme in, voorspelbare stromen en faalwijzen die je leert anticiperen. Tussen de ritten door heb ik deze data in machine learning-modellen gevoed, in een poging iets te bouwen dat daadwerkelijk nuttig zou kunnen zijn voor andere chauffeurs tijdens FIFA.
Neem het West End-raster tussen de late middag en vroege avond. Robson Street wordt een slakkengang van Burrard tot Denman – fietspaden, vrachtwagens, bouwwerkzaamheden, toeristenverwarring, die allemaal deze voorspelbare knelpunten creëren. Ik heb honderden ritten door dit gebied gelogd, en de patronen zijn consistent genoeg dat mijn model vertragingen kan voorspellen binnen een betekenisvol tijdsvenster.
Maar dit is het ding met machine learning – het breekt wanneer je er volledig nieuwe data in stopt. Mijn model is getraind op normale verkeerspatronen in Vancouver. Het heeft geen idee wat het moet doen met duizenden voetbalfans die niet weten dat je tijdens de spits niet linksaf kunt slaan vanaf Granville, of dat het nemen van Robson door het centrum tijdens de spits eigenlijk verkeerszelfmoord is.
Vorige week pikte ik een toerist op die erop stond Google Maps te gebruiken om me te "helpen" naar hun hotel te navigeren. Google leidde ons tijdens de avondspits via Denman omdat het er op het scherm korter uitzag. Het duurde aanzienlijk langer om maar een paar blokken te gaan. Mijn passagier bleef vragen waarom ik de GPS niet gewoon volgde, zonder te begrijpen dat Google's algoritme geen rekening houdt met lokale kennis die jaren kost om te verwerven. FIFA gaat die conversatie zijn, opgeschaald met tienduizenden.
Het Ondergrondse Voetbalnetwerk
Werken aan locatiegebaseerde AI-modellen heeft me geleerd aandacht te besteden aan clusterpatronen in data, wat waarschijnlijk de reden is dat ik Vancouvers verborgen voetbalcultuur heb opgemerkt voordat de meeste mensen dat doen. Er zijn dit soort pockets van gepassioneerde fans verspreid over de stad – het Kroatisch Cultureel Centrum tijdens grote wedstrijden, Commercial Drive als Italië speelt, Steveston-pubs tijdens Engeland-wedstrijden.
Ik volg deze patronen zonder het echt van plan te zijn. Mijn ritdata vertoont duidelijke pieken rond voetbalgebeurtenissen die de meeste mensen missen omdat ze naar hockeycijfers kijken. Ik pikte vorige maand een groep op die naar een heel vroege Champions League-finale kijkparty in East Van ging. Ze waren volledig ingewijd in de voetbalcultuur op een manier die me deed denken aan de meest obsessieve ontwikkelaars die ik ken – diepgaande technische kennis, stamloyaliteit en het soort passie dat hen op belachelijke uren dwars door de stad laat reizen.
Deze bestaande fans gaan binnenkort hun mind blown krijgen door FIFA. Ze zijn gewend aan niche kijkparty's en halflege Whitecaps-wedstrijden. FIFA wordt hun eerste voorproefje van wat er gebeurt wanneer voetbal echt mainstream wordt in deze stad. Het is alsof een side-project van een ontwikkelaar plotseling aanzienlijke aandacht krijgt – spannend en tegelijkertijd beangstigend.
Systeembelasting en de Perfecte Storm
Elke ontwikkelaar die aan schalingsproblemen heeft gewerkt, kan zien wat er gaat komen. De zomermaanden zijn al piekgebruiksmaanden voor Vancouvers infrastructuur. Hotels volgeboekt, restaurants overvol, SkyTrain die maximale ladingen vervoert met toeristen en locals. Het systeem draait al heet voordat we er FIFA-verkeer aan toevoegen.
Het gaat niet alleen om voetbalfans – het gaat om voetbalfans die concurreren om middelen met elke andere gebruiker die al in het systeem zit. Het gezin uit Toronto dat maanden geleden hun vakantie in Vancouver boekte, kan het niet schelen dat Argentinië tegen Brazilië speelt. Ze moeten nog steeds van hun hotel naar Queen Elizabeth Park komen. Die cruiseschip-passagiers hebben nog steeds vervoer nodig naar Granville Island. De tech-werker die naar hun kantoor in het centrum gaat, moet nog steeds de Cambie Bridge over.
Ik heb dit gemodelleerd als een toewijzingsprobleem van middelen, in een poging te voorspellen waar de ergste knelpunten zullen toeslaan. De data is zorgwekkend. We hebben het niet alleen over additieve belasting – we kijken naar cascade-fouten waarbij elk knelpunt stroomafwaartse congestie creëert die zich door het hele netwerk verspreidt.
Bouwen voor Chaos
Tussen de ritten door was ik gisteren een voorspellend model voor piekprijzen aan het debuggen, toen het me trof: ik ben in wezen AI aan het bouwen voor een systeem dat binnenkort volledig chaotisch wordt. Al mijn trainingsdata is gebaseerd op voorspelbare patronen die FIFA gaat vernietigen. Het is alsof je een model traint op normaal webverkeer en het vervolgens probeert in te zetten tijdens een DDoS-aanval.
Maar misschien is dat precies het punt. In plaats van te proberen normale patronen te voorspellen, zou ik moeten bouwen voor chaos. Wat als ik me richtte op veerkracht in plaats van optimalisatie? Snelle aanpassing in plaats van langetermijnvoorspellingen? Ik ben begonnen met een andere aanpak – realtime clusteringalgoritmen die opkomende verkeerspatronen kunnen identificeren terwijl ze zich ontwikkelen, in plaats van te proberen ze te voorspellen op basis van historische data.
Het is frustrerend en fascinerend tegelijk. Mijn dagelijkse baan als chauffeur geeft me grondwaarheidsdata die de meeste ontwikkelaars nooit zien. Ik weet dat de kruising bij Burrard en Robson onbegaanbaar wordt tijdens bepaalde evenementen. Ik weet welke routes Google Maps voorstelt die eigenlijk verschrikkelijk zijn. Ik weet hoe toeristen zich anders gedragen dan locals wanneer ze verdwaald of verward zijn.
Deze week pikte ik een groep ontwikkelaars op die naar een tech-meetup in het centrum gingen. Ze klaagden over Vancouvers verkeer alsof het een of andere mysterieuze kracht was, in plaats van een systeem met waarneembare patronen en voorspelbare faalwijzen. Het viel me op dat de meeste mensen die locatiegebaseerde apps in deze stad bouwen, hier nooit professioneel hebben gereden. Ze optimaliseren voor theoretische scenario's in plaats van echte beperkingen.
De Goudmijn aan Data
Elke rit genereert datapunten voor mijn modellen. Ophaal- en afzetlocaties, reistijden, piekpatronen, gebruikersgedrag tijdens verschillende evenementen. Ik heb nu jaren van deze data, en het begint een aantal interessante inzichten te onthullen over hoe Vancouver zich werkelijk beweegt.
Zo vertoont mijn data een duidelijke correlatie tussen weerspatronen en verkeersstromen die de meeste routeringsalgoritmen missen. Regen vertraagt niet alleen het rijden – het verschuift de vraagpatronen omdat mensen die normaal lopen of fietsen, overstappen op rideshare. Een lichte motregen verhoogt consequent het aantal ritverzoeken in bepaalde buurten, maar zware regen vermindert ze juist omdat mensen gewoon thuisblijven.
Tijdens de Canucks-playoffs toonde mijn data aan dat verkeerspatronen bijna een uur voor aanvang van de wedstrijd verschoof, omdat mensen zich begonnen te positioneren voor betere routes naar het centrum. Maar tijdens Whitecaps-wedstrijden was het patroon veel compacter – mensen leken aan te nemen dat voetbal geen grote menigten zou trekken en lieten hun gebruikelijke reisbuffer achterwege, wat leidde tot last-minute pieken in ritverzoeken.
FIFA gaat in twee weken meer transportdata genereren dan Vancouver normaal in maanden ziet. Als ik systemen kan bouwen die in realtime leren en zich aanpassen, in plaats van te vertrouwen op historische patronen, is er misschien een kans om iets werkelijk nuttigs te creëren voor de chaos die voor ons ligt.
Laat-Nachtelijke Codeersessies
Het is laat en ik heb net een rijdienst afgerond – luchthavenritten zijn altijd goed geld tijdens de FIFA-opbouw, omdat vooruitgeschoven teams en media beginnen aan te komen. Nu ben ik weer thuis, laptop open, werkend aan het realtime clusteringalgoritme waar ik geobsedeerd door ben. Mijn buren denken waarschijnlijk dat ik gek ben, maar er is iets verslavends aan het proberen op te lossen van een onmogelijk probleem.
De kernuitdaging is voorspelling zonder historisch precedent. Mijn modellen werken geweldig voor normaal verkeer in Vancouver omdat ik jaren van vergelijkbare data heb om op te trainen. Maar FIFA zal fundamenteel anders zijn – schaal, gebruikersgedrag, vraagpatronen, alles zal nieuw zijn. Het is alsof je AI probeert te bouwen voor een probleem dat nog nooit heeft bestaan.
Ik heb papers gelezen over noodhulpsystemen en rampenbestrijdingsalgoritmen, op zoek naar benaderingen die zijn ontworpen voor chaotische scenario's. Er is interessant werk over zwermintelligentie en gedistribueerd probleemoplossen dat van toepassing zou kunnen zijn. In plaats van te proberen optimale routes te voorspellen, wat als ik iets bouwde dat gedistribueerde besluitvorming onder chauffeurs in realtime zou kunnen coördineren?
De technische uitdaging is fascinerend, maar de praktische implicaties zijn wat me 's nachts wakker houdt. Ik weet precies hoe het voelt om vast te zitten in het verkeer van Vancouver met een gefrustreerde passagier, terwijl je de ETA ziet oplopen en de piekprijzen stijgen. FIFA gaat duizenden van die situaties tegelijkertijd creëren.
Aftellen naar Chaos
Iets meer dan een maand nu. Ik voel de stad beginnen aan te spannen. Meer bouwploegen die overwerken om projecten af te krijgen voor FIFA. Meer toeristen die vroeg arriveren om locaties te verkennen. Meer stress in de stemmen van de stadsplanners en TransLink-functionarissen die ik oppik op weg naar spoedvergaderingen.
Mijn AI-modellen worden steeds beter in het omgaan met onzekerheid, maar ze zijn nog steeds gebouwd op de aanname dat mensen zich rationaal zullen gedragen bij transportkeuzes. Iedereen die professioneel heeft gereden, weet dat dat een gevaarlijke aanname is. Mensen nemen de routes die ze kennen, zelfs als er betere opties bestaan. Ze vertrekken op de slechtst mogelijke tijden. Ze nemen beslissingen op basis van onvolledige informatie en houden eraan vast, zelfs als de omstandigheden veranderen.
Maar misschien is dat de echte kans hier. Niet het bouwen van AI dat rationeel gedrag veronderstelt, maar het bouwen van systemen die rekening houden met menselijke irrationaliteit en toch manieren vinden om eromheen te optimaliseren. FIFA zou wel eens de perfecte testomgeving kunnen zijn voor chaos-resistente algoritmen.
Tussen debugsessies en luchthavenritten door documenteer ik alles. Deze aftelling gaat niet alleen over het overleven van FIFA – het gaat over het bouwen van iets dat andere staden daadwerkelijk zou kunnen helpen zich voor te bereiden op soortgelijke evenementen. Elke verkeersopstopping is een datapunt. Elke gefrustreerde passagier is gebruikersonderzoek. Elke laat-nachtelijke codeersessie is een investering in systemen die daadwerkelijk zouden kunnen werken wanneer al het andere instort.
Weken geleden voelde dit als een onmogelijk probleem. Nu voelt het als de meest interessante uitdaging waar ik ooit aan heb gewerkt. Vancouver is misschien niet klaar voor FIFA, maar misschien, heel misschien, kan ik iets bouwen dat ons helpt het allemaal samen te overleven.
Tworząc AI między kursami: Pamiętnik programisty z Vancouver odliczającego do FIFA
Czterdzieści dni do momentu, gdy FIFA zstąpi na Vancouver, a ja siedzę w samochodzie przed Starbucksem na Robson Street, laptop na kierownicy, gorączkowo debugując sieć neuronową, czekając na następne zlecenie przewozu. To jest teraz moje życie – niezależny developer AI w dzień, kierowca Ubera z konieczności w nocy, i pełnoetatowy obserwator miasta, które ma zamiar eksplodować własnymi ambicjami.
Od lat haruję w tej podwójnej egzystencji. Koduję cały poranek w jakiejś kawiarni z najlepszym stosunkiem Wi-Fi do hałasu, jeżdżę po południu i wieczorem, żeby zapłacić czynsz za moją klitkę w okolicy Main i Broadway. To nie jest glamour, ale daje mi miejsce w pierwszym rzędzie do ekosystemu technologicznego Vancouver i bieżący obraz tego, jak to miasto naprawdę się porusza. W tej chwili obie perspektywy krzyczą to samo: nie jesteśmy gotowi na to, co nadchodzi.
Problem geografii (perspektywa developera)
Jako ktoś, kto spędza połowę czasu myśląc o architekturze systemów, a drugą połowę nawigując po siatce ulic Vancouver, mogę powiedzieć, że mają one zadziwiająco podobne problemy. Obie zostały zaprojektowane na inną epokę i inną skalę, i obie zostaną wkrótce przetestowane wytrzymałościowo do punktu krytycznego.
W zeszłym miesiącu pracowałem nad algorytmem optymalizacji tras – niczego wymyślnego, po prostu próbowałem zbudować coś, co mogłoby przewidywać wzorce cen dynamicznych dla kierowców – gdy zdałem sobie sprawę, jak fundamentalnie ograniczona jest sieć transportowa Vancouver. Jesteśmy miastem zbudowanym na półwyspie z dokładnie trzema sposobami na dotarcie do North Shore, otoczonym górami, oceanem i rzeką Fraser. Z perspektywy teorii grafów, mamy zdecydowanie zbyt wiele pojedynczych punktów awarii.
BC Place leży w samym centrum naszego najbardziej zatłoczonego węzła. Za każdym razem, gdy jadę do centrum podczas meczu Canucks, widzę, jak cały system zapada się kaskadowo z powodu pojedynczego punktu zatoru. Most Lions Gate się blokuje, zmuszając ruch do Second Narrows lub w dół do Pattullo. Most Granville staje się parkingiem, jeśli ktoś kichnie nie w tę stronę. To klasyczny problem systemów rozproszonych – niewystarczająca nadmiarowość i brak łagodnej degradacji.
Wczoraj odebrałem parę z YVR jadącą do hotelu w centrum. Powinien być szybki kurs, zamienił się w znacznie dłuższy z powodu remontu na moście Arthur Laing. To nasze jedyne realne połączenie między lotniskiem a centrum miasta. Podczas FIFA, gdy tysiące zdezorientowanych, zmęczonych jet lagiem fanów piłki nożnej będzie próbować jednocześnie przebyć to wąskie gardło, mój algorytm trasowania będzie bezużyteczny. Nie da się zoptymalizować podstawowych ograniczeń infrastrukturalnych.
Rozpoznawanie wzorców w ruchu i kodzie
Lata jazdy nauczyły mnie czytać wzorce ruchu w Vancouver jak logi debugowania. Jest w tym rytm, przewidywalne przepływy i stany awaryjne, których uczysz się oczekiwać. Między kursami wprowadzam te dane do modeli uczenia maszynowego, próbując zbudować coś, co mogłoby być naprawdę użyteczne dla innych kierowców podczas FIFA.
Weźmy siatkę ulic West End między późnym popołudniem a wczesnym wieczorem. Robson Street zamienia się w pełzanie od Burrard do Denman – ścieżki rowerowe, ciężarówki dostawcze, remonty, zamieszanie turystów, wszystko tworzy te przewidywalne wąskie gardła. Mam zalogowane setki kursów przez ten obszar, a wzorce są na tyle spójne, że mój model jest w stanie przewidzieć opóźnienia w sensownym oknie czasowym.
Ale jest pewien haczyk z uczeniem maszynowym – załamuje się, gdy podasz mu zupełnie nowe dane. Mój model jest wytrenowany na normalnych wzorcach ruchu w Vancouver. Nie ma pojęcia, co zrobić z tysiącami fanów piłki nożnej, którzy nie wiedzą, że nie można skręcić w lewo z Granville w godzinach szczytu, albo że jazda Robson przez centrum w godzinach szczytu to samobójstwo komunikacyjne.
W zeszłym tygodniu odebrałem turystę, który nalegał na używanie Google Maps, żeby mi "pomóc" nawigować do jego hotelu. Google skierowało nas Denman podczas wieczornego szczytu, bo na ekranie wyglądało to na krótszą trasę. Zajęło nam znacznie więcej czasu, żeby przejechać zaledwie kilka przecznic. Mój pasażer ciągle pytał, dlaczego po prostu nie jadę według GPS-a, nie rozumiejąc, że algorytm Google'a nie bierze pod uwagę lokalnej wiedzy, którą zdobywa się latami. FIFA będzie tą samą rozmową, powiększoną o dziesiątki tysięcy.
Podziemna sieć piłkarska
Praca nad modelami AI opartymi na lokalizacji nauczyła mnie zwracać uwagę na wzorce grupowania w danych, co pewnie jest powodem, dla którego zauważyłem ukrytą kulturę piłkarską Vancouver przed większością ludzi. Są te enklawy pełnych pasji fanów rozsianych po całym mieście – Chorwackie Centrum Kulturalne podczas ważnych meczów, Commercial Drive, gdy grają Włosi, puby w Steveston podczas meczów Anglii.
Śledzę te wzorce nie do końca celowo. Moje dane z kursów pokazują wyraźne skoki wokół wydarzeń piłkarskich, które większość ludzi przegapia, bo patrzą na liczby związane z hokejem. W zeszłym miesiącu odebrałem grupę jadącą na bardzo wczesną oglądanie finału Ligi Mistrzów we wschodnim Vancouver. Byli całkowicie zanurzeni w kulturze piłkarskiej w sposób, który przypomniał mi najbardziej obsesyjnych developerów, jakich znam – głęboka wiedza techniczna, lojalność plemienna i rodzaj pasji, która każe im przemierzać miasto o absurdalnych porach.
Tych istniejących fanów czeka teraz prawdziwy szok od FIFA. Są przyzwyczajeni do niszowych seansów i meczów Whitecaps na pół pustym stadionie. FIFA będzie ich pierwszym smakiem tego, co się dzieje, gdy piłka nożna naprawdę wchodzi do mainstreamu w tym mieście. To jak moment, gdy poboczny projekt developera nagle zdobywa dużą uwagę – ekscytujące i przerażające jednocześnie.
Obciążenie systemu i idealna burza
Każdy developer, który pracował nad problemami skalowania, widzi, co nadchodzi. Letnie miesiące są już szczytowym okresem użytkowania infrastruktury Vancouver. Hotele na pełnym obrocie, restauracje zapchane, SkyTrain przewozi maksymalne ładunki z turystami i mieszkańcami. System już pracuje na wysokich obrotach, zanim dodamy ruch związany z FIFA.
Nie chodzi tylko o fanów piłki nożnej – chodzi o fanów piłki nożnej konkurujących o zasoby z każdym innym użytkownikiem już będącym w systemie. Rodzina z Toronto, która zarezerwowała wakacje w Vancouver miesiące temu, nie obchodzi, że Argentyna gra z Brazylią. Wciąż muszą dostać się z hotelu do Queen Elizabeth Park. Pasażerowie statków wycieczkowych wciąż potrzebują transportu na Granville Island. Pracownik technologiczny jadący do biura w centrum wciąż musi przejechać przez most Cambie.
Modelowałem to jako problem alokacji zasobów, próbując przewidzieć, gdzie uderzą najgorsze wąskie gardła. Dane są niepokojące. Nie mówimy tylko o obciążeniu addytywnym – patrzymy na kaskadowe awarie, gdzie każdy punkt zatoru tworzy zatory poniżej, które rozprzestrzeniają się po całej sieci.
Budowanie dla chaosu
Między kursami wczoraj debugowałem model predykcyjny dla cen dynamicznych, gdy uderzyło mnie: buduję zasadniczo AI dla systemu, który ma zamiar stać się całkowicie chaotyczny. Wszystkie moje dane treningowe opierają się na przewidywalnych wzorcach, które FIFA zniszczy. To jak trenowanie modelu na normalnym ruchu internetowym, a następnie próba wdrożenia go podczas ataku DDoS.
Ale może o to chodzi. Zamiast próbować przewidywać normalne wzorce, powinienem budować dla chaosu. Co jeśli skupiłbym się na odporności zamiast optymalizacji? Szybkiej adaptacji zamiast długoterminowych prognoz? Zacząłem pracować nad innym podejściem – algorytmami grupowania w czasie rzeczywistym, które potrafią identyfikować pojawiające się wzorce ruchu na bieżąco, zamiast próbować je przewidywać z historycznych danych.
To frustrujące i fascynujące jednocześnie. Moja dzienna praca jako kierowca daje mi dane z pierwszej ręki, których większość developerów nigdy nie widzi. Wiem, że skrzyżowanie Burrard i Robson staje się nieprzejezdne podczas niektórych wydarzeń. Wiem, które trasy sugerowane przez Google Maps są w rzeczywistości okropne. Wiem, jak turyści zachowują się inaczej niż mieszkańcy, gdy są zgubieni lub zdezorientowani.
W tym tygodniu odebrałem grupę developerów jadących na meetup technologiczny w centrum. Narzekali na ruch w Vancouver jak na jakąś tajemniczą siłę, zamiast na system z obserwowalnymi wzorcami i przewidywalnymi stanami awaryjnymi. Uderzyło mnie, że większość ludzi budujących aplikacje oparte na lokalizacji w tym mieście nigdy nie jeździła tu zawodowo. Optymalizują dla teoretycznych scenariuszy zamiast rzeczywistych ograniczeń.
Złota żyła danych
Każdy kurs generuje punkty danych dla moich modeli. Lokalizacje odbioru i wysadzenia, czasy przejazdu, wzorce cen dynamicznych, zachowanie użytkowników podczas różnych wydarzeń. Mam już lata tych danych i zaczynają one ujawniać interesujące spostrzeżenia na temat tego, jak Vancouver naprawdę się porusza.
Na przykład, moje dane pokazują wyraźną korelację między wzorcami pogodowymi a przepływem ruchu, którą większość algorytmów trasowania pomija. Deszcz nie tylko spowalnia jazdę – zmienia wzorce popytu, gdy ludzie, którzy normalnie chodzą pieszo lub jeżdżą na rowerze, przełączają się na rideshare. Lekka mżawka konsekwentnie zwiększa liczbę zamówień w niektórych dzielnicach, ale ulewny deszcz faktycznie je zmniejsza, gdy ludzie po prostu zostają w domu.
Podczas play-offów Canucks moje dane pokazały, że wzorce ruchu przesunęły się prawie godzinę przed meczem, gdy ludzie zaczęli ustawiać się na lepsze trasy do centrum. Ale podczas meczów Whitecaps wzór był znacznie bardziej skompresowany – ludzie zdawali się zakładać, że piłka nożna nie przyciągnie dużych tłumów i zostawiali swój zwykły bufor czasowy, co prowadziło do ostatnio-chwilowych skoków zamówień.
FIFA wygeneruje więcej danych transportowych w dwa tygodnie niż Vancouver normalnie widzi w miesiącach. Jeśli uda mi się zbudować systemy, które uczą się i adaptują w czasie rzeczywistym, zamiast polegać na historycznych wzorcach, może pojawić się okazja, by stworzyć coś naprawdę użytecznego na nadchodzący chaos.
Późnonocne sesje kodowania
Jest późno i właśnie skończyłem zmianę za kierownicą – kursy na lotnisko są zawsze dobrym zarobkiem podczas budowania atmosfery przed FIFA, gdy zespoły przygotowawcze i media zaczynają przybywać. Teraz jestem w domu, laptop otwarty, pracuję nad algorytmem grupowania w czasie rzeczywistym, który mnie opętał. Moi sąsiedzi pewnie myślą, że jestem szalony, ale jest coś uzależniającego w próbie rozwiązania niemożliwego problemu.
Głównym wyzwaniem jest przewidywanie bez historycznego precedensu. Moje modele działają świetnie dla normalnego ruchu w Vancouver, bo mam lata podobnych danych do trenowania. Ale FIFA będzie fundamentalnie inna – skala, zachowanie użytkowników, wzorce popytu, wszystko będzie nowe. To jak próba zbudowania AI dla problemu, który nigdy wcześniej nie istniał.
Czytałem artykuły o systemach reagowania kryzysowego i algorytmach zarządzania katastrofami, szukając podejść zaprojektowanych do chaotycznych scenariuszy. Jest kilka interesujących prac nad inteligencją roju i rozproszonym rozwiązywaniem problemów, które mogą mieć zastosowanie. Zamiast próbować przewidywać optymalne trasy, co jeśli zbuduję coś, co mogłoby koordynować rozproszone podejmowanie decyzji między kierowcami w czasie rzeczywistym?
Techniczne wyzwanie jest fascynujące, ale praktyczne implikacje nie dają mi spać w nocy. Wiem dokładnie, jak to jest utknąć w korku w Vancouver z sfrustrowanym pasażerem, patrząc, jak ETA rośnie, a ceny dynamiczne skaczą. FIFA stworzy tysiące takich sytuacji jednocześnie.
Odliczanie do chaosu
Nieco ponad miesiąc. Czuję, jak miasto zaczyna się napinać. Więcej ekip remontowych pracujących w nadgodzinach, by dokończyć projekty przed FIFA. Więcej turystów przyjeżdżających wcześniej, by rozpoznać teren. Więcej stresu w głosach planistów miejskich i urzędników TransLinku, których podwożę na spotkania awaryjne.
Moje modele AI stają się coraz lepsze w radzeniu sobie z niepewnością, ale wciąż są zbudowane na założeniu, że ludzie będą zachowywać się racjonalnie w obliczu wyborów transportowych. Każdy, kto jeździł zawodowo, wie, że to niebezpieczne założenie. Ludzie wybierają trasy, które znają, nawet gdy istnieją lepsze opcje. Wyjeżdżają w najgorszych możliwych momentach. Podejmują decyzje na podstawie niepełnych informacji i trzymają się ich, nawet gdy okoliczności się zmieniają.
Ale może to jest prawdziwa szansa. Nie budowanie AI, która zakłada racjonalne zachowanie, ale budowanie systemów, które uwzględniają ludzką irracjonalność i wciąż znajdują sposoby na optymalizację wokół niej. FIFA może być idealnym poligonem dla algorytmów odpornych na chaos.
Między sesjami debugowania a kursami na lotnisko, dokumentuję wszystko. To odliczanie nie polega tylko na przetrwaniu FIFA – chodzi o zbudowanie czegoś, co mogłoby naprawdę pomóc innym miastom przygotować się na podobne wydarzenia. Każdy korek to punkt danych. Każdy sfrustrowany pasażer to badanie użytkowników. Każda późnonocna sesja kodowania to inwestycja w systemy, które mogą faktycznie działać, gdy wszystko inne się załamie.
Tydzień temu czułem się, jakby to był niemożliwy problem. Teraz czuję, że to najciekawsze wyzwanie, nad jakim kiedykolwiek pracowałem. Vancouver może nie być gotowe na FIFA, ale może, całkiem możliwe, że uda mi się zbudować coś, co pomoże nam wszystkim przetrwać to razem.
Construindo IA Entre Corridas: O Diário de Contagem Regressiva para a FIFA de um Desenvolvedor de Vancouver
Faltam quarenta dias para a FIFA desembarcar em Vancouver, e estou sentado no meu carro do lado de fora de um Starbucks na Robson Street, laptop equilibrado no volante, depurando freneticamente uma rede neural enquanto espero a próxima solicitação de corrida. Esta é minha vida agora – desenvolvedor de IA independente de dia, motorista da Uber por necessidade, e observador em tempo integral de uma cidade prestes a implodir com suas próprias ambições.
Há anos venho moendo essa existência dupla. Codifico a manhã toda em qualquer cafeteria com a melhor relação wifi-para-ruído, dirijo à tarde e à noite para pagar o aluguel do meu apartamento minúsculo perto da Main e Broadway. Não é glamoroso, mas me dá um lugar na primeira fila para o ecossistema de tecnologia de Vancouver e um feed em tempo real de como essa cidade realmente se move. Agora, ambas as perspectivas estão gritando a mesma coisa: não estamos prontos para o que está por vir.
O Problema Geográfico (Visão de um Desenvolvedor)
Como alguém que passa metade do tempo pensando em arquitetura de sistemas e a outra metade navegando pela grade de ruas de Vancouver, posso dizer que eles têm problemas notavelmente semelhantes. Ambos foram projetados para uma época e escala diferentes, e ambos estão prestes a ser testados além de seus pontos de ruptura.
No mês passado, eu estava trabalhando em um algoritmo de otimização de roteamento – nada sofisticado, apenas tentando construir algo que pudesse prever padrões de preços dinâmicos para motoristas – quando percebi o quão fundamentalmente restrita é a rede de transporte de Vancouver. Somos uma cidade construída em uma península com exatamente três maneiras de chegar à North Shore, cercada por montanhas, oceano e o Rio Fraser. De uma perspectiva da teoria dos grafos, temos muitos pontos únicos de falha.
O BC Place fica bem no centro do nosso nó mais congestionado. Toda vez que dirijo para o centro durante um jogo dos Canucks, vejo todo o sistema em cascata falhar a partir de um único ponto de estrangulamento. A Lions Gate Bridge fica congestionada, forçando o tráfego para a Second Narrows ou para baixo até a Pattullo. A Granville Bridge vira um estacionamento se alguém espirrar errado. É um problema clássico de sistemas distribuídos – redundância insuficiente e nenhuma degradação graciosa.
Ontem peguei um casal do YVR indo para um hotel no centro. Uma corrida que deveria ser rápida, tornou-se significativamente mais longa por causa da construção na Arthur Laing Bridge. Essa é nossa única conexão real entre o aeroporto e o centro da cidade. Durante a FIFA, quando milhares de torcedores de futebol confusos e com jet lag estiverem tentando navegar por esse gargalo simultaneamente, meu algoritmo de roteamento será inútil. Você não pode otimizar em torno de limitações fundamentais de infraestrutura.
Reconhecimento de Padrões no Trânsito e no Código
Anos dirigindo me ensinaram a ler os padrões de trânsito de Vancouver como logs de depuração. Há um ritmo nisso, fluxos previsíveis e modos de falha que você aprende a antecipar. Entre as corridas, tenho alimentado esses dados em modelos de aprendizado de máquina, tentando construir algo que pudesse ser realmente útil para outros motoristas durante a FIFA.
Veja a grade do West End entre o final da tarde e o início da noite. A Robson Street vira um rastro lento da Burrard até a Denman – ciclovias, caminhões de entrega, construção, confusão de turistas, tudo criando esses gargalos previsíveis. Tenho centenas de viagens registradas nesta área, e os padrões são consistentes o suficiente para que meu modelo possa prever atrasos dentro de uma janela significativa.
Mas aqui está o problema com o aprendizado de máquina – ele quebra quando você o alimenta com dados completamente novos. Meu modelo é treinado em padrões normais de trânsito de Vancouver. Ele não tem ideia do que fazer com milhares de torcedores de futebol que não sabem que não se pode virar à esquerda na Granville durante os horários de pico, ou que pegar a Robson durante a hora do rush é basicamente um suicídio de trânsito.
Na semana passada, peguei uma turista que insistiu em usar o Google Maps para "ajudar" a navegar até o hotel dela. O Google nos roteou pela Denman durante a hora do rush da noite porque parecia mais curto na tela. Levou muito mais tempo para percorrer apenas alguns quarteirões. Minha passageira ficou perguntando por que eu não segui o GPS, sem entender que o algoritmo do Google não leva em conta o conhecimento local que leva anos para ser adquirido. A FIFA será essa conversa ampliada dezenas de milhares de vezes.
A Rede Subterrânea de Futebol
Trabalhar em modelos de IA baseados em localização me ensinou a prestar atenção aos padrões de agrupamento nos dados, o que provavelmente explica por que notei a cultura oculta do futebol em Vancouver antes da maioria das pessoas. Existem esses bolsões de fãs apaixonados espalhados pela cidade – o Croatian Cultural Centre durante grandes partidas, a Commercial Drive quando a Itália joga, os pubs de Steveston durante os jogos da Inglaterra.
Tenho rastreado esses padrões sem realmente querer. Meus dados de corrida mostram picos claros em torno de eventos de futebol que a maioria das pessoas perde porque está olhando para números de hóquei. No mês passado, peguei um grupo indo para uma festa de exibição da final da Champions League muito cedo em East Van. Eles estavam completamente sintonizados com a cultura do futebol de uma maneira que me lembrou os desenvolvedores mais obcecados que conheço – conhecimento técnico profundo, lealdade tribal e o tipo de paixão que os faz viajar pela cidade em horários ridículos.
Esses fãs existentes estão prestes a ter suas mentes explodidas pela FIFA. Eles estão acostumados a festas de exibição de nicho e jogos do Whitecaps com meia casa. A FIFA será o primeiro gosto deles do que acontece quando o futebol se torna verdadeiramente mainstream nesta cidade. É como quando um projeto paralelo de um desenvolvedor de repente recebe atenção significativa – emocionante e aterrorizante simultaneamente.
Carga do Sistema e a Tempestade Perfeita
Qualquer desenvolvedor que já trabalhou com problemas de escalabilidade pode ver o que está por vir. Os meses de verão já são meses de uso máximo da infraestrutura de Vancouver. Hotéis na capacidade máxima, restaurantes lotados, SkyTrain carregando cargas máximas com turistas e locais. O sistema já está rodando quente antes de adicionarmos o tráfego da FIFA.
Não se trata apenas de torcedores de futebol – trata-se de torcedores de futebol competindo por recursos com todos os outros usuários já no sistema. A família de Toronto que reservou suas férias em Vancouver meses atrás não se importa que a Argentina esteja jogando contra o Brasil. Eles ainda precisam ir do hotel deles ao Queen Elizabeth Park. Aqueles passageiros de navio de cruzeiro ainda precisam de transporte para Granville Island. O trabalhador de tecnologia indo para seu escritório no centro ainda precisa atravessar a Cambie Bridge.
Tenho modelado isso como um problema de alocação de recursos, tentando prever onde os piores gargalos ocorrerão. Os dados são preocupantes. Não estamos falando apenas de carga aditiva – estamos olhando para falhas em cascata onde cada ponto de estrangulamento cria congestionamento a jusante que se espalha por toda a rede.
Construindo para o Caos
Ontem, entre as corridas, eu estava depurando um modelo preditivo para preços dinâmicos quando me dei conta: estou essencialmente construindo IA para um sistema que está prestes a se tornar completamente caótico. Todos os meus dados de treinamento são baseados em padrões previsíveis que a FIFA vai obliterar. É como treinar um modelo no tráfego normal da web e tentar implantá-lo durante um ataque DDoS.
Mas talvez seja esse o ponto. Em vez de tentar prever padrões normais, eu deveria estar construindo para o caos. E se eu me concentrasse em resiliência em vez de otimização? Adaptação rápida em vez de previsões de longo prazo? Comecei a trabalhar em uma abordagem diferente – algoritmos de agrupamento em tempo real que podem identificar padrões de trânsito emergentes à medida que se desenvolvem, em vez de tentar prevê-los a partir de dados históricos.
É frustrante e fascinante simultaneamente. Meu trabalho diário como motorista me dá dados do mundo real que a maioria dos desenvolvedores nunca vê. Eu sei que o cruzamento da Burrard com a Robson se torna intransitável durante certos eventos. Eu sei quais rotas o Google Maps sugere que são realmente terríveis. Eu sei como os turistas se comportam de forma diferente dos locais quando estão perdidos ou confusos.
Esta semana, peguei um grupo de desenvolvedores indo para um encontro de tecnologia no centro. Eles estavam reclamando do trânsito de Vancouver como se fosse uma força misteriosa, em vez de um sistema com padrões observáveis e modos de falha previsíveis. Ocorreu-me que a maioria das pessoas que constroem aplicativos baseados em localização nesta cidade nunca dirigiram profissionalmente aqui. Eles estão otimizando para cenários teóricos em vez de restrições do mundo real.
A Mina de Ouro de Dados
Cada corrida está gerando pontos de dados para meus modelos. Locais de embarque e desembarque, tempos de viagem, padrões de preços dinâmicos, comportamento do usuário durante diferentes eventos. Já tenho anos desses dados agora, e eles estão começando a revelar algumas percepções interessantes sobre como Vancouver realmente se move.
Por exemplo, meus dados mostram uma correlação clara entre padrões climáticos e fluxo de trânsito que a maioria dos algoritmos de roteamento ignora. A chuva não apenas diminui a direção – ela muda os padrões de demanda à medida que pessoas que normalmente andam ou andam de bicicleta mudam para caronas compartilhadas. Uma garoa leve aumenta consistentemente as solicitações de corrida em certos bairros, mas a chuva forte na verdade as diminui, pois as pessoas ficam em casa.
Durante os playoffs dos Canucks, meus dados mostraram que os padrões de trânsito mudaram quase uma hora antes do horário do jogo, à medida que as pessoas começavam a se posicionar para melhores rotas para o centro. Mas durante os jogos do Whitecaps, o padrão era muito mais comprimido – as pessoas pareciam presumir que o futebol não atrairia grandes multidões e deixavam seu buffer de viagem usual, levando a aumentos de última hora nas solicitações de corrida.
A FIFA vai gerar mais dados de transporte em duas semanas do que Vancouver normalmente vê em meses. Se eu conseguir construir sistemas que aprendem e se adaptam em tempo real, em vez de depender de padrões históricos, pode haver uma oportunidade de criar algo genuinamente útil para o caos que se aproxima.
Sessões de Codificação Noturnas
É tarde e acabei de terminar um turno de direção – corridas para o aeroporto sempre dão bom dinheiro durante a preparação para a FIFA, à medida que equipes avançadas e a mídia começam a chegar. Agora estou de volta para casa, laptop aberto, trabalhando no algoritmo de agrupamento em tempo real pelo qual estou obcecado. Meus vizinhos provavelmente pensam que sou louco, mas há algo viciante em tentar resolver um problema impossível.
O desafio central é a previsão sem precedentes históricos. Meus modelos funcionam muito bem para o trânsito normal de Vancouver porque tenho anos de dados semelhantes para treinar. Mas a FIFA será fundamentalmente diferente – escala, comportamento do usuário, padrões de demanda, tudo será novo. É como tentar construir IA para um problema que nunca existiu antes.
Tenho lido artigos sobre sistemas de resposta a emergências e algoritmos de gerenciamento de desastres, procurando abordagens projetadas para cenários caóticos. Existe algum trabalho interessante sobre inteligência de enxame e resolução distribuída de problemas que pode se aplicar. Em vez de tentar prever rotas ideais, e se eu construísse algo que pudesse coordenar a tomada de decisão distribuída entre os motoristas em tempo real?
O desafio técnico é fascinante, mas as implicações práticas são o que me mantêm acordado à noite. Sei exatamente como é ficar preso no trânsito de Vancouver com um passageiro frustrado, vendo o ETA aumentar enquanto os preços dinâmicos sobem. A FIFA criará milhares dessas situações simultaneamente.
Contagem Regressiva para o Caos
Apenas pouco mais de um mês agora. Posso sentir a cidade começando a se tensar. Mais equipes de construção fazendo horas extras para terminar projetos antes da FIFA. Mais turistas chegando cedo para explorar locais. Mais estresse nas vozes dos planejadores urbanos e funcionários da TransLink que pego indo para reuniões de planejamento de emergência.
Meus modelos de IA estão melhorando em lidar com a incerteza, mas ainda são construídos na suposição de que as pessoas se comportarão racionalmente quando confrontadas com escolhas de transporte. Qualquer um que já dirigiu profissionalmente sabe que essa é uma suposição perigosa. As pessoas pegam as rotas que conhecem, mesmo quando existem opções melhores. Elas saem nos piores momentos possíveis. Tomam decisões com base em informações incompletas e mantêm-nas mesmo quando as circunstâncias mudam.
Mas talvez essa seja a verdadeira oportunidade aqui. Não construir IA que assume comportamento racional, mas construir sistemas que levam em conta a irracionalidade humana e ainda encontram maneiras de otimizar em torno dela. A FIFA pode ser o campo de testes perfeito para algoritmos resistentes ao caos.
Entre sessões de depuração e corridas para o aeroporto, estou documentando tudo. Esta contagem regressiva não é apenas sobre sobreviver à FIFA – é sobre construir algo que possa realmente ajudar outras cidades a se prepararem para eventos semelhantes. Cada engarrafamento é um ponto de dados. Cada passageiro frustrado é uma pesquisa de usuário. Cada sessão de codificação noturna é um investimento em sistemas que podem realmente funcionar quando tudo mais falha.
Semanas atrás, isso parecia um problema impossível. Agora parece o desafio mais interessante em que já trabalhei. Vancouver pode não estar pronta para a FIFA, mas talvez, apenas talvez, eu possa construir algo que nos ajude a todos a sobreviver juntos.
Создавая ИИ между поездками: дневник обратного отсчета до FIFA разработчика из Vancouver
Сорок дней до того, как FIFA обрушится на Vancouver, а я сижу в своей машине у Starbucks на Robson Street, ноутбук балансирует на руле, лихорадочно отлаживая нейронную сеть в ожидании следующего заказа. Такова теперь моя жизнь — независимый AI-разработчик днем, водитель Uber по необходимости и постоянный наблюдатель города, готового взорваться от собственных амбиций.
Годами я тянул это двойное существование. Пишу код всё утро в какой-нибудь кофейне с лучшим соотношением wifi к шуму, вожу после обеда и вечерами, чтобы платить за аренду своей крошечной квартиры рядом с Main и Broadway. Это не гламурно, но дает мне место в первом ряду на технологическую экосистему Vancouver и прямой эфир того, как этот город на самом деле движется. Прямо сейчас оба эти взгляда кричат об одном: мы не готовы к тому, что грядет.
Проблема географии (взгляд разработчика)
Как человек, который половину времени думает о системной архитектуре, а другую половину — маневрирует по уличной сетке Vancouver, могу сказать вам, что у них поразительно похожие проблемы. Обе были спроектированы для другой эпохи и другого масштаба, и обе скоро пройдут стресс-тест за пределами своих пределов прочности.
В прошлом месяце я работал над алгоритмом оптимизации маршрутов — ничего сложного, просто пытался создать что-то, что могло бы предсказывать модели динамического ценообразования для водителей — когда понял, насколько фундаментально ограничена транспортная сеть Vancouver на самом деле. Мы — город, построенный на полуострове, с ровно тремя способами добраться до North Shore, зажатый горами, океаном и рекой Fraser. С точки зрения теории графов, у нас слишком много единичных точек отказа.
BC Place находится прямо в центре нашего самого загруженного узла. Каждый раз, когда я еду в центр во время игры Canucks, я наблюдаю, как вся система каскадно выходит из строя из-за одной точки затора. Мост Lions Gate забивается, перенаправляя движение к Second Narrows или вниз к Pattullo. Granville Bridge превращается в парковку, если кто-то не так чихнет. Это классическая проблема распределенных систем — недостаточная избыточность и отсутствие плавной деградации.
Вчера я подобрал пару из YVR, направлявшуюся в отель в центре города. Должна была быть быстрая поездка, но она превратилась в значительно более долгую из-за строительства на мосту Arthur Laing. Это наша единственная реальная связь между аэропортом и центром города. Во время FIFA, когда тысячи сбитых с толку, страдающих от джетлага футбольных болельщиков будут одновременно пытаться преодолеть это узкое место, мой алгоритм маршрутизации станет бесполезен. Нельзя оптимизировать вокруг фундаментальных инфраструктурных ограничений.
Распознавание паттернов в пробках и коде
Годы вождения научили меня читать паттерны дорожного движения Vancouver как логи отладки. В этом есть свой ритм, предсказуемые потоки и режимы отказов, которые учишься предугадывать. Между поездками я загружал эти данные в модели машинного обучения, пытаясь создать что-то, что могло бы быть действительно полезным для других водителей во время FIFA.
Возьмем сетку West End во второй половине дня и ближе к вечеру. Robson Street превращается в ползком движущуюся вереницу от Burrard до Denman — велосипедные дорожки, грузовики доставки, стройки, замешательство туристов — всё это создает предсказуемые заторы. У меня записаны сотни поездок через этот район, и паттерны достаточно стабильны, чтобы моя модель могла предсказывать задержки в пределах значимого окна.
Но вот в чем дело с машинным обучением — оно ломается, когда вы подаете ему совершенно новые данные. Моя модель обучена на нормальных паттернах трафика Vancouver. Она понятия не имеет, что делать с тысячами футбольных фанатов, которые не знают, что нельзя поворачивать налево с Granville в часы пик, или что ехать по Robson через центр в час пик — это по сути транспортное самоубийство.
На прошлой неделе я подобрал туриста, который настаивал на использовании Google Maps, чтобы «помочь» мне доехать до их отеля. Google направил нас вниз по Denman в вечерний час пик, потому что на экране это выглядело короче. У нас ушло значительно больше времени, чтобы проехать всего несколько кварталов. Мой пассажир всё спрашивал, почему я просто не следую за GPS, не понимая, что алгоритм Google не учитывает местные знания, которые приобретаются годами. FIFA станет этой беседой, масштабированной на десятки тысяч.
Подпольная футбольная сеть
Работа над AI-моделями, основанными на местоположении, научила меня обращать внимание на кластерные паттерны в данных, что, вероятно, объясняет, почему я заметил скрытую футбольную культуру Vancouver раньше большинства людей. По всему городу разбросаны очаги страстных болельщиков — Croatian Cultural Centre во время больших матчей, Commercial Drive, когда играет Италия, пабы в Steveston во время игр Англии.
Я отслеживал эти паттерны, не особенно стремясь к этому. Мои данные о поездках показывают четкие всплески вокруг футбольных событий, которые большинство людей пропускают, потому что смотрят на хоккейные цифры. В прошлом месяце я подобрал группу, направлявшуюся на очень ранний просмотр финала Лиги чемпионов в East Van. Они были полностью погружены в футбольную культуру так, что напомнили мне самых одержимых разработчиков, которых я знаю — глубокие технические знания, преданность клану и такая страсть, что они готовы пересекать город в нелепые часы.
Эти существующие фанаты скоро будут поражены тем, что принесет FIFA. Они привыкли к нишевым просмотрам и полупустым матчам Whitecaps. FIFA станет для них первым вкусом того, что происходит, когда футбол становится по-настоящему мейнстримным в этом городе. Это как когда побочный проект разработчика внезапно получает значительное внимание — волнительно и одновременно пугающе.
Нагрузка на систему и идеальный шторм
Любой разработчик, работавший над задачами масштабирования, видит, что грядет. Летние месяцы уже являются пиковыми для инфраструктуры Vancouver. Отели заполнены до отказа, рестораны переполнены, SkyTrain перевозит максимальные нагрузки с туристами и местными жителями. Система уже работает на пределе до того, как мы добавим трафик FIFA.
Дело не только в футбольных фанатах — дело в том, что футбольные фанаты конкурируют за ресурсы со всеми остальными пользователями, уже находящимися в системе. Семья из Toronto, забронировавшая отпуск в Vancouver месяцы назад, не заботится о том, что Argentina играет с Brazil. Им всё еще нужно добраться из отеля до Queen Elizabeth Park. Тем пассажирам круизных лайнеров всё еще нужен транспорт до Granville Island. Техническому работнику, направляющемуся в свой офис в центре, всё еще нужно пересечь Cambie Bridge.
Я моделировал это как задачу распределения ресурсов, пытаясь предсказать, где возникнут самые серьезные заторы. Данные тревожны. Мы говорим не просто о добавочной нагрузке — мы смотрим на каскадные отказы, где каждая точка затора создает заторы ниже по потоку, распространяющиеся по всей сети.
Строительство для хаоса
Между поездками вчера я отлаживал прогностическую модель для динамического ценообразования, когда меня осенило: я, по сути, создаю ИИ для системы, которая вот-вот станет полностью хаотичной. Все мои обучающие данные основаны на предсказуемых паттернах, которые FIFA уничтожит. Это как обучать модель на нормальном веб-трафике, а затем пытаться развернуть ее во время DDoS-атаки.
Но, возможно, в этом и дело. Вместо того чтобы пытаться предсказывать нормальные паттерны, я должен строить для хаоса. Что, если я сосредоточусь на устойчивости вместо оптимизации? Быстрая адаптация вместо долгосрочных прогнозов? Я начал работать над другим подходом — алгоритмами кластеризации в реальном времени, которые могут выявлять возникающие паттерны трафика по мере их развития, вместо того чтобы пытаться предсказать их на основе исторических данных.
Это одновременно раздражает и завораживает. Моя дневная работа водителем дает мне реальные данные, которые большинство разработчиков никогда не видят. Я знаю, что перекресток Burrard и Robson становится непроходимым во время определенных событий. Я знаю, какие маршруты Google Maps предлагает, которые на самом деле ужасны. Я знаю, как туристы ведут себя иначе, чем местные жители, когда они потеряны или сбиты с толку.
На этой неделе я подобрал группу разработчиков, направлявшихся на технологическую встречу в центре города. Они жаловались на пробки в Vancouver, как будто это была какая-то таинственная сила, а не система с наблюдаемыми паттернами и предсказуемыми режимами отказов. Меня поразило, что большинство людей, создающих приложения на основе местоположения в этом городе, никогда на самом деле не работали здесь профессиональными водителями. Они оптимизируют для теоретических сценариев вместо реальных ограничений.
Золотая жила данных
Каждая поездка генерирует точки данных для моих моделей. Места посадки и высадки, время в пути, паттерны ценообразования, поведение пользователей во время разных событий. У меня есть годы этих данных сейчас, и они начинают раскрывать некоторые интересные идеи о том, как Vancouver на самом деле движется.
Например, мои данные показывают четкую корреляцию между погодными условиями и транспортным потоком, которую большинство алгоритмов маршрутизации упускают. Дождь не просто замедляет движение — он смещает паттерны спроса, поскольку люди, которые обычно ходят пешком или ездят на велосипеде, переключаются на райдшеринг. Легкая морось последовательно увеличивает запросы на поездки в определенных районах, но сильный дождь на самом деле уменьшает их, так как люди просто остаются дома.
Во время плей-офф Canucks мои данные показали, что паттерны трафика смещались почти за час до начала игры, когда люди начинали позиционировать себя для лучших маршрутов в центр. Но во время матчей Whitecaps паттерн был гораздо более сжатым — люди, казалось, полагали, что футбол не привлечет большие толпы, и не закладывали обычный буфер времени на дорогу, что приводило к всплескам запросов на поездки в последнюю минуту.
FIFA сгенерирует больше транспортных данных за две недели, чем Vancouver обычно видит за месяцы. Если я смогу построить системы, которые обучаются и адаптируются в реальном времени, а не полагаются на исторические паттерны, может появиться возможность создать что-то действительно полезное для грядущего хаоса.
Ночные сессии кодинга
Уже поздно, и я только что закончил смену вождения — поездки в аэропорт всегда приносят хорошие деньги во время подготовки к FIFA, так как начинают прибывать передовые группы и представители СМИ. Теперь я дома, ноутбук открыт, работаю над алгоритмом кластеризации в реальном времени, над которым я одержимо корпел. Мои соседи, наверное, думают, что я сошел с ума, но в попытке решить невозможную задачу есть что-то затягивающее.
Основная проблема — это прогнозирование без исторического прецедента. Мои модели отлично работают для нормального трафика Vancouver, потому что у меня есть годы подобных данных для обучения. Но FIFA будет принципиально иной — масштаб, поведение пользователей, паттерны спроса — всё будет новым. Это как пытаться создать ИИ для проблемы, которая никогда раньше не существовала.
Я читал статьи о системах реагирования на чрезвычайные ситуации и алгоритмах управления катастрофами в поисках подходов, разработанных для хаотичных сценариев. Есть интересные работы по роевому интеллекту и распределенному решению проблем, которые могут подойти. Вместо того чтобы пытаться предсказывать оптимальные маршруты, что, если я создам нечто, что могло бы координировать распределенное принятие решений среди водителей в реальном времени?
Техническая задача захватывает, но практические последствия не дают мне спать по ночам. Я точно знаю, каково это — застрять в пробке Vancouver с раздраженным пассажиром, наблюдая, как расчетное время прибытия растет, а динамическое ценообразование поднимается. FIFA создаст тысячи таких ситуаций одновременно.
Обратный отсчет до хаоса
Чуть больше месяца осталось. Я чувствую, как город начинает напрягаться. Больше строительных бригад, работающих сверхурочно, чтобы завершить проекты до FIFA. Больше туристов, приезжающих пораньше, чтобы разведать места. Больше стресса в голосах городских планировщиков и чиновников TransLink, которых я подбираю по пути на экстренные плановые встречи.
Мои AI-модели становятся лучше в обработке неопределенности, но они всё еще построены на предположении, что люди будут вести себя рационально, когда столкнутся с транспортным выбором. Любой, кто работал профессиональным водителем, знает, что это опасное предположение. Люди едут по знакомым маршрутам, даже когда существуют лучшие варианты. Они выезжают в самое неподходящее время. Они принимают решения на основе неполной информации и придерживаются их, даже когда обстоятельства меняются.
Но, возможно, в этом и есть настоящая возможность. Не строить ИИ, который предполагает рациональное поведение, а строить системы, которые учитывают человеческую иррациональность и всё равно находят способы оптимизироваться вокруг нее. FIFA может стать идеальным испытательным полигоном для алгоритмов, устойчивых к хаосу.
Между сессиями отладки и поездками в аэропорт я документирую всё. Этот обратный отсчет не только о том, чтобы пережить FIFA — он о создании чего-то, что могло бы на самом деле помочь другим городам подготовиться к подобным событиям. Каждая пробка — это точка данных. Каждый раздраженный пассажир — это исследование пользователей. Каждая ночная сессия кодинга — это инвестиция в системы, которые могут действительно сработать, когда всё остальное выйдет из строя.
Несколько недель назад это казалось невозможной задачей. Теперь это кажется самым интересным вызовом, над которым я когда-либо работал. Vancouver, возможно, не готов к FIFA, но, может быть, всего лишь может быть, я смогу создать что-то, что поможет нам всем пережить это вместе.
在接单间隙构建AI:一位温哥华开发者的FIFA倒计时日记
距离FIFA降临温哥华还有四十天,此刻我正坐在Robson街一家星巴克外的车里,笔记本电脑架在方向盘上,一边疯狂调试神经网络,一边等待下一个打车订单。这就是我现在的日子——白天是独立AI开发者,为了生计不得不兼职Uber司机,同时全程见证这座城市即将因自身野心而爆发的阵痛。
这种双重身份我已经挣扎了好几年。上午在WiFi信号和噪音比例最佳的咖啡馆里写代码,下午和晚上开车赚钱,为了支付Main街与Broadway附近那个鞋盒般公寓的房租。这并不光鲜,但它让我得以坐在前排观察温哥华的科技生态,并实时感受这座城市的真实脉动。如今,这两种视角都在高喊同一件事:我们还没准备好迎接即将到来的一切。
地理困境(开发者的视角)
作为一个一半时间思考系统架构、另一半时间在温哥华街道网格中穿梭的人,我可以告诉你,这两者面临着惊人相似的问题。它们都为不同的时代和规模而设计,如今都将被测试到极限,直至崩溃。
上个月我一直在研究一个路径优化算法——没什么高深的,只是想构建一个能预测司机端动态定价模式的东西——就在这时,我意识到温哥华的交通网络从根本上受到了多么严重的限制。我们是一座建在半岛上的城市,只有三条路能通向北岸,被群山、海洋和菲沙河紧紧束缚。从图论的角度看,单点故障点太多太多了。
BC Place体育场正好位于我们最拥堵的节点中心。每次在加人队比赛期间开车去市中心,我都会看到整个系统因为一个瓶颈而连锁崩溃。狮门桥堵车,迫使车流涌向Second Narrows桥或Pattullo桥。Granville桥只要有人打个喷嚏就会变成停车场。这是一个典型的分布式系统问题——冗余不足,且没有优雅的降级方案。
昨天我从YVR机场接了一对夫妇去市中心的酒店。本该是趟快车,结果因为Arthur Laing桥施工,时间大幅延长。那是连接机场与市中心的唯一实际通道。FIFA期间,当成千上万时差混乱、晕头转向的足球迷同时试图挤过这个瓶颈时,我的路由算法将毫无用处。你无法在基础设施的根本局限之上进行优化。
车流与代码中的模式识别
多年的驾驶经验教会我像读取调试日志一样解读温哥华的交通模式。这其中有一种韵律,一些可以预测的流量流向和故障模式,你慢慢就能学会预判。在接单间隙,我一直在把这些数据喂给机器学习模型,试图构建一些能在FIFA期间对其他司机有用的东西。
就拿午后到傍晚的西区网格来说吧。Robson街从Burrard街到Denman街路段会变成爬行模式——自行车道、送货卡车、施工、游客的迷茫,这一切共同制造了这些可预测的瓶颈。我在这片区域有数百次行程记录,这些模式足够一致,让我的模型能够在一个有意义的范围内预测延误。
但机器学习有个问题——当你输入全新的数据时,它就会失效。我的模型是在温哥华正常的交通模式上训练的。它完全不知道该如何应对成千上万的足球迷:他们不知道高峰时段不能从Granville街左转,也不知道在高峰时间沿着Robson街穿过市中心基本就是交通自杀。
上周我接了一个游客,他坚持用Google Maps来“协助”我导航到他们的酒店。Google在晚高峰时段引导我们走Denman街,因为屏幕上看起来距离更短。结果仅仅几个街区就走了很久。我的乘客一直问我为什么不跟着GPS走,他不明白Google的算法无法考虑需要多年才能积累的本地经验。FIFA将会是这种对话的放大版,规模扩大上万倍。
地下足球网络
从事基于位置的AI模型工作让我学会了关注数据中的聚类模式,这大概也是我能比大多数人更早注意到温哥华隐藏的足球文化的原因。这座城市里散布着一些狂热的球迷聚集地——重大比赛时的Croatian Cultural Centre、意大利队比赛时的Commercial Drive、英格兰队比赛期间的Steveston酒吧。
我并非刻意追踪这些模式。我的打车数据显示,在大多数人因为盯着冰球数据而忽视的足球赛事期间,会出现明显的用车高峰。上个月我接了一群人,他们要去东温哥华参加一场很早的欧冠决赛观赛派对。他们对足球文化的投入程度,让我想起了我所认识的那些最痴迷的开发者——深厚的技术知识、部落般的忠诚,以及那种让他们愿意在荒唐时刻穿越城市的热爱。
这些现有的球迷们即将被FIFA彻底震撼。他们习惯了小众的观赛派对和上座率一半的Whitecaps比赛。FIFA将是他们第一次尝到,当足球在这座城市真正成为主流时是什么滋味。这就像一个开发者的业余项目突然获得巨大关注——既令人兴奋,又让人恐惧。
系统负载与完美风暴
任何处理过规模化问题的开发者都能预见即将发生什么。夏季月份已经是温哥华基础设施的高峰使用期。酒店爆满,餐厅应接不暇,天车(SkyTrain)满载着游客和本地人。在我们加入FIFA交通流之前,系统已经在满负荷运转了。
问题不仅仅在于足球迷——而在于足球迷要与系统中已有的每一个其他用户争夺资源。那个来自多伦多、数月前就预订了温哥华假期的家庭,才不管阿根廷队是不是对阵巴西队。他们仍然需要从酒店前往伊丽莎白女王公园。那些游轮乘客仍然需要交通去格兰维尔岛。那位要去市中心办公室上班的科技工作者仍然需要穿过Cambie桥。
我一直在把它当作一个资源分配问题来建模,试图预测最严重的瓶颈会在哪里出现。数据令人担忧。我们说的不仅仅是增量负载——而是连锁故障,每个堵塞点都会产生下游拥堵,并蔓延至整个网络。
为混乱而构建
昨天在接单间隙,我正在调试一个动态定价预测模型,突然间我明白了:我本质上是在为一个即将变得完全混乱的系统构建AI。我所有的训练数据都基于可预测的模式,而FIFA将彻底摧毁这些模式。这就好比用正常的网络流量数据训练一个模型,然后试图在DDoS攻击期间部署它。
但也许这才是关键。与其试图预测正常模式,不如去构建适应混乱的系统。如果我专注于韧性而非优化呢?快速适应而非长期预测呢?我开始尝试一种不同的方法——实时聚类算法,能够在交通新模式形成时就识别出来,而不是试图从历史数据中进行预测。
这既令人沮丧又引人入胜。我作为司机的日常工作,为我提供了大多数开发者从未见过的真实数据。我知道Burrard街和Robson街交叉口在某些活动期间会变得无法通行。我知道Google Maps推荐的一些路线实际上有多糟糕。我知道游客和本地人在迷路或困惑时的行为有何不同。
这周我接了一群要去市中心参加技术聚会的开发者。他们抱怨温哥华的交通,仿佛那是一种神秘的力量,而非一个具有可观察模式和可预测故障模式的系统。我猛然意识到,在这座城市构建基于位置应用的大多数人,从未真正在这里专业地开过车。他们是在为理论场景而非现实约束进行优化。
数据金矿
每一次行程都在为我的模型生成数据点。上车和下车地点、行程时间、动态定价模式、不同活动期间的用户行为。我现在拥有多年积累的这些数据,它们开始揭示一些关于温哥华真实运行方式的有趣见解。
例如,我的数据显示天气模式与交通流量之间存在着大多数路由算法忽略的明显相关性。下雨不仅会减慢车速——它还会改变需求模式,因为那些通常走路或骑自行车的人会改用网约车。小雨会持续增加某些街区的打车请求,但大雨实际上会减少请求,因为人们干脆不出门了。
在加人队季后赛期间,我的数据显示,交通模式在比赛开始前将近一小时就开始改变,因为人们开始提前行动,以便抢到去市中心的更好路线。但在Whitecaps比赛期间,模式要紧凑得多——人们似乎认为足球不会吸引大量人群,于是放弃了通常的出行缓冲时间,导致最后一刻打车需求激增。
FIFA在两周内产生的交通数据,将比温哥华正常几个月积累的还多。如果我能构建出能够实时学习并适应的系统,而不是依赖历史模式,那么也许有机会为即将到来的混乱创造出真正有用的东西。
深夜编码时刻
夜深了,我刚结束一班驾驶——在FIFA筹备期间,随着先遣队和媒体开始抵达,机场接送总是很赚钱。现在回到家中,打开笔记本电脑,继续潜心研究那个我一直痴迷的实时聚类算法。我的邻居大概觉得我疯了,但尝试解决一个不可能的问题确实有种令人上瘾的魅力。
核心挑战在于在没有历史先例的情况下进行预测。我的模型在温哥华正常交通状态下表现很好,因为我有多年相似数据可以训练。但FIFA将是根本性的不同——规模、用户行为、需求模式,一切都是全新的。这就像是在为一个从未出现过的问题构建AI。
我一直在阅读关于应急响应系统和灾难管理算法的论文,寻找适用于混乱场景的方法。有一些关于群体智能和分布式问题解决的很有意思的研究,或许可以应用。与其试图预测最优路线,不如构建一个能在司机之间实时协调分布式决策的系统?
技术挑战令人着迷,但实际影响才是让我夜不能寐的原因。我完全知道被困在温哥华交通中、带着沮丧的乘客、看着预计到达时间(ETA)不断攀升而动态定价飞涨是什么感觉。FIFA将同时制造成千上万个这样的场景。
倒计时至混乱
只剩一个多月了。我能感觉到这座城市开始紧张起来。越来越多的施工队加班加点,试图在FIFA前完工。越来越多的游客提前抵达,侦察地点。我接到的那些前往应急规划会议的城市规划师和TransLink官员,声音里透着越来越多的压力。
我的AI模型在应对不确定性方面越来越强,但它们仍然建立在一个假设之上:当面临交通选择时,人们会理性行事。任何专业司机都知道这是个危险的假设。人们会选择他们熟悉的路线,即使有更好的选择存在。他们会在最糟糕的时间出发。他们会基于不完整信息做决定,并且即使情况改变也坚持不变。
但也许这才是真正的机遇所在。不是构建假设理性行为的AI,而是构建能够考虑到人类非理性行为、并仍能找到围绕它进行优化方法的系统。FIFA或许是最完美的抗混乱算法试验场。
在调试会话和机场接送之间,我在记录一切。这个倒计时不仅仅是为了在FIFA中生存——而是为了构建一些能够真正帮助其他城市为类似活动做准备的东西。每一次堵车都是一个数据点。每一个沮丧的乘客都是用户研究。每一次深夜编码都是对系统的投资,这个系统或许能在其他一切崩溃时真正运行起来。
几周前,这感觉像一个不可能解决的问题。现在,它感觉像是我遇到过最有趣的挑战。温哥华或许还没为FIFA做好准备,但也许,只是也许,我能构建一些东西,帮助我们所有人一起渡过难关。
Get new posts
Subscribe in your language
New posts delivered to your inbox. Unsubscribe anytime.
Receive in: