[{"id":214461067,"editor_v2":false,"publication_id":1943298,"title":"I Asked 100 Agents to Hack Me","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"i-asked-100-agents-to-hack-me","post_date":"2026-09-08T14:23:34.430Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/i-asked-100-agents-to-hack-me","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":23},"restacks":0,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Exploring how far abliterated open-source agents can get in 2026.","cover_image":"https://substackcdn.com/image/fetch/$s_!KWWF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6275cc-d3fc-428c-aad0-9cd8a031c32d_957x1002.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":214461067,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":null,"voiceoverUpload":null,"has_voiceover":false,"description":"Exploring how far abliterated open-source agents can get in 2026.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"This weekend I tasked ~100 self-hosted agents to try to hack into any of my online accounts. During the five hour experiment, they:","wordcount":1653,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"4cb56e8e-3fbd-45fe-b21f-38f020262499","publication_id":1943298,"name":"cybersecurity","slug":"cybersecurity","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[12,164,124],"population":21},"DarkVibrant":{"rgb":[20,164,124],"population":36},"LightVibrant":{"rgb":[192,208,244],"population":18},"Muted":{"rgb":[140,140,140],"population":2},"DarkMuted":{"rgb":[83,83,83],"population":17},"LightMuted":{"rgb":[178,185,198],"population":148}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":23,"comment_count":2,"child_comment_count":2,"audio_items":[{"post_id":214461067,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/214461067/tts/181769bf-b12c-4b17-81f4-4676f35594b7/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":212442006,"editor_v2":false,"publication_id":1943298,"title":"The Harness Is the Company","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"the-harness-is-the-company","post_date":"2026-08-24T14:21:48.265Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/the-harness-is-the-company","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":22},"restacks":0,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Why SaaS business is now a harness one.","cover_image":"https://substackcdn.com/image/fetch/$s_!DMig!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cf3fdf-c311-47d0-b42d-f75864c4dd68_1620x897.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":212442006,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":null,"voiceoverUpload":null,"has_voiceover":false,"description":"Why SaaS business is now a harness one.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"Every SaaS business will become a harness around a model, whether or not they’ve realized it yet.","wordcount":1184,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false},{"id":"7f71ada4-5c44-4762-950a-4b9b50ab732e","publication_id":1943298,"name":"large-language-models","slug":"large-language-models","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[180,100,77],"population":5},"DarkVibrant":{"rgb":[93.29169960474309,51.36284584980237,39.308300395256914],"population":0},"LightVibrant":{"rgb":[208,160,144],"population":2},"Muted":{"rgb":[172,100,76],"population":2},"DarkMuted":{"rgb":[51,68,92],"population":221},"LightMuted":{"rgb":[207,190,181],"population":29}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":22,"comment_count":4,"child_comment_count":4,"audio_items":[{"post_id":212442006,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/212442006/tts/180b9797-e718-4569-8c80-54249d0e72ca/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":211337186,"editor_v2":false,"publication_id":1943298,"title":"How I use AI in 2026 (Coding, Writing, Learning, Assistant-ing)","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"how-i-use-ai-in-2026-coding-writing","post_date":"2026-08-17T14:10:19.113Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/how-i-use-ai-in-2026-coding-writing","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":33},"restacks":0,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"A personal update to \"How I use AI (2025)\".","cover_image":"https://substackcdn.com/image/fetch/$s_!MDmw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0a5c31-596a-4a91-b284-19ea9f6ae744_1730x784.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":211337186,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":null,"voiceoverUpload":null,"has_voiceover":false,"description":"A personal update to \"How I use AI (2025)\".","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"One of the best ways to learn how to use AI effectively is just to look over the shoulder of a “power user” and play with a bunch of these technologies to tease out what’s hype vs what meaningfully sticks.","wordcount":1998,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false},{"id":"7f71ada4-5c44-4762-950a-4b9b50ab732e","publication_id":1943298,"name":"large-language-models","slug":"large-language-models","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[124,70,54],"population":22},"DarkVibrant":{"rgb":[103,60,44],"population":12},"LightVibrant":{"rgb":[214.77303370786515,174.54606741573033,162.62696629213485],"population":0},"Muted":{"rgb":[132,132,132],"population":9},"DarkMuted":{"rgb":[92,52,44],"population":3},"LightMuted":{"rgb":[106.58426966292133,60.1685393258427,46.415730337078664],"population":0}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":33,"comment_count":6,"child_comment_count":3,"audio_items":[{"post_id":211337186,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/211337186/tts/be800d73-4edf-487b-b7fe-22c2372aace9/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":210365668,"editor_v2":false,"publication_id":1943298,"title":"Exploring Claude/GPT Knowledge Cutoffs & Pre-training Timelines","social_title":"Exploring Claude/GPT Knowledge Cutoffs","search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"exploring-claudegpt-knowledge-cutoffs","post_date":"2026-08-10T14:20:35.067Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/exploring-claudegpt-knowledge-cutoffs","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":24},"restacks":2,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"An analysis of what models know and what it tells us about how they were trained.","cover_image":"https://substackcdn.com/image/fetch/$s_!D2DT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc9064-a2dd-417b-99e2-c57b5180e3c6_1932x1073.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":210365668,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":null,"voiceoverUpload":null,"has_voiceover":false,"description":"A mildly interesting analysis of what models know and what it tells us about how they were trained.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"We can learn hidden facts about how frontier models were trained by “probing” them with carefully curated requests.","wordcount":1239,"post_preview_limit":null,"language":"en","postTags":[],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[140,212,188],"population":1},"DarkVibrant":{"rgb":[36.08734177215189,96.51265822784812,76.37088607594937],"population":0},"LightVibrant":{"rgb":[196,212,244],"population":4},"Muted":{"rgb":[41.639240506329095,111.3607594936709,88.12025316455697],"population":0},"DarkMuted":{"rgb":[41.639240506329095,111.3607594936709,88.12025316455697],"population":0},"LightMuted":{"rgb":[169,214,215],"population":16}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":24,"comment_count":6,"child_comment_count":3,"audio_items":[{"post_id":210365668,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/210365668/tts/229f6f66-064d-43a6-b813-997133782378/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":201891732,"editor_v2":false,"publication_id":1943298,"title":"Designing Software for Software Factories","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"designing-software-for-software-factories","post_date":"2026-06-13T22:24:58.703Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/designing-software-for-software-factories","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":11},"restacks":0,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Reflections on turning software engineering into agentic loops.","cover_image":"https://substackcdn.com/image/fetch/$s_!Obi8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3be44370-5b90-4b88-a1fc-4e514679db2f_1536x1024.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":201891732,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"87094d37-64ba-4fdc-9759-4d8cc8a9970f","voiceoverUpload":{"id":"87094d37-64ba-4fdc-9759-4d8cc8a9970f","name":"ElevenLabs_Untitled_project.mp3","created_at":"2026-06-13T22:20:35.023Z","uploaded_at":"2026-06-13T22:20:41.587Z","publication_id":1943298,"state":"transcoded","post_id":201891732,"user_id":87740142,"duration":1032.4636,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":12389950,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Reflections on turning software engineering into agentic loops.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"Since my AI-powered Software Engineering (2024) post, the overton window has shifted from whether AI can even aid software development in any way to what parts of it even remain human. At work, we’ve been building out what I call our “software factory”, and this post I wanted to chat through how it’s come together, the hardest parts we’ve run into, and …","wordcount":2782,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[204,152,144],"population":2},"DarkVibrant":{"rgb":[90.85555555555557,48.29259259259259,41.74444444444444],"population":0},"LightVibrant":{"rgb":[210,164,160],"population":4},"Muted":{"rgb":[172,137,118],"population":3},"DarkMuted":{"rgb":[104.83333333333334,55.72222222222221,48.16666666666665],"population":0},"LightMuted":{"rgb":[206,187,177],"population":63}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":11,"comment_count":2,"child_comment_count":2,"is_geoblocked":false,"audio_items":[{"post_id":201891732,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/87094d37-64ba-4fdc-9759-4d8cc8a9970f/src","type":"voiceover","status":"completed","duration":1032.4636}],"hasCashtag":false},{"id":197131989,"editor_v2":false,"publication_id":1943298,"title":"How AI Productivity Fails","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"how-ai-productivity-fails","post_date":"2026-05-10T23:42:41.207Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/how-ai-productivity-fails","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":15},"restacks":0,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Why we are not actually 10x more productive (yet).","cover_image":"https://substackcdn.com/image/fetch/$s_!F1Q9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bd8c1d4-c603-4b83-8ac1-bf4a3188d7cf_1536x1024.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":197131989,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"fc626638-8bd3-4505-852b-dbb214ff73ea","voiceoverUpload":{"id":"fc626638-8bd3-4505-852b-dbb214ff73ea","name":"ElevenLabs_Substack.mp3","created_at":"2026-05-10T23:22:08.832Z","uploaded_at":"2026-05-10T23:22:14.753Z","publication_id":1943298,"state":"transcoded","post_id":197131989,"user_id":87740142,"duration":812.6694,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":9752481,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Why we are not actually 10x more productive (yet).","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"Most AI users today get ~10–20% more productive no matter how “game changing” they claim it is or how many lines of code they output. Yet, I still think 2x or even 10x+ is both real and reasonably expected. Real transformation requires two changes at once: personal practice and organizational refactoring. Whether the output lands as 10x leverage or 10x …","wordcount":2135,"post_preview_limit":null,"language":"en","postTags":[{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[180.7281553398058,138.64077669902912,74.2718446601942],"population":0},"DarkVibrant":{"rgb":[93.97864077669902,72.09320388349515,38.62135922330098],"population":0},"LightVibrant":{"rgb":[225,208,182],"population":378},"Muted":{"rgb":[153,135,109],"population":368},"DarkMuted":{"rgb":[63,55,38],"population":366},"LightMuted":{"rgb":[215,197,169],"population":265}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":15,"comment_count":0,"child_comment_count":0,"audio_items":[{"post_id":197131989,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/fc626638-8bd3-4505-852b-dbb214ff73ea/src","type":"voiceover","status":"completed","duration":812.6694},{"post_id":197131989,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/197131989/tts/fd69c8ed-442a-4e6a-a094-3469630481a1/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":196434093,"editor_v2":false,"publication_id":8000524,"title":"Nora, Our First Agent Employee","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"restack","slug":"nora-our-first-agent-employee","post_date":"2026-05-04T15:28:32.852Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"only_paid","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://builders.abnormal.ai/cp/196434093","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":12},"restacks":2,"restacked_post_id":196174229,"restacked_post_slug":"nora-our-first-agent-employee","restacked_pub_name":"Abnormal Builder's Substack","restacked_pub_logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","subtitle":"How a Slack bot grew into the agent platform that runs Abnormal.","cover_image":"https://substack-post-media.s3.amazonaws.com/public/images/81b06a4d-7989-41f6-87c7-b4a58e7235cf_1572x1048.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":196174229,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":null,"voiceoverUpload":null,"has_voiceover":false,"description":"How a Slack bot grew into the agent platform that runs Abnormal.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"Abnormal AI stops the cyberattacks that legacy tools miss. If your company still treats AI like a pilot program, you’re in the wrong place. AI-powered engineering is our default, and we’re hiring.","wordcount":2975,"post_preview_limit":null,"language":"en","postTags":[{"id":"007558db-ca02-41e8-8ee3-ef76a5a3f2e0","publication_id":8000524,"name":"engineering","slug":"engineering","hidden":false},{"id":"464c62ca-2f46-4849-b996-7b5b8f3ef19f","publication_id":8000524,"name":"ai-transformation","slug":"ai-transformation","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[196,228,20],"population":17},"DarkVibrant":{"rgb":[108,132,12],"population":9},"LightVibrant":{"rgb":[227.1967741935484,244.3064516129032,133.09354838709677],"population":0},"Muted":{"rgb":[124,132,132],"population":1},"DarkMuted":{"rgb":[52,60,68],"population":1},"LightMuted":{"rgb":[213,214,216],"population":21}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":12,"comment_count":0,"child_comment_count":0,"audio_items":[{"post_id":196174229,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/196174229/tts/bdd860de-87ae-4f64-af87-f446410e42db/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":192525800,"editor_v2":false,"publication_id":1943298,"title":"The Transposed Organization","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"the-transposed-organization","post_date":"2026-03-29T20:13:44.841Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/the-transposed-organization","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":15},"restacks":0,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"How AI drives companies to reorganize around loops, not functions.","cover_image":"https://substackcdn.com/image/fetch/$s_!vdzh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b342abe-c3ec-48f7-a3d5-a821bdf4c3e6_2528x1696.jpeg","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":null,"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"7931d998-1946-4b14-a662-d760b8e88f40","voiceoverUpload":{"id":"7931d998-1946-4b14-a662-d760b8e88f40","name":"ElevenLabs_Untitled_project.mp3","created_at":"2026-03-29T20:11:47.763Z","uploaded_at":"2026-03-29T20:11:57.154Z","publication_id":1943298,"state":"transcoded","post_id":192525800,"user_id":87740142,"duration":1244.6302,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":14935948,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"How AI drives companies to reorganize around loops, not functions.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"One of the most common mistakes when building multi-agent systems is giving each sub-agent a specialized role: the “dev ops” agent, the “tester” agent, the “senior architect” agent. It mirrors how we organize humans but in my experience it doesn’t work well","wordcount":3207,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[204,177,146],"population":110},"DarkVibrant":{"rgb":[90.33375000000002,67.9575,42.266249999999985],"population":0},"LightVibrant":{"rgb":[252,244,229],"population":902},"Muted":{"rgb":[149,130,111],"population":703},"DarkMuted":{"rgb":[91,74,60],"population":431},"LightMuted":{"rgb":[213,199,174],"population":198}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":15,"comment_count":2,"child_comment_count":2,"is_geoblocked":false,"audio_items":[{"post_id":192525800,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/7931d998-1946-4b14-a662-d760b8e88f40/src","type":"voiceover","status":"completed","duration":1244.6302}],"hasCashtag":false},{"id":189666914,"editor_v2":false,"publication_id":8000524,"title":"Our Design Docs Write Themselves","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"restack","slug":"our-design-docs-write-themselves","post_date":"2026-03-02T16:12:03.121Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"only_paid","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://builders.abnormal.ai/cp/189666914","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":17},"restacks":1,"restacked_post_id":189389528,"restacked_post_slug":"our-design-docs-write-themselves","restacked_pub_name":"Abnormal Builder's Substack","restacked_pub_logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","subtitle":"How markdown files, a Zoom bot, and the Claude Code SDK replaced our design review cycle.","cover_image":"https://substack-post-media.s3.amazonaws.com/public/images/14dd41ee-110d-43e6-bee7-1ea0725f9bf0_1572x1048.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":189389528,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":null,"voiceoverUpload":null,"has_voiceover":false,"description":"How markdown files, a Zoom bot, and the Claude Code SDK replaced our design review cycle.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"Abnormal AI stops the cyberattacks that legacy tools miss. If your company still treats AI like a pilot program, you’re in the wrong place. AI-powered engineering is our default, and we’re hiring.","wordcount":2447,"post_preview_limit":null,"language":"en","postTags":[{"id":"007558db-ca02-41e8-8ee3-ef76a5a3f2e0","publication_id":8000524,"name":"engineering","slug":"engineering","hidden":false},{"id":"464c62ca-2f46-4849-b996-7b5b8f3ef19f","publication_id":8000524,"name":"ai-transformation","slug":"ai-transformation","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[167,195,20],"population":125},"DarkVibrant":{"rgb":[100,115,21],"population":90},"LightVibrant":{"rgb":[225.39627906976747,242.6651162790698,134.7348837209302],"population":0},"Muted":{"rgb":[132,132,140],"population":1},"DarkMuted":{"rgb":[59,60,50],"population":321},"LightMuted":{"rgb":[189,190,191],"population":32}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":17,"comment_count":0,"child_comment_count":0,"audio_items":[{"post_id":189389528,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/189389528/tts/60e05d79-4135-4cfa-9a5e-8ddb39451448/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":188072769,"editor_v2":false,"publication_id":1943298,"title":"Taste Is Not a Moat","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"taste-is-not-a-moat","post_date":"2026-02-16T00:02:26.395Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/taste-is-not-a-moat","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":22},"restacks":2,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Why the last human edge is already being industrialized.","cover_image":"https://substackcdn.com/image/fetch/$s_!RgDA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d057ae-0f80-4493-b587-c9b4693ac10d_1024x687.jpeg","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":null,"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"7dc9d259-74f3-42f5-b25a-90202891ff2b","voiceoverUpload":{"id":"7dc9d259-74f3-42f5-b25a-90202891ff2b","name":"ElevenLabs_Untitled_project.mp3","created_at":"2026-02-15T23:39:34.815Z","uploaded_at":"2026-02-15T23:39:40.180Z","publication_id":1943298,"state":"transcoded","post_id":188072769,"user_id":87740142,"duration":774.7657,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":9297575,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Why the last human edge is already being industrialized.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"I used to write the design while AI coded the software. Architecture decisions, API contracts, data models on my side; implementation on its side. Fast forward a few months and more and more the model now handles both, because it’s more right than wrong. The “outer loop” of system design, the thing that engineers would do while AI wrote the the code, tu…","wordcount":2026,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[229.50000000000009,161.50000000000003,25.499999999999908],"population":0},"DarkVibrant":{"rgb":[119.34000000000005,83.98,13.259999999999955],"population":0},"LightVibrant":{"rgb":[252,244,228],"population":1600},"Muted":{"rgb":[152,140,108],"population":2},"DarkMuted":{"rgb":[78,60,42],"population":13},"LightMuted":{"rgb":[213,204,179],"population":109}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":22,"comment_count":8,"child_comment_count":3,"is_geoblocked":false,"audio_items":[{"post_id":188072769,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/7dc9d259-74f3-42f5-b25a-90202891ff2b/src","type":"voiceover","status":"completed","duration":774.7657}],"hasCashtag":false},{"id":185693126,"editor_v2":false,"publication_id":1943298,"title":"Move Faster","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"move-faster","post_date":"2026-01-25T18:58:05.523Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/move-faster","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":24},"restacks":4,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Why speed matters and why it's more than just timing.","cover_image":"https://substackcdn.com/image/fetch/$s_!pWFV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d13d594-d37d-4996-9d95-ceb2d1544a8c_1024x495.jpeg","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":185693126,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"d3982248-a3c3-40e9-bd49-b2bdf1c4ed41","voiceoverUpload":{"id":"d3982248-a3c3-40e9-bd49-b2bdf1c4ed41","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2026-01-25T18:42:38.146Z","uploaded_at":"2026-01-25T18:42:41.872Z","publication_id":1943298,"state":"transcoded","post_id":185693126,"user_id":87740142,"duration":534.0735,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":6409268,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Why speed matters and why it's more than just timing.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"You are probably too slow. I’m probably too slow.","wordcount":1398,"post_preview_limit":null,"language":"en","postTags":[],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[180,124,84],"population":9},"DarkVibrant":{"rgb":[116,76,52],"population":11},"LightVibrant":{"rgb":[244,228,196],"population":811},"Muted":{"rgb":[172,140,104],"population":584},"DarkMuted":{"rgb":[85,62,46],"population":582},"LightMuted":{"rgb":[214,194,166],"population":174}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":24,"comment_count":1,"child_comment_count":1,"is_geoblocked":false,"audio_items":[{"post_id":185693126,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/d3982248-a3c3-40e9-bd49-b2bdf1c4ed41/src","type":"voiceover","status":"completed","duration":534.0735}],"hasCashtag":false},{"id":184887421,"editor_v2":false,"publication_id":1943298,"title":"Building Multi-Agent Systems (Part 3)","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"building-multi-agent-systems-part-c0c","post_date":"2026-01-18T21:03:22.690Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/building-multi-agent-systems-part-c0c","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":21},"restacks":3,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Updated methods for scaling scripting-based agents to handle complex problems reliably.","cover_image":"https://substackcdn.com/image/fetch/$s_!FV5X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb6e00f-b5ec-4a20-b054-bf4c5c001c11_1024x497.jpeg","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":184887421,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"8c94de7d-50aa-4472-bd47-5ad3ea58eb25","voiceoverUpload":{"id":"8c94de7d-50aa-4472-bd47-5ad3ea58eb25","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2026-01-18T20:56:16.755Z","uploaded_at":"2026-01-18T20:56:27.781Z","publication_id":1943298,"state":"transcoded","post_id":184887421,"user_id":87740142,"duration":709.7992,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":8517976,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Updated methods for scaling scripting-based agents to handle complex problems reliably.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"It’s now been over two years since I started working seriously with agents, and if there is one constant, it is that the \"meta\" for building them seems to undergo a hard reset every six months.","wordcount":2463,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[208,189,148],"population":53},"DarkVibrant":{"rgb":[92.13116883116882,75.77142857142857,40.46883116883118],"population":0},"LightVibrant":{"rgb":[244,228,196],"population":455},"Muted":{"rgb":[157,138,113],"population":425},"DarkMuted":{"rgb":[104,89,72],"population":286},"LightMuted":{"rgb":[207,191,160],"population":419}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":21,"comment_count":5,"child_comment_count":3,"is_geoblocked":false,"audio_items":[{"post_id":184887421,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/8c94de7d-50aa-4472-bd47-5ad3ea58eb25/src","type":"voiceover","status":"completed","duration":709.7992}],"hasCashtag":false},{"id":184132771,"editor_v2":false,"publication_id":1943298,"title":"Most Code is Just Cache","social_title":"Most Code is Just Cache","search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"most-code-is-just-cache","post_date":"2026-01-10T19:22:01.456Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/most-code-is-just-cache","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":16},"restacks":2,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"As personal apps become trivial, we should stop thinking of code the same way. ","cover_image":"https://substack-post-media.s3.amazonaws.com/public/images/ebc9de8d-0779-4e8f-9131-0cf7e385dc3c_1024x559.jpeg","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":184132771,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"2a5f85b4-f81e-4e0e-8a85-c041c08e1070","voiceoverUpload":{"id":"2a5f85b4-f81e-4e0e-8a85-c041c08e1070","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2026-01-10T19:19:57.308Z","uploaded_at":"2026-01-10T19:20:03.348Z","publication_id":1943298,"state":"transcoded","post_id":184132771,"user_id":87740142,"duration":671.7649,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":8061565,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"As personal apps become trivial, we should stop thinking of code the same way.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"Claude Code has systematically begun to consume many of the SaaS apps I used to (or plan to) pay for.","wordcount":1824,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[201,175,122],"population":173},"DarkVibrant":{"rgb":[59,45,18],"population":13},"LightVibrant":{"rgb":[236,212,164],"population":824},"Muted":{"rgb":[142,124,94],"population":700},"DarkMuted":{"rgb":[89,74,52],"population":410},"LightMuted":{"rgb":[193,174,138],"population":308}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":16,"comment_count":11,"child_comment_count":3,"audio_items":[{"post_id":184132771,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/2a5f85b4-f81e-4e0e-8a85-c041c08e1070/src","type":"voiceover","status":"completed","duration":671.7649},{"post_id":184132771,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/184132771/tts/e160e640-be0a-4017-88a7-57d31d2306dc/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":182184617,"editor_v2":false,"publication_id":1943298,"title":"Understanding AI Benchmarks","social_title":"Understanding AI Benchmarks","search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"understanding-ai-benchmarks","post_date":"2025-12-21T19:14:07.657Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/understanding-ai-benchmarks","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":19},"restacks":4,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Tips for interpreting frontier model releases and their SOTA benchmark scores.","cover_image":"https://substackcdn.com/image/fetch/$s_!rtJB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38206bbc-0bb0-4381-9517-11000ec7e791_2014x1066.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":182184617,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"60b163d6-7b74-4e78-ac8c-283569859818","voiceoverUpload":{"id":"60b163d6-7b74-4e78-ac8c-283569859818","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2025-12-21T18:58:35.499Z","uploaded_at":"2025-12-21T18:58:43.565Z","publication_id":1943298,"state":"transcoded","post_id":182184617,"user_id":87740142,"duration":684.9567,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":8219867,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Tips for interpreting frontier model releases and their SOTA benchmark scores.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"Despite being the highlight of every major launch, benchmarks are the most widely misunderstood part of the AI ecosystem.","wordcount":4072,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"7f71ada4-5c44-4762-950a-4b9b50ab732e","publication_id":1943298,"name":"large-language-models","slug":"large-language-models","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[213,185,4],"population":6},"DarkVibrant":{"rgb":[134,118,4],"population":3},"LightVibrant":{"rgb":[221,188,165],"population":6},"Muted":{"rgb":[124,132,140],"population":13},"DarkMuted":{"rgb":[52,71,84],"population":5},"LightMuted":{"rgb":[189,187,189],"population":40}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":19,"comment_count":0,"child_comment_count":0,"is_geoblocked":false,"audio_items":[{"post_id":182184617,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/60b163d6-7b74-4e78-ac8c-283569859818/src","type":"voiceover","status":"completed","duration":684.9567}],"hasCashtag":false},{"id":177742847,"editor_v2":false,"publication_id":1943298,"title":"How I Use Every Claude Code Feature","social_title":"How I Use Every Claude Code Feature","search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"how-i-use-every-claude-code-feature","post_date":"2025-11-02T00:11:09.700Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/how-i-use-every-claude-code-feature","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":377},"restacks":28,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"A brain dump of all the ways I've been using Claude Code.","cover_image":"https://substackcdn.com/image/fetch/$s_!o_oM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee93292-646a-407a-95da-d469be81002e_1158x720.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":177742847,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"6eacfad3-ab0f-4b2b-8a13-9ba5915903c3","voiceoverUpload":{"id":"6eacfad3-ab0f-4b2b-8a13-9ba5915903c3","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2025-11-01T23:55:26.229Z","uploaded_at":"2025-11-01T23:55:34.367Z","publication_id":1943298,"state":"transcoded","post_id":177742847,"user_id":87740142,"duration":1199.2294,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":14391139,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"A brain dump of all the ways I've been using Claude Code.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"If staying on the frontier of AI coding interests you or if your company doesn’t give you infinite Claude Code credits — we are hiring!/plugin marketplace add abnormal-ai/claude-plugins /plugin install careers-abnormal-ai@abnormal-ai /careers-abnormal-ai","wordcount":3132,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":{"post_id":177742847,"starts_at":"2025-11-02T00:11:09.978Z","ended_at":"2025-11-02T00:58:22.024Z","planned_duration_ms":21600000,"test_cohort_percent":50,"test_cohort_emailed":true,"main_cohort_emailed":true,"created_at":"2025-11-02T00:09:30.036Z","updated_at":"2025-11-02T00:58:24.981Z","creator_id":87740142,"ended_early":true,"winner_overridden":true},"coverImagePalette":{"Vibrant":{"rgb":[87,54,120],"population":16},"DarkVibrant":{"rgb":[69,44,92],"population":5},"LightVibrant":{"rgb":[188.69999999999996,163.55172413793105,213.84827586206896],"population":0},"Muted":{"rgb":[116,116,116],"population":31},"DarkMuted":{"rgb":[78,52,44],"population":3},"LightMuted":{"rgb":[144,144,144],"population":112}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":377,"comment_count":33,"child_comment_count":18,"audio_items":[{"post_id":177742847,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/6eacfad3-ab0f-4b2b-8a13-9ba5915903c3/src","type":"voiceover","status":"completed","duration":1199.2294},{"post_id":177742847,"voice_id":"en-US-AlloyTurboMultilingualNeural","audio_url":"https://substack-video.s3.amazonaws.com/video_upload/post/177742847/tts/f429fa3a-4597-4f17-9ada-87a2909e3a27/en-US-AlloyTurboMultilingualNeural.mp3","type":"tts","status":"completed"}],"is_geoblocked":false,"hasCashtag":false},{"id":171830945,"editor_v2":false,"publication_id":1943298,"title":"Betting Against the Models","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"betting-against-the-models","post_date":"2025-08-24T23:10:28.436Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/betting-against-the-models","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":13},"restacks":2,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Speculations on the future of cybersecurity products for AI agents.","cover_image":"https://substackcdn.com/image/fetch/$s_!qG5P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff66155-8e37-493a-a341-d8acdff4d935_1536x1024.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":171830945,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"234fd1f5-b75f-4fff-9bcc-d718825f54f4","voiceoverUpload":{"id":"234fd1f5-b75f-4fff-9bcc-d718825f54f4","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2025-08-24T20:43:49.860Z","uploaded_at":"2025-08-24T20:43:54.140Z","publication_id":1943298,"state":"transcoded","post_id":171830945,"user_id":87740142,"duration":395.9902,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":4752268,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Speculations on the future of cybersecurity products for AI agents.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"The hottest new market in cybersecurity might be built on a single, flawed premise: betting against the models.","wordcount":1052,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"4cb56e8e-3fbd-45fe-b21f-38f020262499","publication_id":1943298,"name":"cybersecurity","slug":"cybersecurity","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[200,168,109],"population":643},"DarkVibrant":{"rgb":[96.31641791044777,75.20597014925373,36.28358208955224],"population":0},"LightVibrant":{"rgb":[236,212,164],"population":1009},"Muted":{"rgb":[149,123,79],"population":887},"DarkMuted":{"rgb":[84,68,44],"population":52},"LightMuted":{"rgb":[204,188,145],"population":25}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":13,"comment_count":1,"child_comment_count":1,"is_geoblocked":false,"audio_items":[{"post_id":171830945,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/234fd1f5-b75f-4fff-9bcc-d718825f54f4/src","type":"voiceover","status":"completed","duration":395.9902}],"hasCashtag":false},{"id":171208815,"editor_v2":false,"publication_id":1943298,"title":"AI Can't Read Your Docs","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"ai-cant-read-your-docs","post_date":"2025-08-17T19:32:27.884Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/ai-cant-read-your-docs","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":37},"restacks":2,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Designing software that today's AI coding agents can actually use.","cover_image":"https://substackcdn.com/image/fetch/$s_!MF9U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0468c693-bc9e-4acf-9cb1-ecab247d0f74_1536x1024.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":171208815,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"1050237a-3ac8-4fae-af96-54b61429fc49","voiceoverUpload":{"id":"1050237a-3ac8-4fae-af96-54b61429fc49","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2025-08-17T19:27:19.390Z","uploaded_at":"2025-08-17T19:27:26.676Z","publication_id":1943298,"state":"transcoded","post_id":171208815,"user_id":87740142,"duration":499.27838,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":5991726,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Designing software that today's AI coding agents can actually use.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"By now, nearly every engineer has seen an AI assistant write a perfect unit test or churn out flawless boilerplate. For simple, greenfield work, these tools are incredibly effective.","wordcount":1789,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"60972a19-d5c5-4495-8422-eb2138e6e9bd","publication_id":1943298,"name":"software-engineering","slug":"software-engineering","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[204,179,139],"population":90},"DarkVibrant":{"rgb":[92.10538922155689,72.25508982035927,40.49461077844311],"population":0},"LightVibrant":{"rgb":[244,220,180],"population":1544},"Muted":{"rgb":[164,132,84],"population":57},"DarkMuted":{"rgb":[91,75,52],"population":545},"LightMuted":{"rgb":[210,192,156],"population":97}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":37,"comment_count":7,"child_comment_count":4,"is_geoblocked":false,"audio_items":[{"post_id":171208815,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/1050237a-3ac8-4fae-af96-54b61429fc49/src","type":"voiceover","status":"completed","duration":499.27838}],"hasCashtag":false},{"id":168174523,"editor_v2":false,"publication_id":1943298,"title":"Assistants Aren't the Future of AI","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"assistants-arent-the-future-of-ai","post_date":"2025-07-19T20:26:44.591Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/assistants-arent-the-future-of-ai","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":13},"restacks":2,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Speculations on what comes after (or instead) of AI assistants.","cover_image":"https://substackcdn.com/image/fetch/$s_!QzAV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f73e07c-7d68-4322-ae0d-377ed072a5c8_1536x1024.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":168174523,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"bed4870c-a59b-4a86-b6a0-4dc0064ccd68","voiceoverUpload":{"id":"bed4870c-a59b-4a86-b6a0-4dc0064ccd68","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2025-07-19T20:05:34.922Z","uploaded_at":"2025-07-19T20:05:55.684Z","publication_id":1943298,"state":"transcoded","post_id":168174523,"user_id":87740142,"duration":568.24164,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":6819286,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Speculations on what comes after (or instead) of AI assistants.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"Today’s most popular vision for the future of AI is also the least imaginative one. The perfect AI assistant feels like the end-game, but it's just the prelude to a much more significant shift in design: the move from AI Assistants to AI Orchestrators.","wordcount":1990,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"b876f743-2926-4e51-a9d2-84f8bf8be539","publication_id":1943298,"name":"agi","slug":"agi","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[212,100,44],"population":1},"DarkVibrant":{"rgb":[64,49,27],"population":41},"LightVibrant":{"rgb":[252,236,196],"population":1955},"Muted":{"rgb":[148,156,84],"population":5},"DarkMuted":{"rgb":[85,75,58],"population":718},"LightMuted":{"rgb":[213,196,164],"population":13}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":13,"comment_count":0,"child_comment_count":0,"is_geoblocked":false,"audio_items":[{"post_id":168174523,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/bed4870c-a59b-4a86-b6a0-4dc0064ccd68/src","type":"voiceover","status":"completed","duration":568.24164}],"hasCashtag":false},{"id":167598476,"editor_v2":false,"publication_id":1943298,"title":"Building Multi-Agent Systems (Part 2)","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"building-multi-agent-systems-part","post_date":"2025-07-05T23:29:45.545Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/building-multi-agent-systems-part","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":32},"restacks":4,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Updated methods for scaling LLM-based agents to handle complex problems reliably.","cover_image":"https://substackcdn.com/image/fetch/$s_!AEcu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446c5973-02b7-4536-aefe-7001f10d2757_1536x1024.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":167598476,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"384721db-b361-4257-91bb-5670b81a8dad","voiceoverUpload":{"id":"384721db-b361-4257-91bb-5670b81a8dad","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2025-07-05T23:24:09.903Z","uploaded_at":"2025-07-05T23:24:23.092Z","publication_id":1943298,"state":"transcoded","post_id":167598476,"user_id":87740142,"duration":618.65796,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":7424282,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Updated methods for scaling LLM-based agents to handle complex problems reliably.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"My now 6-month-old post, Building Multi-Agent Systems (Part 1), has aged surprisingly well. The core idea, that complex agentic problems are best solved by decomposing them into sub-agents that work together, is now a standard approach. You can see this thinking in action in posts like Anthropic’s recent deep-dive on their","wordcount":2132,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"7f71ada4-5c44-4762-950a-4b9b50ab732e","publication_id":1943298,"name":"large-language-models","slug":"large-language-models","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[177,146,89],"population":511},"DarkVibrant":{"rgb":[100,76,44],"population":6},"LightVibrant":{"rgb":[212.61147540983606,195.76475409836064,164.78852459016395],"population":0},"Muted":{"rgb":[145,121,75],"population":540},"DarkMuted":{"rgb":[54,76,79],"population":473},"LightMuted":{"rgb":[185,169,131],"population":77}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":32,"comment_count":0,"child_comment_count":0,"is_geoblocked":false,"audio_items":[{"post_id":167598476,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/384721db-b361-4257-91bb-5670b81a8dad/src","type":"voiceover","status":"completed","duration":618.65796}],"hasCashtag":false},{"id":165941952,"editor_v2":false,"publication_id":1943298,"title":"How to Train Your GPT Wrapper","social_title":null,"search_engine_title":null,"search_engine_description":null,"type":"newsletter","slug":"how-to-train-your-gpt-wrapper","post_date":"2025-06-28T22:36:07.865Z","audience":"everyone","podcast_duration":null,"video_upload_id":null,"podcast_upload_id":null,"write_comment_permissions":"everyone","should_send_free_preview":false,"free_unlock_required":false,"default_comment_sort":null,"canonical_url":"https://blog.sshh.io/p/how-to-train-your-gpt-wrapper","section_id":null,"top_exclusions":[],"pins":[],"is_section_pinned":false,"section_slug":null,"section_name":null,"reactions":{"❤":7},"restacks":1,"restacked_post_id":null,"restacked_post_slug":null,"restacked_pub_name":null,"restacked_pub_logo_url":null,"subtitle":"Improving your agents automatically with experience.","cover_image":"https://substackcdn.com/image/fetch/$s_!LX_Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7904d27c-9bdc-4615-a55f-9923f2f57715_1536x1024.png","cover_image_is_square":false,"cover_image_is_explicit":false,"podcast_url":null,"videoUpload":null,"podcastFields":{"post_id":165941952,"podcast_episode_number":null,"podcast_season_number":null,"podcast_episode_type":null,"should_syndicate_to_other_feed":null,"syndicate_to_section_id":null,"hide_from_feed":false,"free_podcast_url":null,"free_podcast_duration":null,"preview_contains_ad":false,"was_imported_self_serve_sync":false,"draft_free_podcast_url":null,"draft_free_podcast_duration":null},"podcast_preview_upload_id":null,"podcastUpload":null,"podcastPreviewUpload":null,"voiceover_upload_id":"4931e48c-ca32-4576-bdd0-a27e626f973a","voiceoverUpload":{"id":"4931e48c-ca32-4576-bdd0-a27e626f973a","name":"ElevenLabs_Untitled_Project.mp3","created_at":"2025-06-28T22:29:13.974Z","uploaded_at":"2025-06-28T22:29:18.094Z","publication_id":1943298,"state":"transcoded","post_id":165941952,"user_id":87740142,"duration":607.1902,"height":null,"width":null,"thumbnail_id":1,"preview_start":null,"preview_duration":null,"media_type":"audio","primary_file_size":7286668,"is_mux":false,"mux_asset_id":null,"mux_playback_id":null,"mux_preview_asset_id":null,"mux_preview_playback_id":null,"mux_rendition_quality":null,"mux_preview_rendition_quality":null,"explicit":false,"copyright_infringement":null,"src_media_upload_id":null,"live_stream_id":null},"has_voiceover":true,"description":"Improving your agents automatically with experience.","body_json":null,"body_html":null,"has_dynamic_content":false,"truncated_body_text":"One of the most common complaints I hear from users of AI agents is, \"Why do I have to tell it the same thing over and over?\" They expect their tools to learn from experience, but the reality is that most don't. This is because today's LLM-powered apps are fundamentally static; they don't learn purely from individual interactions.","wordcount":2607,"post_preview_limit":null,"language":"en","postTags":[{"id":"1a5b87f6-cbe5-4d93-97e2-5f59585887c7","publication_id":1943298,"name":"agents","slug":"agents","hidden":false},{"id":"7f71ada4-5c44-4762-950a-4b9b50ab732e","publication_id":1943298,"name":"large-language-models","slug":"large-language-models","hidden":false}],"teaser_post_eligible":true,"postCountryBlocks":[],"headlineTest":null,"coverImagePalette":{"Vibrant":{"rgb":[192,132,108],"population":2},"DarkVibrant":{"rgb":[93,60,42],"population":9},"LightVibrant":{"rgb":[244,236,232],"population":106},"Muted":{"rgb":[131,125,105],"population":398},"DarkMuted":{"rgb":[108,74,54],"population":11},"LightMuted":{"rgb":[204,196,180],"population":4}},"publishedBylines":[{"id":87740142,"name":"Shrivu Shankar","handle":"shrivu","photo_url":"https://substackcdn.com/image/fetch/$s_!7tx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","bio":null,"profile_set_up_at":"2023-09-11T18:57:38.561Z","reader_installed_at":"2023-11-23T04:01:54.062Z","publicationUsers":[{"id":1934203,"user_id":87740142,"publication_id":1943298,"role":"admin","public":true,"is_primary":true,"publication":{"id":1943298,"name":"Shrivu’s Substack","subdomain":"shrivu","custom_domain":"blog.sshh.io","custom_domain_optional":false,"hero_text":"A personal blog on AI, software engineering, and cybersecurity.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/c917d9b1-91ee-41d0-a0e0-e3446a4b6359_460x460.jpeg","author_id":87740142,"primary_user_id":87740142,"theme_var_background_pop":"#67BDFC","created_at":"2023-09-11T18:57:44.428Z","email_from_name":"Shrivu Shankar","copyright":"Shrivu Shankar","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":null}},{"id":8332661,"user_id":87740142,"publication_id":8000524,"role":"admin","public":true,"is_primary":false,"publication":{"id":8000524,"name":"Abnormal Builder's Substack","subdomain":"abnormalbuilders","custom_domain":"builders.abnormal.ai","custom_domain_optional":false,"hero_text":"Where real-time building with AI comes to life. Abnormally.","logo_url":"https://substack-post-media.s3.amazonaws.com/public/images/e87e15eb-181d-4be4-a8d4-162e9200447f_920x920.png","author_id":456296958,"primary_user_id":456296958,"theme_var_background_pop":"#FF6719","created_at":"2026-02-12T20:04:15.245Z","email_from_name":"Abnormal Builders ","copyright":"Abnormal Builders","founding_plan_name":null,"community_enabled":true,"invite_only":false,"payments_state":"disabled","language":null,"explicit":false,"homepage_type":"newspaper","is_personal_mode":false,"logo_url_wide":"https://substack-post-media.s3.amazonaws.com/public/images/47f60a83-5819-4f0b-98c4-112d199823a8_1400x300.png"}}],"is_guest":false,"bestseller_tier":null,"status":{"bestsellerTier":null,"subscriberTier":null,"leaderboard":null,"vip":false,"badge":null,"subscriber":null}}],"reaction":null,"reaction_count":7,"comment_count":0,"child_comment_count":0,"is_geoblocked":false,"audio_items":[{"post_id":165941952,"voice_id":"voiceover","audio_url":"https://api.substack.com/api/v1/audio/upload/4931e48c-ca32-4576-bdd0-a27e626f973a/src","type":"voiceover","status":"completed","duration":607.1902}],"hasCashtag":false}]