ブログ

Mythexの開発と運用について、うまくいかなかった部分も含めて。そしてプロダクトの最新情報も。

エンジニアリング

Mythexの開発と運用について。何が壊れ、どう直したかも含めて。

  • 再公開に失敗しても、動いているバックエンドは消えない — 再公開に失敗すると、アプリのライブAPIが削除されたり、壊れた新バージョンが動き続けたりする恐れがありました。Mythexが失敗した公開を元に戻す仕組みに加えた3つの修正をご紹介します。
  • サーバーごとではなく、一度だけ鳴るアラート — 1日1回のはずのアラートが、ある日の午後に5回届きました。サーバーが2台あってデプロイがあると、メモリ内の重複排除が機能しなくなる理由と、共有ストアでそれを修正した方法です。
  • 待たせずに、より大きなワークスペースへ移行する — 2GBへ移行したあと、ワークスペースの4分の1が1GBのままでした。最初の修正では、1人のユーザーが7分待つことになりました。何を変更し、さらにどう変更し直したかをご紹介します。
  • データベースの課金は、実際の使用量で決まる — 以前は各アプリのデータベース費用を見積もっていましたが、その見積もりは両方向に外れていました。今では、すべてのデータベースを計測された使用量に基づき、1時間単位で課金しています。
  • 公開直後にクラッシュするアプリを検出する — 3件の公開が、APIが起動のたびに数秒でクラッシュしているにもかかわらず、ヘルスチェックを通過しました。原因は、最大5件しか保持しないリストでクラッシュを数えていたことでした。
  • 画像を多用するエージェントのターンをメモリ内に収める — カタログのスキャンを見続けていたエージェントのターンが、952 MBでメモリ不足になりました。保持が長すぎた3つの別々の原因と、その修正方法を説明します。
  • 長いエージェントのターンをコンテキストウィンドウ内に収める — サブエージェントは、モデルに拒否されるほど大きくなったり、余裕を確保するために早々に止まったり、ロシア語のトークンを数え間違えたりしていました。長い作業を完了させた3つの修正です。
  • スマートフォンがスリープしてもチャットを維持する — スマホはスリープし、タブを切り替え、作業中にネットワークを失います。2つのバグのせいで、チャットが止まったり、あとから返信が途中までしか表示されなかったりしました。その見つけ方と修正方法です。
  • 重いチャット1つが、私たちのAPIを停止させかねなかった話 — 9月28日、本番のAPIサーバー2台が同時にメモリ不足になりました。最初の対策はメモリの増設でしたが、本当の修正は、チャット履歴を件数ではなくサイズで読み込むことでした。
  • Publishを2回押しても、公開は1回になりました — 同じアプリへの公開リクエスト3件が84ミリ秒差で届き、それぞれがデプロイ全体を実行していました。どの公開を通すかをデータベースに決めさせ、ほかの公開には正直に伝える仕組みに変えました。
  • 自社サイトを直して得たSEOの教訓 — FAQマークアップの重複、Googleに表示された誤ったサムネイル、誰もクリックしなかったテンプレートページ、エッジで拒否されていたパス。mythex.aiで見つけて直したことです。
  • 静的サイトは、再公開の間も稼働し続けるようになりました — 以前は静的サイトを再公開すると、新しいビルドをアップロードする前に公開中のファイルを削除していました。今は、新しいサイトが配置されるまで古いサイトが配信され、変更は数秒で反映されます。
  • 進行状況のラベルに潜んでいたメモリ不足によるクラッシュ — AIエージェントが大きなファイルを1つ書いている最中に、メモリ不足で停止しました。原因はモデルでも並列のサブエージェントでもなく、ステータスラベルが41,000回再送されていたことでした。
  • サーバーを凍結させた、スワップファイルの欠如 — 本番サーバーはクラッシュせずに応答しなくなりました。メモリ不足によるkillはなく、スワップのないマシンでページキャッシュがスラッシングしていたのです。何が起きたか、何を変えたかを説明します。
  • 死んだ接続を使わずに、データベースを起こす — スリープから目覚めた公開アプリは、スリープ中に死んでしまったデータベース接続を使おうとして、最初のリクエストを10〜12秒保留していました。それを2.3秒まで縮めた方法です。
  • 自分たちのサービスに、自分たちがレート制限をかけていた — APIのアドレスごとのレート制限が、私たち自身のサービスを1人の忙しいユーザーのように扱っていて、本番環境で429エラーが出始めました。原因の見つけ方と修正方法です。
  • Mythexのサーバーを、ARMに移した理由 — 重い処理がプロジェクトごとのサンドボックスに移ると、サーバーのメモリ使用量は3分の1になりました。より小さなARMインスタンスで、コストは約30%下がりました。その方法です。
  • デプロイを502エラー0にした方法 — デプロイと競合するウォッチドッグと、サーバーが去るより遅れてトラフィックを止めたロードバランサー。両方を見つけて直し、デプロイごとの502を10件からゼロにした方法です。

プロダクト

Mythexの新機能と、それをその形で作った理由。

  • Mythex Is Now on iPhone and Android — Mythex now has its own iPhone and Android app. Build and edit apps by chat, watch the live preview, and get a notification when a build is done.
  • プロジェクトごとの非公開ワークスペースとライブプレビュー — Mythexのプロジェクトはすべて、チャットの横にライブプレビューを表示する専用のクラウドワークスペースで動きます。仕組み、使い方、注意点をご紹介します。
  • Mythexのエージェントは、Mythexで作れるものを理解するようになりました — iPhoneアプリや常時接続のボットを頼むと、エージェントは利用できないことをはっきり伝え、近い代わりのものを提案し、承諾を待つようになりました。
  • どんな業種にも、それぞれのランディングページを — 歯科医院の予約システムや、パン屋のウェブサイトを探すと、その業種向けに書かれたMythexのページにたどり着きます。すぐに作り始められるプロンプトも用意されています。
  • 自動チャージ:クレジットが少なくなっても公開アプリを止めない — 残高が少なくなったときに、Mythexのクレジットを自動で購入する機能です。長いビルドや利用の多い公開アプリがゼロで止まらないようにします。設定方法と制限事項。
  • Claude、Cursor、Codexから Mythexアプリを作る — MythexはリモートのMCPサーバーを提供しています。Claude、Cursor、Codexを接続すれば、Mythexのクラウドサンドボックス内でコードを書き、ライブプレビュー、データベース、公開まで行えます。
  • チェックポイント:エージェントの変更をすべて元に戻す — エージェントが1回の処理を正常に終えるたびに、Mythexはプロジェクトのチェックポイントを保存します。どのチェックポイントにも2クリックで戻せ、以前のメッセージを編集して再試行することもできます。
  • GmailやGoogleスプレッドシート、Slackをアプリビルダーに接続する — Mythexのコネクタは、Gmail、Googleスプレッドシート、Slack、Notionなどをチャットのエージェントにつなぎます。コードにAPIキーは不要です。仕組み、設定、制限事項。
  • Mythexのカスタムドメイン:購入するか、既存のドメインを接続するか — MythexのProアプリは、自分のドメインで公開できます。Mythex内でドメインを購入するか、所有しているドメインにCNAMEを設定します。手順、更新、制限事項。
  • 音声入力でプロンプトを口述する — プロンプトを入力する代わりに、Mythexに話しかけることができます。マイクをクリックするかAlt+Vを押し、テキストを確認して送信します。仕組みと制限事項。
  • 公開に失敗したら「Fix with AI」をワンクリック — Mythexで公開が失敗すると、何が起きたのかを説明し、「Fix with AI」を提示するようになりました。エージェントがビルド出力やアプリのログを読み、プロジェクトを修正します。
  • チャットの中で画像を生成する — ヒーロー画像、og:image、ロゴマークなどを言葉で頼むと、チャットの中で描いてくれます。アプリに入れるのは、あなたが指示したときだけです。仕組みを説明します。
  • GitHub同期とエクスポート:Mythexのコードはあなたのもの — Mythexで作ったものはすべてあなたのものです。プロジェクトをGitHubに同期したり、アーカイブとしてダウンロードしたり、取り込んだりできます。それぞれの仕組みと制限を説明します。
  • Mythexがあなたと仕事の進め方を覚えるようになりました — メモリ、About you、プロジェクトとワークスペースのナレッジ、過去のチャット検索。Mythexは、チャットのたびにゼロから始めることをやめました。すべてを確認、編集、オフにできます。
  • 作る前に計画する:Mythexのプランモードの仕組み — プランモードでは、Mythexのエージェントが何かを編集する前にアプローチを練ります。計画を別のタブで読んでから、Buildを押してください。仕組みと使いどころを説明します。
  • 公開のエラーを、分かりやすい言葉で表示するようになりました — Mythexの公開に失敗すると、何が起きたのかを一文で伝え、「Fix with AI」と「Try again」を表示します。ホスティングの生の出力はもう表示されません。
  • 公開済みのアプリは、再公開中も稼働し続けるようになりました — 以前は、Mythexアプリを再公開するとビルドの間ライブサイトがオフラインになっていました。今では、新しいバージョンの準備ができるまで前のバージョンを配信し続けます。ほかに2つの修正も含みます。
  • チャットにキーを貼らずに使う、シークレットと環境変数 — Mythexのエージェントは、APIキーが必要になるとチャット欄ではなく安全なカードで入力を求めます。プロジェクトのシークレットと環境変数の仕組み、キーの入れ替え方を説明します。
  • テンプレートから始める:アプリのための最初のプロンプトが用意されています — Mythexのテンプレートは、サイトやアプリの種類に合わせた開始用プロンプトを用意しています。選んで「テンプレートを使う」を押せば、エージェントが最初のバージョンを作ります。
  • 開いて読めるサブエージェント — Mythexのエージェントが複雑なタスクを入れ子の実行に分けると、それぞれがチャットに開いて読める行として表示されます。その仕組みと、あなたが管理できる内容を説明します。
  • コマンド1つで、ブラウザ上でアプリをテスト — /testと入力すると、Mythexはユーザーのように、ライブプレビューを操作し、スクリーンショットを撮り、壊れた箇所をチャットで報告します。使い方とタイミングを説明します。
  • Mythexのアプリに、それぞれ専用のデータベースが付く理由 — データが必要なMythexのアプリには、それぞれ専用のPostgresデータベースが付き、使われていないときはスリープします。共有データベースではなく、アプリごとに1つにした理由とトレードオフです。
  • ワークスペースと、チームの招待 — Mythexのプロジェクトはワークスペースに置かれます。メールでチームメイトを招待し、同じプロジェクトで作業でき、座席ごとの料金はかかりません。オーナー、メンバー、請求の仕組みです。

会社

チームからのお知らせ。

  • Mythexガイドと Mythex ブログの紹介 — AIでアプリやウェブサイトを作るための実践的なガイド、正直なツール比較、そしてMythexの作られ方を綴るエンジニアリングブログ(うまくいかなかったことも含む)を公開しました。
  • Mythexは12言語に対応しました — Mythexのマーケティングサイトが12言語になりました。ポルトガル語、ドイツ語から、हिन्दी、日本語、العربية まで。フッターから言語を選べます。

Mythex · 料金 · よくある質問 · ガイド · ブログ · 活用事例 · AIで開発 · テンプレート · Mythexを比較 · AIアプリ開発用語集 · AIアプリ開発の無料ツール · Mythexについて

Mythexの活用先

  • 仕事のためのMythex
  • 創業者のためのMythex
  • PMのためのMythex
  • デザイナーのためのMythex
  • マーケターのためのMythex
  • 営業のためのMythex
  • オペレーションのためのMythex
  • 人事チームのためのMythex
  • Webサイト
  • プロトタイピング
  • 社内ツール
  • パートナープログラム

ガイド

  • 作り方
  • 比較
  • 用語と概念の解説
  • アイデアとローンチ
  • プロンプトとリリース

ブログ

  • エンジニアリング
  • プロダクト
  • 会社
English Português (Brasil) Deutsch Français Español Italiano हिन्दी Bahasa Indonesia ไทย 한국어 العربية 简体中文 繁體中文(台灣) 繁體中文(香港) Русский Türkçe Tiếng Việt Polski Nederlands Українська فارسی اردو Español (España) Français (Canada) Português (Portugal) Shqip Bosanski Български Català Hrvatski Čeština Dansk Eesti Suomi Ελληνικά Magyar Íslenska Latviešu Lietuvių Македонски Norsk bokmål Română Srpski Slovenčina Slovenščina Svenska বাংলা ગુજરાતી ಕನ್ನಡ മലയാളം मराठी ਪੰਜਾਬੀ தமிழ் తెలుగు Bahasa Melayu Tagalog မြန်မာ Қазақ тілі Монгол Հայերեն ქართული አማርኛ Soomaali Kiswahili