ソフトウェアエンジニア
エージェントが計画を立て、ツールを呼び出し、仕事を最後までやり遂げるためのシステムを設計するポジションです。ランタイム、外部連携、インターフェースを開発し、ワークフローを安定して動かせるようにします。
Nyotta について
Nyotta は、複雑なエンジニアリング業務やビジネス業務のための AI エージェントを開発しています。技術情報にもとづく推論、ツール利用、人によるレビューを組み合わせ、チームが元資料から意思決定、そして業務の完了まで進められるようにします。正確性、トレーサビリティ、統制が求められるエンジニアリングと商務のプロセスに、こうしたシステムを適用しています。
ポジション概要
モデルを取り巻くソフトウェア全般を開発していただきます。実行状態の管理、ツールインターフェース、オーケストレーション、そしてエージェントへの指示やレビューに使うプロダクト体験までが対象です。一つのタスクには、複数回のモデル呼び出しや外部サービスの利用、さらに先へ進む前の人による判断が含まれることもあります。機械学習エンジニアと連携し、実行の流れを理解しやすく、障害から復旧でき、改善しやすいものにしていきます。
主な業務
- モデル呼び出し、ツール、タスク状態、複数ステップの実行を統括するエージェントランタイムを設計します。
- 明確な権限範囲の中でエージェントがデータや操作にアクセスできるよう、API と外部連携を開発します。
- リトライ、中断、部分的な失敗に対処し、進捗を失うことも、完了済みの操作を繰り返すこともない仕組みをつくります。
- エージェントが何を実行し、どこで問題が起きたかをチームが把握できるよう、トレースと監視の仕組みを構築します。
- エージェントへの作業指示、結果のレビュー、重要な操作の承認を行うためのインターフェースを開発します。
- ランタイムのレイテンシとコストを改善し、機械学習エンジニアとともにリリース前に変更を検証します。
応募資格
- 自分で開発したソフトウェアについて、設計、トレードオフ、障害モードを詳しく説明できる方。個人開発、インターンシップ、実務のいずれの経験でも構いません。
- Python、TypeScript などのバックエンド言語での開発経験があり、API、サービス、データモデルの扱いに慣れている方。
- 複数のコンポーネントにまたがる問題をデバッグし、なじみのないシステムを理解しやすく整理できる方。
- ソフトウェアがどう使われるかに関心を持ち、曖昧なワークフローを実用的な実装に落とし込める方。
レベルと担当範囲
- エンジニア:指導と定期的なコードレビューを受けながら、範囲を定めたランタイム、連携、プロダクト機能を開発します。キャリアの浅い方も歓迎します。
- シニア:一つのシステムを設計からリリース、運用まで一貫して担います。アーキテクチャの意思決定、本番障害への対応、継続的な信頼性向上の経験が必要です。
歓迎スキル・経験
エージェントフレームワーク、ワークフローエンジン、分散システム、非同期ジョブ、オブザーバビリティ、エンタープライズシステム連携のいずれかの経験。
この仕事の難しさ
エージェントの実行は予測しきれません。モデルが想定外の経路をたどることも、ツールがタイムアウトすることも、タスクが人の入力待ちで止まることもあります。状態を保持し、操作を重複させずに、こうした状況を見える化するシステムが必要です。
取り組む課題の例
ツールが操作を受け付けた後にタイムアウトするケース。エージェントが実際に何が起きたかを確認し、安全に処理を再開し、ユーザーに結果をわかりやすく伝える仕組みを設計します。