Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

良かれと思ってはビジネスではないな。。。

自分の悪い癖をメモっておこう。。。

  • 良かれと思って、詰めきれていないものをクシュってまるめてしまい、巻き取ってしまう。
  • 相手の都合にただ合わせて線を引いているだけなので、自分を責任を全うできてねぇ。逆説的だけど。
  • あれも取れそうこれも取れそうで、目先のものを掴みにいきすぎてしまって、時間軸の組み立てが崩壊してしまい、いい加減な仕事に結果的になってしまう。

ことし1年、これをぶら下げておこう。忠告してくれた恩人に圧倒的感謝。

生成AIベースのプロダクト、下準備が9割

自分でもやってみて思ったんですけど、いくらモデルが優秀でも、与えられた事前知識がアホだと、アホな結果しか返すことができない。

モデルがブラックボックスなので、チューニングする要素が事前知識とプロンプトしか存在しない。モデルの中を書き換えることができない。自分で作れば別だけど、そんなの無理じゃん。

・・・だよね〜って思ったのがこれ。

AIエージェントと言っても、ある特定の課題に深く食い込めるものを作らないと売れない。ある特定の課題を深堀りするのは、近似値が全ての生成AIと相性が良くない。近似値のしきい値を決めるのも難しい。

プログラミング自体は極めて単純化される。HTTPでリクエスト投げるだけのコードに差は出ない。差が出るのが、いわゆるRAGというもの。こいつの構築でみんな討ち死にしている印象がある。正解がないから。この事前知識を食わせればきっと最高の神託を賜ることができるのであるっていう仮説を立ててひたすら回していくしか、できることはない。MCPを立てればと言っても、それらをオーケストレーションするのは、それも大変。プロンプトという秘伝のタレの精度は、そこまで重要じゃない気がする。RAGのほうが重要度が高い、やってみた限りでは。

双方向のコミュニケーションで会話のコンテクストを高める系のプロダクト、ジャンルを絞った瞬間に、精度について絶対に文句言われると思う。レコメンドもベクトルDBでやったところで、近似値でレコメンドしてもリアクションあるかは全く別問題。マッチングアプリにちょっと関わって、それは感じた。

ただ、ブラックボックスを飼い慣らせるなら、それはすごい強みになると思う。そこの勝負に、いまの僕は手を出せる状況ではなかったのである。

もう6月じゃないですか

ひぃ〜 時間が経つのが早い。経営は時間との戦いだと思い知った、ここ最近です。

2月でお世話になっていたFlutterのお仕事を辞めて、半年間プロダクトを作る時間を作ると決めました。が、3月〜4月は2件ほど納品した受託の改修があったので、GWのちょっと前ぐらいから本腰入れることができました。実質、1人月とちょっとだね...

プロダクトを作るとなれば、ベースを作り上げる必要がある。ベースというのは、誰かにコードを書いてもらえる状態まで規約やアーキテクチャを整理して、このレールから脱線するなよという状況まで辿り着いたこと、です。これがないとレビューも何も無いので。ReactRouter v7をコアにして、ある程度納得できる状態に持ってこれました。足掛け、半年かかりました。

5月の中旬から、飛び道具となりそうな生成AIベースのサービスを作っています。大枠はできて、諸々仕上がるのが来週。再来週から何社かに声かけて、試験的に入れてもらう。その間、自分の知らない会社に対してPRしてクローズドテスターを募るためにLPを作り(GPTの画像生成をフルに使う想定)、数万使ってWeb広告を打つ。これができるのが、6/20の週かな。

来週から主力製品の売り込みを行います。お金をかけて作ったリードがそこそこあって、まずはそこから50社に声かけて、どれぐらいアポが取れるか。5件は取りたい!

それとは別に、ほぼ内示もらっている販売管理をReactRouter v7で作らないといけない。これが最も複雑な作りになることがわかっており、最速で盆明け。その間の資金繰りがちょっと厳しくなる可能性があるから、500前後、金融機関から引く。引かないと時間が作れない。会社は回りさえすれば、チャンスができる。ここで目先の仕事を取りに行ったら、何も今までと変わらないので、ガマンするしか・・・ない!

売り込んだものが売れても、毎月入金が来るとは限らないのが、プロダクト販売 / 受託の難しいところ。SESのように毎月定額でお金が来るわけじゃないのだ。

今年は赤字で良いから、とにかく、「ほんとにこれはいいね」って刺さるものを作り上げて、出せるようにする。そこまでくれば、自分が出稼ぎしてメンバーや生成AI二コードを書いてもらえるようにも、できる。

10期目、やっていきだ。

自責を他責にすり替えるサイコが確実に存在する

同様の話を2件同時に聞いて震える。

自分が明らかに非があるのに、そうできていない相手や周りがおかしいんだがで他責にすり替える。しかも、マジな目で。そういう人は絶対に謝罪しないよね。

逃げるは恥だが役に立つ

弥生販売の受注CSVを作る時に気をつけること

  • フォーマットがよくわからないので、ダミーでデータを作り、そのデータを受注レポートからCSVに吐き出して、参考にする。
  • TSで書くならZodでCSVスキーマを定義しておくとデータを作るのが楽。Zodには色々お世話になりっぱなしだぜ。
  • 受注Noは歯抜けが許されないので、最新の弥生の受注Noに+1した所から伝票番号を作ること。
  • 行番号の指定がマスト。同一伝票番号なら、勝手にパースしろよお前がよって思うけど、しょうがない。
  • 明細区分が指定される。99が消費税、0が伝票摘要など、ここでデータを作るようなので、しょうがない。また、これらのデータは明細区分1の伝票明細より後の行番号でないとダメっぽい。
  • 行の改行はCRLF(\r\n)じゃないと改行と判別されない。ここで1時間溶かしてしまった。
  • 文字コードは安心と信頼のShift_JIS。UTF8で作ってしまうと一切読み込めない。

上記の罠をすべてくぐり抜けた漢のみが、弥生にデータを放り込むことができるのだ。

誠意とは言葉ではなく・・・

100日で心折れるスタートアップで一番好きな言葉をメモっておく

どれだけ口では「協力します!」「一緒にやろう!」と言っていても、実際に行動を共にしてくれない人は仲間にあらず。行動で応援してくれる人はごく限られた人だけです。 えい. 100話で心折れるスタートアップ (p.52).

SHUT THE FUCK UP, do the right thing, right!