新着記事·嘘をつかないチャットボットを作った
こんにちは、

Bikash Lama

8年間、アイデアを信頼性の高いスケーラブルなプロダクトへと形にしてきました — チームにもクライアントにも寄り添いながら。Rails・Python・Vue.js でフルスタック開発を担当し、AWS インフラは Terraform で自動化。現在は本番運用の AI ツール開発と、デリバリーチームのリードを並行して進めています。

8+
年の経験
4
東京
東京在住
ClaudeOpenAI APIRAGLLM harnessCursorPythonGoJavaScriptRuby on RailsVue.jsAWSTerraformLambdaAngularJSWebRTCWebSocketPubSubRPCRESTJWTSQLCI/CDGitDockerCloudWatchStripeAgileAI / LLMs
回してみて!
使用技術 ↻
SCROLL

東京を拠点とするフルスタックエンジニア兼プロジェクトリードです。Ruby on Rails・Python・Vue.js と AWS を主軸に、Terraform でインフラを自動化。最近はAI 活用開発に注力中 — Claude と Cursor を日々のワークフローに組み込み、Claude API で構築した本番運用ツールも導入。少人数でも大規模チームに引けを取らない開発体制を実現しています。

— 8年やってきた。面白いところはまだこれから。

使用技術

言語
PythonGoJavaScriptRubySQL
フレームワーク
Ruby on RailsVue.jsVuexAngularJS
クラウド & インフラ
AWSTerraformLambdaCloudWatch
リアルタイム & API
WebSocketPubSub / RPCRESTJWT
プラクティス
CI/CDGitTeamCityAgile
AI
ClaudeOpenAI APICursorRAGLLM ハーネスPrompt Eng.pgvector

作ってきたもの

クライアント SaaS · 2年 · 継続中リードエンジニア · Cloco

レストランマネジメント SaaS

小規模な MVP を起点に、2年間の継続開発を経てマルチテナント SaaS へと成長。協業パートナー間のエコシステムに統合され、同じ店舗を複数のプラットフォームから予約できる仕組みを実現。

作ったもの
  • Google 連携の予約フローと、パートナー横断のリスティング — 1店舗の予約をエコシステム内のどのプラットフォームからも受け付け可能。
  • AI を活用した継続的な最適化:Claude と Cursor で API のボトルネックや UI のホットパスを特定し、改善。
  • マルチ OEM 構成を Terraform で管理し、dev → staging → production の CI/CD ゲートを構築。
課題

予約は自社 DB だけで完結せず、パートナーシステム間で整合性とレイテンシを共通の関心事として扱う必要があった。

成果

2年間の継続契約を獲得。スコープは MVP からマルチ OEM のエコシステム製品へと拡大し、組織規模が大きくなる中でも品質と納期を両立できる開発標準を確立。

AI ToolingRuby on RailsVue.jsAWSTerraform
社内ツール · 2026年リードエンジニア · Cloco

AI 日英ドキュメント翻訳ツール

Excel・Word・drawio など、あらゆる日本語ドキュメントを Claude で英語に翻訳する社内向けツール。

作ったもの
  • フォーマット保持型の抽出 — xlsx・docx・drawio それぞれで、数式・スタイル・図形の配置はそのままに、本文テキストのみを置き換え。
  • 翻訳キャッシュ:正規化された原文と対象言語をキーに、同一テキストは再度 API を呼び出さず、過去の翻訳結果を再利用。
  • モデルの階層的ルーティング:大量かつ低複雑度のテキストは安価なモデルへ、技術的・複合的な文脈は上位モデルへ。
課題

同時に解くべき課題が2つあった。(1) 翻訳対象は本文テキストのみで、Excel の数式、Word のスタイル、drawio のレイアウトは原型を保つ必要があったため、各フォーマット専用のパーサで元の構造へラウンドトリップでマッピングし直す設計を採用。(2) 大量利用下でも Claude の課金を抑える必要があったため、コストを手動チューニングではなくルーティングの判断として組み込み、すべてのチャンクをまずキャッシュ照合し、続いて対応可能な最も安価なモデルへ送る仕組みとした。

成果

現在、仕様書・顧客向け資料・アーキテクチャ図など、チーム内のドキュメント翻訳に日常的に活用中。原本のテンプレートを保持したまま出力されるためそのまま送付可能で、キャッシュヒットとモデル階層化により文書あたりのコストも抑制できている。

AI ToolingClaude APICaching
自社プロダクト · 2020—2022フルスタックエンジニア · SPINSHELL

ライブ接客・コンサルテーション基盤

WebRTC ベースのリアルタイム動画接客プロダクト。銀行のアドバイザリー、オンライン診療、アパレル小売の商品紹介など、業種を横断して顧客とエージェントを直接つなぐ。COVID で需要が急増する中、簡易的な MVP を厳しい納期の中で本番運用品質のアーキテクチャへ再設計しつつ、リリースサイクルを止めずに継続提供。

作ったもの
  • WebRTC + Twilio によるリアルタイム動画接客を、銀行・オンライン診療・アパレル小売など複数業種に同一プロダクト基盤上で展開。
  • ユーザー負荷の増加に合わせて MVP から本番アーキテクチャへ再設計。『デモが動くレベル』から『100% 稼働 SLA』対応へ引き上げ。
  • ライブ通話に特化した可観測性パイプラインを構築。構造化ログにより、切断された通話を原因リクエストまで遡って特定可能に。
課題

リアルタイム通話中のリクエスト断は致命的だった。そこでリリース後も一定期間は旧バージョンが通話を継続提供する『バージョン保持型』のデプロイ戦略を設計し、進行中のセッションが開始時のバージョンで完結する仕組みとした。

成果

業種横断のクライアントに対し、2年間にわたりほぼ100%の可用性を維持。ゼロダウンタイムデプロイにより、稼働中のセッションを一切中断することなくリリースを継続できた。

PythonTwilioWebRTCVue.jsAWS
AI の実験ノート

作ってきたもの · AI の実験ノート

個人プロジェクト。クライアント案件じゃなくて、手を動かして学んだ記録です。詳しい話はブログに書いています。

個人プロジェクト · 2026年個人開発 · 学習

社内 AI アシスタント ― 引用チェック付きの RAG

社内ドキュメント Q&A のためのチャットボット。答えを書くのは LLM、でもユーザーに見せる前に「引用が本物のチャンクを指しているか」をコードが確認する。裏付けがなければ答えごと断り文言に差し替える。

作ったもの
  • 流したテキストは、パーサが [N] を全部本物のチャンクに紐付けられなかったら、サーバ側で断り文言に差し替える。
  • 検索が閾値を超えるチャンクを返さなければ、LLM はそもそも起動しない。トークンも使わないし、引用のでっち上げも起きない。
  • ユーザーごとの日次トークン枠はアプリのコードで止める。全 OpenAI 呼び出しは `usage_events` テーブルにコストを記録して、管理画面で可視化する。
課題

普通の RAG は LLM に好きに語らせて、引用が正しいことを祈る。逆をやりたかった。有効な引用番号のリストはコードが持つ集合で、LLM は触れない。断りは仕組みで発生する。「わからないときは答えないでね」というプロンプトのお願いには頼らない。

成果

Vercel + Neon で ai-assistant.bikashlama.com にデプロイ済み。コストはユーザー日次で頭打ち、検索が空振りしたときの断りは LLM を呼ぶ前に発生、LLM が引用について嘘をつけばサーバ側で必ず捕まる設計。

Next.js 15OpenAI APIpgvectorPostgresTypeScript
記事を読む →
個人プロジェクト · 2026年個人開発 · 学習

LLM ハーネスのパターン ― AI に嘘をつかせない 8 つのルール

自然言語の指示で本物のブラウザを動かす Python スクリプト。初版は 80 行で、やったこと全部について嘘をついた。作り直す過程で、LLM に触るコード全般で使い回せるパターンが見えてきた。

作ったもの
  • 全ツール呼び出しをコード側で検証する。成功判定は状態を読み直して行い、LLM の自己申告は使わない。
  • コストと試行回数の上限はハーネス側で止める。壊れたアクションの亜種を延々と試させない。
  • 断りはコードで打ち切る。プロンプトでお願いする形じゃない。同じパターンが上の RAG の引用チェックにも効いている。
課題

初版の動くデモは魔法みたいで、翌日には静かに私を裏切った。やっていないことを「やった」と言い、違う話に投票し、同じ壊れたアクションの亜種で 30 回 API を回し、ネパール語をローマ字で入れたらネパール語で返してきた。どの失敗も同じ問いを指していた ― LLM の「自分がやったこと」の自己申告は、どこまで信じていいのか?

成果

LLM に触るコード全部 ― 上の RAG も ― を貫くことになった 8 つの設計ルール。ブログで使い回せるパターンとしてまとめた。

PythonClaude APIブラウザ自動化LLM ハーネス
記事を読む →

職務経歴

シニアソフトウェアエンジニア・プロジェクトリード

2022年11月 — 現在
Cloco Inc.東京・ハイブリッド
  • レストランマネジメント SaaS のフルスタック開発を担当 — Ruby on Rails バックエンド、Vue.js + Vuex フロントエンド、AWS インフラを横断し、データモデル・API 設計から UI 実装、テスト、デプロイまでを一気通貫で所有。
  • QA を含む20名規模のチームを統括。スプリント運用、リリース計画、機能スコープに加え、エコシステムを成立させるパートナー連携(Google 予約フロー、プラットフォーム横断のリスティング)を担当。
  • チーム全体に AI 活用開発を導入。Claude と Cursor を日々のワークフローに組み込み、共通のコード骨組みと規約を整備することで、レビュー品質と本番障害時の追跡性を保ちながら開発速度を向上させた。
  • Claude API を用いた社内向け AI 翻訳ツールを構築。Excel・Word・drawio の日本語ドキュメントを、数式・スタイル・図形配置を保持したまま英訳。翻訳キャッシュと階層的モデルルーティングにより、大量利用時のコストも抑制。
  • Terraform でマルチテナント SaaS のデプロイを標準化。dev → staging → production を同一モジュールで運用することで、切り替えのデバッグと差し戻しを安全に実施可能にした。
AI ToolingClaude APIRuby on RailsPythonVue.jsAWSTerraformLeadership

フルスタックエンジニア

2020年9月 — 2022年10月
SPINSHELL INC.東京
  • 自社のライブ接客・コンサルテーション基盤(WebRTC + Twilio)の再構築を主導。COVID で需要が急増する中、簡易的な MVP から本番運用品質のアーキテクチャへ移行し、銀行・オンライン診療・アパレル小売など複数業種に展開。
  • バージョン保持型のデプロイ戦略を設計。リリース後も一定期間は旧バージョンが通話を継続提供することで、稼働中の動画セッションを一切中断せず、2年間にわたり複数業種のクライアントにほぼ100%の可用性を提供。
  • ライブ通話の原因切り分けに特化した可観測性を構築。あわせて Stripe / PayPal の決済フローと Twilio / WebRTC の動画インフラを統合し、月間1万件以上のトランザクションを実現。
  • 分散システム向けに PubSub / RPC のメッセージング基盤と、JWT 認証付きの公開 REST API を設計。
PythonVue.jsAWS LambdaWebRTCTwilioStripeREST

派遣 Web エンジニア

2019年9月 — 2020年9月
PERSOL Technology Staff Co., Ltd.東京
  • 楽天の E コマースチームに短期派遣され、Python のパイプラインで Twitter のトレンドワードを収集・分析し、市場のシグナルとして可視化。
  • 成果はプロダクト施策と SEO の意思決定に活用 — どのカテゴリが盛り上がっているか、どのキーワードを狙うか、サイト上でどのテーマを前面に出すか。
PythonData AnalysisSQL

ジュニアソフトウェア開発者

2017年 — 2019年
GBD · E-multitechネパール
  • E コマースプロダクトにジュニアエンジニアとして2年間従事。チームリードの方針のもとでバグ修正と機能追加を担当し、本番プロダクトを継続的に運用する感覚を身につけた。
JavaScriptWebE-commerce

記事・ノート

学歴

情報マネジメント 学士

トリブバン大学
2013年 — 2017年
情報マネジメント専攻

高等学校

ムーンライト高等学校
2011年 — 2013年

一緒に良いものを作りましょう。

ご質問、プロジェクトのご相談、AI を活用したものづくりの話など、お気軽にどうぞ。すべて目を通します。

© 2026 Bikash Lama · 東京・日本Bikash